check/Makefile.am: look in the right place for elements, a lot more chance of success
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2
3         * check/Makefile.am:
4           look in the right place for elements, a lot more chance of
5           success
6         * gst/Makefile.am:
7           remove indexers and elements subdirs
8         * plugins/Makefile.am:
9           make indexers conditional
10
11 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12
13         * Makefile.am:
14         * configure.ac:
15         * plugins/elements/Makefile.am:
16         * plugins/elements/gstcapsfilter.c:
17         * plugins/elements/gstfilesink.c:
18         * plugins/elements/gstfilesrc.c:
19         * plugins/elements/gstidentity.c:
20         * plugins/indexers/Makefile.am:
21           do CVS surgery and related build fixery to move elements
22           and indexers in a new gstreamer/plugins directory, out of the
23           gst/ directory
24
25 2005-11-29  Andy Wingo  <wingo@pobox.com>
26
27         * check/Makefile.am:
28         * pkgconfig/gstreamer-net-uninstalled.pc.in:
29         * pkgconfig/gstreamer-net.pc.in:
30         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
31         #322257.
32
33 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
34
35         * tools/Makefile.am:
36         * tools/gst-complete.1.in:
37         * tools/gst-complete.c:
38         * tools/gst-compprep.1.in:
39         * tools/gst-compprep.c:
40           removing -compprep and -complete
41
42 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
43
44         * gst/gstevent.c: (gst_event_new_new_segment),
45         (gst_event_parse_new_segment):
46         * gst/gstevent.h:
47           fix #320529 - clean up new_segment API and structure.
48           Let's hope everyone was using the methods, and not the structure.
49
50 2005-11-29  Edward Hervey  <edward@fluendo.com>
51
52         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
53         (gst_base_sink_event), (gst_base_sink_do_sync),
54         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
55         Properly handle non GST_FORMAT_TIME segment
56         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
57         Properly handle non GST_FORMAT_TIME segment
58         * gst/gstsegment.c:
59         This function is valid if the accumulator is 0 and the format
60         is different from the requested format.
61         
62 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
63
64         * docs/gst/gstreamer-sections.txt:
65         Add gst_query_new_seeking and gst_query_parse_seeking to the
66         docs.
67
68 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
69
70         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
71           Treat a pad alloc with new caps the same as if we were not
72           negotiated, in order to allow a changing upstream output
73           to produce a new format of data.
74
75 2005-11-29  Edward Hervey  <edward@fluendo.com>
76
77         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
78         (gst_base_transform_event), (gst_base_transform_eventfunc):
79         The event virtual method is now properly implemented, with a default
80         handler
81         Sub classes should call the parent_class event method. They should
82         return FALSE if they had a problem handling the given event, or don't
83         want GstBaseTransform to send that even downstream
84         * gst/elements/gstidentity.c: (gst_identity_class_init),
85         (gst_identity_init), (gst_identity_event),
86         (gst_identity_transform_ip), (gst_identity_set_property),
87         (gst_identity_get_property):
88         * gst/elements/gstidentity.h:
89         Added the single-segment boolean property.
90         If set to TRUE, it will output a single segment of data, starting from
91         0, will eat up all incoming newsegment, and modify the timestamp of the
92         buffers accordingly
93
94 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
95
96         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
97           Don't ref NULL target pad (#322751). Improve docs.
98
99 2005-11-29  Michael Smith  <msmith@fluendo.com>
100
101         * gst/gstregistryxml.c: (load_plugin):
102           Don't crash if we failed to load a feature from a plugin. 
103
104 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
105
106         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
107         (GST_START_TEST):
108           use more check API and less GLib API
109
110 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
111
112         * Makefile.am:
113           don't run checks if we don't have check
114         * common/check.mak:
115           remove the registry when running make torture
116         * docs/gst/gstreamer-sections.txt:
117           remove second multiply
118         * gst/gstqueue.c: (gst_queue_loop):
119           fix a compile warning when disabling debug
120
121 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
122
123         * gst/gstinfo.h:
124         Hey! Let's print the pad name if the pointer != NULL instead
125         of when it == NULL :-)
126
127 2005-11-28  Wim Taymans  <wim@fluendo.com>
128
129         * check/gst/gstutils.c: (GST_START_TEST):
130         Updated check, add some scaling accuracy checking code.
131
132         * gst/gstutils.c: (gst_util_div128_64),
133         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
134         (gst_util_uint64_scale_int):
135         Fix 6 times faster division code. Optimize for common 
136         1/1 and less common X/1 cases.
137
138 2005-11-28  Wim Taymans  <wim@fluendo.com>
139
140         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
141         More checks.
142
143         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
144         (do_linear_regression), (gst_clock_add_observation):
145         Cleanups.
146         Release lock when the clock cannot be slaved.
147         Catch the case where the regression returned an invalid denominator.
148
149         * gst/gstutils.c: (gst_util_div128_64_iterate),
150         (gst_util_div128_64), (gst_util_uint64_scale_int64),
151         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
152         Add protentially more performant non-iterative 128/64 divide function
153         that unfortunatly does not work yet.
154         Shortcut the trivial 0/X = 0 case.
155         Remove the warnings on overflow.
156
157 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
158
159         * gst/gstplugin.c: (gst_plugin_register_func):
160           everything causing a plugin not to load should be at least a WARNING
161
162 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
163
164         * docs/random/ensonic/dparams.txt:
165           some TODOs for the next dev cycle
166         * libs/gst/controller/gstcontroller.c:
167         (gst_controlled_property_set_interpolation_mode),
168         (gst_controlled_property_new):
169         * libs/gst/controller/gstcontroller.h:
170           use base type to assign acccessor functions
171
172 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
173
174         * check/Makefile.am:
175         Oops, that should have been top_srcdir
176
177 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
178
179         * check/Makefile.am:
180         * check/elements/fdsrc.c: (GST_START_TEST):
181         Use a cmdline define to specify the location of a file to use for
182         testing, to avoid breaking distcheck.
183
184 2005-11-28  Andy Wingo  <wingo@pobox.com>
185
186         * gst/gstpad.c (fixate_value): Use array functions for arrays.
187
188 2005-11-28  Edward Hervey  <edward@fluendo.com>
189
190         * tools/gst-launch.c: (main):
191         Clarify the output strings, makes it easier to translate.
192         Fixes #322626
193
194 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
195
196         * gst/Makefile.am:
197           don't try and build net if we don't even have <sys/socket.h>
198
199 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
200
201         * check/Makefile.am:
202         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
203         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
204           Add tests for fdsrc seekability
205
206         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
207         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
208         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
209         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
210         * gst/elements/gstfdsrc.h:
211           fdsrc should not be a 'live' source.
212           Implement seeking on seekable fd's.
213
214         * gst/gstquery.c: (gst_query_new_seeking),
215         (gst_query_parse_seeking):
216         * gst/gstquery.h:
217           Implement SEEKING query functions: 
218             *_new_seeking and *_parse_seeking
219
220 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
221
222         * gst/gstelement.c: (gst_element_dispose):
223           don't loop forever
224
225         * gst/gstiterator.c:
226         * gst/gststructure.c:
227           doc fixes
228
229         * libs/gst/controller/gstcontroller.c:
230         (gst_controlled_property_set_interpolation_mode):
231         * libs/gst/controller/gstcontroller.h:
232         * libs/gst/controller/gstinterpolation.c:
233         (interpolate_none_get_enum_value_array):
234           support controlling enums
235
236 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
237
238         * gst/gstvalue.c:
239           Improve documentation for gst_value_union().
240
241         * gst/gstvalue.h:
242           Change return value for union, intersect and subtract functions
243           from gint to gboolean.
244
245 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
246
247         * gst/gstvalue.c: (gst_value_serialize_any_list),
248         (gst_value_transform_any_list_string),
249         (gst_value_deserialize_list), (gst_value_deserialize_array),
250         (gst_value_set_int_range), (gst_value_deserialize_int_range),
251         (gst_value_set_double_range), (gst_value_deserialize_double_range),
252         (gst_value_set_fraction_range_full),
253         (gst_value_deserialize_fraction_range),
254         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
255         (gst_value_deserialize_boolean),
256         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
257         (gst_value_serialize_float), (gst_value_deserialize_float),
258         (gst_string_wrap), (gst_value_deserialize_string),
259         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
260         (gst_value_union_int_range_int_range),
261         (gst_value_intersect_int_range_int_range),
262         (gst_value_intersect_double_range_double_range),
263         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
264         (gst_value_subtract_int_range_int_range),
265         (gst_value_subtract_double_double_range),
266         (gst_value_subtract_double_range_double_range),
267         (gst_value_deserialize_fraction):
268         * gst/gstvalue.h:
269           Use gint, gdouble and gchar in our API instead of int, double and
270           char (and make usage in gstvalue.c more consistent).
271
272 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
273
274         * check/Makefile.am:
275         * libs/gst/controller/Makefile.am:
276         * libs/gst/dataprotocol/Makefile.am:
277           fix up Makefile.am and remove GST_ENABLE_NEW
278
279 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
280
281         * configure.ac:
282         * gst/Makefile.am:
283         * gst/base/Makefile.am:
284         * gst/check/Makefile.am:
285         * gst/elements/Makefile.am:
286         * gst/net/Makefile.am:
287           update LDFLAGS use some more
288
289 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
290
291         * common/m4/gst-doc.m4:
292           Fixes #312589
293
294 2005-11-26  Edward Hervey  <edward@fluendo.com>
295
296         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
297         This shouldn't issue a g_warning since it returns NULL if it
298         couldn't find the plugin, and all functions using this behave
299         properly on a NULL return. Switching to a GST_WARNING.
300
301 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
302
303         * gst/gstbin.c: (gst_bin_handle_message_func):
304         Don't leak clock messages.
305
306 2005-11-25  Wim Taymans  <wim@fluendo.com>
307
308         * gst/gstutils.c: (gst_util_uint64_scale_int64),
309         (gst_util_uint64_scale_int):
310         Optimisations, remove unneeded vars.
311
312 2005-11-25  Wim Taymans  <wim@fluendo.com>
313
314         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
315         Added more checks for the high precision uint64 cases.
316
317         * gst/gstutils.c: (gst_util_uint64_scale_int64),
318         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
319         Implement high precission (guint64 * guint64) / guint64.
320
321 2005-11-24  Wim Taymans  <wim@fluendo.com>
322
323         * gst/base/gstbasesrc.c: (gst_base_src_query):
324         Fix wrong percentage query.
325
326         * gst/gstutils.c: (gst_util_uint64_scale),
327         (gst_util_uint64_scale_int):
328         Add some more common cases that can be handled 
329         efficiently to _scale.
330
331 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
332
333         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
334         (gst_mini_object_suite):
335           don't use check calls from threads; check probably isn't
336           threadsafe and using a lock to make it threadsafe would
337           defeat the purpose of this check
338         * gst/check/gstcheck.c:
339         * gst/check/gstcheck.h:
340           use GST_DEBUG some more
341
342 2005-11-24  Wim Taymans  <wim@fluendo.com>
343
344         * gst/gstutils.c: (gst_util_uint64_scale),
345         (gst_util_uint64_scale_int):
346         Chain trivial case to _scale_int.
347
348 2005-11-24  Wim Taymans  <wim@fluendo.com>
349
350         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
351         Added test for scaling.
352
353         * gst/gstclock.h:
354         Small doc fix.
355
356         * gst/gstutils.c: (gst_util_uint64_scale_int):
357         Implemented high precision scaling code.
358
359 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
360
361         * gst/gstinfo.h:
362           do not crash on pad==NULL
363
364 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
365
366         Patch by: Stefan Kost
367
368         * common/gtk-doc.mak:
369         * docs/gst/Makefile.am:
370         * docs/libs/Makefile.am:
371           Fix distcheck issues for the libraries docs build
372           Closes #319599.
373
374 2005-11-24  Michael Smith <msmith@fluendo.com>
375
376         * docs/manual/basics-helloworld.xml:
377           Fix bug #315027: memory leak in example code in docs.
378
379 2005-11-24  Michael Smith <msmith@fluendo.com>
380
381         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
382           Unlock the PREROLL_LOCK in a failure case.
383
384 2005-11-24  Wim Taymans  <wim@fluendo.com>
385
386         * docs/gst/gstreamer-sections.txt:
387         * gst/base/gstadapter.h:
388         * gst/base/gstbasesink.h:
389         * gst/base/gstbasesrc.h:
390         * gst/base/gstbasetransform.h:
391         * gst/base/gstpushsrc.h:
392         * gst/elements/gstfakesink.h:
393         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
394         * gst/elements/gstfakesrc.h:
395         * gst/elements/gstfilesink.h:
396         * gst/elements/gstfilesrc.h:
397         * gst/gst.c:
398         * gst/gstbin.c:
399         * gst/gstbuffer.c: (_gst_buffer_copy):
400         * gst/gstbus.h:
401         * gst/gstcaps.c:
402         * gst/gstchildproxy.c:
403         * gst/gstclock.c:
404         * gst/gstelement.c:
405         * gst/gstelementfactory.c:
406         * gst/gstelementfactory.h:
407         * gst/gstevent.c:
408         * gst/gstghostpad.h:
409         * gst/gstindex.h:
410         * gst/gstinterface.h:
411         * gst/gstminiobject.c:
412         * gst/gstminiobject.h:
413         * gst/gstpad.c:
414         * gst/gstpad.h:
415         * gst/gstpadtemplate.h:
416         * gst/gstpipeline.h:
417         * gst/gstpluginfeature.h:
418         * gst/gstquery.h:
419         * gst/gstqueue.h:
420         * gst/gsttaglist.c:
421         * gst/gsttaglist.h:
422         * gst/gsttagsetter.c:
423         * gst/gsttagsetter.h:
424         * gst/gsttrace.c:
425         * gst/gsttrace.h:
426         * gst/gsttypefind.h:
427         * gst/gsturi.h:
428         * gst/gstvalue.c:
429         * gst/net/gstnetclientclock.c:
430         * gst/net/gstnetclientclock.h:
431         * gst/net/gstnettimepacket.c:
432         * gst/net/gstnettimeprovider.c:
433         * gst/net/gstnettimeprovider.h:
434         Doc fixes.
435
436 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
437
438         * configure.ac: back to HEAD
439
440 === release 0.9.6 ===
441
442 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
443
444         * configure.ac:
445           releasing 0.9.6, "Always On Time"
446
447 2005-11-23  Wim Taymans  <wim@fluendo.com>
448
449         * docs/gst/gstreamer-sections.txt:
450         * gst/glib-compat.c:
451         * gst/gsttagsetter.c:
452         * gst/gstvalue.c:
453         * gst/net/gstnetclientclock.c:
454         * gst/net/gstnettimepacket.h:
455         Doc updates.
456
457 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
458
459         * docs/faq/using.xml:
460         * docs/libs/tmpl/gstcontrol.sgml:
461         * docs/manual/advanced-dparams.xml:
462         * docs/manual/appendix-checklist.xml:
463         * docs/manual/basics-elements.xml:
464         * docs/pwg/other-source.xml:
465         * docs/random/moving-plugins:
466         * gst/gstpad.c:
467         * tools/gst-launch.1.in:
468           remove mentions of sinesrc
469
470 2005-11-23  Michael Smith <msmith@fluendo.com>
471
472         * docs/gst/gstreamer-sections.txt:
473           Update for new API and API changes.
474         * gst/gstobject.h:
475           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
476         * gst/gstvalue.c:
477           Documentation typo fix.
478         * gst/net/gstnettimepacket.c:
479           Documentation fixes for arguments.
480
481 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
482
483         * gst/gststructure.c: (gst_structure_get_fraction),
484         (gst_structure_parse_value),
485         (gst_structure_fixate_field_nearest_fraction):
486         * gst/gststructure.h:
487         * gst/gstutils.c: (gst_util_uint64_scale_int):
488         * gst/gstutils.h:
489         * scripts/update-funcnames:
490         API Changes. 
491         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
492         Make gst_structure_fixate_field_nearest_fraction take a numerator
493         and denominator argument instead of a GValue
494         add gst_structure_get_fraction helper function.
495
496 2005-11-23  Wim Taymans  <wim@fluendo.com>
497
498         * docs/design/part-TODO.txt:
499         Update TODO.
500
501         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
502         * gst/net/gstnetclientclock.h:
503         Use parent fields for timeout and window_size.
504
505 2005-11-23  Andy Wingo  <wingo@pobox.com>
506
507         * check/net/gstnetclientclock.c (test_functioning): Adjust to
508         rate_num/rate_denom change.
509
510         * gst/net/gstnetclientclock.c
511         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
512         OBJECT_LOCK. Don't call add_observation with the lock.
513
514         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
515         fraction.
516         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
517         rate fraction.
518         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
519         deal with rate as a fraction whose numerator and denominator are
520         GstClockTime values.
521         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
522         master; the other fields are protected by the SLAVE_LOCK.
523         (do_linear_regression): Note that this must be called with the
524         SLAVE_LOCK.
525         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
526         OBJECT_LOCK. Call set_calibration instead of touching the
527         variables directly.
528         (gst_clock_set_property, gst_clock_get_property): Protect
529         master/slave parameters with the SLAVE_LOCK.
530
531         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
532         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
533         note that all of the instance variables that add_observation and
534         the set_master functions use are protected by that lock and not
535         the OBJECT_LOCK.
536         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
537
538         * gst/gstclock.c (gst_clock_add_observation): No longer requires
539         the caller to take the object lock.
540
541 2005-11-23  Wim Taymans  <wim@fluendo.com>
542
543         * gst/gsterror.c: (_gst_core_errors_init):
544         * gst/gsterror.h:
545         Add error for clock stuff.
546
547         * gst/gstpipeline.c: (gst_pipeline_change_state),
548         (gst_pipeline_set_clock):
549         Post clock error when clock cannot be used in a pipeline.
550
551 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
552
553         * docs/gst/gstreamer-sections.txt:
554           make two symbols from gstinfo private for the docs
555         * gst/base/gstcollectpads.h:
556         * gst/gstutils.c:
557           fix doc typos, update docs
558
559 2005-11-22  Wim Taymans  <wim@fluendo.com>
560
561         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
562         (gst_base_sink_wait), (gst_base_sink_do_sync),
563         (gst_base_sink_handle_event):
564         * gst/base/gstbasesink.h:
565         No need to store the clock, the parent element class already
566         has it.
567
568         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
569         Updates for clock_set returning a gboolean
570
571         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
572         (gst_clock_id_wait_async), (gst_clock_class_init),
573         (gst_clock_init), (gst_clock_finalize),
574         (gst_clock_get_internal_time), (gst_clock_get_time),
575         (gst_clock_slave_callback), (gst_clock_set_master),
576         (gst_clock_get_master), (do_linear_regression),
577         (gst_clock_add_observation), (gst_clock_set_property),
578         (gst_clock_get_property):
579         * gst/gstclock.h:
580         Implement master/slave. When setting a clock as a slave, a
581         periodic timeout is scheduled to sample master and slave times.
582         Then the slave clock is recalibrated to match offset and rate
583         of the master clock.
584         Update logging a bit.
585         Add flag so that a clock can state that is cannot be slaved to
586         another clock.
587
588         * gst/gstelement.c: (gst_element_set_clock):
589         * gst/gstelement.h:
590         The set clock returns a gboolean for when an element cannot
591         deal with the selected clock in the pipeline. 
592
593         * gst/gstpipeline.c: (gst_pipeline_change_state),
594         (gst_pipeline_set_clock):
595         * gst/gstpipeline.h:
596         Handle the case where the selected clock cannot be set on
597         the pipeline.
598
599         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
600         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
601         (gst_net_client_clock_set_property),
602         (gst_net_client_clock_get_property),
603         (gst_net_client_clock_observe_times):
604         * gst/net/gstnetclientclock.h:
605         Use regression code in GstClock parent, remove duplicated
606         functionality.
607
608 2005-11-22  Michael Smith <msmith@fluendo.com>
609
610         * gst/gstutils.c: (gst_util_clock_time_scale):
611         * gst/gstutils.h:
612         * docs/gst/gstreamer-sections.txt:
613           Rename method to have extra underscore.
614
615 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
616
617         * gst/elements/Makefile.am:
618         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
619         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
620         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
621         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
622         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
623         * gst/elements/gstfakesrc.h:
624         * gst/gstqueue.c: (queue_leaky_get_type):
625           correctly fix GEnumValues so that nick is the short lowercase
626           dashed tag
627         * tools/gst-inspect.c: (print_element_properties_info):
628           also show the nick, since it's useful to use from parse_launch
629           syntax
630           Fixes #322139
631
632 2005-11-22  Michael Smith <msmith@fluendo.com>
633
634         * gst/gstutils.c: (gst_util_clocktime_scale):
635         * gst/gstutils.h:
636         * docs/gst/gstreamer-sections.txt:
637           Add util method for scaling a clocktime by a fraction. Useful 
638           implementation is left as an exercise for the reader.
639
640 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
641
642         * gst/gstvalue.c: (gst_value_collect_fraction_range):
643         If needed, allocate storage in the destination value during
644         collection.
645
646 2005-11-22  Edward Hervey  <edward@fluendo.com>
647
648         * docs/gst/gstreamer-sections.txt:
649         * gst/Makefile.am:
650         * gst/gst.h:
651         * gst/gsturitype.c:
652         * gst/gsturitype.h:
653         * gst/gstutils.c: (gst_util_set_object_arg):
654         * tools/gst-compprep.c: (main):
655         * tools/gst-inspect.c: (print_element_properties_info):
656         Removed GstURI, closes bug #321061
657
658 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
659
660         * check/gst/gststructure.c: (GST_START_TEST):
661         * gst/gststructure.c: (gst_structure_parse_value):
662           Oops, broke automatic string type parsing.
663           Add a test to catch it in future.
664
665 2005-11-22  Andy Wingo  <wingo@pobox.com>
666
667         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
668         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
669         Actually rename the function implementations. Grr.
670
671 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
672
673         * check/gst/capslist.h:
674           Comment test cases
675         * check/gst/gststructure.c: (GST_START_TEST),
676         (gst_structure_suite):
677           Test automatic value type detection in gst_structure_from_string.
678         * gst/gststructure.c: (gst_structure_parse_value):
679           Add fraction as a type we try and guess automatically in
680           caps/structure strings.
681
682 2005-11-22  Andy Wingo  <wingo@pobox.com>
683
684         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
685
686         * gst/gsttagsetter.h:
687         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
688         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
689         (gst_tag_setter_add_tag_valist)
690         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
691         _add_values, _add_valist, and _add_valist_values. Since this is an
692         interface the function suffixes should be more explicit so
693         language binding don't end up with element.add_valist ->
694         gst_tag_setter_add_valist, for example. Fixes #322069.
695
696 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
697
698         * check/gst/gstcaps.c: (GST_START_TEST):
699           Extend caps string tests to check that a caps to string
700           conversion is reversible and produces the same caps.
701
702         * gst/gststructure.c: (gst_structure_value_get_generic_type):
703           Output "fraction" as the generic type fraction range, so caps
704           serialisation and deserialisation works.
705         * check/gst/capslist.h:
706         * gst/gstvalue.c: (gst_value_deserialize_fraction):
707           Support 'MIN' and 'MAX' for deserialising fractions.
708
709 2005-11-22  Andy Wingo  <wingo@pobox.com>
710
711         * gst/gstevent.h (gst_event_new_new_segment)
712         (gst_event_parse_new_segment, gst_event_new_buffer_size)
713         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
714         Renamed from *_newsegment, *_buffersize, *_notarget.
715
716         * scripts/update-funcnames: New script, performs the changes
717         listed above.
718
719 2005-11-22  Wim Taymans  <wim@fluendo.com>
720
721         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
722         Make sure the GstFlowReturn is returned.
723
724         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
725         (gst_bus_add_signal_watch):
726         * gst/gstbus.h:
727         add gst_bus_add_signal_watch_full.
728
729         * gst/gstplugin.c: (gst_plugin_load_file):
730         Small style cleanup.
731
732 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
733
734         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
735           Block the fakesrc srcpad when we send an event, to avoid
736           contention on the stream_lock causing random test failures.
737
738 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
739
740         * check/gst/gstvalue.c: (GST_START_TEST):
741         * gst/gstvalue.c: (gst_value_fraction_subtract):
742           Fix subtraction.
743
744 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
745
746         * gst/gst.h:
747           include "gstchildproxy.h"
748         * gst/gstchildproxy.h:
749         * libs/gst/controller/gstcontroller.h:
750           use G_GNUC_NULL_TERMINATED
751
752 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
753
754         * check/gst/capslist.h:
755         * check/gst/gstcaps.c: (GST_START_TEST):
756         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
757         * gst/gststructure.c: (gst_structure_parse_range),
758         (gst_structure_fixate_field_nearest_fraction):
759         * gst/gststructure.h:
760         * gst/gstvalue.c: (gst_value_init_fraction_range),
761         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
762         (gst_value_collect_fraction_range),
763         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
764         (gst_value_set_fraction_range_full),
765         (gst_value_get_fraction_range_min),
766         (gst_value_get_fraction_range_max),
767         (gst_value_serialize_fraction_range),
768         (gst_value_transform_fraction_range_string),
769         (gst_value_compare_fraction_range),
770         (gst_value_deserialize_fraction_range),
771         (gst_value_intersect_fraction_fraction_range),
772         (gst_value_intersect_fraction_range_fraction_range),
773         (gst_value_subtract_fraction_fraction_range),
774         (gst_value_subtract_fraction_range_fraction),
775         (gst_value_subtract_fraction_range_fraction_range),
776         (gst_value_collect_fraction), (gst_value_fraction_multiply),
777         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
778         (gst_value_transform_string_fraction), (_gst_value_initialize):
779         * gst/gstvalue.h:
780           Implement fraction ranges and extend GstFraction to support
781           arithmetic subtraction, as well as deserialization from integer
782           strings such as "100"
783           Add a testsuite as for int and double range set operations
784
785 2005-11-21  Andy Wingo  <wingo@pobox.com>
786
787         * gst/gsttaglist.h: 
788         * gst/gstcaps.h: 
789         * gst/gststructure.h: Add glib-compat.h.
790
791 2005-11-21  Wim Taymans  <wim@fluendo.com>
792
793         * gst/gstbin.c: (gst_bin_change_state_func):
794         Fix for #321595
795
796 2005-11-21  Wim Taymans  <wim@fluendo.com>
797
798         * gst/gstsegment.h:
799         And add a nice define too.
800
801 2005-11-21  Wim Taymans  <wim@fluendo.com>
802
803         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
804         (gst_segment_new), (gst_segment_free), (gst_segment_init),
805         (gst_segment_set_duration), (gst_segment_set_last_stop),
806         (gst_segment_set_seek), (gst_segment_set_newsegment),
807         (gst_segment_to_stream_time), (gst_segment_to_running_time),
808         (gst_segment_clip):
809         * gst/gstsegment.h:
810         Make binding friendly.
811
812 2005-11-21  Andy Wingo  <wingo@pobox.com>
813
814         * gst/gsttagsetter.h: 
815         * gst/gsttaglist.h: 
816         * gst/gststructure.h: 
817         * gst/gstcaps.h: 
818         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
819         #319940.
820
821         * gst/gsterror.c (_gst_core_errors_init):
822         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
823         category.
824
825         * gst/Makefile.am (gst_headers): Add glib-compat.h.
826         (noinst_HEADERS): noinst the -private.
827
828 2005-11-21  Michael Smith <msmith@fluendo.com>
829
830         * gst/gstplugin.h:
831         * gst/gstregistry.h:
832           Remove unimplemented declarations for which we can see no sensible
833           use.
834
835 2005-11-21  Andy Wingo  <wingo@pobox.com>
836
837         * gst/gst.h: Include glib-compat.h.
838
839         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
840
841         * gst/glib-compat.c: Include the public and the private header.
842
843         * gst/glib-compat-private.h: Copied here from glib-compat.h.
844
845         * gst/gstvalue.c: 
846         * gst/gstpad.c: 
847         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
848
849         * check/gst/gstevent.c (create_custom_events): Check that
850         FLUSH_STOP is serialized.
851
852         * check/elements/identity.c (event_func): 
853         * check/elements/fakesrc.c (event_func): No stream lock, the core
854         takes it.
855
856         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
857         stream lock taking, yay.
858
859         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
860         ensure that core takes the stream lock.
861
862         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
863         lock name change.
864
865         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
866         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
867         it already. For the flush start we do take it though so we get the
868         right preroll state change messages.
869
870         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
871         the stream lock here, the core does it for us.
872
873         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
874         GST_STREAM_GET_LOCK.
875         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
876         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
877         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
878         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
879         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
880         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
881
882         * gst/gstpad.c: Update for stream lock name change.
883
884         * gst/base/gstbasesink.c: Update for preroll lock name change.
885
886 2005-11-21  Wim Taymans  <wim@fluendo.com>
887
888         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
889         (gst_clock_get_master):
890         * gst/gstclock.h:
891         * gst/gstsystemclock.c: (gst_system_clock_init):
892         Convert Clock flags to object flags.
893         Added methods to manage master/slave clocks.
894
895 2005-11-21  Wim Taymans  <wim@fluendo.com>
896
897         * check/gst/gstsegment.c: (GST_START_TEST):
898         * docs/design/part-TODO.txt:
899         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
900         (gst_base_sink_event), (gst_base_sink_do_sync),
901         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
902         (gst_base_sink_query), (gst_base_sink_change_state):
903         * gst/base/gstbasesink.h:
904         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
905         (gst_base_src_default_newsegment),
906         (gst_base_src_configure_segment), (gst_base_src_do_seek),
907         (gst_base_src_get_range), (gst_base_src_loop),
908         (gst_base_src_change_state):
909         * gst/base/gstbasesrc.h:
910         * gst/base/gstbasetransform.c:
911         (gst_base_transform_prepare_output_buf),
912         (gst_base_transform_event), (gst_base_transform_change_state):
913         * gst/base/gstbasetransform.h:
914         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
915         (gst_collect_pads_event):
916         * gst/base/gstcollectpads.h:
917         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
918         (gst_fake_src_create):
919         * gst/elements/gstfakesrc.h:
920         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
921         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
922         (gst_segment_set_last_stop), (gst_segment_set_seek),
923         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
924         (gst_segment_to_running_time), (gst_segment_clip):
925         * gst/gstsegment.h:
926         More segment updates, replace code in plugins with segment
927         helper functions.
928
929 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
930
931         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
932         Don't ignore sscanf results
933
934 2005-11-21  Andy Wingo  <wingo@pobox.com>
935
936         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
937
938         * *.h:
939         * *.c: Ran scripts/update-macros. Oh yes.
940
941         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
942         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
943         GST_GET_LOCK, etc.
944
945         * scripts/update-macros: New script. Run it on your files to
946         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
947         well.
948
949 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
950
951         * docs/gst/Makefile.am:
952         * docs/gst/gstreamer-docs.sgml:
953         * docs/gst/gstreamer-sections.txt:
954         * docs/gst/gstreamer.types:
955         * gst/gstinfo.h:
956           more docs fixes, add new api to the docs
957
958 2005-11-21  Andy Wingo  <wingo@pobox.com>
959
960         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
961         state_broadcast call.
962
963         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
964
965 2005-11-21  Julien MOUTTE  <julien@moutte.net>
966
967         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
968         function calls for arrays.
969
970 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
971
972         * docs/random/ensonic/media-device-daemon.txt:
973           wild idea, can this be done?
974         * docs/gst/gstreamer-sections.txt:
975         * gst/gsterror.h:
976         * gst/gstfilter.c:
977         * gst/gstfilter.h:
978         * gst/gstplugin.h:
979         * gst/gstpluginfeature.c:
980         * gst/gsttrace.c:
981         * gst/gstvalue.c:
982         * gst/gstvalue.h:
983           doc fixes and additions
984
985 2005-11-21  Andy Wingo  <wingo@pobox.com>
986
987         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
988         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
989         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
990         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
991         private to the basesrc implementation.
992
993         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
994         behalf of event function if necessary. It should no longer be
995         necessary to take the stream lock in pad's event functions. Fixes
996         #320299.
997
998 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
999         * docs/gst/gstreamer-sections.txt:
1000         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1001         (gst_structure_fixate_field_nearest_double),
1002         (gst_structure_fixate_field_boolean):
1003         * gst/gststructure.h:
1004         * win32/common/libgstreamer.def:
1005         * win32/gstreamer.def:
1006
1007         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1008         (#322027)
1009
1010 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1011
1012         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1013         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1014         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1015         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1016         (gst_fdsrc_uri_handler_init):
1017         * gst/elements/gstfdsrc.h:
1018           Port fd:// URI handler from 0.8 to fdsrc
1019
1020 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1021
1022         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1023         (gst_value_serialize_fourcc):
1024         * gst/gstvalue.h:
1025           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1026           consistent with our other format defines (#320324).
1027
1028 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1029
1030         * gst/gstvalue.c: (gst_value_is_fixed):
1031           Revert previous commit. Value lists are by definition
1032           not fixed, as they are a list of possible values.
1033
1034 2005-11-21  Andy Wingo  <wingo@pobox.com>
1035
1036         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1037         during the stable series if we need it. Fixes #319178.
1038
1039         * gst/gstevent.c (gst_event_new_filler): Removed.
1040
1041         * check/gst/gstevent.c: Update comment about filler events.
1042
1043 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1044
1045         * gst/gstvalue.c: (gst_value_is_fixed):
1046           Should handle both value arrays and value lists.
1047
1048 2005-11-21  Andy Wingo  <wingo@pobox.com>
1049
1050         patch by: Alessandro Dessina <alessandro nnva org>
1051
1052         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1053         functions to access arrays. Fixes #321962.
1054
1055 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1056
1057         * docs/gst/gstreamer.types:
1058           gst_collectpads_get_type => gst_collect_pads_get_type.
1059           
1060         * gst/base/gstbasetransform.c:
1061           Remove unused SIGNAL_HANDOFF enum.
1062
1063 2005-11-21  Andy Wingo  <wingo@pobox.com>
1064
1065         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1066         the event type (upstream, downstream, serialized). Renamed
1067         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1068         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1069         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1070
1071         * gst/gstevent.c: Update for new CUSTOM event names.
1072
1073         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1074
1075         * gst/gstevent.h:
1076         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1077         bug #319392.
1078
1079 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1080
1081         * docs/gst/gstreamer-sections.txt:
1082         * win32/common/libgstbase.def:
1083         * win32/libgstbase.def:
1084         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1085         (gst_collect_pads_class_init), (gst_collect_pads_init),
1086         (gst_collect_pads_finalize), (gst_collect_pads_new),
1087         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1088         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1089         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1090         (gst_collect_pads_start), (gst_collect_pads_stop),
1091         (gst_collect_pads_peek), (gst_collect_pads_pop),
1092         (gst_collect_pads_available), (gst_collect_pads_read),
1093         (gst_collect_pads_flush), (gst_collect_pads_event),
1094         (gst_collect_pads_chain):
1095         * gst/base/gstcollectpads.h:
1096           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1097           unimplemented functions as unimplemented. Add padding to
1098           GstCollectData. (#320766, #320423)
1099
1100 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1101
1102         * gst/gstmessage.c:
1103           Improve docs for DURATION message (usage of duration parameter)
1104           (#320113)
1105
1106 2005-11-20  Wim Taymans  <wim@fluendo.com>
1107
1108         * check/Makefile.am:
1109         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1110         (main):
1111         * gst/Makefile.am:
1112         * gst/gst.h:
1113         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1114         (gst_segment_set_seek), (gst_segment_set_newsegment),
1115         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1116         (gst_segment_clip):
1117         * gst/gstsegment.h:
1118         Added segment helper structure and methods. Not fully implemented
1119         yet.
1120         Added segment check.
1121
1122 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1123
1124         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1125           Add a deserialisation test for fractions
1126         * examples/metadata/read-metadata.c: (message_loop),
1127         (make_pipeline), (main):
1128           Fix up metadata reading sample.
1129         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1130           Debug format fix
1131         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1132           Don't try and fixate empty caps
1133         * gst/gst_private.h:
1134           Wrap in G_BEGIN_DECLS/G_END_DECLS
1135         * gst/gstvalue.c: (gst_value_collect_fraction),
1136         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1137         (gst_value_transform_string_fraction),
1138         (gst_value_compare_fraction):
1139           Add some extra guards to ensure that we don't end up 
1140           with an invalid denominator of 0 in a gstfraction and
1141           that fractions always get reduced.
1142
1143 2005-11-20  Wim Taymans  <wim@fluendo.com>
1144
1145         * docs/gst/gstreamer-sections.txt:
1146         * gst/gstbuffer.h:
1147         * gst/gstelement.c:
1148         * gst/gstformat.c:
1149         * gst/gstformat.h:
1150         * gst/gstindex.h:
1151         * gst/gstquery.c:
1152         * gst/gstquery.h:
1153         * gst/gstvalue.c:
1154         Doc fixes.
1155
1156 2005-11-20  Wim Taymans  <wim@fluendo.com>
1157
1158         * docs/design/part-TODO.txt:
1159         * gst/gstcaps.h:
1160         Make a proper enum of the flag.
1161
1162 2005-11-19  Wim Taymans  <wim@fluendo.com>
1163
1164         * docs/design/part-TODO.txt:
1165         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1166         (gst_format_to_quark), (gst_format_register):
1167         * gst/gstformat.h:
1168         * gst/gstquery.c: (_gst_query_initialize),
1169         (gst_query_type_get_name), (gst_query_type_to_quark),
1170         (gst_query_type_register):
1171         * gst/gstquery.h:
1172         Add type to quark and type to string conversions.
1173
1174 2005-11-19  Andy Wingo  <wingo@pobox.com>
1175
1176         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1177         #320097.
1178
1179 2005-11-19  Wim Taymans  <wim@fluendo.com>
1180
1181         * docs/design/part-TODO.txt:
1182         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1183         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1184         (gst_bin_handle_message_func):
1185         * gst/gstbin.h:
1186         Make message handling overridable.
1187
1188 2005-11-19  Andy Wingo  <wingo@pobox.com>
1189
1190         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1191
1192         * gst/gstclock.h:
1193         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1194         be a GstClockTime.
1195         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1196         is a GstClockTime. Fixes #321710.
1197
1198         * gst/gstclock.h (GstClock): Remove offset property. Add
1199         internal_calibration and external_calibration. Fix padding. Pad
1200         also by GstClockTime so we don't run into problems.
1201
1202         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1203         (gst_clock_get_rate_offset): Remove.
1204         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1205
1206         * gst/gstutils.h:
1207         * gst/gstutils.c (g_static_rec_cond_wait)
1208         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1209
1210         * gst/gstbin.c: Remove terrible continue_state prototype.
1211
1212         * gst/gstelement.h (gst_element_continue_state): Make public.
1213
1214         * gst/gstelement.h:
1215         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1216         by continue_state. Fixes #319389.
1217
1218         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1219         Really fixes #168438. However I don't see anywhere where the
1220         filter function is called... stupid GStreamer...
1221         
1222         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1223         don't have a dispose function, so it won't get called when the
1224         object is unreffed, but oh well!
1225
1226         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1227         allows a destroy function to be set so user_data can be freed.
1228         Fixes #168438.
1229         (gst_index_set_filter): Call gst_index_set_filter_full.
1230
1231         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1232
1233         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1234         string should produce an error, given the lack of a way to
1235         represent NULL strings. Fixes #165650.
1236         
1237         * gst/gstvalue.h: 
1238         * gst/gstvalue.c (gst_value_array_append_value) 
1239         (gst_value_array_prepend_value, gst_value_array_get_size) 
1240         (gst_value_array_get_value): New API, copied from
1241         gst_value_list_*, only operates on arrays.
1242         (gst_value_list_append_value, gst_value_list_prepend_value) 
1243         (gst_value_list_concat, gst_value_list_get_size) 
1244         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1245
1246         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1247         init_list, because it works on both.
1248         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1249         (gst_value_copy_list_or_array): Renamed from copy_list.
1250         (gst_value_free_list_or_array): Renamed from free_list.
1251         (gst_value_collect_list_or_array): Renamed from collect_list.
1252         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1253         (gst_value_list_or_array_peek_pointer): Renamed from
1254         list_peek_pointer.
1255         (_gst_value_array_value_table, _gst_value_list_value_table):
1256         Update value table functions.
1257         (gst_value_compare_list_or_array): Renamed from compare_list.
1258
1259         * gsttaglist.h: Whoops, foreach function returns void. Also fix
1260         some constness.
1261
1262         * gst/gsttaglist.c:
1263         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1264         GstTagList*. Fixes #143472.
1265
1266         * gst/gststructure.h: Clarify what the foreach/map functions can
1267         or can't do to their arguments.
1268
1269 2005-11-18  Wim Taymans  <wim@fluendo.com>
1270
1271         * gst/gstclock.c: (gst_clock_set_calibration),
1272         (gst_clock_get_calibration):
1273         Doc and API fixes.
1274         Calibration can be set with internal time equal to current
1275         internal time too.
1276
1277 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1278
1279         * gst/gsterror.c:
1280         * gst/gsterror.h:
1281           document
1282
1283 2005-11-18  Andy Wingo  <wingo@pobox.com>
1284
1285         * configure.ac: 
1286         * pkgconfig/gstreamer-net.pc.in:
1287         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1288         * pkgconfig/Makefile.am: Add net pkgconfig files.
1289
1290 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
1291
1292         * gst/gstcaps.c:
1293         * gst/gstghostpad.c:
1294         * gst/gsttrace.c:
1295         * gst/gstvalue.c:
1296         * gst/gstvalue.h:
1297           docs fixes
1298
1299 2005-11-18  Andy Wingo  <wingo@pobox.com>
1300
1301         * gst/net/gstnetclientclock.c: Turn off debugging.
1302
1303         * check/net/gstnetclientclock.c (test_functioning): Assert that the
1304         times connverge somewhat. Can't make a real test.
1305
1306         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1307         integer arithmetic. Return the minimum of the domain, which can be
1308         set as "internal" for gst_clock_set_calibration.
1309         (gst_net_client_clock_observe_times): Call _set_calibration.
1310         (gst_net_client_clock_new): Call _set_calibration instead of
1311         rate_offset.
1312
1313         * check/net/gstnetclientclock.c (test_functioning): Use the right
1314         adjustment api.
1315
1316         * gst/gstclock.h:
1317         * gst/gstclock.c (gst_clock_get_calibration) 
1318         (gst_clock_set_calibration): New functions, obsolete the ones I
1319         added yesterday. Doh. Precision issues mean we have to extrapolate
1320         from a point in the more recent past than 1970.
1321         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1322         obsolete.
1323         (gst_clock_adjust_unlocked): Use the right calibration data.
1324
1325 2005-11-18  Edward Hervey  <edward@fluendo.com>
1326
1327         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
1328         Also reset the ->current_* values in READY->PAUSED
1329
1330 2005-11-18  Andy Wingo  <wingo@pobox.com>
1331
1332         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1333         Whoops, check the right fd. Also add some debugging.
1334         (gst_net_client_clock_observe_times): Adjust for int64 offset.
1335         (do_linear_regression): Add a crapload of debugging. Subtract off
1336         the minimum values from the input series to discard unneeded bits.
1337         Use only int arithmetic. There is still double arithmetic when
1338         calculating the intercept that needs fixing. Return boolean to
1339         indicate success; FALSE would mean the domain or range is too
1340         great. Still needs fixes.
1341
1342 2005-11-18  Wim Taymans  <wim@fluendo.com>
1343
1344         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1345         For the current position in stream time, we need to subtract
1346         accumulated time.
1347         
1348         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1349         Release lock before calling the callback function of async
1350         entries.
1351
1352 2005-11-18  Andy Wingo  <wingo@pobox.com>
1353
1354         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1355         Port goes all the way to MAXUINT16.
1356
1357         * gst/net/gstnettimeprovider.c: Make the port range the same as
1358         for the kernel: 0 assigns, otherwise ports are less than
1359         MAXUINT16.
1360
1361         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1362         port change.
1363
1364         * check/net/gstnetclientclock.c (test_functioning): Add the start
1365         of another test. 
1366
1367 2005-11-18  Wim Taymans  <wim@fluendo.com>
1368
1369         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1370         (gst_bin_remove_func), (bin_bus_handler):
1371         * gst/gstbin.h:
1372         Removing a clock provider from a bin, triggers a clock lost message
1373         so that a new clock will be selected.
1374         Adding a clock to a bin triggers a clock provider message.
1375         Make sure we reselect a clock when we received a clock lost message.
1376         Keep a reference to the element that provided the clock.
1377
1378 2005-11-18  Andy Wingo  <wingo@pobox.com>
1379
1380         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1381         the clock initially so it produces values around the base time.
1382         (gst_net_client_clock_class_init): Typo fix.
1383         (gst_net_client_clock_thread): Add note on when the socket gets
1384         closed.
1385
1386 2005-11-17  Wim Taymans  <wim@fluendo.com>
1387
1388         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1389         Free remote and local time arrays.
1390
1391 2005-11-17  Wim Taymans  <wim@fluendo.com>
1392
1393         * gst/net/gstnetclientclock.c: (do_linear_regression),
1394         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
1395         Fix compilation, uninitialized vars and a forgotten continue.
1396
1397 2005-11-17  Andy Wingo  <wingo@pobox.com>
1398
1399         * check/Makefile.am (check_PROGRAMS): 
1400         * check/net/gstnetclientclock.c: Add a most minimal test for the
1401         net client clock. More to come later.
1402
1403         * gst/net/gstnet.h: 
1404         * gst/net/Makefile.am: Add netclientclock.
1405
1406         * gst/net/gstnetclientclock.h:
1407         * gst/net/gstnetclientclock.c: New files, implement an untested
1408         GstClock that takes its time from a network time provider.
1409         Implements the algorithm in network-clock.scm.
1410
1411         * tests/network-clock.scm (*window-size*): Rename from
1412         *queue-length*.
1413         * tests/network-clock.scm (network-time): 
1414         * tests/network-clock-utils.scm (q-push): Update callers.
1415
1416 2005-11-17  Wim Taymans  <wim@fluendo.com>
1417
1418         * gst/gstbin.c: (gst_bin_provide_clock_func),
1419         (gst_bin_sort_iterator_new):
1420         And unref the child too..
1421
1422 2005-11-17  Wim Taymans  <wim@fluendo.com>
1423
1424         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1425         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
1426         Refactor the sort iterator so it can be used while holding the
1427         LOCK too.
1428         Make clock selection select a clock closest to the source.
1429
1430 2005-11-17  Michael Smith <msmith@fluendo.com>
1431
1432         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
1433         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
1434         * gst/gstclock.h:
1435           Anonymous structs are a gcc (and some other compilers) extension, so
1436           don't use them. Since this is only for ABI-compatibility, and our
1437           API/ABI freeze is over in a few days, this whole thing will only
1438           last a few days, so don't bother trying to think up a meaningful
1439           name for the struct.
1440
1441 2005-11-17  Andy Wingo  <wingo@pobox.com>
1442
1443         * gst/gstclock.h (GstClock): Add rate and offset properties,
1444         preserving ABI stability. Add rate/offset accessors. Will file bug
1445         for the freeze break.
1446
1447         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
1448         and offset, trying to keep precision and avoiding
1449         underflow/overflow.
1450         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
1451         functions. Make gst_clock_set_time_adjust obsolete.
1452         (gst_clock_set_time_adjust): Note that this function is obsolete.
1453         Will file bug soon.
1454
1455         * gst/base/gstbasetransform.h: Make the ABI-stability hack
1456         greppable by using GST_PADDING-1+1.
1457
1458 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
1459
1460         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1461
1462         * gst/gstmessage.c: (gst_message_parse_clock_lost):
1463           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
1464
1465         * gst/gstpadtemplate.h:
1466         * gst/gstpluginfeature.h:
1467           Don't use c++ style comments in headers (#321638).
1468
1469 2005-11-16  Andy Wingo  <wingo@pobox.com>
1470
1471         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
1472         buffer.
1473
1474         * check/net/gstnettimeprovider.c: Check to see that the time
1475         provider actually provides times. Works, yo!
1476
1477 2005-11-16  Wim Taymans  <wim@fluendo.com>
1478
1479         * check/Makefile.am:
1480         Enable more tests.
1481
1482         * check/elements/fakesrc.c: (GST_START_TEST):
1483         Set element to NULL before disposing it.
1484
1485 2005-11-16  Andy Wingo  <wingo@pobox.com>
1486
1487         * gst/net/Makefile.am:
1488         * gst/net/gstnet.h:
1489         * gst/net/gstnettimeprovider.c: 
1490         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
1491         provider, include it from gstnet.h, and add it to the build.
1492
1493         * gst/net/gstnettimepacket.h: 
1494         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
1495         sending and receiving.
1496
1497 2005-11-16  Wim Taymans  <wim@fluendo.com>
1498
1499         * check/Makefile.am:
1500         Enable valgrind check.
1501
1502         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
1503         (gst_fake_src_alloc_buffer):
1504         Fix memleak.
1505
1506 2005-11-16  Wim Taymans  <wim@fluendo.com>
1507
1508         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
1509         Call parent finalize too.
1510
1511 2005-11-16  Wim Taymans  <wim@fluendo.com>
1512
1513         * check/Makefile.am:
1514         Enable valgrind check that should work fine now.
1515
1516         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1517         * gst/gstqueue.c: (gst_queue_init):
1518         Fix memleaks in pad allocation.
1519
1520 2005-11-16  Andy Wingo  <wingo@pobox.com>
1521
1522         * gst/net/Makefile.am:
1523         * gst/net/gstnet.h: New part of core to hold network elements and
1524         objects. Put in core because it exposes API that applications want
1525         to use. The library is named libgstnet-tempname right now because
1526         of the existing libgstnet in gst-plugins-base. Solution is
1527         probably to rename the one in plugins-base; will file a bug for
1528         the freeze break.
1529
1530         * gst/net/gstnettimeprovider.c: 
1531         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
1532         get_time call over the network.
1533
1534         * configure.ac: 
1535         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
1536
1537         * check/Makefile.am:
1538         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
1539         get additions shortly.
1540
1541 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1542
1543         * gst/gstpad.c: (gst_pad_new_from_static_template):
1544         * gst/gstpad.h:
1545           add gst_pad_new_from_static_template functions
1546         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
1547         (gst_check_setup_sink_pad):
1548         * gst/elements/gsttee.c: (gst_tee_init):
1549           and use them
1550
1551 2005-11-16  Wim Taymans  <wim@fluendo.com>
1552
1553         * gst/gstpad.c: (gst_pad_pause_task):
1554         Removed warning, it's not really an error either.
1555
1556 2005-11-16  Wim Taymans  <wim@fluendo.com>
1557
1558         * gst/base/gstbasetransform.c:
1559         (gst_base_transform_prepare_output_buf),
1560         (gst_base_transform_event):
1561         Check if the caps are NULL, this can happen if the element
1562         is shutting down and the pad caps are set to NULL.
1563
1564 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1565
1566         * gst/elements/gsttee.c: (gst_tee_init):
1567           fix pad template leak in tee
1568
1569 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1570
1571         * gst/glib-compat.c: (g_value_dup_gst_object):
1572         * gst/glib-compat.h:
1573         * gst/gstpad.c: (gst_pad_set_property):
1574           use gst_object_ref when setting the pad template; this will
1575           trigger the pad template leaks on GLib 2.6 and the slaves
1576
1577 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1578
1579         * gst/glib-compat.c: (gst_flags_get_first_value):
1580         * gst/glib-compat.h:
1581         * gst/gstregistryxml.c:
1582           remove functions copied from GLib 2.6
1583
1584 2005-11-16  Michael Smith <msmith@fluendo.com>
1585
1586         * gst/Makefile.am:
1587           Don't link against VALGRIND_LIBS. That was always the wrong thing to
1588           do, but only breaks with newer valgrind versions. We're not a
1589           valgrind tool, we have no link-time dependencies on libcoregrind.
1590
1591 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1592
1593         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1594           some debug changes
1595         * gst/gstmessage.h:
1596           typo fixes
1597
1598 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1599
1600         * gst/base/gstbasesrc.c: (gst_base_src_init):
1601         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1602         * gst/gstqueue.c: (gst_queue_init):
1603         * gst/gstregistryxml.c: (load_feature):
1604           Revert all these unrefs, they don't even pass make check !
1605
1606 2005-11-15  Johan Dahlin  <johan@gnome.org>
1607
1608         * gst/base/gstbasesrc.c: (gst_base_src_init):
1609         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1610         * gst/gstqueue.c: (gst_queue_init): 
1611         Free pad templates, fixes a couple of leaks.
1612
1613 2005-11-15  Daniel Fischer  <dan at f3c dot com>
1614
1615         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1616
1617         * gst/gstpad.c: (gst_pad_get_property):
1618           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
1619           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
1620           (#321452)
1621
1622 2005-11-15  Wim Taymans  <wim@fluendo.com>
1623
1624         * gst/gstevent.c:
1625         Small doc update.
1626
1627 2005-11-15  Andy Wingo  <wingo@pobox.com>
1628
1629         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
1630
1631         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
1632         using GST_CLOCK_TIME_NONE to disable base time management.
1633         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
1634         time if it was NONE before.
1635         (gst_pipeline_change_state): Only munge the base time if
1636         stream_time != GST_CLOCK_TIME_NONE.
1637
1638         * check/gst/gstpipeline.c (test_base_time): Punt around the
1639         problem of the probe not being called, because that's not the
1640         issue I'm looking at. Add a check that setting stream_time to NONE
1641         disables base time management.
1642         
1643 2005-11-15  Wim Taymans  <wim@fluendo.com>
1644
1645         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1646         segment_stop == -1 at startup.
1647
1648         * gst/base/gstbasetransform.c: (gst_base_transform_event),
1649         (gst_base_transform_change_state):
1650         Init segment values at start.
1651
1652 2005-11-15  Wim Taymans  <wim@fluendo.com>
1653
1654         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1655         0 segment values are 0 in any format.
1656
1657         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1658         * gst/base/gstbasetransform.h:
1659         Parse newsegment correctly in basetransform
1660
1661         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1662         Sync to clock using updated segment values.
1663
1664 2005-11-15  Andy Wingo  <wingo@pobox.com>
1665
1666         * check/gst/gstpipeline.c (test_base_time): Add check that the
1667         base time and stream time are reset correctly.
1668
1669 2005-11-15  Wim Taymans  <wim@fluendo.com>
1670
1671         * docs/design/part-TODO.txt:
1672         Some more TODO items.
1673
1674 2005-11-15  Andy Wingo  <wingo@pobox.com>
1675
1676         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
1677         error if the user selected "no clock" as the clocking method.
1678
1679         * check/gst/gstpipeline.c (test_base_time): New test for buffer
1680         timestamps with live capture.
1681
1682         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
1683         is 0 but we are a live source, timestamp the buffers using the
1684         element's clock.
1685
1686 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
1687
1688         * docs/gst/gstreamer-sections.txt:
1689         * gst/gsterror.c:
1690         * gst/gstghostpad.c:
1691         * gst/gstobject.h:
1692         * gst/gstxml.c:
1693           more section docs
1694
1695 2005-11-14  Wim Taymans  <wim@fluendo.com>
1696
1697         * common/gst.supp:
1698           add suppressions from Wim's Debian machine
1699
1700 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1701
1702         * common/gst.supp:
1703           add suppressions from Andy's AMD64 Ubuntu machine
1704
1705 2005-11-14  Andy Wingo  <wingo@pobox.com>
1706
1707         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
1708         STATE_LOCK not necessary. Fixes #311489.
1709
1710         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
1711         #305291.
1712
1713         * gst/gstindex.c (gst_index_add_object): Note in the docs that
1714         this function is not implemented.
1715
1716 2005-11-14  Julien MOUTTE  <julien@moutte.net>
1717
1718         * gst/base/gstbasetransform.c:
1719         (gst_base_transform_prepare_output_buf):
1720         Ref the source pad caps while we need them.
1721         Fixes (#321386)
1722
1723 2005-11-11  Wim Taymans  <wim@fluendo.com>
1724
1725         * docs/gst/gstreamer-sections.txt:
1726         Added some docs for GstCollectData.
1727
1728         * gst/base/gstadapter.c:
1729         Some small code example fix.
1730
1731         * gst/base/gstcollectpads.c:
1732         * gst/base/gstcollectpads.h:
1733         Document some more.
1734
1735 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1736
1737         * configure.ac: back to HEAD
1738
1739 === release 0.9.5 ===
1740
1741 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
1742
1743         * configure.ac:
1744           releasing 0.9.5, "Bike Lunch Day"
1745
1746 2005-11-11  Wim Taymans  <wim@fluendo.com>
1747
1748         * gst/gstbuffer.c: (_gst_buffer_copy):
1749         Copy more flags.
1750
1751         * gst/gstcaps.c: (gst_caps_is_equal):
1752         Fix some docs.
1753         Make _is_equal fast in the trivial cases.
1754
1755         * gst/gstminiobject.c:
1756         * gst/gstminiobject.h:
1757         More docs. Spifify .h file.
1758
1759         * gst/gstutils.c:
1760         Small doc update.
1761
1762 2005-11-11  Wim Taymans  <wim@fluendo.com>
1763
1764         * gst/base/gstbasetransform.c:
1765         (gst_base_transform_prepare_output_buf),
1766         (gst_base_transform_handle_buffer):
1767         Small cleanups.
1768         If we're processing a buffer and need to allocate an output
1769         buffer, we cannot accept a format change. If we did get a 
1770         format change, we have to alloc a buffer ourselves of the 
1771         right size.
1772
1773 2005-11-11  Wim Taymans  <wim@fluendo.com>
1774
1775         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
1776         While checking the flag for reentrancy in the gstcaps function
1777         is nice to detect recursive invocations, it also makes it 
1778         impossible to call getcaps from multiple threads, which must be
1779         possible. So, checking for recursive calls has to go.
1780
1781 2005-11-11  Michael Smith <msmith@fluendo.com>
1782
1783         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1784           Don't sync on buffers that fall partially outside our current
1785           segment. Prevents an assertion failure/abort playing some files.
1786
1787 2005-11-10  Andy Wingo  <wingo@pobox.com>
1788
1789         * check/gst/gstbin.c (test_message_state_changed_children): Style
1790         fix..
1791
1792         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
1793         gst_bus_poll with the signal watch. Ensures that poll and a signal
1794         watch see the same messages.
1795
1796         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
1797         a poll and a watch at the same time get the same messages.
1798
1799 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1800
1801         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
1802         * gst/gstcaps.c: (gst_caps_intersect):
1803           Don't call gst_caps_do_simplify - it doesn't respect order of caps
1804           and it's not needed.
1805
1806 2005-11-10  Wim Taymans  <wim@fluendo.com>
1807
1808         * docs/design/part-TODO.txt:
1809         Updated todo.
1810
1811 2005-11-10  Wim Taymans  <wim@fluendo.com>
1812
1813         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1814         * gst/base/gstbasesrc.c: (gst_base_src_wait),
1815         (gst_base_src_do_sync), (gst_base_src_get_range):
1816         Implement clock sync in base class.
1817
1818 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1819
1820         patch by: Tim-Philipp Müller <tim at centricular dot net>
1821
1822         * gst/gststructure.c: (gst_structure_parse_field),
1823         (gst_structure_from_string):
1824           Forward-port a 0.8 patch to handle escaped spaces in structure string,
1825           so that gst_parse_launch() can deal with spaces in filtered link
1826           caps (fixes #164479)
1827         * check/gst/capslist.h:
1828         * check/gst/gststructure.c: (GST_START_TEST):
1829           add unit tests for this change
1830
1831 2005-11-10  Wim Taymans  <wim@fluendo.com>
1832
1833         * docs/gst/gstreamer-sections.txt:
1834         * gst/gstelement.c:
1835         * gst/gstelement.h:
1836         Fix docs, move some STATE macros to private.
1837
1838 2005-11-10  Wim Taymans  <wim@fluendo.com>
1839
1840         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1841         Added check for bug #317341
1842
1843         * gst/gstbuffer.c:
1844         * gst/gstbuffer.h:
1845         Some more spiffifying.
1846
1847         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
1848         Call peer linkfunction if we are a source pad. Totally fixes
1849         #317341
1850
1851         * gst/gstpad.c:
1852         Update docs, source pads should call the peer linkfunction
1853         so they can atomically perform the pad link.
1854
1855 2005-11-09  Wim Taymans  <wim@fluendo.com>
1856
1857         * gst/gstbuffer.c:
1858         * gst/gstbuffer.h:
1859         Uber-spiffy-spiffify some more.
1860
1861 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
1862
1863         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
1864         * gst/elements/gstfilesink.c: (gst_file_sink_init):
1865         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
1866         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
1867         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
1868         * gst/gstpad.c: (gst_pad_init):
1869           Use GST_DEBUG_FUNCPTR() more extensively.
1870
1871 2005-11-09  Wim Taymans  <wim@fluendo.com>
1872
1873         * gst/gstobject.c: (gst_object_class_init):
1874         * gst/gstobject.h:
1875         Documentation fixes.
1876
1877 2005-11-09  Edward Hervey  <edward@fluendo.com>
1878
1879         * gst/gsttypefindfactory.c:
1880         Fix docs.
1881         
1882 2005-11-09  Edward Hervey  <edward@fluendo.com>
1883
1884         * gst/base/gsttypefindhelper.c:
1885         * gst/gsttypefind.c:
1886         * gst/gsttypefind.h:
1887         Fix docs.
1888
1889 2005-11-09  Wim Taymans  <wim@fluendo.com>
1890
1891         * gst/gstiterator.c:
1892         Fix revision data.
1893
1894         * gst/gsttask.c:
1895         * gst/gsttask.h:
1896         Fix docs.
1897
1898 2005-11-09  Wim Taymans  <wim@fluendo.com>
1899
1900         * gst/gstevent.h:
1901         * gst/gsturi.h:
1902         Fix docs.
1903
1904 2005-11-09  Wim Taymans  <wim@fluendo.com>
1905
1906         * docs/gst/gstreamer-sections.txt:
1907         Moved the message async delivery private lock and cond
1908         to the private section.
1909
1910         * gst/gstmessage.c:
1911         * gst/gstmessage.h:
1912         Fixed docs.
1913
1914 2005-11-09  Edward Hervey  <edward@fluendo.com>
1915
1916         * docs/gst/gstreamer-sections.txt:
1917         * gst/gsturi.c:
1918         * gst/gsturi.h:
1919         Document GstURIHandler
1920
1921 2005-11-09  Wim Taymans  <wim@fluendo.com>
1922
1923         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
1924         (gst_iterator_find_custom):
1925         * gst/gstiterator.h:
1926         Fix iterator docs.
1927
1928 2005-11-09  Wim Taymans  <wim@fluendo.com>
1929
1930         * gst/gstbin.h:
1931         Document another field.
1932
1933         * gst/gststructure.c:
1934         * gst/gststructure.h:
1935         Document.
1936
1937 2005-11-09  Wim Taymans  <wim@fluendo.com>
1938
1939         * gst/gstbin.h:
1940         Documented structs.
1941
1942 2005-11-09  Wim Taymans  <wim@fluendo.com>
1943
1944         * docs/gst/gstreamer-sections.txt:
1945         Added some new macros.
1946
1947         * gst/gstclock.c:
1948         * gst/gstclock.h:
1949         * gst/gstobject.h:
1950         Docs updates.
1951
1952 2005-11-09  Wim Taymans  <wim@fluendo.com>
1953
1954         * docs/design/part-TODO.txt:
1955         Some more items for the TODO
1956
1957         * gst/gstcaps.c:
1958         * gst/gstcaps.h:
1959         Document GstCaps.
1960
1961 2005-11-09  Andy Wingo  <wingo@pobox.com>
1962
1963         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
1964         to work on something else now tho...
1965
1966         * gst/base/gstadapter.c: More adapter docs.
1967
1968         * gst/elements/gstfilesink.c (gst_file_sink_start) 
1969         (gst_file_sink_stop): New functions, replace the state change
1970         handler.
1971         (gst_file_sink_class_init): Hook up the start and stop functions.
1972         (gst_file_sink_base_init): Don't set the state change handler any
1973         more. It was a bit ugly too, being set from here...
1974         (gst_file_sink_get_property, gst_file_sink_set_property):
1975         Cleanups...
1976         (gst_file_sink_set_location): More robust check that doesn't call
1977         GST_STATE. Ugggggg.
1978
1979 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
1980
1981         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1982           Hold STREAM_LOCK while pushing newsegment or tag events as well.
1983
1984 2005-11-08  Wim Taymans  <wim@fluendo.com>
1985
1986         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1987         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1988         (gst_base_sink_chain), (gst_base_sink_change_state):
1989         * gst/base/gstbasesink.h:
1990         * gst/base/gstbasesrc.h:
1991         * gst/gstelement.h:
1992         * gst/gstevent.h:
1993         Avoid excessive typechecking in macros.
1994
1995         * gst/gstminiobject.c: (gst_mini_object_get_type),
1996         (gst_mini_object_init), (gst_mini_object_new),
1997         (gst_mini_object_free):
1998         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
1999         (gst_object_finalize):
2000         Remove cruft code, optimize alloc_trace.
2001
2002 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2003
2004         * docs/faq/gst-uninstalled:
2005           fix up PS1 for systems that try to reset it
2006
2007 2005-11-07  Wim Taymans  <wim@fluendo.com>
2008
2009         * gst/base/gstbasesrc.c: (gst_base_src_init),
2010         (gst_base_src_get_range):
2011         Set the segment_end to -1 initially. Fixed typefind.
2012
2013 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2014
2015         * gst/base/gstadapter.c:
2016           Debug category should be 'adapter', not 'GstAdapter'.
2017           
2018         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2019         (gst_collectpads_class_init), (gst_collectpads_init),
2020         (gst_collectpads_peek), (gst_collectpads_pop),
2021         (gst_collectpads_event), (gst_collectpads_chain):
2022           Add debug category and some debugging output. Use boilerplate
2023           macros. Remove some extraneous words from docs.
2024
2025 2005-11-05  Andy Wingo  <wingo@pobox.com>
2026
2027         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2028         macro.
2029
2030 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2031
2032         * docs/gst/gstreamer-sections.txt:
2033         * gst/gstcaps.h:
2034         * gst/gstinfo.c:
2035         * gst/gstminiobject.h:
2036         * gst/gstobject.h:
2037         * gst/gstutils.h:
2038           more docs added
2039
2040 2005-11-04  Wim Taymans  <wim@fluendo.com>
2041
2042         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2043         Small update to stop at the configured segment_end
2044         position.
2045
2046 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2047
2048         * gst/gstregistry.c:
2049         * gst/gstregistry.h:
2050           added missing docs
2051
2052 2005-11-04  Edward Hervey  <edward@fluendo.com>
2053
2054         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2055         Check if we are doing a segment seek and have arrived at the
2056         end of that segment.
2057
2058 2005-11-04  Wim Taymans  <wim@fluendo.com>
2059
2060         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2061         Don't leak a mutex unlock in case of an error.
2062
2063         * gst/gstbus.h:
2064         Doc fixes.
2065
2066 2005-11-04  Wim Taymans  <wim@fluendo.com>
2067
2068         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2069         (gst_bus_post):
2070         Get the context to wake up only once.
2071
2072 2005-11-03  Wim Taymans  <wim@fluendo.com>
2073
2074         * check/states/sinks.c: (GST_START_TEST):
2075         Uncomment fixed check.
2076
2077         * docs/design/part-TODO.txt:
2078         Updated TODO.
2079
2080         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2081         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2082         (gst_base_sink_get_position):
2083         If we are going to PLAYING, post the right pending state
2084         when we post the intermediate paused message.
2085
2086         * gst/gstelement.c: (gst_element_continue_state),
2087         (gst_element_set_state_func), (gst_element_change_state):
2088         Don't post state changes that were between the same state
2089         and were not ASYNC.
2090
2091 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2092
2093         * docs/gst/gstreamer-sections.txt:
2094         * gst/gstcaps.h:
2095         * gst/gstinfo.c:
2096         * gst/gstminiobject.h:
2097         * gst/gstobject.h:
2098         * gst/gstutils.h:
2099           more docs and doc style fixes
2100
2101 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2102
2103         * docs/gst/gstreamer-sections.txt:
2104         * gst/gstelement.c:
2105         * gst/gstminiobject.c:
2106         doc fixes
2107
2108 2005-11-03  Andy Wingo  <wingo@pobox.com>
2109
2110         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2111         state-changed messages actually have the right order and the right
2112         values.
2113
2114 2005-11-03  Wim Taymans  <wim@fluendo.com>
2115
2116         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2117         Added some more checks. Specifically the case where NO_PREROLL
2118         elements are in the pipeline.
2119
2120         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2121         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2122         (gst_base_sink_get_position):
2123         Post READY->PAUSED state change messages too.
2124         Fix bug where VOID was posted as pending state...
2125
2126         * gst/gstbin.c: (gst_bin_recalc_state):
2127         use _element_continue_state() to continue the state change.
2128
2129         * gst/gstelement.c: (gst_element_continue_state),
2130         (gst_element_commit_state), (gst_element_set_state_func),
2131         (gst_element_change_state), (gst_element_change_state_func):
2132         Lots of state change cleanups, assign the STATE_RETURN in
2133         a new continue_state() function that also propagates the
2134         last return value from a state change to the app.
2135         Update some debug statements with proper category.
2136
2137 2005-11-03  Wim Taymans  <wim@fluendo.com>
2138
2139         * docs/design/part-events.txt:
2140         * docs/design/part-gstpipeline.txt:
2141         * docs/design/part-messages.txt:
2142         * docs/design/part-overview.txt:
2143         * docs/design/part-seeking.txt:
2144         * docs/design/part-states.txt:
2145         * docs/design/part-trickmodes.txt:
2146         * docs/manual/advanced-position.xml:
2147         Small docs updates.
2148
2149         * gst/gstobject.h:
2150         People think !! is ugly, this looks better.
2151
2152         * gst/gstpad.c: (gst_pad_set_blocked_async):
2153         Remove !! since it's fixed elsewhere now.
2154
2155 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2156
2157         * gst/gstminiobject.h:
2158         * gst/gstobject.h:
2159           Add !! to _FLAG_IS_SET macros to make the result boolean.
2160
2161 2005-11-03  Edward Hervey  <edward@fluendo.com>
2162
2163         * gst/gstpad.c: (gst_pad_set_blocked_async):
2164         comparing a flag and a gboolean rarely returns coherent results...
2165         Added two characters (!!) to make that work correctly.
2166         
2167 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2168
2169         * gst/gstbus.c: (gst_bus_class_init):
2170           Fix some typos.
2171           
2172         * gst/gstqueue.c: (gst_queue_loop):
2173           Don't assume a miniobject that isn't a buffer is an
2174           event (it could be that there is a refcounting
2175           problem somewhere and the pointer is stale and
2176           refers to an already destroyed miniobject).
2177
2178 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2179
2180         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2181
2182 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2183
2184         * docs/manual/advanced-position.xml:
2185           Update seek example and explanations to current 0.9 API.
2186
2187         * gst/elements/gsttypefindelement.c:
2188         (gst_type_find_element_activate):
2189           Remove FIXME comment now that the found caps
2190           are unreffed.
2191
2192 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2193
2194         * gst/gstregistryxml.c: (load_feature):
2195           Add another GST_STR_NULL instance
2196
2197 2005-11-02  Edward Hervey  <edward@fluendo.com>
2198
2199         * gst/gstpad.c: (handle_pad_block):
2200         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2201         
2202 2005-11-02  Wim Taymans  <wim@fluendo.com>
2203
2204         * gst/gstbin.c:
2205         Fix typo in docs.
2206
2207         * gst/gstelement.c: (gst_element_commit_state):
2208         Remove unused value.
2209
2210         * gst/gstiterator.c:
2211         Mention that the returned element is reffed in the docs.
2212
2213 2005-11-02  Wim Taymans  <wim@fluendo.com>
2214
2215         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2216         (gst_pad_push), (gst_pad_push_event):
2217         Unlock blocked pads when they are flushed.
2218
2219 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2220
2221         * docs/README:
2222         * docs/gst/gstreamer-sections.txt:
2223         * gst/gstbin.c:
2224           doc updates
2225         * gst/gstregistry.c: (gst_registry_scan_path_level):
2226           fix for a nasty little missed situation where an installed plug-in
2227           which was in the cache did not get overridden by an uninstalled one
2228           which was earlier in the plugin path because the newly created plugin
2229           for the uninstalled one (not in the registry) didn't get its
2230           ->registered set to TRUE
2231
2232 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2233
2234         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2235         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2236         (gst_collectpads_is_active), (gst_collectpads_collect),
2237         (gst_collectpads_collect_range), (gst_collectpads_start),
2238         (gst_collectpads_stop), (gst_collectpads_peek),
2239         (gst_collectpads_pop), (gst_collectpads_available),
2240         (gst_collectpads_read), (gst_collectpads_flush):
2241           Guard public API with assertions.
2242         
2243         * gst/gstpad.c:
2244           Fix docs for gst_pad_set_link_function().
2245
2246 2005-11-02  Johan Dahlin  <johan@gnome.org>
2247
2248         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2249         Unref found_caps after we used it.
2250
2251 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2252
2253         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2254           Don't try to ref NULL.
2255
2256 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2257
2258         * win32/common/config.h.in:
2259           provide a GST_FUNCTION that just gives a string for now
2260
2261 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2262
2263         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2264         (gst_object_flags_get_type), (register_gst_bin_flags),
2265         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2266         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2267         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2268         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2269         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2270         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2271         (gst_clock_flags_get_type), (register_gst_state),
2272         (gst_state_get_type), (register_gst_state_change_return),
2273         (gst_state_change_return_get_type), (register_gst_state_change),
2274         (gst_state_change_get_type), (register_gst_element_flags),
2275         (gst_element_flags_get_type), (register_gst_core_error),
2276         (gst_core_error_get_type), (register_gst_library_error),
2277         (gst_library_error_get_type), (register_gst_resource_error),
2278         (gst_resource_error_get_type), (register_gst_stream_error),
2279         (gst_stream_error_get_type), (register_gst_event_type),
2280         (gst_event_type_get_type), (register_gst_seek_type),
2281         (gst_seek_type_get_type), (register_gst_seek_flags),
2282         (gst_seek_flags_get_type), (register_gst_format),
2283         (gst_format_get_type), (register_gst_index_certainty),
2284         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2285         (gst_index_entry_type_get_type),
2286         (register_gst_index_lookup_method),
2287         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2288         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2289         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2290         (gst_index_flags_get_type), (register_gst_debug_level),
2291         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2292         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2293         (gst_iterator_result_get_type), (register_gst_iterator_item),
2294         (gst_iterator_item_get_type), (register_gst_message_type),
2295         (gst_message_type_get_type), (register_gst_mini_object_flags),
2296         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2297         (gst_pad_link_return_get_type), (register_gst_flow_return),
2298         (gst_flow_return_get_type), (register_gst_activate_mode),
2299         (gst_activate_mode_get_type), (register_gst_pad_direction),
2300         (gst_pad_direction_get_type), (register_gst_pad_flags),
2301         (gst_pad_flags_get_type), (register_gst_pad_presence),
2302         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2303         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2304         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2305         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2306         (gst_plugin_flags_get_type), (register_gst_rank),
2307         (gst_rank_get_type), (register_gst_query_type),
2308         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2309         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2310         (gst_tag_flag_get_type), (register_gst_task_state),
2311         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2312         (gst_alloc_trace_flags_get_type),
2313         (register_gst_type_find_probability),
2314         (gst_type_find_probability_get_type), (register_gst_uri_type),
2315         (gst_uri_type_get_type), (register_gst_parse_error),
2316         (gst_parse_error_get_type):
2317         * win32/common/gstversion.h:
2318           update win32 copies
2319
2320 2005-11-01  Luca Ognibene  <luogni@tin.it>
2321
2322         * gst/gst.c:
2323           fix docs. popt is dead, long live GOption.
2324
2325 2005-10-31  Wim Taymans  <wim@fluendo.com>
2326
2327         * gst/gstbuffer.h:
2328         Small doc fix.
2329
2330 2005-10-31  Andy Wingo  <wingo@pobox.com>
2331
2332         * Boo!
2333
2334         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2335
2336         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2337         need to serialize property notifications on GLib 2.8. GLib 2.6 has
2338         the possibility of deadlocks here if code calling notify() or
2339         set() has a lock that can be taken in another notify handler (ABBA
2340         with class lock and e.g. python GIL state lock).
2341
2342 2005-10-28  Julien MOUTTE  <julien@moutte.net>
2343
2344         * gst/gstbus.c: Doc updates.
2345
2346 2005-10-28  Wim Taymans  <wim@fluendo.com>
2347
2348         * docs/design/part-TODO.txt:
2349         * gst/gstiterator.c:
2350         * gst/gstsystemclock.c:
2351         * gst/gstsystemclock.h:
2352         Doc updates.
2353
2354 2005-10-28  Edward Hervey  <edward@fluendo.com>
2355
2356         * docs/gst/gstreamer-docs.sgml:
2357         * docs/gst/gstreamer-sections.txt:
2358         the GstURIType documentation page is private, it only defines GstURIType
2359         which should be defined in the GstURIHandler page
2360         
2361 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2362
2363         * gst/gstbin.c: (gst_bin_class_init):
2364         * gst/gstbin.h:
2365         * gst/gstutils.c:
2366         Documentation updates.
2367
2368 2005-10-28  Wim Taymans  <wim@fluendo.com>
2369
2370         * docs/gst/gstreamer-sections.txt:
2371         * gst/gstclock.c:
2372         * gst/gstclock.h:
2373         Documented the clocks.
2374
2375 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
2376
2377         * docs/gst/gstreamer-sections.txt:
2378           move some macros to private sections
2379         * gst/gstminiobject.c:
2380         * gst/gstminiobject.h:
2381           add descriptions provided by ds and some more
2382         * gst/gstpad.h:
2383           mark macro as to be removed
2384
2385 2005-10-28  Wim Taymans  <wim@fluendo.com>
2386
2387         * docs/design/part-TODO.txt:
2388         Add an item to TODO.
2389
2390         * gst/gstiterator.c: (gst_iterator_fold),
2391         (gst_iterator_find_custom):
2392         * gst/gstiterator.h:
2393         Add iterator docs.
2394
2395 2005-10-28  Wim Taymans  <wim@fluendo.com>
2396
2397         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2398         (gst_base_transform_init):
2399         Don't leak class.
2400
2401         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
2402         An EOS event marks the queue as completely filled.
2403
2404 2005-10-27  Wim Taymans  <wim@fluendo.com>
2405
2406         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2407         (gst_base_sink_do_sync), (gst_base_sink_get_position):
2408         Some more debugging.
2409
2410         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
2411         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
2412         (gst_base_transform_event), (gst_base_transform_getrange),
2413         (gst_base_transform_chain):
2414         * gst/base/gstbasetransform.h:
2415         Fix debugging,
2416         Protect transform and concurrent buffer alloc with a new lock.
2417         Try not to break ABI/API.
2418
2419 2005-10-27  Wim Taymans  <wim@fluendo.com>
2420
2421         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2422         (gst_base_src_init), (gst_base_src_query),
2423         (gst_base_src_default_newsegment),
2424         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2425         (gst_base_src_send_event), (gst_base_src_event_handler),
2426         (gst_base_src_pad_get_range), (gst_base_src_loop),
2427         (gst_base_src_unlock), (gst_base_src_default_negotiate),
2428         (gst_base_src_start), (gst_base_src_deactivate),
2429         (gst_base_src_activate_push), (gst_base_src_change_state):
2430         Move some stuff around and cleanup things.
2431
2432 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
2433
2434         * gst/base/gstbasesrc.c: (gst_base_src_query):
2435           Add missing break statements.
2436
2437 2005-10-27  Wim Taymans  <wim@fluendo.com>
2438
2439         * check/gst/gstbin.c: (GST_START_TEST):
2440         An extra refcount is taken in basesrc.
2441
2442         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2443         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2444         (gst_base_src_loop):
2445         Small cleanups, check for flushing after being unlocked from the 
2446         LIVE_LOCK. take refcounts correctly (not yet everywhere).
2447         Don't send out EOS when going to READY.
2448
2449 2005-10-27  Wim Taymans  <wim@fluendo.com>
2450
2451         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2452         (gst_base_sink_get_position):
2453         Some more debug.
2454
2455         * gst/gstbin.c: (message_check), (bin_replace_message),
2456         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2457         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2458         (bin_query_duration_init), (bin_query_duration_fold),
2459         (bin_query_duration_done), (bin_query_generic_fold),
2460         (gst_bin_query):
2461         * tools/gst-launch.c: (main):
2462         Remove old option.
2463
2464 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
2465
2466         * examples/controller/audio-example.c: (main):
2467         * examples/queue/queue.c: (event_loop):
2468         * gst/base/gstbasetransform.h:
2469         * gst/gstelement.c: (gst_element_send_event):
2470         * gst/gstevent.h:
2471         * gst/gstpad.c: (gst_pad_send_event):
2472           fixing examples
2473           fixing docs typos
2474           changing log priority in error situations
2475
2476 2005-10-25  Wim Taymans  <wim@fluendo.com>
2477
2478         * gst/gstbin.c: (message_check), (bin_replace_message),
2479         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2480         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2481         (bin_query_duration_init), (bin_query_duration_fold),
2482         (bin_query_duration_done), (bin_query_generic_fold),
2483         (gst_bin_query):
2484         Some doc and debug updates.
2485         Cache previously requested query DURATION for speed. invalidate
2486         cached duration if element posts a DURATION message.
2487
2488 2005-10-25  Wim Taymans  <wim@fluendo.com>
2489
2490         * docs/design/part-TODO.txt:
2491         Update TODO.
2492
2493         * gst/gstbin.c: (message_check), (bin_replace_message),
2494         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2495         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2496         (bin_query_duration_init), (bin_query_duration_fold),
2497         (bin_query_duration_done), (bin_query_generic_fold),
2498         (gst_bin_query):
2499         Handle SEGMENT_START/DONE messages correctly.
2500         More evolved query algorithm that handles duration queries
2501         correctly.
2502
2503         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
2504         (gst_element_get_state_func), (gst_element_abort_state),
2505         (gst_element_commit_state), (gst_element_lost_state):
2506         Some more debugging.
2507
2508         * gst/gstmessage.h:
2509         Added doc.
2510
2511 2005-10-25  Wim Taymans  <wim@fluendo.com>
2512
2513         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2514         Don't use invalid stream_time.
2515
2516         * gst/gstevent.c: (gst_event_new_newsegment):
2517         stream_time in newsegment cannot be undefined.
2518
2519 2005-10-24  Wim Taymans  <wim@fluendo.com>
2520
2521         * gst/gstbus.c:
2522         Doc fix.
2523
2524         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2525         (gst_queue_loop):
2526         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
2527
2528 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
2529
2530         * docs/libs/tmpl/gstdparam.sgml:
2531         * docs/libs/tmpl/gstdplinint.sgml:
2532         * docs/libs/tmpl/gstdpman.sgml:
2533         * docs/libs/tmpl/gstdpsmooth.sgml:
2534         * docs/libs/tmpl/gstunitconvert.sgml:
2535           these are obsolete
2536
2537 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2538
2539         * configure.ac:
2540           back to HEAD
2541
2542 === release 0.9.4 ===
2543
2544 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2545
2546         * configure.ac:
2547           releasing 0.9.4, "Tyrannosaurus Rex"
2548
2549 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
2550
2551         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2552         (gst_file_sink_get_current_offset):
2553           Use fseeko() and ftello() if available. When falling back on
2554           lseek() to get the current offset, fflush() first to make sure
2555           everything is up-to-date and we get the right offset.
2556
2557 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2558
2559         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2560         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2561         * gst/gsterror.c: (_gst_stream_errors_init):
2562         * gst/gsterror.h:
2563         * gst/gstqueue.c: (gst_queue_loop):
2564         * po/POTFILES.in:
2565           remove prematurely added error category and clean up the instances
2566
2567 2005-10-21  Wim Taymans  <wim@fluendo.com>
2568
2569         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2570         (gst_base_sink_get_position), (gst_base_sink_query),
2571         (gst_base_sink_change_state):
2572         Simply set the right flag when going to playing, that's all
2573         we need to do instead of calling a function inside the object
2574         lock (that could take the lock as well and deadlock)
2575
2576 2005-10-21  Wim Taymans  <wim@fluendo.com>
2577
2578         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
2579         (gst_base_src_loop):
2580         Don't warn, the peer element knows what to do best when
2581         the seek failed, it might try something else.
2582
2583 2005-10-21  Wim Taymans  <wim@fluendo.com>
2584
2585         * gst/base/gstbasesrc.c: (gst_base_src_init),
2586         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
2587         Fix seeking.
2588
2589 2005-10-21  Wim Taymans  <wim@fluendo.com>
2590
2591         * docs/design/part-segments.txt:
2592         More docs.
2593
2594         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2595         Correctly set caps, even on the subbufer.
2596
2597 2005-10-21  Wim Taymans  <wim@fluendo.com>
2598
2599         * docs/gst/gstreamer-docs.sgml:
2600         * docs/gst/gstreamer-sections.txt:
2601         * gst/gstelement.h:
2602         * gst/gstevent.c:
2603         * gst/gstevent.h:
2604         * gst/gstmessage.h:
2605         * gst/gstpad.h:
2606         * gst/gstparse.h:
2607         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
2608         * gst/gsttask.h:
2609         * gst/gstutils.c:
2610         * gst/gstutils.h:
2611         And 2% more doc coverage.
2612
2613 2005-10-21  Andy Wingo  <wingo@pobox.com>
2614
2615         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
2616         position reporting.
2617
2618 2005-10-20  Wim Taymans  <wim@fluendo.com>
2619
2620         * gst/gsterror.c: (gst_error_get_message):
2621         * gst/gstparse.h:
2622         * gst/gstquery.h:
2623         * gst/gststructure.c:
2624         * gst/gsttrace.c:
2625         * gst/gstutils.c:
2626         More docs.
2627
2628 2005-10-20  Wim Taymans  <wim@fluendo.com>
2629
2630         * gst/gstbuffer.h:
2631         * gst/gstpad.c:
2632         * gst/gstparse.c:
2633         Another 1% more coverage.
2634
2635 2005-10-20  Wim Taymans  <wim@fluendo.com>
2636
2637         * docs/gst/gstreamer-sections.txt:
2638         * gst/gstelement.c: (gst_element_get_state_func),
2639         (gst_element_abort_state), (gst_element_commit_state),
2640         (gst_element_lost_state):
2641         * gst/gstevent.h:
2642         * gst/gstquery.c: (gst_query_set_position),
2643         (gst_query_parse_position), (gst_query_set_duration),
2644         (gst_query_parse_duration), (gst_query_new_convert):
2645         * gst/gstutils.c:
2646         Yay! 1% more docs coverage.
2647
2648 2005-10-20  Wim Taymans  <wim@fluendo.com>
2649
2650         * gst/gstpad.h:
2651         * gst/gstquery.c: (gst_query_set_position),
2652         (gst_query_parse_position), (gst_query_set_duration),
2653         (gst_query_parse_duration), (gst_query_new_convert):
2654         * gst/gstquery.h:
2655         * gst/gstutils.c: (gst_element_query_convert):
2656         * gst/gstutils.h:
2657         Docs and consistency fixes.
2658
2659 2005-10-20  Wim Taymans  <wim@fluendo.com>
2660
2661         * gst/gsttask.c:
2662         * gst/gsttask.h:
2663         More docs.
2664
2665 2005-10-20  Wim Taymans  <wim@fluendo.com>
2666
2667         * gst/gstbin.c: (message_check), (bin_replace_message),
2668         (bin_remove_messages), (is_eos), (gst_bin_add_func),
2669         (update_degree), (gst_bin_sort_iterator_next),
2670         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
2671         Reworked the message handling a bit, cache the messages instead of
2672         only the senders. alows us to do more in the future.
2673
2674 2005-10-20  Wim Taymans  <wim@fluendo.com>
2675
2676         * docs/design/part-TODO.txt:
2677         Update TODO
2678
2679         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2680         (gst_base_sink_query):
2681         Don't use clock time to report position when in EOS.
2682
2683 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
2684
2685         * tools/gst-inspect.c: (print_interfaces),
2686         (print_element_properties_info), (print_element_info):
2687           Fix interface output with gst-inspect -a; don't print
2688           newlines after double/float properties.
2689
2690 2005-10-20  Wim Taymans  <wim@fluendo.com>
2691
2692         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
2693         (gst_base_sink_query):
2694         Speed up current position calculation.
2695
2696         * gst/base/gstbasesrc.c: (gst_base_src_query),
2697         (gst_base_src_default_newsegment):
2698         Correctly set stream position in newsegment.
2699
2700         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
2701         (update_degree), (gst_bin_sort_iterator_next),
2702         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
2703         * gst/gstmessage.c: (gst_message_new_custom):
2704         Clean up debugging info
2705
2706         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
2707         (gst_queue_loop), (gst_queue_handle_src_query):
2708         Pause task faster.
2709
2710 2005-10-19  Wim Taymans  <wim@fluendo.com>
2711
2712         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2713         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2714         Fix query handling again.
2715
2716 2005-10-19  Wim Taymans  <wim@fluendo.com>
2717
2718         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2719         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
2720         * gst/base/gstbasesrc.c: (gst_base_src_query):
2721         * gst/elements/gstfilesink.c: (gst_file_sink_query):
2722         * gst/elements/gsttypefindelement.c:
2723         (gst_type_find_handle_src_query), (find_element_get_length),
2724         (gst_type_find_element_activate):
2725         API change fix.
2726
2727         * gst/gstquery.c: (gst_query_new_position),
2728         (gst_query_set_position), (gst_query_parse_position),
2729         (gst_query_new_duration), (gst_query_set_duration),
2730         (gst_query_parse_duration), (gst_query_set_segment),
2731         (gst_query_parse_segment):
2732         * gst/gstquery.h:
2733         Bundling query position/duration is not a good idea since duration
2734         does not change much and we don't want to recalculate it for every
2735         position query, so they are separated again..
2736         Base value in segment query is not needed.
2737
2738         * gst/gstqueue.c: (gst_queue_handle_src_query):
2739         * gst/gstutils.c: (gst_element_query_position),
2740         (gst_element_query_duration), (gst_pad_query_position),
2741         (gst_pad_query_duration):
2742         * gst/gstutils.h:
2743         Updates for query API change.
2744         Added some docs here and there.
2745
2746 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2747
2748         * check/gst/gstbin.c: (GST_START_TEST):
2749         * check/gst/gstghostpad.c: (GST_START_TEST):
2750         * check/pipelines/cleanup.c: (GST_START_TEST):
2751           wait on thread to die so we can check refcount correctly
2752
2753 2005-10-18  Wim Taymans  <wim@fluendo.com>
2754
2755         * check/pipelines/stress.c: (GST_START_TEST):
2756         Make check a little more time consuming.
2757
2758 2005-10-18  Wim Taymans  <wim@fluendo.com>
2759
2760         * check/Makefile.am:
2761         * check/pipelines/stress.c: (GST_START_TEST),
2762         (simple_launch_lines_suite), (main):
2763         Small state change torture test.
2764
2765         * docs/design/part-states.txt:
2766         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2767         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
2768         (gst_base_sink_change_state):
2769         Never take state lock from streaming thread, clean up ugly
2770         hacks. Unfortunatly core does not yet support nice ways to
2771         async commit state.
2772         
2773         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
2774         (bin_bus_handler):
2775         Start state recalc if a STATE_DIRTY message is posted, but only
2776         on the toplevel bin.
2777
2778         * gst/gstelement.c: (gst_element_sync_state_with_parent),
2779         (gst_element_get_state_func), (gst_element_abort_state),
2780         (gst_element_commit_state), (gst_element_lost_state),
2781         (gst_element_set_state_func), (gst_element_change_state):
2782         * gst/gstelement.h:
2783         State variables are now protected with the LOCK, the state
2784         lock is only used to serialize _set_state().
2785
2786 2005-10-18  Wim Taymans  <wim@fluendo.com>
2787
2788         * check/gst/gstbin.c: (GST_START_TEST):
2789         * check/gst/gstmessage.c: (GST_START_TEST):
2790         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2791         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
2792         (bin_bus_handler):
2793         * gst/gstelement.c: (gst_element_abort_state),
2794         (gst_element_commit_state), (gst_element_lost_state):
2795         * gst/gstmessage.c: (gst_message_new_state_changed),
2796         (gst_message_new_state_dirty), (gst_message_new_segment_start),
2797         (gst_message_new_segment_done), (gst_message_new_duration),
2798         (gst_message_parse_state_changed),
2799         (gst_message_parse_segment_start),
2800         (gst_message_parse_segment_done), (gst_message_parse_duration):
2801         * gst/gstmessage.h:
2802         * tools/gst-launch.c: (event_loop):
2803         Seriously, this is better than a previous commit as we only need
2804         to notify the fact that an element changed state in a streaming
2805         thread, marking the state of the parents dirty, hence the 
2806         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
2807         message.
2808
2809 2005-10-18  Wim Taymans  <wim@fluendo.com>
2810
2811         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2812         (gst_bin_recalc_func):
2813         * gst/gstelement.c: (gst_element_set_clock),
2814         (gst_element_abort_state), (gst_element_lost_state):
2815         Cleanups, prepare for state change fixes.
2816
2817 2005-10-18  Wim Taymans  <wim@fluendo.com>
2818
2819         * gst/gstbin.h:
2820         * gst/gstelement.c: (gst_element_class_init),
2821         (gst_element_set_state), (gst_element_set_state_func):
2822         * gst/gstelement.h:
2823         Pending ABI changes.
2824         GThreadPool in GstBinClass to monitor async state changes.
2825         state_cookie in GstElement to detect concurrent gst/set state.
2826         set_state is now virtual too in case a very complicated element
2827         has to be constructed.
2828
2829 2005-10-18  Wim Taymans  <wim@fluendo.com>
2830
2831         * check/gst/gstbin.c: (GST_START_TEST):
2832         * check/gst/gstmessage.c: (GST_START_TEST):
2833         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2834         * gst/gstbin.c: (bin_bus_handler):
2835         * gst/gstelement.c: (gst_element_commit_state),
2836         (gst_element_lost_state):
2837         * gst/gstmessage.c: (gst_message_new_state_changed),
2838         (gst_message_new_segment_start), (gst_message_new_segment_done),
2839         (gst_message_new_duration), (gst_message_parse_state_changed),
2840         (gst_message_parse_segment_start),
2841         (gst_message_parse_segment_done), (gst_message_parse_duration):
2842         * gst/gstmessage.h:
2843         * tools/gst-launch.c: (event_loop):
2844         Make messages future proof.
2845         state-change gets a flag if it was a message comming from the
2846         streaming thread.
2847         segment-start/stop can also be specified in other formats.
2848         A message to notify an app that a pipeline changed playback 
2849         duration.
2850         Also fix a GstMessage leak in -launch
2851
2852 2005-10-18  Andy Wingo  <wingo@pobox.com>
2853
2854         * gst/gstelement.c (gst_element_dispose): More helpful message.
2855
2856 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2857
2858         reviewed by: <delete if not using a buddy>
2859
2860         * common/gtk-doc.mak:
2861
2862 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2863
2864         * gst/gstregistry.c: (gst_registry_scan_path_level):
2865           unref a plug-in we get that was already initialized
2866
2867 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
2868
2869         * docs/gst/gstreamer-sections.txt:
2870         * docs/libs/gstreamer-libs-sections.txt:
2871         * gst/gstelement.h:
2872           add new api entries
2873           hide internal macro
2874
2875 2005-10-17  Andy Wingo  <wingo@pobox.com>
2876
2877         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
2878         cleanup.
2879
2880         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
2881
2882         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
2883
2884         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
2885         (gst_element_get_state_func): Better debug message.
2886         (gst_element_commit_state): s/INFO/DEBUG/.
2887         (gst_element_lost_state, gst_element_change_state): 
2888
2889         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
2890         (gst_message_new_custom): s/INFO/LOG/.
2891
2892 2005-10-17  Michael Smith <msmith@fluendo.com>
2893
2894         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2895           Check if end time is valid using end time, not start time.
2896
2897 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
2898
2899         * check/gst-libs/controller.c: (GST_START_TEST),
2900         (gst_controller_suite):
2901         * libs/gst/controller/gstcontroller.c:
2902         (gst_controlled_property_set_interpolation_mode):
2903         * libs/gst/controller/gstcontroller.h:
2904         * libs/gst/controller/gstinterpolation.c:
2905         * testsuite/controller/.cvsignore:
2906         * testsuite/controller/Makefile.am:
2907         * testsuite/controller/interpolator.c:
2908           merge controller testsuites
2909           fix broken tests
2910           remove mem-chunk from docs
2911
2912 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2913
2914         * gst/gstmemchunk.c:
2915         * gst/gstmemchunk.h:
2916         * gst/gsttrashstack.c:
2917         * gst/gsttrashstack.h:
2918           out.  get out.  you're fired.  to the Attic !
2919
2920 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2921
2922         * gst/gstcaps.c: (gst_caps_intersect):
2923           fix signedness issues in a (hopefully) correct way
2924         * gst/gstelement.c: (gst_element_pads_activate):
2925           some debugging
2926         * gst/gstobject.c: (gst_object_set_parent):
2927           some debugging
2928
2929 2005-10-17  Julien MOUTTE  <julien@moutte.net>
2930
2931         * gst/gstvalue.h: Fix prototypes.
2932
2933 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2934
2935         * docs/gst/gstreamer-sections.txt:
2936         * gst/gst.c: (gst_version_string):
2937         * gst/gst.h:
2938         * gst/gstversion.h.in:
2939         * win32/common/libgstreamer.def:
2940           add gst_version_string ()
2941
2942 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2943
2944         * configure.ac:
2945           clean up further
2946         * gst/gst.c: (init_post):
2947         * win32/common/config.h.in:
2948           it's PLUGINDIR now
2949         * gst/gstcaps.c: (gst_caps_intersect):
2950           use gint64, the range could be bigger than a guint
2951
2952 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2953
2954         * gst/gstclock.h:
2955           document potential problem in 2038
2956
2957 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2958
2959         * gst/gstcaps.c: (gst_caps_intersect):
2960           Fix guint j diving under 0
2961
2962 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2963
2964         * configure.ac:
2965         * win32/common/config.h:
2966         * win32/common/config.h.in:
2967           check for process.h, declares getpid() on Windows
2968         * gst/gstinfo.c:
2969           include process.h if we have it
2970         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
2971         * gst/gstmemchunk.h:
2972           fix signedness issues
2973         * win32/common/libgstreamer.def:
2974           fix get_type's
2975
2976 2005-10-16  Julien MOUTTE  <julien@moutte.net>
2977
2978         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
2979         fix. Because of unsigned ints, caps intersection was going nuts and
2980         trying to access structures with G_MAXUINT index. That fixes
2981         videotestsrc ! ffmpegcolorspace ! fakesink
2982         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
2983         consistency.
2984
2985 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2986
2987         * configure.ac:
2988           use the gettext macro
2989         * gst/elements/gstelements.c:
2990         * gst/gst.c:
2991         * gst/indexers/gstindexers.c:
2992           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
2993         * win32/common/config.h:
2994           updated config.h
2995         * win32/common/config.h.in:
2996           add the template to generate config.h
2997         * win32/common/gstenumtypes.c:
2998         * win32/common/gstversion.h:
2999           updated copies
3000
3001 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3002
3003         * gst/gst.c: (gst_version):
3004         * gst/gstversion.h.in:
3005           add the nano
3006
3007 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3008
3009         * gst/gstevent.h:
3010           Oops, add missing closing bracket.
3011
3012 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3013
3014         * configure.ac:
3015           use common m4's for argument checking
3016
3017 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3018
3019         * docs/gst/gstreamer-sections.txt:
3020         * gst/gstevent.h:
3021           Add GST_EVENT_TYPE_NAME() macro.
3022
3023 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3024
3025         * gst/gstinfo.c:
3026         * gst/gstpluginfeature.c:
3027         * gst/gsttask.c:
3028           privatize more symbols
3029
3030 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3031
3032         * configure.ac:
3033           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3034           everything that uses GStreamer API should have the includes
3035
3036 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3037
3038         * docs/gst/gstreamer-sections.txt:
3039         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3040         * gst/gstvalue.h:
3041           give each value a _get_type, removes the DATA exports
3042
3043 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3044
3045         * gst/gst.c:
3046         * gst/gst.h:
3047           remove _gst_registry_auto_load, not used anymore
3048         * gst/gstbin.c: (gst_bin_get_type):
3049         * gst/gstbin.h:
3050         * gst/gstelement.c: (gst_element_get_type):
3051         * gst/gstelement.h:
3052         * gst/gstobject.c: (gst_object_get_type):
3053         * gst/gstobject.h:
3054         * gst/gstpad.c: (gst_pad_get_type):
3055         * gst/gstpad.h:
3056           make _get_type functions similar, fixes data export from library
3057
3058 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3059
3060         * configure.ac:
3061           correctly make conditionals
3062         * gst/elements/Makefile.am:
3063         * gst/elements/gstelements.c:
3064           fix typo causing fdsrc not to build
3065
3066 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3067
3068         * testsuite/Makefile.am:
3069         * testsuite/bytestream/.cvsignore:
3070         * testsuite/bytestream/Makefile.am:
3071         * testsuite/bytestream/filepadsink.c:
3072         * testsuite/bytestream/gstbstest.c:
3073         * testsuite/bytestream/test1.c:
3074         * testsuite/bytestream/testfile1:
3075         * testsuite/caps/normalisation.c:
3076         * testsuite/caps/random.c: (main):
3077         * testsuite/cleanup/.cvsignore:
3078         * testsuite/cleanup/Makefile.am:
3079         * testsuite/cleanup/cleanup1.c:
3080         * testsuite/cleanup/cleanup2.c:
3081         * testsuite/cleanup/cleanup3.c:
3082         * testsuite/cleanup/cleanup4.c:
3083         * testsuite/cleanup/cleanup5.c:
3084         * testsuite/controller/interpolator.c:
3085         * testsuite/debug/printf_extension.c: (main):
3086         * testsuite/elements/tee.c:
3087         * testsuite/negotiation/.cvsignore:
3088         * testsuite/negotiation/Makefile.am:
3089         * testsuite/negotiation/pad_link.c:
3090         * testsuite/pad/Makefile.am:
3091         * testsuite/pad/chainnopull.c:
3092         * testsuite/pad/getnopush.c:
3093         * testsuite/pad/link.c:
3094         * testsuite/refcounting/sched.c: (create_pipeline):
3095         * testsuite/registry/Makefile.am:
3096         * testsuite/registry/gst-print-formats.c:
3097         * testsuite/schedulers/.cvsignore:
3098         * testsuite/schedulers/142183-2.c:
3099         * testsuite/schedulers/142183.c:
3100         * testsuite/schedulers/143777-2.c:
3101         * testsuite/schedulers/143777.c:
3102         * testsuite/schedulers/147713.c:
3103         * testsuite/schedulers/147819.c:
3104         * testsuite/schedulers/147894-2.c:
3105         * testsuite/schedulers/147894.c:
3106         * testsuite/schedulers/Makefile.am:
3107         * testsuite/schedulers/group_link.c:
3108         * testsuite/schedulers/queue_link.c:
3109         * testsuite/schedulers/relink.c:
3110         * testsuite/schedulers/unlink.c:
3111         * testsuite/schedulers/unref.c:
3112         * testsuite/schedulers/useless_iteration.c:
3113         * testsuite/states/bin.c:
3114           clean out/remove some stuff from the testsuite directories
3115
3116 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3117
3118         * configure.ac:
3119           check for some headers
3120         * gst/elements/Makefile.am:
3121         * gst/elements/gstelements.c:
3122           don't compile fdsrc without sys/socket.h
3123         * gst/indexers/Makefile.am:
3124         * gst/indexers/gstindexers.c: (plugin_init):
3125           don't compile fileindex without mmap
3126
3127 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3128
3129         * configure.ac:
3130           reorganize
3131           clean up
3132           document more
3133           remove cruft
3134         * check/Makefile.am:
3135         * docs/gst/Makefile.am:
3136         * examples/helloworld/Makefile.am:
3137         * gst/Makefile.am:
3138         * gst/base/Makefile.am:
3139         * gst/check/Makefile.am:
3140         * gst/elements/Makefile.am:
3141         * gst/indexers/Makefile.am:
3142         * gst/parse/Makefile.am:
3143         * libs/gst/controller/Makefile.am:
3144         * libs/gst/dataprotocol/Makefile.am:
3145         * examples/helloworld/helloworld.c: (event_loop):
3146           compile fixes, though it's not being compiled currently
3147
3148 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3149
3150         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3151           Add some simple tests for the new taglist date API.
3152
3153 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3154
3155         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3156         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3157           Beautify 'last-message' output: print 'none' for buffer timestamps
3158           and durations if none is set; improve alignment with next messages.
3159
3160 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3161
3162         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3163         * gst/gstpluginfeature.h:
3164         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3165         * gst/gstregistry.h:
3166         * docs/gst/gstreamer-sections.txt:
3167           Add new API to check plugin feature version requirements.
3168
3169         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3170           Some basic tests for the above.         
3171
3172 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3173
3174         * gst/gststructure.c: (gst_structure_to_string):
3175           guard against NULL printf - happens when for example
3176           a message structure with GstClock gets serialized
3177
3178 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3179
3180         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3181           Fix presumable copy'n'pasto.
3182
3183 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3184
3185         * gst/elements/gstfakesrc.h:
3186         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3187         * gst/elements/gsttypefindelement.c:
3188           fix some signedness
3189         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3190           I wonder if this could actually write +2GB files before
3191
3192 2005-10-13  Andy Wingo  <wingo@pobox.com>
3193
3194         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3195         Fix Timmeke Waymans bug.
3196         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3197         string of the proper length to gst_caps_from_string. There's a
3198         potential for, before this fix, that this could cause someone
3199         connecting over the network to cause a segfault if the payload is
3200         not NUL-terminated.
3201
3202 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3203
3204         * docs/design/draft-push-pull.txt:
3205         * docs/design/part-overview.txt:
3206         * docs/random/TODO-pre-0.9:
3207         * docs/random/old/ChangeLog.gstreamer:
3208         * gst/base/gstpushsrc.c:
3209         * gst/gstclock.c:
3210           fixed typos
3211
3212 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3213
3214         * gst/glib-compat.c: (gst_flags_get_first_value):
3215         * gst/glib-compat.h:
3216         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3217         (gst_value_compare_double), (gst_value_serialize_flags):
3218           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3219           infinite loop
3220
3221 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3222
3223         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3224         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3225           fix up debugging
3226         * tools/gst-launch.c: (event_loop):
3227           print out clock nicely
3228
3229 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3230
3231         * docs/gst/gstreamer-sections.txt:
3232         * gst/gsttaglist.h:
3233         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3234         (gst_tag_list_get_date_index):
3235           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3236           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3237
3238 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3239
3240         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3241         (gst_collectpads_chain):
3242         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3243         in CollectData.
3244
3245 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3246
3247         * docs/gst/gstreamer-sections.txt:
3248         * gst/gst.c:
3249         * gst/gsterror.h:
3250         * tools/gst-inspect.c: (main):
3251         * tools/gst-launch.c: (main):
3252         * tools/gst-run.c: (main):
3253         * tools/gst-xmlinspect.c: (main):
3254           fix GOption context leaks
3255           doc fixes
3256
3257 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3258
3259         * gst/gstbus.c:
3260           use HAVE_UNISTD_H
3261         * win32/common/config.h:
3262           update config
3263         * win32/vs6/grammar.dsp:
3264         * win32/vs6/libgstelements.dsp:
3265         * win32/vs6/libgstreamer.dsp:
3266           update vs6 files
3267
3268 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3269
3270         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3271         * gst/base/gstbasesrc.c: (gst_base_src_query):
3272           fix more guint64<->gdouble conversions
3273
3274 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3275
3276         * Makefile.am:
3277           add win32-update target
3278         * win32/common/gstconfig.h:
3279         * win32/common/gstenumtypes.c:
3280         * win32/common/gstenumtypes.h:
3281         * win32/common/gstversion.h:
3282           add files that visual studio can't generate
3283
3284 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3285
3286         * Makefile.am:
3287           add a win32-update target
3288         * configure.ac:
3289
3290 2005-10-12  Wim Taymans  <wim@fluendo.com>
3291
3292         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3293         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3294         * gst/gstelement.c: (gst_element_commit_state),
3295         (gst_element_set_state):
3296         Protect flags with proper lock.
3297         unref provided cached clock in dispose.
3298
3299 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3300
3301         * gst/gst.c:
3302         * gst/gstminiobject.h:
3303         * gst/gstpad.h:
3304         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3305           removed unused flags from miniobject
3306           doc fixes
3307
3308 2005-10-12  Wim Taymans  <wim@fluendo.com>
3309
3310         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3311         (gst_file_sink_event), (gst_file_sink_render):
3312         Flush before seeking.
3313
3314 2005-10-12  Andy Wingo  <wingo@pobox.com>
3315
3316         * gst/gst.c (gst_init_check): Ignore unknown options, as has
3317         always been the case.
3318
3319 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
3320
3321         * check/gst/gstbin.c: (GST_START_TEST):
3322         * docs/gst/gstreamer-sections.txt:
3323         * gst/base/gstbasesink.c: (gst_base_sink_init):
3324         * gst/base/gstbasesrc.c: (gst_base_src_init),
3325         (gst_base_src_get_range), (gst_base_src_check_get_range),
3326         (gst_base_src_start), (gst_base_src_stop):
3327         * gst/base/gstbasesrc.h:
3328         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3329         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3330         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3331         (bin_bus_handler):
3332         * gst/gstbin.h:
3333         * gst/gstbuffer.h:
3334         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3335         * gst/gstbus.h:
3336         * gst/gstelement.c: (gst_element_is_locked_state),
3337         (gst_element_set_locked_state), (gst_element_commit_state),
3338         (gst_element_set_state):
3339         * gst/gstelement.h:
3340         * gst/gstindex.c: (gst_index_init):
3341         * gst/gstindex.h:
3342         * gst/gstminiobject.h:
3343         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3344         (gst_object_set_parent):
3345         * gst/gstobject.h:
3346         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3347         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3348         * gst/gstpad.h:
3349         * gst/gstpadtemplate.h:
3350         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3351         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3352         * gst/gstpipeline.h:
3353         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3354         (gst_file_index_commit):
3355         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3356         * testsuite/pad/link.c: (gst_test_src_init),
3357         (gst_test_filter_init), (gst_test_sink_init):
3358         * testsuite/states/locked.c: (main):
3359           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3360           moved bitshift from macro to enum definition
3361
3362 2005-10-12  Wim Taymans  <wim@fluendo.com>
3363
3364         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3365         * gst/elements/gstfilesink.c: (gst_file_sink_event),
3366         (gst_file_sink_render):
3367         Some more debugging info.
3368
3369 2005-10-12  Wim Taymans  <wim@fluendo.com>
3370
3371         * docs/design/part-states.txt:
3372         * tools/gst-launch.c: (main):
3373         Some doc updates.
3374         Revert non-intentional change.
3375
3376 2005-10-12  Wim Taymans  <wim@fluendo.com>
3377
3378         * check/gst/gstbin.c: (GST_START_TEST):
3379         * check/gst/gstelement.c: (GST_START_TEST):
3380         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3381         * check/gst/gstghostpad.c: (GST_START_TEST):
3382         * check/gst/gstpipeline.c: (GST_START_TEST):
3383         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3384         * check/states/sinks.c: (GST_START_TEST):
3385         * gst/elements/gsttypefindelement.c: (stop_typefinding):
3386         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3387         (gst_bin_remove_func), (gst_bin_get_state_func),
3388         (gst_bin_recalc_state), (gst_bin_change_state_func),
3389         (bin_bus_handler):
3390         * gst/gstelement.c: (gst_element_get_state_func),
3391         (gst_element_get_state), (gst_element_abort_state),
3392         (gst_element_commit_state), (gst_element_set_state),
3393         (gst_element_change_state), (gst_element_change_state_func):
3394         * gst/gstelement.h:
3395         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
3396         (gst_pipeline_provide_clock_func):
3397         * gst/gstutils.c: (gst_element_link_pads_filtered):
3398         * tools/gst-launch.c: (main):
3399         * tools/gst-typefind.c: (main):
3400         Use GstClockTime in _get_state() instead of GTimeVal.
3401         Remove old code in gstutils.c
3402
3403 2005-10-12  Andy Wingo  <wingo@pobox.com>
3404
3405         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
3406         removed.
3407
3408         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
3409         there is no task. Shouldn't affect any code, as nothing in our
3410         plugins checks this return value.
3411         (gst_pad_stop_task): Also take the stream lock if the pad has no
3412         task. Docs updated.
3413
3414 2005-10-12  Wim Taymans  <wim@fluendo.com>
3415
3416         * gst/gstpad.c: (pre_activate), (post_activate),
3417         (gst_pad_activate_pull), (gst_pad_activate_push):
3418         Cleanup activation code. Reset old state if
3419         activation failed.
3420
3421 2005-10-12  Wim Taymans  <wim@fluendo.com>
3422
3423         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3424         (gst_base_sink_change_state):
3425         No need to prerol after receiving EOS.
3426
3427         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3428         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
3429         * gst/elements/gstidentity.c: (gst_identity_event):
3430         Print events more verbosely.
3431
3432 2005-10-12  Wim Taymans  <wim@fluendo.com>
3433
3434         * check/Makefile.am:
3435         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3436         * check/states/sinks2.c:
3437         Moved sinks2 testcode in sinks check.
3438
3439         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3440         (gst_bin_remove_func), (gst_bin_recalc_state),
3441         (gst_bin_change_state_func), (bin_bus_handler):
3442         Fix potential race condition when _get_state() iterated over an
3443         ASYNC element right before it posted a state completion.
3444
3445         * gst/gstclock.h:
3446         Do proper cast here.
3447
3448         * gst/gstevent.c: (gst_event_new_newsegment),
3449         (gst_event_parse_newsegment):
3450         A playback rate of 0.0 is not allowed.
3451
3452 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3453
3454         * win32/common/config.h:
3455         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
3456         (_trewinddir), (_ttelldir), (_tseekdir):
3457         * win32/common/dirent.h:
3458         * win32/common/gtchar.h:
3459         * win32/common/libgstbase.def:
3460         * win32/common/libgstreamer.def:
3461         * win32/vs6/grammar.dsp:
3462         * win32/vs6/gst_inspect.dsp:
3463         * win32/vs6/gst_launch.dsp:
3464         * win32/vs6/gstreamer.dsw:
3465         * win32/vs6/libgstbase.dsp:
3466         * win32/vs6/libgstelements.dsp:
3467         * win32/vs6/libgstreamer.dsp:
3468           Visual Studio 6 project files, and a new common directory.
3469           Phear.
3470
3471 2005-10-11  Wim Taymans  <wim@fluendo.com>
3472
3473         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3474         (gst_base_sink_do_sync), (gst_base_sink_query),
3475         (gst_base_sink_change_state):
3476         * gst/base/gstbasesink.h:
3477         Correctly parse newsegment info.
3478
3479 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3480
3481         * gst/gst.c: (init_post):
3482           split plugin paths correctly
3483
3484 2005-10-11  Wim Taymans  <wim@fluendo.com>
3485
3486         * check/gst/gstevent.c: (GST_START_TEST):
3487         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3488         (gst_base_sink_change_state):
3489         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
3490         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3491         * gst/elements/gstfilesink.c: (gst_file_sink_event):
3492         * gst/gstevent.c: (gst_event_new_newsegment),
3493         (gst_event_parse_newsegment):
3494         * gst/gstevent.h:
3495         Added extra flag to newsegment for future API freeze.
3496         Updated check and base elements.
3497
3498 2005-10-11  Julien MOUTTE  <julien@moutte.net>
3499
3500         * gst/base/gstcollectpads.c: (gst_collectpads_init),
3501         (gst_collectpads_add_pad), (gst_collectpads_pop),
3502         (gst_collectpads_event), (gst_collectpads_chain):
3503         * gst/base/gstcollectpads.h: Handle EOS correctly.
3504
3505 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3506
3507         * tools/gst-launch.c: (main):
3508           more null protecting
3509
3510 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3511
3512         * gst/gst-i18n-lib.h:
3513           check for ENABLE_NLS, not GETTEXT_PACKAGE
3514         * gst/gstregistry.c: (gst_registry_add_plugin),
3515         (gst_registry_scan_path_level),
3516         (_gst_registry_remove_cache_plugins):
3517           protect possibly NULL strings
3518         * gst/parse/types.h:
3519           config.h already included before
3520         * tools/gst-inspect.c: (main):
3521           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
3522           check for ENABLE_NLS, not GETTEXT_PACKAGE
3523         * tools/gst-launch.c: (main):
3524           check for ENABLE_NLS, not GETTEXT_PACKAGE
3525
3526 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3527
3528         * configure.ac:
3529           if we don't have glib, fail before testing 2.8
3530         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
3531           fix a leak, should fix plugins-base testsuite
3532
3533 2005-10-11  Andy Wingo  <wingo@pobox.com>
3534
3535         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
3536         take the mode we're going to as an arg. Go head and set the mode
3537         and flushing flags now, so that if the activate function starts a
3538         thread all the flags will be in the right state.
3539         (post_activate): Renamed also. Just handle making sure streaming
3540         finishes for the deactivation case, and setting the deactivated
3541         mode.
3542         (gst_pad_set_active): Complain loudly if deactivation fails.
3543         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
3544         (gst_pad_activate_push): Adapt to pre/post_activate changes,
3545         remove the terrible hack.
3546
3547 2005-10-11  Wim Taymans  <wim@fluendo.com>
3548
3549         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3550         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
3551         (gst_bin_recalc_state), (gst_bin_change_state_func),
3552         (gst_bin_dispose), (bin_bus_handler):
3553         * gst/gstbin.h:
3554         Prepare to make current EOS message queue more generic.
3555         Fix some typos.
3556
3557         * gst/gstevent.c: (gst_event_new_newsegment),
3558         (gst_event_parse_newsegment):
3559         * gst/gstevent.h:
3560         Rename base to stream_time.
3561
3562         * gst/gstmessage.h:
3563         Fix typo in docs.
3564
3565 2005-10-11  Wim Taymans  <wim@fluendo.com>
3566
3567         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
3568         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
3569         (gst_bin_change_state_func), (bin_bus_handler):
3570         * gst/gstbin.h:
3571         Work on proper clock selection.
3572
3573 2005-10-11  Edward Hervey  <edward@fluendo.com>
3574
3575         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
3576         * libs/gst/controller/gstcontroller.h:
3577         Added GList* version of _remove_properties() in order to be able to wrap
3578         it in bindings.
3579
3580 2005-10-11  Wim Taymans  <wim@fluendo.com>
3581
3582         * docs/design/part-states.txt:
3583         Some more docs.
3584
3585         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
3586         (gst_bin_change_state_func), (bin_bus_handler):
3587         Doc updates. Don't distribute the same clock over and over again.
3588
3589         * gst/gstclock.c:
3590         * gst/gstclock.h:
3591         Doc updates.
3592
3593         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
3594         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
3595         (gst_pad_send_event):
3596         * gst/gstpad.h:
3597         Make probe emission threadsafe again.
3598         Register quarks and move _get_name() from utils.
3599         Doc updates.
3600
3601         * gst/gstpipeline.c: (gst_pipeline_class_init),
3602         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3603         Only redistribute the clock of it changed.
3604
3605         * gst/gstsystemclock.h:
3606         Doc updates. 
3607
3608         * gst/gstutils.c:
3609         * gst/gstutils.h:
3610         Moved the _flow_get_name() to GstPad.
3611
3612 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3613
3614         * check/gst-libs/gdp.c: (GST_START_TEST):
3615         * check/gst/gstcaps.c: (GST_START_TEST):
3616         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
3617         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
3618         (gst_dp_packet_from_caps):
3619           fix more valgrind warnings before turning up the heat
3620
3621 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3622
3623         * gst/parse/grammar.y:
3624           some cleanup before the hacking
3625
3626 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3627
3628         * gst/base/gstbasesrc.c: (gst_base_src_query):
3629           use conversions
3630         * gst/gstutils.c: (gst_guint64_to_gdouble),
3631         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
3632         * gst/gstutils.h:
3633           externalize, basesrc uses it
3634           obviously the implementation needs testing
3635
3636 2005-10-10  Wim Taymans  <wim@fluendo.com>
3637
3638         * tests/sched/Makefile.am:
3639         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
3640         (make_pipeline3), (make_pipeline4), (print_elem), (main):
3641
3642 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3643
3644         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
3645           apparently converting from guint64 to double is not implemented
3646           on MSVC
3647
3648 2005-10-10  Wim Taymans  <wim@fluendo.com>
3649
3650         * check/Makefile.am:
3651         * check/generic/states.c: (GST_START_TEST):
3652         * check/gst/gstbin.c: (GST_START_TEST):
3653         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3654         * check/states/sinks.c: (GST_START_TEST):
3655         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
3656         (main):
3657         Check fixes, use API as stated in design docs, remove hacks.
3658
3659         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3660         (gst_base_sink_change_state):
3661         Catch stopping our task while we're shutting down.
3662
3663         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
3664         (gst_bin_remove_func), (gst_bin_get_state_func),
3665         (gst_bin_recalc_state), (gst_bin_change_state_func),
3666         (bin_bus_handler):
3667         * gst/gstbin.h:
3668         * gst/gstelement.c: (gst_element_init),
3669         (gst_element_get_state_func), (gst_element_abort_state),
3670         (gst_element_commit_state), (gst_element_lost_state),
3671         (gst_element_set_state), (gst_element_change_state),
3672         (gst_element_change_state_func):
3673         * gst/gstelement.h:
3674         New state change algorithm (see #318116)
3675
3676         * gst/gstpipeline.c: (gst_pipeline_class_init),
3677         (gst_pipeline_init), (gst_pipeline_set_property),
3678         (gst_pipeline_get_property), (do_pipeline_seek),
3679         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
3680         * gst/gstpipeline.h:
3681         Remove crude state change hacks.
3682
3683         * gst/gstutils.h:
3684         Remove crude hacks.
3685
3686         * tools/gst-launch.c: (main):
3687         Fixes for state change. Needs some more work to fully use the
3688         new stuff.
3689
3690 2005-10-10  Andy Wingo  <wingo@pobox.com>
3691
3692         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
3693
3694         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
3695         this flag, but it's not even in GLib 2.6. Odd. Hack around the
3696         issue.
3697
3698 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3699
3700         * gst/gstiterator.c: (gst_iterator_new):
3701           Fix my previous commit: GTypes passed to gst_iterator_new()
3702           can be fundamental types.
3703
3704 2005-10-10  Wim Taymans  <wim@fluendo.com>
3705
3706         * gst/gstelement.c: (gst_element_iterate_pad_list),
3707         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
3708         (gst_element_iterate_sink_pads):
3709         Use src/sink pads lists for the respective iterators instead
3710         of filtering.
3711
3712 2005-10-10  Andy Wingo  <wingo@pobox.com>
3713
3714         Merged in popt removal + GOption addition patch from Ronald, bug
3715         #169772.
3716
3717         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
3718         GstElement macros around, remove popt-related symbols, add goption
3719         stuff.
3720
3721         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
3722         
3723         * docs/gst/Makefile.am:
3724         * docs/libs/Makefile.am: No POPT_CFLAGS.
3725         
3726         * examples/manual/Makefile.am:
3727         * docs/manual/basics-init.xml: Doc updates with an example.
3728         
3729         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3730         (gst_init), (parse_one_option), (parse_goption_arg):
3731         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
3732         bit of hand merging and debugging to get the GOption stuff working
3733         tho.
3734         
3735         * tests/Makefile.am:
3736         * tools/Makefile.am:
3737         * tools/gst-inspect.c: (main):
3738         * tools/gst-launch.c: (main):
3739         * tools/gst-run.c: (main):
3740         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
3741
3742 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3743
3744         * gst/gstiterator.c: (gst_iterator_new):
3745           Add assertions to make sure passed GType is likely to really
3746           be a GType (as the compiler won't catch it if the size and
3747           GType arguments get mixed up, see #318447).
3748
3749 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
3750
3751         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3752
3753         * gst/gstbin.c: (gst_bin_iterate_sorted):
3754           Pass GType and size arguments to gst_iterator_new() in the right
3755           order (maybe we should make _new() take the GType as first argument
3756           just like _new_list()?) (#318447).
3757           
3758
3759 2005-10-10  Wim Taymans  <wim@fluendo.com>
3760
3761         * gst/gstelement.c: (gst_element_finalize):
3762         And free the GStaticRecMutex too
3763
3764 2005-10-10  Andy Wingo  <wingo@pobox.com>
3765
3766         * gst/gstelement.c (gst_element_init, gst_element_finalize):
3767         Allocate and free the mutex properly.
3768
3769         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
3770         New macros.
3771         (GstElement): The state_lock is now recursive. Rebuild your
3772         plugins, suckers. Old macros adapted.
3773
3774         * docs/gst/gstreamer-sections.txt: Doc updates.
3775
3776         * gst/gstutils.h:
3777         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
3778         (g_static_rec_cond_wait): Ported from state changes patch, while
3779         we wait on bug #317802 to be solved in a well-distributed GLib.
3780
3781         * gst/gstelement.c (gst_element_change_state_func): Renamed from
3782         gst_element_change_state, variable name changes.
3783         (gst_element_change_state): Split out of gst_element_set_state in
3784         preparation for the state change merge. Doesn't pay attention to
3785         the 'transition' argument.
3786         (gst_element_set_state): Updates, hopefully purely cosmetic.
3787         (gst_element_sync_state_with_parent): MT-safety. Ported from the
3788         state change patch.
3789         (gst_element_get_state_func): Renamed from get_state, cosmetic
3790         changes.
3791
3792 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3793
3794         * gst/elements/gstelements.c:
3795         * win32/GStreamer.vcproj:
3796         * win32/config.h:
3797         * win32/dirent.c: (_tseekdir):
3798         * win32/gst-inspect.vcproj:
3799         * win32/gst-launch.vcproj:
3800         * win32/gstconfig.h:
3801         * win32/gstelements.vcproj:
3802         * win32/gstenumtypes.c: (gst_object_flags_get_type):
3803         * win32/gstreamer.def:
3804         * win32/msvc71.sln:
3805           updates for the win32 build (patch from Sebastien Moutte)
3806
3807 2005-10-10  Andy Wingo  <wingo@pobox.com>
3808
3809         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
3810         gst_bin_get_state, cleaned up (but no logic changes).
3811         (bin_element_is_sink): Comment updates.
3812         (sink_iterator_filter): Remove needless cast.
3813         (gst_bin_iterate_sinks): Doc update.
3814         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
3815         cleaned up (but no logic changes).
3816
3817         * check/states/sinks.c (test_src_sink): Cleanups from the state
3818         change patch.
3819         (test_livesrc_sink): Sync on the state.
3820
3821         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
3822         the state change patch.
3823
3824         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
3825         change patch.
3826
3827         * check/gst/gstbin.c: Merge in some style fixes and additional
3828         checks from Wim's state change patch.
3829
3830 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3831
3832         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3833         (gst_type_find_helper):
3834           Check whether we have the requested data already in our list of
3835           cached buffers before pulling a new buffer; also make the buffer
3836           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
3837
3838 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3839
3840         * gst/gstcaps.c:
3841         * gst/gstevent.c:
3842           doc updates
3843         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3844           don't use long long, it's not portable.  Replacing with
3845           gint64 seems to work; let's hope no skeletons fall out of the closet.
3846
3847 2005-10-10  Andy Wingo  <wingo@pobox.com>
3848
3849         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
3850
3851 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
3852
3853         * docs/gst/gstreamer-sections.txt:
3854         * gst/gstevent.c:
3855         * gst/gstevent.h:
3856         * gst/gstinfo.c:
3857         * gst/gstinfo.h:
3858         * gst/gstmessage.c: (gst_message_parse_state_changed):
3859         * gst/gstpad.c:
3860         * gst/gstpad.h:
3861           more docs, fix compilation
3862
3863 2005-10-09  Philippe Khalaf <burger@speedy.org>
3864         * gst/gstmessage.c:
3865           Fixed a few forgotten variables on previous commit
3866
3867 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3868
3869         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3870           Fix evil typefind crasher: getrange() might return a short
3871           buffer at the end of a file, but gst_type_find_peek() must
3872           either return the full data as requested or NULL, but
3873           never a short buffer.
3874
3875 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3876
3877         * gst/gstmessage.c: (gst_message_new_state_changed),
3878         (gst_message_parse_state_changed):
3879         * gst/gstmessage.h:
3880           don't use "new", it's a C++ keyword
3881
3882 2005-10-08  Wim Taymans  <wim@fluendo.com>
3883
3884         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
3885         * gst/gstelement.c: (gst_element_post_message):
3886         * gst/gstpipeline.c: (gst_pipeline_change_state):
3887         Small docs and debug updates.
3888
3889 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3890
3891         * docs/gst/gstreamer-sections.txt:
3892         * gst/gstelementfactory.c:
3893         * gst/gstevent.c:
3894         * gst/gsttaglist.c:
3895           more docs
3896
3897 2005-10-08  Wim Taymans  <wim@fluendo.com>
3898
3899         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
3900         (gst_bin_dispose), (bin_bus_handler):
3901         Fix typos, add comments.
3902         Clear EOS list when going to PAUSED from any direction and do it
3903         in a threadsafe way.
3904         Get base time in a threadsafe way too.
3905         Fix confusing debug in the change_state function.
3906         Various other small cleanups.
3907         
3908         * gst/gstelement.c: (gst_element_post_message):
3909         Fix very verbose bus posting code.
3910
3911         * gst/gstpipeline.c: (gst_pipeline_class_init),
3912         (gst_pipeline_set_property), (gst_pipeline_get_property),
3913         (gst_pipeline_change_state):
3914         Small ARG_ -> PROP_ cleanup
3915
3916 2005-10-08  Wim Taymans  <wim@fluendo.com>
3917
3918         * gst/gstbin.c: (is_eos), (bin_bus_handler):
3919         Do a less CPU demanding EOS check because we can.
3920
3921 2005-10-08  Wim Taymans  <wim@fluendo.com>
3922
3923         * libs/gst/dataprotocol/dataprotocol.c:
3924         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
3925         (gst_dp_packet_from_event):
3926         * libs/gst/dataprotocol/dataprotocol.h:
3927         * libs/gst/dataprotocol/dp-private.h:
3928         It's about time we bump the version number.
3929         Since event types don't fit in the guint8 anymore describing
3930         the payload type, make payload type 16 bits wide.
3931
3932 2005-10-08  Wim Taymans  <wim@fluendo.com>
3933
3934         * docs/design/part-TODO.txt:
3935         * docs/design/part-clocks.txt:
3936         * docs/design/part-events.txt:
3937         * docs/design/part-gstbin.txt:
3938         * docs/design/part-gstelement.txt:
3939         * docs/design/part-gstpipeline.txt:
3940         * docs/design/part-live-source.txt:
3941         * docs/design/part-messages.txt:
3942         * docs/design/part-overview.txt:
3943         * docs/design/part-states.txt:
3944         Many doc updates.
3945
3946 2005-10-08  Wim Taymans  <wim@fluendo.com>
3947
3948         * gst/gstevent.c:
3949         * gst/gstevent.h:
3950         Fix event quark registration.
3951         Add some space between events so we can insert them in the
3952         right groups.
3953
3954 2005-10-08  Wim Taymans  <wim@fluendo.com>
3955
3956         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3957         (gst_base_sink_handle_buffer):
3958         Better log message.
3959
3960         * gst/gstbus.h:
3961         * gst/gstelement.h:
3962         More docs.
3963
3964         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
3965         (gst_queue_set_property), (gst_queue_get_property):
3966         * gst/gstqueue.h:
3967         Remove old unused properties.
3968
3969 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
3970         * docs/gst/gstreamer-sections.txt:
3971         * gst/gstmessage.c:
3972         * gst/gstmessage.h:
3973         * gst/gstminiobject.c:
3974         * gst/gstminiobject.h:
3975         * gst/gstobject.h:
3976         * gst/gstpad.h:
3977         * gst/gstutils.h:
3978           lots of new docs and doc fixes
3979
3980 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3981
3982         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
3983         * gst/gstplugin.h:
3984         * gst/gstregistry.c: (gst_registry_lookup_locked),
3985         (gst_registry_scan_path_level):
3986         * gst/gstregistryxml.c: (load_plugin):
3987           Only ever load one plugin for a given plugin basename.
3988           This ensures correct overriding of GST_PLUGIN_PATH over
3989           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
3990           system installed plugins.
3991
3992 2005-10-08  Wim Taymans  <wim@fluendo.com>
3993
3994         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3995         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
3996         Prepare for doing QOS.
3997
3998 2005-10-08  Wim Taymans  <wim@fluendo.com>
3999
4000         * check/gst/gstbin.c: (GST_START_TEST):
4001         * check/pipelines/cleanup.c: (GST_START_TEST):
4002         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4003         Allow new clock message too.
4004
4005 2005-10-08  Wim Taymans  <wim@fluendo.com>
4006
4007         * gst/gstmessage.c: (gst_message_new_error),
4008         (gst_message_new_warning), (gst_message_new_tag),
4009         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4010         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4011         (gst_message_new_segment_start), (gst_message_new_segment_done),
4012         (gst_message_parse_state_changed),
4013         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4014         (gst_message_parse_new_clock):
4015         * gst/gstmessage.h:
4016         Also carry the clock in question.
4017
4018 2005-10-08  Wim Taymans  <wim@fluendo.com>
4019
4020         * gst/gstmessage.c: (gst_message_new_custom),
4021         (gst_message_new_eos), (gst_message_new_error),
4022         (gst_message_new_warning), (gst_message_new_tag),
4023         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4024         (gst_message_new_new_clock), (gst_message_new_segment_start),
4025         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4026         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4027         * gst/gstmessage.h:
4028         Clean up.
4029         Added clock related messages.
4030
4031         * gst/gstpipeline.c: (gst_pipeline_change_state):
4032         Post message when the clock changed.
4033
4034         * tools/gst-launch.c: (event_loop):
4035         Print new clock.
4036
4037 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4038
4039         * tools/gst-inspect.c: (print_element_properties_info):
4040           Can't pass NULL strings to g_print() on windows.
4041
4042 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4043
4044         * docs/Makefile.am:
4045         * docs/gst/Makefile.am:
4046         * docs/gst/gstreamer-docs.sgml:
4047         * docs/gst/running.xml:
4048         * docs/version.entities.in:
4049           add a chapter on running GStreamer.
4050           document GST_DEBUG and GST_PLUGIN* env vars
4051
4052 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4053
4054         * Makefile.am:
4055           remove include dir
4056         * configure.ac:
4057           remove PLUGINS_BUILDDIR stuff
4058         * gst/gst.c: (init_post):
4059           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4060         * idiottest.mak:
4061           remove, it was condescending and not needed
4062
4063 2005-10-08  Wim Taymans  <wim@fluendo.com>
4064
4065         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4066         (gst_base_sink_handle_object), (gst_base_sink_event),
4067         (gst_base_sink_wait), (gst_base_sink_handle_event),
4068         (gst_base_sink_change_state):
4069         * gst/base/gstbasesink.h:
4070         Repost EOS message while going to PLAYING if still EOS.
4071         Make sure that when receiving a FLUSH_START we don't attempt
4072         to sync on the clock anymore.
4073
4074 2005-10-08  Wim Taymans  <wim@fluendo.com>
4075
4076         * tools/gst-launch.c: (event_loop):
4077         Better message printout.
4078
4079 2005-10-08  Wim Taymans  <wim@fluendo.com>
4080
4081         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4082         (gst_bin_child_proxy_get_children_count):
4083         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4084         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4085         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4086         (gst_child_proxy_set_valist):
4087         * gst/parse/grammar.y:
4088         Make ChildProxy threadsafe and fix mem leaks.
4089
4090 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4091
4092         * gst/gst.c: (init_post):
4093           debug the GST_PLUGIN_ env vars
4094
4095 2005-10-08  Wim Taymans  <wim@fluendo.com>
4096
4097         * check/gst/gstbin.c: (GST_START_TEST):
4098         * check/gst/gstmessage.c: (GST_START_TEST):
4099         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4100         * gst/gstelement.c: (gst_element_commit_state),
4101         (gst_element_lost_state):
4102         * gst/gstmessage.c: (gst_message_new_state_changed),
4103         (gst_message_parse_state_changed):
4104         * gst/gstmessage.h:
4105         * tools/gst-launch.c: (event_loop):
4106         Added extra field to STATE_CHANGE message with the pending
4107         state, which will be different from the new state soon.
4108
4109 2005-10-08  Wim Taymans  <wim@fluendo.com>
4110
4111         * gst/gstbus.c: (gst_bus_pop):
4112         * gst/gstclock.c:
4113         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4114         Small cleanups and doc updates.
4115
4116 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4117
4118         * gst/gst.c: (init_pre):
4119         * gst/gstbin.c: (gst_bin_add_func):
4120           log distributing clocks and base time
4121         * gst/gstregistry.c: (gst_registry_add_plugin),
4122         (gst_registry_scan_path_level), (gst_registry_scan_path):
4123           clean up the debugging output a little
4124         * gst/gstutils.c: (gst_element_state_get_name):
4125           warn about a memleak (I've actually seen this be used, though
4126           it was probably a bug)
4127
4128 2005-10-07  Wim Taymans  <wim@fluendo.com>
4129
4130         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4131         (gst_base_src_init), (gst_base_src_default_newsegment),
4132         (gst_base_src_newsegment), (gst_base_src_do_seek),
4133         (gst_base_src_loop), (gst_base_src_start):
4134         * gst/base/gstbasesrc.h:
4135         Make the newsegment event customizable by subclasses.
4136
4137 2005-10-07  Wim Taymans  <wim@fluendo.com>
4138
4139         * gst/gstevent.c: (gst_event_new_buffersize),
4140         (gst_event_parse_buffersize):
4141         * gst/gstevent.h:
4142         New event for future idea.
4143
4144 2005-10-07  Andy Wingo  <wingo@pobox.com>
4145
4146         * gst/gstelement.c (gst_element_post_message): Doc update.
4147
4148         * docs/gst/gstreamer-sections.txt: Update.
4149
4150         * gst/gstmessage.c (gst_message_new_application): Made into a
4151         function like honest API calls.
4152         (gst_message_new_element): New message type.
4153
4154         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4155
4156         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4157         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4158         times.
4159
4160         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4161         NO_PREROLL from gst_element_change_state to fall through.
4162
4163 2005-10-07  Wim Taymans  <wim@fluendo.com>
4164
4165         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4166         (gst_ghost_pad_do_activate_push):
4167         Activating a ghostpad with no internal pad in push mode
4168         is ok.
4169
4170 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4171
4172         * gst/gstobject.h:
4173           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4174           Fixes compilation on Windows.
4175
4176 2005-10-07  Michael Smith <msmith@fluendo.com>
4177
4178         * tools/gst-inspect.c:
4179           Print out feature and plugin count at the end when printing out
4180           all features.
4181
4182 2005-10-04  Michael Smith <msmith@fluendo.com>
4183
4184         * gst/gsterror.c: (_gst_stream_errors_init):
4185           Add another error string used in a few existing plugins.
4186
4187         * gst/gstplugin.c:
4188         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4189         * tools/gst-inspect.c: (print_element_info):
4190           When a feature disappears from a plugin (and the feature exists in
4191           the cached registry file), things went horribly wrong. This isn't a
4192           complete fix, we should actually be removing the 'missing' features
4193           from the features list when we load the actual plugin. That's not
4194           yet implemented. 
4195
4196 2005-10-04  Johan Dahlin  <johan@gnome.org>
4197
4198         * check/gst/gstiterator.c: (GST_START_TEST):
4199         * gst/gstbin.c: (gst_bin_iterate_elements),
4200         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4201         * gst/gstelement.c: (gst_element_iterate_pads):
4202         * gst/gstformat.c: (gst_format_iterate_definitions):
4203         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4204         (gst_iterator_new_list), (gst_iterator_filter):
4205         * gst/gstiterator.h:
4206         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4207         Add a GType to GstIterator, update callsites and tests.
4208
4209 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4210
4211         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4212           give events a chance to be handled by event probes when the pad
4213           is not linked
4214
4215 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4216
4217         * gst/gstevent.c: (gst_event_type_get_name),
4218         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4219         * gst/gstevent.h:
4220           add string representations for event types
4221
4222 2005-10-06  Wim Taymans  <wim@fluendo.com>
4223
4224         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4225         Don't use NULL pointers.
4226
4227 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4228
4229         * gst/gst_private.h:
4230         * gst/gstbus.c:
4231         * gst/gstelement.c:
4232         * gst/gstinfo.c:
4233         * gst/gstpluginfeature.c:
4234           widen the debug category in output to fit the biggest one we have
4235           add a bus category and use it
4236           play with the colors
4237           fix up some categories
4238
4239 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4240
4241         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4242           add push activation of sink ghost pads.
4243           Andye, please verify
4244
4245 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4246
4247         * gst/gstutils.c: (gst_element_link_pads):
4248           fix a bug in the case where neither element has a pad
4249         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4250           add a test for that case
4251
4252 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4253
4254         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4255           emit have-data before checking for peers.  This allows
4256           for probe handlers to connect elements.  This helps autopluggers.
4257         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4258         (gst_pad_suite):
4259           add six checks, linked/unlinked with no/true/false probe
4260
4261 2005-10-04  Wim Taymans  <wim@fluendo.com>
4262
4263         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4264         (gst_fake_sink_event), (gst_fake_sink_preroll),
4265         (gst_fake_sink_render), (gst_fake_sink_change_state):
4266         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4267         (gst_fake_src_get_property), (gst_fake_src_create),
4268         (gst_fake_src_stop):
4269         * gst/elements/gstidentity.c: (gst_identity_stop):
4270         Protect last_message with lock.
4271
4272 2005-10-04  Edward Hervey  <edward@fluendo.com>
4273
4274         * gst/gstformat.h: 
4275         Added precision in the comments for GST_FORMAT_DEFAULT
4276
4277 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
4278
4279         * tools/gst-launch.c: (main):
4280           Don't try to run erroneous pipelines.
4281
4282 2005-10-04  Julien MOUTTE  <julien@moutte.net>
4283
4284         * gst/gstbus.c: We don't need this header.
4285
4286 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4287
4288         * configure.ac:
4289           back to development
4290
4291 === release 0.9.3 ===
4292
4293 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4294
4295         * README:
4296         * configure.ac:
4297           Releasing 0.9.3, "Unregistered"
4298
4299 2005-10-03  Andy Wingo  <wingo@pobox.com>
4300
4301         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4302         whereby calling a pad's activatepush() function can start a thread
4303         that starts to push or pull before the pad gets the FLUSHING flag
4304         unset. Hack around it by holding the stream lock until the flag is
4305         set. Need to replace this with a proper solution. Together with
4306         the ghost pad fixes, this fixes mp3 playing/tagreading.
4307
4308         * docs/design/part-gstghostpad.txt: Add a note about activation of
4309         proxy pads outside of ghost pads.
4310
4311         * gst/gstghostpad.c: Implement the ghost pad activation design.
4312
4313 2005-10-02  Andy Wingo  <wingo@pobox.com>
4314
4315         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4316         It is volatile, after all.
4317
4318         * docs/design/part-gstghostpad.txt: Flesh out activation with
4319         ghost pads.
4320
4321         * gst/base/gstbasesrc.c (gst_base_src_init): Use
4322         GST_DEBUG_FUNCPTR.
4323
4324 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
4325
4326         * configure.ac:
4327           Fix (unused) AM_CONDITIONAL tests.
4328
4329 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
4330
4331         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4332
4333         * gst/gstutils.c: (gst_pad_query_convert):
4334           Add assertion that makes sure src_val is >=0, just like
4335           gst_query_new_convert() has. (#315895)
4336
4337 2005-09-30  Edward Hervey  <edward@fluendo.com>
4338
4339         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4340         Let's not iterate pads we're not interested in, it avoids getting 
4341         sky-high refcounts on sinkpad.
4342
4343 2005-09-30  Wim Taymans  <wim@fluendo.com>
4344
4345         * gst/gstelement.c: (gst_element_set_state),
4346         (gst_element_change_state):
4347         Small tweak, element in ASYNC remains ASYNC.
4348
4349 2005-09-30  Wim Taymans  <wim@fluendo.com>
4350
4351         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4352         Only error is an error.
4353
4354         * gst/gstbin.c: (gst_bin_change_state):
4355         Better debugging.
4356
4357         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4358         Also call pad_block in pad alloc.
4359
4360         * gst/gstutils.c: (gst_flow_get_name):
4361         Better debugging.
4362
4363 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4364
4365         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4366         (gst_base_src_get_range):
4367           Fix documentation typos. Add some more debug info.
4368
4369 2005-09-29  David Schleef  <ds@schleef.org>
4370
4371         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
4372           more end-user friendly.
4373         * tools/gst-inspect.c: (main): Check if command-line argument is
4374           a file and attempt to load that file as a plugin.
4375
4376 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4377
4378         * check/gst/gstbin.c:
4379         * check/states/sinks.c:
4380           fix tests for the new warning
4381         * check/gst/gstpipeline.c:
4382           add a test for pipeline and bus interaction
4383         * gst/gstelement.c:
4384           elements should be NULL if they get disposed; add a warning if not
4385
4386 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4387
4388         * gst/gstobject.c:
4389           for 2.6 refcounting, make debug log more correct by printing
4390           the actual refcounts at the time of swap (Wim)
4391
4392 2005-09-29  Andy Wingo  <wingo@pobox.com>
4393
4394         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
4395         removes signal watches previously added via
4396         gst_bus_add_signal_watch.
4397         (gst_bus_add_signal_watch): Don't return the source id, just store
4398         it on the bus if there wasn't an id already.
4399
4400         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
4401         add_signal_watch and remove_signal_watch.
4402
4403 2005-09-29  Edward Hervey  <edward@fluendo.com>
4404
4405         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
4406         Better if we actually iterate the list :)
4407
4408 2005-09-29  Wim Taymans  <wim@fluendo.com>
4409
4410         * check/gst/gstbin.c: (GST_START_TEST):
4411         Change for new bus API.
4412
4413         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4414         (send_messages), (GST_START_TEST), (gstbus_suite):
4415         Change for new bus signal API.
4416
4417         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
4418         (gst_bus_source_prepare), (gst_bus_source_check),
4419         (gst_bus_create_watch), (gst_bus_add_watch_full),
4420         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
4421         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
4422         * gst/gstbus.h:
4423         Remove support for multiple GSources operating on different
4424         message types as it is too complex and unneeded when using
4425         signals.
4426         Added support for receiving signals from the bus.
4427
4428 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4429
4430         * docs/libs/tmpl/gstdataprotocol.sgml:
4431         * docs/manual/advanced-dataaccess.xml:
4432         * gst/elements/gstcapsfilter.c:
4433         * gst/gstutils.c:
4434           rename filter-caps to caps property
4435
4436 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4437
4438         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4439           More robust fraction string parsing.
4440
4441         * docs/pwg/appendix-porting.xml:
4442           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
4443
4444 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
4445
4446         * gst/gstcaps.c: (gst_caps_do_simplify):
4447           Thou shalt not free a structure and then continue using it
4448           in the next loop iteration.
4449
4450         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
4451         (gst_caps_suite):
4452           Add test case for caps simplification.
4453
4454 2005-09-29  Wim Taymans  <wim@fluendo.com>
4455
4456         * check/gst/gstbin.c: (GST_START_TEST):
4457         Oops.
4458
4459 2005-09-29  Wim Taymans  <wim@fluendo.com>
4460
4461         * check/gst/gstbin.c: (GST_START_TEST):
4462         Add bus to bin.
4463
4464         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4465         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4466         (find_element), (gst_bin_sort_iterator_next),
4467         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4468         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4469         (gst_bin_change_state), (gst_bin_dispose):
4470         A bin does not have a bus, it gets the bus from the parent.
4471
4472         * gst/gstelement.c: (gst_element_requires_clock),
4473         (gst_element_provides_clock), (gst_element_is_indexable),
4474         (gst_element_is_locked_state), (gst_element_change_state),
4475         (gst_element_set_bus_func):
4476         Small cleanups.
4477
4478         * gst/gstpipeline.c: (gst_pipeline_class_init),
4479         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
4480         The pipeline provides a bus.
4481
4482 2005-09-28  Johan Dahlin  <johan@gnome.org>
4483
4484         * gst/gstmessage.c (gst_message_parse_state_changed): Use
4485         gst_structure_get_enum instead of gst_structure_get_int
4486
4487         * gst/gststructure.c (gst_structure_get_enum): Impl.
4488
4489         * gst/gststructure.h (gst_structure_get_enum): Add
4490
4491         * docs/gst/gstreamer-sections.txt: Ditto
4492
4493         * gst/gstmessage.c (gst_message_new_state_changed): Use
4494         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
4495         which does introspection.
4496         Reviewed by Christian Schaller
4497
4498 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4499
4500         * gst/gstinfo.c: (gst_debug_log_default):
4501           don't do dummy g_strdup()s
4502         * libs/gst/controller/gstcontroller.c:
4503         (on_object_controlled_property_changed),
4504         (gst_controlled_property_new), (gst_controller_new_valist),
4505         (gst_controller_new_list),
4506         (gst_controller_remove_properties_valist), (gst_controller_set),
4507         (gst_controller_get), (gst_controller_sync_values),
4508         (gst_controller_get_value_array), (_gst_controller_class_init),
4509         (gst_controller_get_type):
4510         * libs/gst/controller/gstcontroller.h:
4511         * libs/gst/controller/gstinterpolation.c:
4512         (gst_controlled_property_find_timed_value_node):
4513           convert // to /**/ comments
4514
4515 2005-09-28  Wim Taymans  <wim@fluendo.com>
4516
4517         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
4518         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
4519         (gst_bus_sync_signal_handler):
4520         * gst/gstbus.h:
4521         Added async-message and sync-message signals to the bus.
4522         Added helper BusFunc to emit signals for all posted messages.
4523
4524         * gst/gstmessage.c: (gst_message_type_get_name),
4525         (gst_message_type_to_quark), (gst_message_get_type):
4526         * gst/gstmessage.h:
4527         Register quarks for message names.
4528
4529 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
4530
4531         * docs/libs/gstreamer-libs-sections.txt:
4532         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
4533         (gst_controller_new_list):
4534         * libs/gst/controller/gstcontroller.h:
4535           added another constructor for language bindings
4536
4537 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4538
4539         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4540           add another check
4541         * gst/gstbus.c:
4542           add some doc
4543         * gst/gstinfo.c: (_gst_debug_init):
4544           slightly more readable color for refcount debugging
4545
4546 2005-09-28  Wim Taymans  <wim@fluendo.com>
4547
4548         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4549         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4550         (find_element), (gst_bin_sort_iterator_next),
4551         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4552         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4553         (gst_bin_change_state), (gst_bin_dispose):
4554         Small doc fixes. get_clock -> provide_clock.
4555
4556         * gst/gstelement.c: (gst_element_class_init),
4557         (gst_element_provides_clock), (gst_element_provide_clock),
4558         (gst_element_get_clock), (gst_element_commit_state),
4559         (gst_element_lost_state):
4560         * gst/gstelement.h:
4561         Make get/set_clock() symetric. Add provide_clock vmethod since
4562         that is actually what this function does.
4563
4564         * gst/gstpipeline.c: (gst_pipeline_class_init),
4565         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
4566         (gst_pipeline_get_clock):
4567         get_clock -> provide_clock.
4568
4569 2005-09-28  Andy Wingo  <wingo@pobox.com>
4570
4571         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
4572         lieu of real docs...
4573
4574         * gst/elements/gstfdsrc.c: Cleaned up a bit.
4575
4576 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
4577
4578         * gst/elements/gstcapsfilter.c:
4579         * gst/elements/gstfakesink.c:
4580         * gst/elements/gstfakesrc.c:
4581         * gst/elements/gstfdsink.c:
4582         * gst/elements/gstfdsrc.c:
4583         * gst/elements/gstfilesink.c:
4584         * gst/elements/gstfilesrc.c:
4585         * gst/elements/gstidentity.c:
4586         * gst/elements/gsttee.c:
4587         * gst/elements/gsttypefindelement.c:
4588           Make element details static.
4589
4590 2005-09-28  Wim Taymans  <wim@fluendo.com>
4591
4592         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4593         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4594         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4595         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4596         (gst_bin_change_state), (gst_bin_dispose):
4597         Some documentation updates.
4598         Clean up dispose handlers.
4599
4600         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
4601         * gst/gstpad.c: (gst_pad_dispose):
4602         Clean up dispose handler.
4603
4604         * gst/gstpipeline.c: (gst_pipeline_change_state):
4605         Removed spurious UNLOCK.
4606
4607 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
4608
4609         * docs/gst/gstreamer-sections.txt:
4610         * gst/base/gstbasesrc.h:
4611         * gst/gstelement.h:
4612         * gst/gstevent.h:
4613         * gst/gstobject.h:
4614         * gst/gstpad.h:
4615         * gst/gstpipeline.c:
4616         * gst/gstpipeline.h:
4617         * gst/gstutils.h:
4618         * gst/gstxml.h:
4619           added two new functions to the docs
4620                 documents all undocumented GstXXXFlags
4621                 completed some incomplete docs 
4622
4623 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4624
4625         * gst/gstbin.c: (gst_bin_dispose):
4626         * gst/gstelement.c: (gst_element_dispose):
4627           remove now useless and leaky resurrection code in dispose
4628         * gst/base/gstbasesrc.c: (gst_base_src_init):
4629         * gst/gstelementfactory.c: (gst_element_factory_create):
4630         * gst/gstobject.c: (gst_object_set_parent):
4631           add some debugging
4632
4633 2005-09-27  Wim Taymans  <wim@fluendo.com>
4634
4635         * docs/design/part-TODO.txt:
4636         Update TODO.
4637
4638         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4639         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4640         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4641         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4642         (gst_bin_change_state):
4643         * gst/gstelement.h:
4644         Remove element variable, we keep element info in the iterator now.
4645
4646 2005-09-27  Andy Wingo  <wingo@pobox.com>
4647
4648         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
4649         values.
4650
4651 2005-09-27  Wim Taymans  <wim@fluendo.com>
4652
4653         * check/gst/gstbin.c: (GST_START_TEST):
4654         Enable check that works now.
4655
4656         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
4657         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
4658         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4659         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4660         (gst_bin_change_state):
4661         * gst/gstbin.h:
4662         Redid the state change algorithm using a topological sort algo.
4663         Handles all cases correctly.
4664         Exposed iterator for state change order.
4665
4666         * gst/gstelement.h:
4667         Temp storage for state changes. Need to get rid of this soon.
4668
4669 2005-09-27  Wim Taymans  <wim@fluendo.com>
4670
4671         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
4672         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
4673         (link_fold_func), (gst_pad_proxy_setcaps):
4674         Leak fixes, the fold functions need to unref the passed object and
4675         _get_parent_*() returns ref to parent.
4676
4677 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4678
4679         * check/gst/gstbuffer.c: (test_make_writable):
4680           Plug leak in test case and fix 'make check-valgrind'
4681
4682 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4683
4684         * gst/gstbuffer.c: (gst_subbuffer_init):
4685           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
4686           works correctly in all circumstances (we could have just copied
4687           the parent buffer's readonly flag, but conceptually it seems
4688           cleaner to mark all subbuffers as read-only). (based on patch
4689           by Alessandro Decina, #314710).
4690         
4691         * check/gst/gstbuffer.c: (create_read_only_buffer),
4692         (test_make_writable), (test_subbuffer_make_writable),
4693         (gst_test_suite):
4694           Add some tests for gst_buffer_make_writable().
4695
4696 2005-09-27  Wim Taymans  <wim@fluendo.com>
4697
4698         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
4699         use gst_object_has_ancestor().
4700
4701         * gst/gstobject.c: (gst_object_has_ancestor):
4702         * gst/gstobject.h:
4703         gst_object_has_ancestor() copied from gstbin.c as it is a
4704         usefull function.
4705
4706         * tests/instantiate/create.c: (create_all_elements):
4707         * tests/lat.c: (handoff_src), (handoff_sink):
4708         * tests/sched/runxml.c: (main):
4709         * tests/seeking/seeking1.c: (main):
4710         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4711         (main):
4712         Fix compilation of some tests.
4713
4714 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
4715
4716         * gst/gsterror.h:
4717           Remove comment. GST_TYPE_G_ERROR is here to stay,
4718           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
4719           (#316961, #300610).
4720
4721 2005-09-26  Wim Taymans  <wim@fluendo.com>
4722
4723         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4724         Added check that shows error in state change order.
4725
4726 2005-09-26  Wim Taymans  <wim@fluendo.com>
4727
4728         * gst/gstbin.c: (gst_bin_change_state):
4729         Make state change function use 3 queues again, we were
4730         adding elements in the wrong order.
4731
4732         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4733         Some debug info,
4734
4735         * gst/gstpad.c: (gst_pad_dispose):
4736         Added some debug info first.
4737
4738 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4739
4740         * docs/design/draft-push-pull.txt:
4741         * docs/design/part-events.txt:
4742         * docs/design/part-overview.txt:
4743         * docs/design/part-scheduling.txt:
4744           Replace all _pull_region() with _pull_range()
4745           
4746 2005-09-26  Andy Wingo  <wingo@pobox.com>
4747
4748         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
4749
4750         * check/gst-libs/controller.c: Update for controller api change.
4751
4752         * configure.ac: 
4753         * tests/Makefile.am:
4754         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
4755         over by GLib bug 118439.
4756         
4757         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
4758         routines to a function.
4759
4760         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
4761
4762         * libs/gst/controller/gsthelper.c:
4763         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
4764         (gst_object_sync_values): Renamed from sink_values. Ugh.
4765
4766         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
4767
4768         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
4769         Renamed from controller_key, as it is exported.
4770
4771         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
4772
4773 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4774
4775         * gst/Makefile.am:
4776         * gst/gst.h:
4777         * gst/gstpad.h:
4778         * gst/gstpadtemplate.h:
4779         * gst/gstquery.c:
4780         * gst/gstquery.h:
4781         * gst/gstqueryutils.c:
4782         * gst/gstqueryutils.h:
4783           remove queryutils headers after moving the two used functions
4784           to gstquery.  also fixes build problem for gstsiddec
4785
4786 2005-09-26  Michael Smith <msmith@fluendo.com>
4787
4788         * tools/gst-launch.1.in:
4789         Correct documentation in manpage of debug syntax
4790
4791 2005-09-26  Wim Taymans  <wim@fluendo.com>
4792
4793         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
4794         (gst_base_src_is_seekable), (gst_base_src_change_state):
4795         Some more debugging info.
4796
4797 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4798
4799         * docs/gst/gstreamer-sections.txt:
4800         * gst/base/gstbasetransform.h:
4801         * gst/gstindex.h:
4802           added more docs
4803
4804 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4805
4806         * docs/gst/.cvsignore:
4807         * docs/gst/tmpl/.cvsignore:
4808         * docs/gst/tmpl/gstpipeline.sgml:
4809         * docs/gst/tmpl/gstplugin.sgml:
4810         * gst/gstpipeline.c:
4811         * gst/gstplugin.c:
4812         * gst/gstplugin.h:
4813           inlined the last two docs files
4814           removed the tmpl directory from cvs (no more conflicts here!)
4815
4816 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
4817
4818         * docs/gst/gstreamer-sections.txt:
4819         * docs/gst/tmpl/.cvsignore:
4820         * docs/gst/tmpl/gstpad.sgml:
4821         * docs/gst/tmpl/gstpadtemplate.sgml:
4822         * gst/Makefile.am:
4823         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4824         (gst_pad_finalize), (gst_pad_set_pad_template):
4825         * gst/gstpad.h:
4826         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
4827         (gst_pad_template_class_init), (gst_pad_template_init),
4828         (gst_pad_template_dispose), (name_is_valid),
4829         (gst_static_pad_template_get), (gst_pad_template_new),
4830         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
4831         (gst_pad_template_pad_created):
4832         * gst/gstpadtemplate.h:
4833           inlined two more docs
4834           factored gstpadtemplate out of gstpad
4835
4836 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
4837
4838         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4839         (test_children_state_change_order_semi_sink):
4840           Fix test case: we can't rely on a fixed state change order when
4841           going from READY => PAUSED because the sink might commit its 
4842           new state first when the first buffer created by the source 
4843           reaches the sink before the source has finished its change state.
4844           (Test case still fails at times, see #316856, comment 5 onwards)
4845
4846 2005-09-24  Wim Taymans  <wim@fluendo.com>
4847
4848         * docs/design/part-events.txt:
4849         * docs/design/part-gstbus.txt:
4850         * docs/design/part-gstpipeline.txt:
4851         * docs/design/part-messages.txt:
4852         * docs/design/part-overview.txt:
4853         * docs/design/part-segments.txt:
4854         * gst/gstbin.c:
4855         * gst/gstbuffer.c:
4856         * gst/gstclock.c:
4857         * gst/gstelement.c:
4858         * gst/gstevent.c:
4859         * gst/gstfilter.c:
4860         * gst/gstiterator.c:
4861         Various documentation updates.
4862
4863 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4864
4865         * gst/gstclock.h:
4866           Well, that's embarassing.  Luckily we weren't using
4867           GST_CLOCK_DIFF anywhere.
4868
4869 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4870
4871         * common/gtk-doc.mak:
4872           don't fail on building XML, FC4 slave shows a bunch of doc
4873           missing bits that I don't get
4874         * gst/gstpad.c:
4875         * gst/gstpipeline.c:
4876         * gst/gststructure.c:
4877           some doc updates
4878
4879 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4880
4881         * docs/design/part-gstbin.txt:
4882         * docs/design/part-gstbus.txt:
4883         * gst/gstbus.c:
4884           Add blurb about how the bus goes into flushing mode and
4885           drops all messages when its bin goes from READY into NULL 
4886           state.
4887
4888 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4889
4890         * docs/gst/gstreamer-sections.txt:
4891         * gst/gststructure.c: (gst_structure_get_clock_time):
4892         * gst/gststructure.h:
4893           add a method to get a GstClockTime out of a structure
4894
4895 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4896
4897         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
4898         (test_children_state_change_order_semi_sink), (gst_bin_suite):
4899           Added test to check state change order in bins (can still be made
4900           to fail here under heavy disk load; bails out with 'Push on pad
4901           fakesink:sink0, but it was not activated in push mode').
4902
4903         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
4904           Fix state change order when there is only a semi sink (#316856)
4905
4906         * gst/gstbus.c: (gst_bus_class_init):
4907           Use _class_peek_parent(), not _class_ref(); fix docs to say
4908           'default main context' instead of 'mainloop' where that is
4909           what's meant.
4910
4911         * gst/gstelement.c: (gst_element_commit_state),
4912         (gst_element_set_state):
4913           Fix typos in debug messages
4914
4915 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4916
4917         * docs/README:
4918         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
4919         * gst/gstpluginfeature.c:
4920         * gst/gstutils.c:
4921           various doc updates
4922         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4923           change an assert into an error until it gets fixed properly
4924
4925 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
4926
4927         * docs/gst/gstreamer-sections.txt:
4928         * docs/gst/tmpl/.cvsignore:
4929         * docs/gst/tmpl/gstelement.sgml:
4930         * docs/gst/tmpl/gstinfo.sgml:
4931         * docs/gst/tmpl/gstobject.sgml:
4932         * gst/gstelement.c:
4933         * gst/gstelement.h:
4934         * gst/gstinfo.c:
4935         * gst/gstinfo.h:
4936         * gst/gstobject.c: (gst_object_class_init):
4937         * gst/gstobject.h:
4938           inlined 3 more biiiig doc files and added some missing docs on the fly
4939
4940 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4941
4942         * check/gst/.cvsignore:
4943         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
4944         * gst/gstregistryxml.c: (load_plugin),
4945         (gst_registry_xml_save_plugin):
4946           put back source in registry.  add checks for find_plugin.
4947         * testsuite/states/bin.c: (assert_state), (empty_bin),
4948         (test_adding_one_element), (main):
4949         * testsuite/states/locked.c: (main):
4950           some compile/run fixes
4951
4952 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4953
4954         * check/gst/gstvalue.c: (GST_START_TEST):
4955           fix leaks in the test itself
4956
4957 2005-09-22  Wim Taymans  <wim@fluendo.com>
4958
4959         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4960         (gst_base_sink_send_event), (gst_base_sink_peer_query),
4961         (gst_base_sink_query):
4962         Prepare for more accurate position reporting and query
4963         handling.
4964
4965         * gst/gstelement.c: (gst_element_send_event),
4966         (gst_element_set_state):
4967         Add some comment.
4968
4969 2005-09-22  Wim Taymans  <wim@fluendo.com>
4970
4971         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
4972         (gst_query_parse_segment):
4973         * gst/gstquery.h:
4974         More documentation.
4975         Add segment query for future use.
4976
4977 2005-09-22  Wim Taymans  <wim@fluendo.com>
4978
4979         * gst/gstbin.c: (gst_bin_add_func):
4980         Some more debug info.
4981
4982         * gst/gstelement.c: (gst_element_send_event):
4983         Simplify send_event
4984
4985         * gst/gstelement.h:
4986         Don't know how flags got broken.
4987
4988         * gst/gstquery.h:
4989         Added new query.
4990
4991 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4992
4993         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
4994           Add simplistic test suite for GST_TYPE_DATE serialisation and
4995           deserialisation.
4996
4997 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4998
4999         * docs/gst/gstreamer-sections.txt:
5000         * gst/gststructure.c: (gst_structure_set_valist),
5001         (gst_structure_get_date):
5002         * gst/gststructure.h:
5003         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5004         (gst_date_copy), (gst_value_compare_date),
5005         (gst_value_serialize_date), (gst_value_deserialize_date),
5006         (gst_value_transform_date_string),
5007         (gst_value_transform_string_date), (_gst_value_initialize):
5008         * gst/gstvalue.h:
5009           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5010           bunch of utility functions along with a hack that checks that
5011           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5012           is required. Part of the grand scheme in #170777.
5013
5014 2005-09-22  Andy Wingo  <wingo@pobox.com>
5015
5016         * gst/gstconfig.h.in: Psych out gtk-doc.
5017
5018         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5019
5020         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5021
5022         * tools/gst-inspect.c (print_element_list): Plug some
5023         inconsequential leaks.
5024
5025         * gst/gstregistry.c (gst_registry_get_default): Doc.
5026
5027         * check/gst/gstplugin.c: 
5028         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5029         * gst/gstelementfactory.c (gst_element_factory_create): 
5030         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5031         refcount changes.
5032
5033         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5034         (gst_plugin_feature_load): Doc, don't eat refs.
5035
5036         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5037         (gst_plugin_list_free): Doc.
5038         (gst_plugin_load_file): Doc updates.
5039
5040         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5041         accessors returning refcounted objects, return a ref.
5042
5043         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5044         accessor for caps. IDEMPOTENCE. Oh yes.
5045
5046 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
5047
5048         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5049
5050         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5051         (_gst_debug_register_funcptr):
5052           Add mutex to serialise access to the hash table with
5053           the function pointer => function name string mapping;
5054           make that hash table static scope (#316809).
5055
5056         * gst/registries/.cvsignore:
5057           Remove left-over file.
5058
5059 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5060
5061         * docs/pwg/appendix-porting.xml:
5062           And something about newsegment events and caps-on-buffers to
5063           the porting guide (feel free to improve).
5064
5065 2005-09-21  Andy Wingo  <wingo@pobox.com>
5066
5067         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5068         data and event probes on the same pad.
5069         (test_buffer_probe_once): Test that removing probes from within
5070         the probe functions works.
5071
5072 2005-09-21  Andy Wingo  <wingo@pobox.com>
5073
5074         * check/gst/gstutils.c: New file.
5075         (test_buffer_probe_n_times): A simple buffer probe test. More to
5076         come, foolios.
5077
5078         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5079         have-data::buffer, not have-data.
5080         (gst_pad_add_event_probe): Likewise for have-data::event.
5081         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5082         peer' isn't quite right yet though.
5083         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5084         (gst_pad_remove_data_probe): Change to take the guint handler_id
5085         as their arg, not the function+data, which is more glib-like.
5086
5087         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5088         the signal emission to indicate if the data is a buffer or an
5089         event.
5090         (gst_pad_get_type): Initialize buffer and event quarks.
5091         (gst_pad_class_init): have-data is now a detailed signal, yes it
5092         is.
5093
5094 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5095
5096         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5097         * gst/gstutils.c: (gst_util_set_value_from_string),
5098         (gst_util_set_object_arg):
5099           Don't put functional code in g_return_if_fail() or
5100           g_return_val_if_fail() statements, otherwise things will 
5101           break when G_DISABLE_CHECKS is defined during compilation.
5102
5103 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5104
5105         * docs/gst/tmpl/.cvsignore:
5106         * docs/gst/tmpl/gstvalue.sgml:
5107         * gst/gstvalue.c:
5108         * gst/gstvalue.h:
5109           inlied another one and added  some obvious docs
5110
5111 2005-09-21  Wim Taymans  <wim@fluendo.com>
5112
5113         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5114         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5115         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5116         (gst_fdsrc_get_property), (gst_fdsrc_create):
5117         * gst/elements/gstfdsrc.h:
5118         Properly implement fdsrc. Removed signal and timeout,
5119         better implemented somewhere else.
5120
5121 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5122
5123         * docs/gst/tmpl/.cvsignore:
5124         * docs/gst/tmpl/gstimplementsinterface.sgml:
5125         * gst/gstinterface.c:
5126           inlined more docs
5127
5128 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5129
5130         * docs/gst/gstreamer-sections.txt:
5131         * docs/gst/tmpl/.cvsignore:
5132         * docs/gst/tmpl/gstenumtypes.sgml:
5133           remove obsolete doc file
5134
5135 2005-09-21  David Schleef  <ds@schleef.org>
5136
5137         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5138         little beer, fix a little leak.
5139
5140 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5141
5142         * docs/gst/gstreamer-docs.sgml:
5143         * docs/gst/gstreamer-sections.txt:
5144         * docs/gst/tmpl/.cvsignore:
5145         * gst/Makefile.am:
5146         * gst/gst.h:
5147         * gst/gstbin.c:
5148         * gst/gstelement.h:
5149         * gst/gstindex.c: (gst_index_class_init):
5150         * gst/gstindex.h:
5151         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5152         (gst_index_factory_class_init), (gst_index_factory_init),
5153         (gst_index_factory_finalize), (gst_index_factory_new),
5154         (gst_index_factory_destroy), (gst_index_factory_find),
5155         (gst_index_factory_create), (gst_index_factory_make):
5156         * gst/gstindexfactory.h:
5157         * gst/gstpluginfeature.c:
5158         * gst/gstpluginfeature.h:
5159         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5160           more docs inlined, splitted gstindex.{c,h}
5161
5162 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5163
5164         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5165           fix a leak
5166
5167 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5168
5169         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5170           Set sync to FALSE by default.
5171
5172 2005-09-20  Wim Taymans  <wim@fluendo.com>
5173
5174         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5175         (gst_base_sink_init):
5176         Make sync property settable from subclass.
5177
5178         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5179         (gst_fake_sink_change_state):
5180         Set sync to FALSE by default.
5181
5182 2005-09-20  Wim Taymans  <wim@fluendo.com>
5183
5184         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5185         * tools/gst-launch.c: (main):
5186         The timeout handler should have lower priority than the source
5187         so we don't timeout before popping a message with 0 timeout.
5188         Dump error messages after failed state change.
5189
5190 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5191
5192         * tools/gst-inspect.c: (print_element_properties_info):
5193           Fix two typos.
5194
5195 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5196
5197         * check/gst/gstevent.c:
5198         * gst/elements/gstfakesink.c:
5199         * gst/elements/gstfakesink.h:
5200           remove the sync property from fakesink.
5201           has the side effect of setting sync TRUE
5202           for fakesink, which is a change.  Anyone who knows how
5203           to fix this nicely in a GObject-y way, feel free.
5204
5205 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5206
5207         * docs/gst/gstreamer-docs.sgml:
5208           remove probe refsection
5209
5210 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5211
5212         * check/Makefile.am:
5213           disable valgrinding the controller test again
5214         * docs/gst/gstreamer-sections.txt:
5215           update for api-changes
5216
5217 2005-09-20  Wim Taymans  <wim@fluendo.com>
5218
5219         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5220         (gst_base_sink_set_property), (gst_base_sink_get_property),
5221         (gst_base_sink_do_sync):
5222         * gst/base/gstbasesink.h:
5223         Added sync property to basesink to disable clock sync.
5224
5225 2005-09-20  Andy Wingo  <wingo@pobox.com>
5226
5227         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5228         eating the caller's refcount.
5229
5230         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5231         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5232         refcount.
5233
5234         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5235         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5236         of GLib 2.8 public, so we can know which refcount to check in
5237         tests.
5238
5239         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5240         (gst_object_init): Only set the gst refcount if we're going ahead
5241         with the refcount hack.
5242
5243 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5244
5245         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5246         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5247           more leaks plumbed, added more debug-logging
5248         * gst/gstmacros.h:
5249           whitespace fix
5250
5251 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5252
5253         * gst/gstmessage.c:
5254           remove include of gstmemchunk.h
5255
5256 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5257
5258         * gst/gstclock.c: (_gst_clock_id_free):
5259           Commit from the Political Party For More Atomic CVS Commits,
5260           so that people don't waste too much of their day fishing
5261           out obvious leaks out of massive commits.
5262           Oh, and fix a pretty damn obvious leak in the memchunk
5263           removal code.
5264
5265 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5266
5267         * check/Makefile.am:
5268         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5269           plug mem-leak, re-add to valgrindable tests
5270
5271 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5272
5273         * gst/gstplugin.h:
5274           unbreak the build for those who have chronic arthritis
5275           and typing "make check" is just too taxing on the hands
5276
5277 2005-09-20  Andy Wingo  <wingo@pobox.com>
5278
5279         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5280         really want it out, you should fix plugins at the same time.
5281
5282 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
5283
5284         * configure.ac:
5285         * docs/gst/gstreamer-sections.txt:
5286         * gst/gstobject.c:
5287           added missing symbols to api docs
5288           disable ref-count hack if we have glib >= 2.8
5289
5290 2005-09-19  David Schleef  <ds@schleef.org>
5291
5292         * docs/gst/Makefile.am: Ignore a few more internal headers
5293         * docs/gst/gstreamer-docs.sgml: Remove old sections
5294         * docs/gst/gstreamer-sections.txt: Remove old sections
5295         * docs/gst/tmpl/gstobject.sgml: update
5296         * docs/gst/tmpl/gstplugin.sgml: update
5297         * docs/gst/tmpl/gstpluginfeature.sgml: update
5298         * docs/random/ds/0.9-suggested-changes: update.
5299         * gst/Makefile.am: remove memchunk and trashstack, since they're
5300           not used.
5301         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5302         * gst/gst.h: don't include some headers
5303         * gst/gstchildproxy.c: add gstmarshal.h
5304         * gst/gstclock.c: Don't use memchunks
5305         * gst/gstminiobject.c: Add some docs
5306         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5307         * gst/gstobject.h: same
5308         * gst/gstplugin.c: include gstmacros.h
5309         * gst/gstplugin.h: don't include gstmacros.h, since it's private
5310         * gst/gstquery.c: don't use memchunks
5311         * gst/gstregistry.c: rename gst_registry_deinit()
5312         * gst/gstregistry.h: same
5313
5314 2005-09-19  David Schleef  <ds@schleef.org>
5315
5316         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5317         * docs/libs/gstreamer-libs-sections.txt:
5318         * docs/libs/tmpl/gstgetbits.sgml:
5319         * docs/libs/tmpl/gstputbits.sgml:
5320
5321 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5322
5323         * win32/gstenumtypes.c:
5324         * win32/gstenumtypes.h:
5325           Update.
5326
5327 2005-09-19  Wim Taymans  <wim@fluendo.com>
5328
5329         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5330         Automatically PAUSE and RESUME a pipeline when a flushing seek
5331         is performed.
5332
5333 2005-09-19  Andy Wingo  <wingo@pobox.com>
5334
5335         * gst/gstregistry.h: Spacing fixen.
5336
5337 2005-09-19  Wim Taymans  <wim@fluendo.com>
5338
5339         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5340         Handle state change failure more correctly.
5341
5342 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5343
5344         * check/Makefile.am:
5345         * check/pipelines/cleanup.c: (run_pipeline):
5346         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5347         (GST_START_TEST):
5348           enable cleanup again after fixing the leak
5349         * docs/README:
5350           some more info on docs
5351
5352 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5353
5354         * check/Makefile.am:
5355           re-enable tests now that leaks are plugged
5356         * check/gst/gst.c:
5357         * check/gst/gstbin.c:
5358         * check/gst/gstpipeline.c:
5359           add some more tests while fixing leaks
5360         * common/check.mak:
5361           make sure binaries are uptodate when valgrinding/gdbing
5362         * gst/gst.c:
5363         * gst/gstelementfactory.c:
5364           remove a ref too many, and add a FIXME for when we get
5365           round to disposing of classes
5366         * gst/gstplugin.c:
5367           fix the refcounting when loading a plugin from a file and
5368           the code pretends that the pointer is the same even though
5369           of course it can change
5370         * gst/gstpluginfeature.c:
5371           unref plugins marked cached (a bit confusing as a name)
5372           as the docs state should be done
5373           various doc additions to explain refcounting
5374         * gst/gstregistry.c:
5375         * gst/gstregistryxml.c:
5376           debugging
5377
5378 2005-09-19  Wim Taymans  <wim@fluendo.com>
5379
5380         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5381         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5382         (send_messages), (GST_START_TEST), (gstbus_suite):
5383         * check/gst/gstpipeline.c: (GST_START_TEST):
5384         * check/pipelines/cleanup.c: (run_pipeline):
5385         * check/pipelines/simple_launch_lines.c: (run_pipeline),
5386         (GST_START_TEST):
5387         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5388         (gst_bus_source_check), (gst_bus_source_dispatch),
5389         (gst_bus_create_watch), (gst_bus_add_watch_full),
5390         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5391         * gst/gstbus.h:
5392         * tools/gst-launch.c: (event_loop):
5393         * tools/gst-md5sum.c: (event_loop):
5394         GstBusHandler -> GstBusFunc, return value has the same meaning as
5395         any other GSource (FALSE == remove source).
5396         _add_watch() and _add_watch_full() now take a MessageType mask to
5397         only handle specific types of messages.
5398         _poll() returns the GstMessage instead of the message type to avoid
5399         race conditions.
5400         _have_pending() takes a MessageType mask now too.
5401         Added testsuite for multiple bus watches.
5402         Fix testsuites and applications for new bus API.
5403
5404 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5405
5406         * check/Makefile.am:
5407           mark a bunch of the tests as to fix until we fix them
5408
5409 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5410
5411         * common/check.mak:
5412           use GST_PLUGIN settings for valgrind tests as well, so we're
5413           valgrinding the correct thing
5414         * gst/gst.c: (init_post):
5415           plug another leak
5416
5417 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5418
5419         * gst/gst.c: (init_post), (gst_deinit):
5420         * gst/gstelementfactory.c: (gst_element_factory_class_init),
5421         (gst_element_factory_finalize), (gst_element_factory_cleanup):
5422         * gst/gstindex.c: (gst_index_factory_class_init),
5423         (gst_index_factory_finalize):
5424         * gst/gstobject.c: (gst_object_dispose):
5425         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
5426         (gst_plugin_load_file), (gst_plugin_desc_free):
5427         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
5428         (gst_plugin_feature_finalize):
5429         * gst/gstregistry.c: (gst_registry_class_init),
5430         (gst_registry_init), (gst_registry_finalize),
5431         (gst_registry_get_default), (gst_registry_deinit):
5432         * gst/gstregistry.h:
5433         * gst/gstregistryxml.c: (load_feature), (load_plugin):
5434           various cleanups and memleak plugging.  make valgrind is happy now.
5435
5436 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5437
5438         * common/check.mak:
5439           add a check-valgrind target
5440
5441 2005-09-18  David Schleef  <ds@schleef.org>
5442
5443         * tools/gst-inspect.c: Revert the GOption code.
5444
5445 2005-09-17  David Schleef  <ds@schleef.org>
5446
5447         * check/Makefile.am: Fix environment variables.
5448         * check/gst/gstplugin.c: Fix for API changes.
5449         * tools/gst-inspect.c: Fix for API changes.
5450         * tools/gst-xmlinspect.c: Fix for API changes.
5451         * gst/gstelementfactory.c:
5452         * gst/gstplugin.c:
5453         * gst/gstplugin.h:
5454         * gst/gstpluginfeature.c:
5455         * gst/gstpluginfeature.h:
5456         * gst/gstregistry.c:
5457         * gst/gstregistry.h:
5458         * gst/gstregistryxml.c:
5459         * gst/gsttypefind.c:
5460         * gst/gsttypefindfactory.c:
5461         * gst/indexers/gstfileindex.c:
5462         * gst/indexers/gstmemindex.c:
5463         * gst/schedulers/Makefile.am:
5464           Change registry to keep track of both plugins and features,
5465           removing the feature tracking from plugins themselves.
5466
5467 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5468
5469         * check/Makefile.am:
5470         * tools/gst-register.1.in:
5471           remove gst-register
5472
5473 2005-09-15  David Schleef  <ds@schleef.org>
5474
5475         * check/gst/gstplugin.c:
5476         * gst/gstelementfactory.c:
5477         * gst/gstplugin.c:
5478         * gst/gstpluginfeature.c:
5479         * gst/gstregistry.c:
5480           Getting tired of debugging.  Disabled all the unreffing of
5481           plugins and features, which fixes the segfaults, but of
5482           course leaks like crazy.  At least playbin works.
5483
5484 2005-09-15  David Schleef  <ds@schleef.org>
5485
5486         * check/gst/gstplugin.c: (register_check_elements),
5487         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
5488         More testing
5489         * gst/elements/gsttypefindelement.c: Fix refcounting.
5490         * gst/gsttypefind.c:
5491         * gst/gsttypefindfactory.c:
5492         * gst/gsttypefindfactory.h:
5493
5494 2005-09-15  David Schleef  <ds@schleef.org>
5495
5496         * gst/gstindex.c: get refcounting correct.
5497         * gst/gstregistry.c: Handle the case where a feature/plugin is
5498           not found.
5499
5500 2005-09-15  David Schleef  <ds@schleef.org>
5501
5502         * check/Makefile.am:
5503         * check/gst/gstplugin.c: Add test
5504         * gst/gstplugin.c: Fix problems noticed by testsuite
5505         * gst/gstplugin.h:
5506         * gst/gstregistry.c: 
5507         * gst/gstregistry.h:
5508
5509 2005-09-15  David Schleef  <ds@schleef.org>
5510
5511         * gst/gstplugin.c: Implement semi-decent recounting and locking
5512           in plugins and plugin features.
5513         * gst/gstplugin.h:
5514         * gst/gstpluginfeature.c:
5515         * gst/gstpluginfeature.h:
5516         * gst/gstregistry.c:
5517
5518 2005-09-15  Michael Smith <msmith@fluendo.com>
5519
5520         * gst/gstregistry.c: (gst_registry_get_feature_list):
5521           Implement this. Makes oggdemux work; decodebin still broken.
5522
5523 2005-09-14  David Schleef  <ds@schleef.org>
5524
5525         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
5526           #316076)
5527         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
5528         * gst/check/Makefile.am:
5529         * libs/gst/controller/Makefile.am:
5530         * libs/gst/dataprotocol/Makefile.am:
5531
5532 2005-09-14  David Schleef  <ds@schleef.org>
5533
5534         * configure.ac: Remove getbits library.  Nothing uses it, and
5535           it should be in something like liboil if someone did want
5536           to use it.
5537         * libs/gst/Makefile.am:
5538         * libs/gst/getbits/Makefile.am:
5539         * libs/gst/getbits/gbtest.c:
5540         * libs/gst/getbits/getbits.c:
5541         * libs/gst/getbits/getbits.h:
5542         * libs/gst/getbits/gstgetbits_generic.c:
5543         * libs/gst/getbits/gstgetbits_i386.s:
5544         * libs/gst/getbits/gstgetbits_inl.h:
5545
5546 2005-09-14  David Schleef  <ds@schleef.org>
5547
5548         * gst/Makefile.am: Dist glib-compat.h
5549
5550 2005-09-14  David Schleef  <ds@schleef.org>
5551
5552         * configure.ac: Remove gst/registries, since it's no longer used.
5553         * gst/registries/Makefile.am:
5554         * gst/registries/gstlibxmlregistry.c:
5555         * gst/registries/gstlibxmlregistry.h:
5556         * gst/registries/gstxmlregistry.c:
5557         * gst/registries/gstxmlregistry.h:
5558         * gst/registries/registrytest.c:
5559
5560 2005-09-14  David Schleef  <ds@schleef.org>
5561
5562         * gst/glib-compat.h:
5563         * gst/gstregistryxml.c:
5564           Convergence is near.  Seriously.
5565
5566 2005-09-14  David Schleef  <ds@schleef.org>
5567
5568         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5569         * gst/glib-compat.h:
5570           Attempt #4 to appease the buildbots.
5571
5572 2005-09-14  David Schleef  <ds@schleef.org>
5573
5574         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5575           Attempt #3.
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 #2.
5581
5582 2005-09-14  David Schleef  <ds@schleef.org>
5583
5584         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
5585           the new functions.
5586
5587 2005-09-14  David Schleef  <ds@schleef.org>
5588
5589         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
5590         * gst/glib-compat.h: Add some functions that are in newer versions
5591           of glib than we care to require.
5592         * gst/gstregistryxml.c: Use them.
5593
5594 2005-09-14  David Schleef  <ds@schleef.org>
5595
5596         * po/POTFILES.in: remove gst-register.c
5597
5598 2005-09-14  David Schleef  <ds@schleef.org>
5599
5600         * docs/gst/gstreamer-docs.sgml:
5601         * docs/gst/gstreamer-sections.txt:
5602         * docs/gst/gstreamer.types:
5603         * docs/gst/tmpl/gstelement.sgml:
5604         * docs/gst/tmpl/gstplugin.sgml:
5605         * docs/gst/tmpl/gstpluginfeature.sgml:
5606           Documentation updates for registry changes.
5607
5608 2005-09-14  David Schleef  <ds@schleef.org>
5609
5610         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
5611           because we don't require glib-2.8.
5612
5613 2005-09-14  David Schleef  <ds@schleef.org>
5614
5615         * gst/gstregistryxml.c: Added.  Essentially moved out of the
5616           registries directory.
5617
5618 2005-09-14  David Schleef  <ds@schleef.org>
5619
5620         * check/Makefile.am:
5621         * check/generic/states.c:
5622         * gst/Makefile.am:
5623         * gst/gst.c:
5624         * gst/gst.h:
5625         * gst/gst_private.h:
5626         * gst/gstelementfactory.c:
5627         * gst/gstindex.c:
5628         * gst/gstinfo.c:
5629         * gst/gstplugin.c:
5630         * gst/gstplugin.h:
5631         * gst/gstpluginfeature.c:
5632         * gst/gstpluginfeature.h:
5633         * gst/gstregistry.c:
5634         * gst/gstregistry.h:
5635         * gst/gstregistrypool.c: remove
5636         * gst/gstregistrypool.h: remove
5637         * gst/gsttypefind.c:
5638         * gst/gsttypefindfactory.c:
5639         * gst/gsturi.c:
5640         * tools/Makefile.am:
5641         * tools/gst-compprep.c:
5642         * tools/gst-inspect.c:
5643         * tools/gst-register.c: remove
5644         * tools/gst-xmlinspect.c:
5645           Registry rewrite.  Changes registry from being a file created
5646           by a tool into a simple cache file created automatically by 
5647           libgstreamer.  Removed gst-register (because it's no longer
5648           needed).  Remove registry pools, because we only have one
5649           registry implementation (XML).  Fix up other subsystems as
5650           necessary.
5651
5652 2005-09-13  Michael Smith <msmith@fluendo.com>
5653
5654         * gst/gstconfig.h.in:
5655           Don't Use windows linking attributes for MinGW. Fixes #316157
5656
5657 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5658
5659         * gst/gstutils.c: (set_state_async_thread_func),
5660         (gst_element_set_state_async):
5661           Apparently people think it's better if this function doesn't
5662           try to set the state to whatever state was asked for on the first
5663           call to this function for any object.  Seriously.
5664
5665 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5666
5667         * check/gst/gstpipeline.c: (GST_START_TEST):
5668         * docs/gst/gstreamer-sections.txt:
5669         * gst/gstutils.c: (set_state_async_thread_func),
5670         (gst_element_set_state_async):
5671         * gst/gstutils.h:
5672           add a "gst_element_set_state_async" method that
5673           sets the state and starts a thread to make sure the state
5674           change completes as best as it can
5675
5676 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5677
5678         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5679           codify design+behaviour in testsuite after discussion
5680
5681 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5682
5683         * docs/gst/tmpl/gstelement.sgml:
5684         * docs/manual/appendix-quotes.xml:
5685           add a quote
5686         * gst/gstelement.c: (gst_element_set_state):
5687           add some debug
5688
5689 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
5690
5691         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5692         (gst_base_transform_prepare_output_buf),
5693         (gst_base_transform_handle_buffer):
5694         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
5695         (gst_capsfilter_prepare_buf):
5696           Remove the requirement for sub-classes to call the parent
5697           implementation of prepare_output_buffer with a wrapper function.
5698           
5699         * gst/gsttaglist.h:
5700         * gst/gsttagsetter.h:
5701           Fix #define wrapper
5702
5703 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
5704
5705         * docs/gst/gstreamer-sections.txt:
5706           more doc cleanups
5707
5708 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5709
5710         * docs/gst/gstreamer-sections.txt:
5711         * docs/gst/tmpl/gstelement.sgml:
5712         * docs/gst/tmpl/gstplugin.sgml:
5713         * gst/gstminiobject.c:
5714         * gst/gstvalue.h:
5715           docs now stop throwing warnings
5716
5717 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5718
5719         * docs/gst/gstreamer-sections.txt:
5720         * docs/gst/gstreamer.types:
5721         * docs/gst/tmpl/gstpad.sgml:
5722         * docs/gst/tmpl/gsttypes.sgml:
5723         * gst/base/gstadapter.h:
5724         * gst/base/gstbasesink.h:
5725         * gst/base/gstbasesrc.h:
5726         * gst/gstbin.h:
5727         * gst/gstbuffer.h:
5728         * gst/gstbus.h:
5729         * gst/gstcaps.h:
5730         * gst/gstclock.h:
5731         * gst/gstelement.h:
5732         * gst/gstevent.h:
5733         * gst/gstmessage.h:
5734         * gst/gstpad.h:
5735         * gst/gststructure.c:
5736         * gst/registries/gstlibxmlregistry.h:
5737           various documentation fixes
5738
5739 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5740
5741         * docs/gst/gstreamer-sections.txt:
5742         * docs/gst/tmpl/gstvalue.sgml:
5743           rearrange gstvalue section
5744         * gst/gstutils.c: (gst_element_state_get_name):
5745           NONE -> VOID
5746         * gst/gstvalue.c: (_gst_value_initialize):
5747         * gst/gstvalue.h:
5748           doc updates
5749
5750 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
5751
5752         * check/gst-libs/controller.c:
5753           Header include fix.
5754         * gst/base/gstbasetransform.c:
5755         (gst_base_transform_default_prepare_buf),
5756         (gst_base_transform_handle_buffer):
5757         * gst/base/gstbasetransform.h:
5758           Some more basetransform changes and fixes to enable sub-classes
5759           that modify buffer metadata only.
5760         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5761         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
5762         (gst_capsfilter_prepare_buf):
5763           If the output pad has fixed allowed caps and input buffers 
5764           don't have any, set the fixed caps on outgoing buffers.
5765
5766 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
5767         * check/elements/identity.c: (GST_START_TEST):
5768           Make the error a little clearer when the test fails because
5769           identity made a copy of the buffer.
5770         * docs/gst/gstreamer-sections.txt:
5771           New symbols in gstbasetransform.h
5772         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5773         (gst_base_transform_init), (gst_base_transform_transform_size),
5774         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5775         (gst_base_transform_default_prepare_buf),
5776         (gst_base_transform_get_unit_size),
5777         (gst_base_transform_buffer_alloc),
5778         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5779         (gst_base_transform_change_state),
5780         (gst_base_transform_set_passthrough),
5781         (gst_base_transform_set_in_place),
5782         (gst_base_transform_is_in_place):
5783         * gst/base/gstbasetransform.h:
5784           Change BaseTransform to separate in_place operate from same_caps
5785           output. in_place implies that the element can perform the transform
5786           on incoming buffers in-place, even if the caps on the output are
5787           different.
5788           Sub-class elements can now implement special buffer allocation
5789           methods for outgoing buffers if they wish to.
5790           Big documentation addition.
5791         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
5792         * gst/elements/gstelements.c:
5793           Changes for basetransform modifications.
5794         * gst/elements/Makefile.am:
5795         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
5796           Compile fix. Extra debug output.
5797
5798 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5799
5800         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
5801         (gst_pad_suite):
5802           add tests for valid pad naming
5803         * gst/check/gstcheck.c: (gst_check_log_message_func),
5804         (gst_check_log_critical_func):
5805           add ASSERT_WARNING
5806           remove printing of code, it is fragile when the code contains
5807           % and the line number is enough info
5808         * gst/check/gstcheck.h:
5809         * gst/gstpad.c: (gst_pad_template_new):
5810           fix memleaks
5811
5812 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5813
5814         * configure.ac:
5815           say what CHECK flags we use
5816         * docs/libs/gstreamer-libs.types:
5817         * libs/gst/controller/Makefile.am:
5818         * libs/gst/controller/gst-controller.c:
5819         * libs/gst/controller/gst-controller.h:
5820         * libs/gst/controller/gst-helper.c:
5821         * libs/gst/controller/gst-interpolation.c:
5822         * libs/gst/controller/gstcontroller.c:
5823         * libs/gst/controller/gsthelper.c:
5824         * libs/gst/controller/gstinterpolation.c:
5825         * tools/gst-inspect.c: (print_plugin_info):
5826           we don't use dashes in header names
5827
5828 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5829
5830         * check/Makefile.am:
5831         * check/gst/.cvsignore:
5832         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
5833         (gst_pipeline_suite), (main):
5834           adding a test for pipelines and state changes
5835         * gst/gstutils.c: (get_state_func):
5836           add some debugging
5837         * gstreamer.spec.in:
5838           fix up spec file
5839
5840 2005-09-08  Michael Smith <msmith@fluendo.com>
5841
5842         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
5843         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
5844         (gst_file_src_is_seekable), (gst_file_src_get_size),
5845         (gst_file_src_start):
5846         * gst/elements/gstfilesrc.h:
5847           Various fixes for unseekable, unmmapable, and non-normal files, so
5848           that fallback to read() rather than mmap() works.
5849         * gst/gstevent.c: (gst_event_new_newsegment):
5850           Allow newsegment events with segment_start == segment_end, as will
5851           correctly happen if you use filesrc on a zero-size file, for
5852           example.
5853
5854 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5855
5856         * gst/gstplugin.c: (gst_plugin_load_file):
5857           Call g_module_close when we don't load the module
5858
5859         * gst/registries/gstlibxmlregistry.c:
5860         (gst_xml_registry_get_property):
5861           Port leak fix from 0.8
5862
5863 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5864
5865         * docs/gst/gstreamer-docs.sgml:
5866         * docs/gst/tmpl/.cvsignore:
5867         * docs/gst/tmpl/gsttrace.sgml:
5868         * docs/gst/tmpl/gsttrashstack.sgml:
5869         * gst/Makefile.am:
5870         * gst/gst.h:
5871         * gst/gstelement.h:
5872         * gst/gstevent.h:
5873         * gst/gstmessage.c:
5874         * gst/gstmessage.h:
5875         * gst/gsttag.c:
5876         * gst/gsttag.h:
5877         * gst/gsttaginterface.c:
5878         * gst/gsttaginterface.h:
5879         * gst/gsttaglist.c:
5880         * gst/gsttaglist.h:
5881         * gst/gsttagsetter.c:
5882         * gst/gsttagsetter.h:
5883         * gst/gsttrace.c:
5884         * gst/gsttrace.h:
5885         * gst/gsttrashstack.c:
5886           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
5887           inlined docs for gsttrace, gsttrashstack
5888
5889 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5890
5891         * gst/Makefile.am:
5892         * gst/elements/gstbufferstore.h:
5893         * gst/elements/gsttypefindelement.c:
5894         * gst/elements/gsttypefindelement.h:
5895         * gst/gst.h:
5896         * gst/gsttypefind.c:
5897         * gst/gsttypefind.h:
5898         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
5899         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
5900         (gst_type_find_factory_dispose),
5901         (gst_type_find_factory_unload_thyself),
5902         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
5903         (gst_type_find_factory_get_caps),
5904         (gst_type_find_factory_get_extensions),
5905         (gst_type_find_factory_call_function):
5906         * gst/gsttypefindfactory.h:
5907         * gst/registries/gstlibxmlregistry.c:
5908         * gst/registries/gstxmlregistry.c:
5909           splitted gsttypefind into gsttypefind, gsttypefindfactory
5910
5911 2005-09-07  Andy Wingo  <wingo@pobox.com>
5912
5913         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
5914         condition whereby the pad's task function is entered before the
5915         pad_mode variable was set.
5916
5917 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
5918
5919         * gst/gstpad.c: (gst_pad_alloc_buffer):
5920           Catch misbehaving pad_alloc functions that don't
5921           set up caps and do it for them.
5922
5923 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
5924
5925         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5926           test for pipe!=NULL
5927         * docs/gst/tmpl/.cvsignore:
5928         * docs/gst/tmpl/gstmemchunk.sgml:
5929         * docs/gst/tmpl/gstparse.sgml:
5930         * docs/gst/tmpl/gsttaglist.sgml:
5931         * docs/gst/tmpl/gsttagsetter.sgml:
5932         * docs/gst/tmpl/gsttypefind.sgml:
5933         * docs/gst/tmpl/gsttypefindfactory.sgml:
5934         * gst/gstmemchunk.c:
5935         * gst/gstparse.c:
5936         * gst/gsttag.c:
5937         * gst/gsttaginterface.c:
5938         * gst/gsttypefind.c:
5939         * gst/gsttypefind.h:
5940           inlined more docs
5941
5942 === release 0.9.2 ===
5943
5944 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5945
5946         * NEWS:
5947         * RELEASE:
5948         * configure.ac:
5949           releasing 0.9.2, "South"
5950
5951 2005-09-05  Andy Wingo  <wingo@pobox.com>
5952
5953         * gst/registries/gstxmlregistry.h:
5954         * gst/registries/gstxmlregistry.c: Um... resurrect...
5955         
5956         * gst/registries/gstxmlregistry.h:
5957         * gst/registries/gstxmlregistry.c: and update to newer API.
5958         Incidentally they should be a bit faster now that they don't have
5959         to parse the caps.
5960         
5961 2005-09-05  Andy Wingo  <wingo@pobox.com>
5962
5963         * gst/registries/gstxmlregistry.h:
5964         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
5965         replaced by the libxml registry a while back
5966
5967 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5968
5969         * docs/gst/tmpl/gstplugin.sgml:
5970         * gst/elements/gstelements.c:
5971         * gst/gst.c:
5972         * gst/gstplugin.c: (gst_plugin_register_func),
5973         (gst_plugin_desc_copy), (gst_plugin_desc_free),
5974         (gst_plugin_get_source):
5975         * gst/gstplugin.h:
5976         * gst/registries/gstlibxmlregistry.c: (load_plugin),
5977         (gst_xml_registry_save_plugin):
5978         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
5979         (gst_xml_registry_save_plugin):
5980         * tools/gst-inspect.c: (print_plugin_info):
5981           add a "source" plugin description field, to represent the source
5982           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
5983           will set it to PACKAGE, which is automake's idea of the name of
5984           the source project.
5985
5986 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5987
5988         * Makefile.am:
5989         * autogen.sh:
5990         * configure.ac:
5991         * docs/Makefile.am:
5992         * docs/faq/Makefile.am:
5993         * docs/gst/tmpl/gstelement.sgml:
5994         * docs/gst/tmpl/gsttypes.sgml:
5995         * docs/htmlinstall.mak:
5996         * docs/manual/Makefile.am:
5997         * docs/pwg/Makefile.am:
5998           reorganize doc build a little
5999           split out docbook and gtk-doc stuff
6000           have two separate --enable's and enable them through autogen
6001           but disable by default in configure (to be similar to other
6002           projects)
6003         * gstreamer.spec.in:
6004           clean up docs install
6005         * po/af.po:
6006         * po/az.po:
6007         * po/ca.po:
6008         * po/cs.po:
6009         * po/de.po:
6010         * po/en_GB.po:
6011         * po/fr.po:
6012         * po/it.po:
6013         * po/nb.po:
6014         * po/nl.po:
6015         * po/ru.po:
6016         * po/sq.po:
6017         * po/sr.po:
6018         * po/sv.po:
6019         * po/tr.po:
6020         * po/uk.po:
6021         * po/vi.po:
6022           translation updates
6023
6024 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6025
6026         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6027           Add comment.
6028           
6029         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6030         (gst_fake_sink_change_state):
6031           Make state change function thread-safe.
6032           
6033         * gst/gstpad.c: (gst_pad_alloc_buffer):
6034           Set offset on generic buffer allocated by fallback.
6035
6036 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6037
6038         * docs/gst/gstreamer-sections.txt:
6039         * docs/gst/tmpl/gstelement.sgml:
6040         * gst/gstpad.c:
6041         * libs/gst/controller/gst-controller.c:
6042         (gst_controlled_property_set_interpolation_mode),
6043         (gst_controlled_property_new),
6044         (gst_controller_find_controlled_property):
6045          run the wingo-magic script against the docs
6046
6047 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6048
6049         * docs/gst/gstreamer-docs.sgml:
6050         * docs/gst/gstreamer-sections.txt:
6051         * docs/gst/tmpl/.cvsignore:
6052         * docs/gst/tmpl/gstelementdetails.sgml:
6053         * docs/gst/tmpl/gstelementfactory.sgml:
6054         * gst/gst.c:
6055         * gst/gstbus.c:
6056         * gst/gstelementfactory.c:
6057         * gst/gstelementfactory.h:
6058           merged elementdetails docs into elementfactory docs
6059           inlined both
6060
6061 2005-09-02  Andy Wingo  <wingo@pobox.com>
6062
6063         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6064         consider this enum an enum and not a flags.
6065
6066 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6067
6068         * docs/gst/gstreamer-docs.sgml:
6069         * docs/gst/tmpl/.cvsignore:
6070         * docs/gst/tmpl/gstghostpad.sgml:
6071         * docs/gst/tmpl/gstiterator.sgml:
6072         * docs/gst/tmpl/gstmacros.sgml:
6073         * docs/gst/tmpl/gstrealpad.sgml:
6074         * docs/gst/tmpl/gstregistry.sgml:
6075         * docs/gst/tmpl/gstregistrypool.sgml:
6076         * docs/gst/tmpl/gststructure.sgml:
6077         * docs/gst/tmpl/gstsystemclock.sgml:
6078         * docs/gst/tmpl/gsttrace.sgml:
6079         * gst/gstghostpad.c:
6080         * gst/gstmacros.h:
6081         * gst/gstmemchunk.c:
6082         * gst/gstmemchunk.h:
6083         * gst/gstqueue.c:
6084         * gst/gstregistry.c:
6085         * gst/gstregistrypool.c:
6086         * gst/gststructure.c:
6087         * gst/gstsystemclock.c:
6088           more docs inlined
6089
6090 2005-09-02  Andy Wingo  <wingo@pobox.com>
6091
6092         * gst/gstelement.h (GstState): Renamed from GstElementState,
6093         changed to be a normal enum instead of flags.
6094         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6095         munged to be GST_STATE_CHANGE_*.
6096         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6097         work with the new state representation.
6098         (GstStateChange): New enumeration of possible state transitions.
6099         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6100         (GstElementClass::change_state): Pass the GstStateChange along as
6101         an argument. Helps language bindings, so they don't have to use
6102         tricky lock-needing macros like GST_STATE_CHANGE ().
6103
6104         * scripts/update-states (file): New script. Run it on a file to
6105         update it for state naming and API changes. Updates files in
6106         place.
6107
6108         * All files updated for the new API.
6109
6110 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6111
6112         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6113         * gst/gstutils.c: (gst_util_set_value_from_string),
6114         (gst_util_set_object_arg):
6115           fix a bunch of unchecked return values
6116         * tools/gst-complete.c: (main):
6117         * gstreamer.spec.in:
6118           clean up a little
6119
6120 2005-09-01  Wim Taymans  <wim@fluendo.com>
6121
6122         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6123         (gst_base_sink_event), (gst_base_sink_do_sync),
6124         (gst_base_sink_handle_event):
6125         * gst/base/gstbasesink.h:
6126         Handle newsegments more correctly.
6127
6128         * gst/gstbus.c:
6129         Fix docs.
6130
6131         * gst/gstevent.c: (gst_event_new_newsegment):
6132         A newsegment cannot have a start_time of -1
6133
6134 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6135
6136         * win32/gstenumtypes.c:
6137         * win32/gstenumtypes.h:
6138           Update
6139
6140 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6141
6142         * libs/gst/controller/gst-controller.c:
6143         (gst_controlled_property_set_interpolation_mode),
6144         (gst_controlled_property_new):
6145          fixed boolean again
6146
6147 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6148
6149         * docs/faq/gst-uninstalled:
6150           add -good
6151         * gst/gstevent.c:
6152         * gst/gstevent.h:
6153           remove wrong docs
6154         * gst/gstutils.c: (gst_element_link_filtered):
6155         * gst/gstutils.h:
6156           add gst_element_link_filtered
6157
6158 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6159
6160         * docs/gst/gstreamer-docs.sgml:
6161         * docs/gst/gstreamer-sections.txt:
6162         * docs/gst/tmpl/.cvsignore:
6163         * docs/gst/tmpl/gsterror.sgml:
6164         * docs/gst/tmpl/gstfilter.sgml:
6165         * docs/gst/tmpl/gsturihandler.sgml:
6166         * docs/gst/tmpl/gsturitype.sgml:
6167         * docs/gst/tmpl/gstutils.sgml:
6168         * docs/gst/tmpl/gstxml.sgml:
6169         * gst/gsterror.c:
6170         * gst/gsterror.h:
6171         * gst/gstfilter.c:
6172         * gst/gsturi.c:
6173         * gst/gsturitype.c:
6174         * gst/gstutils.c:
6175         * gst/gstxml.c:
6176           inlined more docs, fixed double id-ref
6177
6178 2005-08-31  Wim Taymans  <wim@fluendo.com>
6179
6180         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6181         (gst_base_transform_handle_buffer):
6182         Passthrough elements don't need the caps as they don't care.
6183
6184 2005-08-31  Wim Taymans  <wim@fluendo.com>
6185
6186         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6187         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6188         Don't leak refcounts on buffers.
6189
6190 2005-08-31  Wim Taymans  <wim@fluendo.com>
6191
6192         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6193         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6194         (gst_base_transform_chain), (gst_base_transform_change_state):
6195         * gst/base/gstbasetransform.h:
6196         Handle the case where we are not negotiated more gracefully.
6197
6198 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6199
6200         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6201         (gst_file_src_map_region):
6202           Set READONLY flag on mmap'ed buffers, otherwise
6203           gst_buffer_make_writable() won't work properly (#314708).
6204
6205 2005-08-31  Wim Taymans  <wim@fluendo.com>
6206
6207         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6208         passthrough elements can even do inplace on non writable
6209         buffers (as they don't touch them).
6210
6211 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6212
6213         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6214         (gst_test_mono_source_set_property),
6215         (gst_test_mono_source_class_init), (GST_START_TEST),
6216         (gst_controller_suite):
6217           more tests (hehe I have the most)
6218         * gst/gstbus.c:
6219           describe popping messages whenusing mulltiple sources
6220         * libs/gst/controller/gst-controller.c:
6221         (gst_controlled_property_set_interpolation_mode),
6222         (gst_controlled_property_new):
6223         * libs/gst/controller/gst-controller.h:
6224         * libs/gst/controller/gst-interpolation.c:
6225           implement boolean properties
6226
6227 2005-08-31  Wim Taymans  <wim@fluendo.com>
6228
6229         * gst/gstminiobject.c: (gst_mini_object_ref):
6230         Cannot assert that the refcount has to be positive
6231         since a disposed object can be resurrected.
6232
6233 2005-08-31  Wim Taymans  <wim@fluendo.com>
6234
6235         * gst/gstpad.c: (gst_pad_init):
6236         Revert change, need to first fix badly behaving 
6237         apps.
6238
6239 2005-08-30  Wim Taymans  <wim@fluendo.com>
6240
6241         * check/elements/fakesrc.c: (setup_fakesrc):
6242         * check/elements/identity.c: (setup_identity):
6243         Activate pads before using them.
6244
6245 2005-08-30  Wim Taymans  <wim@fluendo.com>
6246
6247         * gst/base/gstadapter.c: (gst_adapter_flush):
6248         Flushing out 0 bytes is ok for this function.
6249
6250         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6251         no newsegment gives a warning and sets the start/stop to 
6252         invalid.
6253
6254         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6255         (gst_base_transform_set_passthrough):
6256         Some debug info.
6257
6258         * gst/gstminiobject.c: (gst_mini_object_ref):
6259         Check refcount here too.
6260
6261         * gst/gstpad.c: (gst_pad_init):
6262         Pads are initially flushing and refusing data.
6263
6264         * gst/gstutils.c: (gst_element_link_pads_filtered):
6265         When adding a capsfilter element make sure it has the
6266         same state as the parent bin.
6267
6268 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6269
6270         * docs/gst/tmpl/.cvsignore:
6271         * docs/gst/tmpl/gstformat.sgml:
6272         * docs/gst/tmpl/gstversion.sgml:
6273         * gst/gstbus.h:
6274         * gst/gstformat.c:
6275         * gst/gstformat.h:
6276         * gst/gstversion.h.in:
6277           more docs and two more inlined
6278
6279 2005-08-30  Wim Taymans  <wim@fluendo.com>
6280
6281         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6282         Don't sync to clock.
6283
6284 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6285
6286         * docs/gst/gstreamer-sections.txt:
6287           ultral33t func10ns deserve to appear in the docs actually
6288         * docs/gst/tmpl/.cvsignore:
6289         * docs/gst/tmpl/gstcompat.sgml:
6290         * docs/gst/tmpl/gstconfig.sgml:
6291         * gst/check/gstcheck.c:
6292         * gst/gstcompat.h:
6293         * gst/gstconfig.h.in:
6294           inlined more docs
6295
6296 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6297
6298         * docs/gst/tmpl/.cvsignore:
6299         * docs/gst/tmpl/gstquery.sgml:
6300         * docs/gst/tmpl/gstutils.sgml:
6301         * gst/gstquery.c:
6302         * gst/gstquery.h:
6303           inlined and extended docs
6304
6305 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
6306
6307         * check/gst-libs/controller.c: (GST_START_TEST),
6308         (gst_controller_suite):
6309           more tests
6310         * docs/gst/tmpl/gstutils.sgml:
6311         * docs/libs/gstreamer-libs-sections.txt:
6312         * docs/libs/tmpl/gstdataprotocol.sgml:
6313           include path fixes
6314         * examples/controller/audio-example.c: (main):
6315           controller example works now
6316         * gst/gstclock.h:
6317           doc fixes
6318         * tools/gst-inspect.c: (print_element_properties_info):
6319           show param spec flags
6320
6321 2005-08-29  Andy Wingo  <wingo@pobox.com>
6322
6323         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6324
6325 2005-08-28  Andy Wingo  <wingo@pobox.com>
6326
6327         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6328         as having two arguments instead of just one. Allows superclasses
6329         to access information on subclasses -- see the terrible for() loop
6330         in gtype.c:g_type_create_instance for the reason why. All callers
6331         changed.
6332
6333 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6334
6335         * docs/design/part-messages.txt:
6336           update info
6337         * docs/gst/tmpl/.cvsignore:
6338         * docs/gst/tmpl/gstcaps.sgml:
6339         * docs/gst/tmpl/gstclock.sgml:
6340         * gst/gstbus.c:
6341         * gst/gstcaps.c:
6342         * gst/gstcaps.h:
6343         * gst/gstclock.c:
6344         * gst/gstclock.h:
6345         * gst/gstmessage.c:
6346           added descriptions for bus and message
6347           inline caps and clock docs
6348
6349 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6350
6351         * gst/gstmessage.c:
6352         * gst/gstmessage.h:
6353           doc fixes
6354
6355 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
6356
6357         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6358           fix div-by-zero
6359
6360 2005-08-26  Andy Wingo  <wingo@pobox.com>
6361
6362         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6363         element_set_state's return val.
6364         (test_2_elements): Add test that's been disabled for months.
6365
6366         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6367         can-activate-pull properties.
6368
6369         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6370         can-activate-pull properties. Implement is_seekable so fakesrc can
6371         operate in pull mode.
6372
6373         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
6374         properties.
6375         (gst_base_sink_activate, gst_base_sink_activate_pull)
6376         (gst_base_sink_activate_push): Make activation mode choosing work.
6377         Cleanups.
6378         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6379         is right. Make pull mode work. Post an eos before pausing in pull
6380         mode.
6381         (gst_base_sink_change_state): Pay attention to the core's
6382         change_state() return val.
6383         
6384         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6385         has-getrange properties. Cleanups.
6386         
6387         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6388         has_getrange and replace with can_activate_pull and
6389         can_activate_push.
6390
6391         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
6392         locking comments. Remove has_loop, has_chain and replace with
6393         can_activate_pull and can_activate_push.
6394
6395 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
6396
6397         * configure.ac:
6398         * examples/Makefile.am:
6399         * examples/metadata/Makefile.am:
6400         * examples/metadata/read-metadata.c: (message_loop),
6401         (have_pad_handler), (make_pipeline), (print_tag), (main):
6402           Add metadata reading example that loops over a list of filenames,
6403           dumping any tags found.
6404
6405         * gst/gstbus.c: (gst_bus_dispose):
6406         * gst/gstelement.c: (gst_element_dispose):
6407           Release a few potentially-held references in dispose.
6408
6409 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6410
6411         * docs/gst/tmpl/gstminiobject.sgml:
6412           do *not* add tmpl/*.sgml files to CVS!
6413
6414 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6415
6416         * libs/gst/bytestream/.cvsignore:
6417         * libs/gst/bytestream/Makefile.am:
6418         * libs/gst/bytestream/adapter.c:
6419         * libs/gst/bytestream/adapter.h:
6420         * libs/gst/bytestream/bytestream.c:
6421         * libs/gst/bytestream/bytestream.h:
6422         * libs/gst/bytestream/filepad.c:
6423         * libs/gst/bytestream/filepad.h:
6424           removing obsolete files
6425
6426 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6427
6428         * docs/gst/gstreamer-docs.sgml:
6429         * docs/libs/gstreamer-libs-docs.sgml:
6430           disabed additional index entries again, as this makes docs-gen just
6431           slow and they aren't useful yet
6432         * docs/libs/gstreamer-libs-sections.txt:
6433           little -section.txt cleanup for libs
6434
6435 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6436
6437         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6438         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
6439           fix up some debugging
6440         (gst_base_transform_get_unit_size),
6441         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6442         (gst_base_transform_handle_buffer):
6443         * gst/base/gstbasetransform.h:
6444           handle and store timed NEWSEGMENT events so that subclasses that
6445           calculate time by counting samples have a segment_start time they
6446           need to add to their timestamps - see audioresample
6447
6448 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
6449
6450         * gst/gstbin.h:
6451           removed ';' from the end of macro defs
6452         * docs/gst/gstreamer-docs.sgml:
6453         * docs/gst/gstreamer-sections.txt:
6454         * docs/gst/tmpl/.cvsignore:
6455         * gst/gstbus.h:
6456         * gst/gstelement.c: (gst_element_class_init),
6457         (gst_element_set_state), (activate_pads),
6458         (gst_element_save_thyself):
6459         * gst/gstevent.c: (gst_event_new_newsegment):
6460         * gst/gstevent.h:
6461         * gst/gstiterator.c:
6462         * gst/gstiterator.h:
6463         * gst/gstpad.c:
6464         * gst/gstprobe.h:
6465         * gst/gstutils.c: (gst_pad_query_convert):
6466         * gst/gstutils.h:
6467           fixed parameter name mismatches between source, header and docs
6468           added some more docs, resolved the last batch of unused elements in
6469           docs (now someone needs to doc them)
6470
6471 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6472
6473         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
6474         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
6475           don't walk through the plugins backwards.  Where is all this
6476           reversed logic coming from ?
6477
6478 2005-08-25  Wim Taymans  <wim@fluendo.com>
6479
6480         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6481         (gst_base_transform_transform_size),
6482         (gst_base_transform_configure_caps),
6483         (gst_base_transform_get_unit_size),
6484         (gst_base_transform_buffer_alloc),
6485         (gst_base_transform_change_state):
6486         * gst/base/gstbasetransform.h:
6487         Cache caps unit_size.
6488         Make sure we cannot negotiate up and downstream at the
6489         same time.
6490
6491 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6492
6493         * gst/gst.c: (init_pre), (init_post):
6494           register the installed plugin path after the env var
6495         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
6496         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
6497           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
6498           directories, so the tests can prefer uninstalled over installed
6499
6500 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6501
6502         * gst/base/gstbasetransform.h:
6503           comment
6504         * gst/gstpad.c:
6505           add to docs
6506
6507 2005-08-25  Wim Taymans  <wim@fluendo.com>
6508
6509         * gst/gstbin.c: (bin_bus_handler):
6510         Be a bit more conservative about the posted message.
6511         
6512         * gst/gstbus.c: (gst_bus_post):
6513         Some cleanups, warn wrong return values.
6514
6515 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
6516
6517         * check/gst/gstbin.c: (GST_START_TEST):
6518         * gst/gstbin.c: (bin_bus_handler):
6519         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6520         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6521         (gst_message_new_warning), (gst_message_new_tag),
6522         (gst_message_new_state_changed), (gst_message_new_segment_start),
6523         (gst_message_new_segment_done), (gst_message_new_custom):
6524         * gst/gstmessage.h:
6525         * tools/gst-launch.c: (event_loop):
6526         * tools/gst-md5sum.c: (event_loop):
6527           Revert unpopular change for GST_MESSAGE_SRC to GObject.
6528
6529 2005-08-25  Wim Taymans  <wim@fluendo.com>
6530
6531         * check/generic/states.c: (GST_START_TEST):
6532         Cleanup can be done at the end.
6533
6534         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
6535         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6536         (gst_task_get_state), (gst_task_start), (gst_task_pause):
6537         Oh boy.. Thanks for finding this, Thomas. 
6538
6539 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6540
6541         * docs/gst/gstreamer.types:
6542           added missing types
6543
6544 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
6545
6546         * docs/gst/gstreamer-docs.sgml:
6547         * docs/gst/gstreamer-sections.txt:
6548         * docs/gst/tmpl/.cvsignore:
6549         * gst/gstbin.c:
6550         * gst/gstiterator.c:
6551         * gst/gstutils.c:
6552         * gst/registries/gstxmlregistry.h:
6553           added missing classes and symbols (123 more to go)
6554           removed removed symbols from section file
6555           fixed many doc-comments
6556
6557 2005-08-24  Wim Taymans  <wim@fluendo.com>
6558
6559         * check/generic/states.c: (GST_START_TEST):
6560         Make sure all tasks are stopped.
6561
6562         * check/gst/gstbin.c: (GST_START_TEST):
6563         Unref after usage for proper valgrinding.
6564
6565         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
6566         Really wait for the task to stop before destroying the
6567         mutex.
6568
6569         * gst/gstqueue.c: (gst_queue_sink_activate_push),
6570         (gst_queue_src_activate_push):
6571         Small cleanups. Don't stop the task when we did not start
6572         it.
6573
6574         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
6575         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
6576         (gst_task_get_state), (gst_task_start), (gst_task_pause),
6577         (gst_task_join):
6578         * gst/gsttask.h:
6579         Protect the stream lock with the object lock.
6580         Disallow setting the stream lock when running.
6581         Add cleanup_all to wait for the threadpool to finish.
6582         Remove code to autoallocate a mutex if none was provided.
6583         Add _join() to wait for a task to stop.
6584         Protect the thread pool with a global lock.
6585
6586 2005-08-24  Wim Taymans  <wim@fluendo.com>
6587
6588         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6589         (gst_base_sink_get_times), (gst_base_sink_do_sync),
6590         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
6591         * gst/base/gstbasesink.h:
6592         Handle newsegment events correctly.
6593         Drop buffers out of the segment range.
6594
6595 2005-08-22  Andy Wingo  <wingo@pobox.com>
6596
6597         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
6598         macro, implements an interface and gstimplementsinterface for a
6599         new type.
6600
6601 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6602
6603         * check/Makefile.am:
6604         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
6605           add a test that does a bunch of state changes on elements
6606           needs some fixing for valgrind
6607         * check/states/sinks.c: (gst_object_suite):
6608           whitespace
6609         * gst/gstcaps.h:
6610           add prototype for gst_caps_is_equal_fixed
6611         * gst/gstplugin.c:
6612         * gst/gstregistrypool.c:
6613           doc fixes
6614
6615 2005-08-24  Andy Wingo  <wingo@pobox.com>
6616
6617         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
6618         convert a negative value. Doesn't make much sense. Mostly this is
6619         here to force callers to ensure -1 maps to -1.
6620
6621 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6622
6623         * docs/pwg/advanced-types.xml:
6624           Well done to Michael for catching my deliberate introduction
6625           of this spelling mistake. 
6626         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
6627         * gst/gstelement.h:
6628           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
6629           unlink pads before removing the element from the bin.
6630
6631 2005-08-24  Andy Wingo  <wingo@pobox.com>
6632
6633         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
6634         the same thing as GST_DEBUG=*:4.
6635         (parse_debug_level, parse_debug_category): New helper parsers.
6636
6637 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6638
6639         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6640         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
6641         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
6642         (gst_base_transform_buffer_alloc),
6643         (gst_base_transform_handle_buffer):
6644           use gboolean return values and pointers to size so we can use the
6645           full GST_BUFFER_SIZE range (guint) for buffer sizes
6646           use GstPadDirection for transform_caps
6647         * gst/base/gstbasetransform.h:
6648           rename get_size to get_unit_size since that's what it is
6649         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
6650           use GstPadDirection for transform_caps
6651         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6652         * gst/gstutils.h:
6653           cleanup and debugging
6654
6655 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6656
6657         * gst/gstelement.c: (gst_element_class_init),
6658         (gst_element_set_state), (activate_pads),
6659         (gst_element_save_thyself):
6660         * tools/gst-compprep.c: (main):
6661         * tools/gst-inspect.c: (print_element_properties_info):
6662         * tools/gst-xmlinspect.c: (print_element_properties):
6663           Fixed long standing mem-leak
6664
6665 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6666
6667         * check/gst/gstbin.c: (GST_START_TEST):
6668         * gst/gstbin.c: (bin_bus_handler):
6669         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
6670         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
6671         (gst_message_new_warning), (gst_message_new_tag),
6672         (gst_message_new_state_changed), (gst_message_new_segment_start),
6673         (gst_message_new_segment_done), (gst_message_new_custom):
6674         * gst/gstmessage.h:
6675         * tools/gst-launch.c: (event_loop):
6676         * tools/gst-md5sum.c: (event_loop):
6677           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
6678           that applications can sensibly post custom messages with references
6679           to their own objects.
6680
6681 2005-08-24  Andy Wingo  <wingo@pobox.com>
6682
6683         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
6684         already.
6685
6686 2005-08-24  Wim Taymans  <wim@fluendo.com>
6687
6688         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6689         (gst_base_transform_transform_caps),
6690         (gst_base_transform_transform_size),
6691         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6692         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6693         (gst_base_transform_handle_buffer):
6694         * gst/base/gstbasetransform.h:
6695         Many fixes and new features added by Thomas. Can now also do
6696         transforms with variable sizes and a custom fixate_caps function.
6697
6698 2005-08-24  Wim Taymans  <wim@fluendo.com>
6699
6700         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6701         Some debugging.
6702
6703         * gst/gstclock.h:
6704         Cast to ClockTime before formatting to time.
6705
6706         * gst/gstutils.h:
6707         Cleanups.
6708
6709 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
6710
6711         * check/gst-libs/controller.c: (GST_START_TEST),
6712         (gst_controller_suite):
6713         * docs/gst/tmpl/gstcaps.sgml:
6714         * docs/gst/tmpl/gstghostpad.sgml:
6715         * docs/gst/tmpl/gstquery.sgml:
6716         * docs/gst/tmpl/gstutils.sgml:
6717         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
6718         (gst_object_sink_values), (gst_object_get_value_arrays),
6719         (gst_object_get_value_array):
6720           gracefully handle helper method calls to objects that are not beeing
6721           controlled, added test case for that          
6722
6723 2005-08-23  Wim Taymans  <wim@fluendo.com>
6724
6725         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
6726         (gst_event_new_newsegment), (gst_event_parse_newsegment),
6727         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
6728         (gst_event_parse_qos), (gst_event_new_seek),
6729         (gst_event_parse_seek):
6730         * gst/gstevent.h:
6731         Some more debugging output and doc cleanups.
6732
6733         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6734         Fix possible deadlock.
6735
6736 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6737
6738         * docs/gst/gstreamer-docs.sgml:
6739         * docs/gst/gstreamer-sections.txt:
6740         * docs/gst/gstreamer.types:
6741         * docs/gst/tmpl/.cvsignore:
6742         * gst/gstbin.h:
6743         * gst/gstbus.c:
6744         * gst/gstelement.c:
6745         * gst/gstevent.h:
6746           added 100 symbols from gstreamer-unused.txt to the right sections
6747           fixed more broken comments
6748           added GstBus to docs
6749
6750 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6751
6752         * docs/gst/gstreamer-sections.txt:
6753         * docs/gst/tmpl/.cvsignore:
6754         * docs/gst/tmpl/gstbin.sgml:
6755         * docs/gst/tmpl/gstbuffer.sgml:
6756         * gst/base/gstbasesrc.c:
6757         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
6758         * gst/gstbuffer.c:
6759         * gst/gstbuffer.h:
6760         * tools/gst-launch.1.in:
6761           inlined more doc comments, added missing comments and fixed comments
6762           fixed typos
6763
6764 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6765
6766         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
6767           some debugging
6768         * gst/gstcaps.h:
6769           whitespace fixes
6770         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
6771           more debugging
6772         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
6773         * gst/gststructure.h:
6774           add a fixate function for booleans; add a FIXME that these func
6775           names should probably be gst_structure_fixate_*
6776
6777 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
6778
6779         * docs/gst/gstreamer-docs.sgml:
6780         * docs/gst/gstreamer-sections.txt:
6781         * gst/Makefile.am:
6782         * gst/gstbin.c: (gst_bin_get_type),
6783         (gst_bin_child_proxy_get_child_by_index),
6784         (gst_bin_child_proxy_get_children_count),
6785         (gst_bin_child_proxy_init):
6786         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6787         (gst_child_proxy_get_child_by_index),
6788         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
6789         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
6790         (gst_child_proxy_get), (gst_child_proxy_set_property),
6791         (gst_child_proxy_set_valist), (gst_child_proxy_set),
6792         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
6793         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
6794         * gst/gstchildproxy.h:
6795         * gst/parse/grammar.y:
6796         * tools/gst-inspect.c: (print_interfaces),
6797         (print_element_properties_info), (print_element_info):
6798           ported gstchildproxy over from 0.8
6799           ported gst-inspect fixes and enhancements over from 0.8
6800
6801 2005-08-22  Wim Taymans  <wim@fluendo.com>
6802
6803         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6804         (gst_base_transform_handle_buffer):
6805         Also call the transform function if we have ANY caps.
6806
6807         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
6808         Fix debug info.
6809
6810 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6811
6812         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
6813           Don't pretend to handle seek events if the source is not seekable
6814
6815 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
6816
6817         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6818           Remove extra parameter to debug output
6819
6820         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6821         (gst_base_src_do_seek), (gst_base_src_activate_push):
6822           Fix seek event handling.
6823
6824         * gst/gstpipeline.c: (gst_pipeline_change_state):
6825         * gst/gstqueue.c: (gst_queue_handle_sink_event),
6826         (gst_queue_src_activate_push):
6827           Don't start the src pad task on FLUSH_STOP if the pad
6828           isn't linked.
6829           Debug changes.
6830
6831 2005-08-22  Wim Taymans  <wim@fluendo.com>
6832
6833         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6834         Added check for gst_static_caps_get() refcounting.
6835
6836 2005-08-22  Wim Taymans  <wim@fluendo.com>
6837
6838         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
6839         Make _static_caps_get() refcounting sane.
6840         
6841         * gst/gstelement.c: (gst_element_set_state):
6842         Add g_return_val_if_fail() to protect against segfaults.
6843
6844 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
6845
6846         * docs/gst/tmpl/gstevent.sgml:
6847         * gst/gstevent.c:
6848         * gst/gstevent.h:
6849           inlined remaining docs, added missing doc comments
6850
6851 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6852
6853         * check/gst/gstbin.c: (GST_START_TEST):
6854           since we don't know when preroll is done, use refcount range
6855           check for the sink
6856         * gst/check/gstcheck.h:
6857           add macro for checking refcount range
6858
6859 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6860
6861         * check/Makefile.am:
6862           clean up environment for when registry gets built versus
6863           when actual tests are run; valgrind seems to not report
6864           leaks if GST_PLUGIN_PATH is set to some specific values
6865         * check/gst/gstbin.c: (GST_START_TEST):
6866           add more refcounting checks; maybe this exposes a
6867           preroll lock bug ?
6868         * common/check.mak:
6869         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6870         * gst/check/gstcheck.h:
6871         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
6872         (gst_bin_change_state):
6873         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
6874           add/fix debugging/whitespace
6875
6876 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6877
6878         * check/gst/gstevent.c: (event_probe), (test_event),
6879         (GST_START_TEST):
6880          Er, don't call gst_bin_watch_for_state_change you idiot.
6881
6882 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
6883
6884         * check/Makefile.am:
6885           Use CHECK_CFLAGS and CHECK_LIBS
6886         * check/gst/gstevent.c: (event_probe), (test_event),
6887         (GST_START_TEST):
6888           Don't leak events.
6889         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6890         (gst_base_src_start), (gst_base_src_stop),
6891         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6892         (gst_base_src_change_state):
6893           Sprinkle gst_base_src_stop liberally around error paths to fix
6894           problems reusing a source after failed state changes.
6895         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6896         (helper_find_suggest), (gst_type_find_helper):
6897           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
6898         * gst/gstevent.h:
6899         * docs/gst/tmpl/gstevent.sgml:
6900           Migrate part of the docs from the SGML file. Wait for ensonic to
6901           tell me how I did it wrong ;)
6902         * tools/gst-typefind.c: (main):
6903           Extra robustness to state changes between files.
6904
6905 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6906
6907         * check/Makefile.am:
6908           don't valgrind the controller test - it's leaking - Stefan, HELP
6909         * gst/check/gstcheck.c: (gst_check_message_error),
6910         (gst_check_chain_func), (gst_check_setup_element),
6911         (gst_check_teardown_element), (gst_check_setup_src_pad),
6912         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
6913         (gst_check_teardown_sink_pad):
6914         * gst/check/gstcheck.h:
6915           add a bunch of methods to set up elements, and src and sink pads
6916         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
6917         * check/elements/identity.c: (setup_identity), (cleanup_identity),
6918         (GST_START_TEST):
6919           use them
6920         * gst/gstmessage.c:
6921         * gst/gsttag.h:
6922           whitespace/doc fixes
6923
6924 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6925
6926         * gst/gstelement.h:
6927           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
6928           be handled by the application and not always printed as well
6929
6930 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6931
6932         * check/Makefile.am:
6933           set GST_TOOLS_DIR
6934         * gst/check/gstcheck.c: (gst_check_message_error):
6935         * gst/check/gstcheck.h:
6936           add a fail_unless_equals_int
6937           add fail_unless for error messages
6938
6939 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6940
6941         * check/Makefile.am:
6942         * check/gst.supp:
6943         * common/Makefile.am:
6944         * common/check.mak:
6945         * common/gst.supp:
6946           factor out some of the common stuff so we can use it
6947
6948 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6949
6950         * check/Makefile.am:
6951         * check/gst/gstiterator.c: (GST_START_TEST):
6952         * check/gst/gstsystemclock.c: (GST_START_TEST),
6953         (gst_systemclock_suite):
6954         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6955         * gst/gstclock.c:
6956           valgrind more tests
6957
6958 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6959
6960         * check/elements/.cvsignore:
6961         * check/elements/gstfakesrc.c:
6962           rename to name of element
6963         * check/elements/identity.c: (chain_func), (event_func),
6964         (setup_identity), (cleanup_identity), (GST_START_TEST),
6965         (identity_suite), (main):
6966           add a test for identity
6967         * check/Makefile.am:
6968         * pkgconfig/Makefile.am:
6969         * pkgconfig/gstreamer-check.pc.in:
6970         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6971         * gst/check:
6972         * gst/Makefile.am:
6973         * configure.ac:
6974           move the check stuff to a library that gets installed
6975         * check/gst-libs/controller.c: (GST_START_TEST):
6976         * check/gst-libs/gdp.c:
6977         * check/gst/gst.c: (GST_START_TEST):
6978         * check/gst/gstbin.c:
6979         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6980         * check/gst/gstbus.c:
6981         * check/gst/gstcaps.c: (GST_START_TEST):
6982         * check/gst/gstelement.c:
6983         * check/gst/gstghostpad.c:
6984         * check/gst/gstiterator.c:
6985         * check/gst/gstmessage.c:
6986         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
6987         * check/gst/gstobject.c:
6988         * check/gst/gstpad.c: (GST_START_TEST):
6989         * check/gst/gststructure.c: (GST_START_TEST):
6990         * check/gst/gstsystemclock.c: (GST_START_TEST),
6991         (gst_systemclock_suite):
6992         * check/gst/gsttag.c: (gst_tag_suite):
6993         * check/gst/gstvalue.c:
6994         * check/pipelines/cleanup.c:
6995         * check/pipelines/simple_launch_lines.c:
6996         * check/states/sinks.c:
6997           change include statement
6998
6999         * docs/gst/gstreamer-sections.txt:
7000         * docs/gst/tmpl/gstpad.sgml:
7001           document more pad stuff
7002         * gst/gstminiobject.c: (gst_mini_object_ref),
7003         (gst_mini_object_unref):
7004           debug refcounting
7005
7006 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7007
7008         * docs/gst/tmpl/gst.sgml:
7009         * gst/gst.c:
7010           eliminate another tmpl file, fix spelling in the long-description
7011
7012 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7013
7014         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7015         (test_event), (timediff), (gstevents_suite):
7016           Should fix build on 64-bit arch's
7017
7018 2005-08-18  Andy Wingo  <wingo@pobox.com>
7019
7020         Make sure that when a pipeline goes to PLAYING, that data has
7021         actually hit the sink.
7022
7023         * check/states/sinks.c (test_sink): A sink that doesn't get any
7024         data shouldn't return SUCCESS for going to either PLAYING or
7025         PAUSED. Test also the return values on the way back down.
7026
7027         * gst/gstelement.c (gst_element_set_state): When changing the
7028         state of an element currently changing state asynchronously, go to
7029         lost-state after commiting the pending state. Makes future calls
7030         to get_state continue to return ASYNC.
7031
7032         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7033         ASYNC when going to PLAYING if we still don't have preroll, as can
7034         happen with live sources.
7035
7036 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7037
7038         * docs/pwg/advanced-types.xml:
7039           Hack long paragraph into 2 chunks as a workaround for buggy
7040           jadetex version in sid and breezy that loops infinitely and
7041           eats all RAM.
7042
7043 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7044
7045         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7046         (test_event), (timediff), (gstevents_suite):
7047           Provide more error margin in clock measurements to allow for 
7048           g_get_current_time inaccuracies.
7049
7050 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7051
7052         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7053         (test_event), (timediff), (gstevents_suite):
7054            Fix error message output so I might be able to tell why the
7055            test works here but fails on the build farm.
7056
7057 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7058
7059         * check/Makefile.am:
7060         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7061         (test_event), (timediff), (gstevents_suite), (main):
7062           I wrote a test!
7063
7064         * docs/design/part-seeking.txt:
7065           Spelling correction
7066
7067         * docs/gst/tmpl/gstevent.sgml:
7068         * docs/gst/tmpl/gstfakesrc.sgml:
7069           Docs updates.
7070
7071         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7072           Treat a buffer-without-newsegment the same as a receiving 
7073           a newsegment not in time format, and disable syncing to the clock
7074           with a warning.
7075
7076         * gst/gstbus.c: (gst_bus_set_sync_handler):
7077           Assert if anyone tries to replace the existing sync_handler for bus, 
7078           as only the owner should be setting it.
7079
7080         * gst/gstevent.h:
7081           Have a fixed set of custom event enums with events identified by
7082           their structure name (as in 0.8), rather than a free-for-all
7083           allowing collisions between enum values from different plugins.
7084
7085         * gst/gstpad.c: (gst_pad_class_init):
7086           Docs change.
7087           
7088         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7089           Handle out-of-band downstream events from the sending thread.
7090
7091 2005-08-17  Andy Wingo  <wingo@pobox.com>
7092
7093         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7094         play-timeout==0 to mean no timeout at all. In that case, don't
7095         bother with a get_state or a warning, just return directly, even
7096         if it's ASYNC.
7097
7098         * gst/base/gstbasetransform.c: Debug changes.
7099
7100         * gst/gstutils.h:
7101         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7102         ensure bins post state change messages. A bit of a hack but I can't
7103         think of a way to avoid it.
7104
7105         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7106
7107 2005-08-16  Andy Wingo  <wingo@pobox.com>
7108
7109         * gst/base/gstadapter.h:
7110         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7111         peek() but you own the data. Not terribly efficient atm.
7112
7113 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7114
7115         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7116         (gst_element_found_tags):
7117         * gst/gstutils.h:
7118           Add two utility functions for tag handling.
7119
7120 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7121
7122         * docs/manual/advanced-dataaccess.xml:
7123         * docs/manual/basics-helloworld.xml:
7124           Fix docs to use _bin_add() before _link(), which fixes the examples
7125           with recent core versions (reported by Madhan Raj M
7126           <raj_madan@rediffmail.com>, #313199).
7127
7128 2005-08-16  Wim Taymans  <wim@fluendo.com>
7129
7130         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7131         Added subtract checks.
7132
7133         * docs/design/part-events.txt:
7134         Some more docs about newsegment
7135
7136         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7137         Fix FIXME
7138
7139         * gst/gstcaps.c: (gst_caps_to_string):
7140         Add comments, cleanups.
7141         
7142         * gst/gstelement.c: (gst_element_save_thyself):
7143         cleanups
7144         
7145         * gst/gstvalue.c: (gst_value_collect_int_range),
7146         (gst_string_unwrap), (gst_value_union_int_int_range),
7147         (gst_value_union_int_range_int_range),
7148         (gst_value_intersect_int_int_range),
7149         (gst_value_intersect_int_range_int_range),
7150         (gst_value_intersect_double_double_range),
7151         (gst_value_intersect_double_range_double_range),
7152         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7153         (gst_value_subtract_int_range_int),
7154         (gst_value_subtract_double_range_double),
7155         (gst_value_subtract_double_range_double_range),
7156         (gst_value_subtract_from_list), (gst_value_subtract_list),
7157         (gst_value_can_compare), (gst_value_compare_fraction):
7158         Cleanups, add comments, remove unneeded asserts.
7159
7160 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7161
7162         * tools/gst-launch.c: (event_loop):
7163           don't convert NULL structures to strings
7164
7165 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7166
7167         * docs/gst/gstreamer-sections.txt:
7168           made some defines private
7169         * docs/gst/tmpl/gstconfig.sgml:
7170         * docs/gst/tmpl/gstqueue.sgml:
7171         * docs/gst/tmpl/gsttaglist.sgml:
7172         * docs/gst/tmpl/gsttypes.sgml:
7173         * docs/gst/tmpl/gstutils.sgml:
7174         * docs/pwg/appendix-porting.xml:
7175         * gst/base/gstbasesink.h:
7176         * gst/base/gstbasesrc.c:
7177         * gst/base/gstbasesrc.h:
7178         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7179         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7180         * gst/gstelement.c: (gst_element_class_init):
7181         * gst/gstpad.c: (gst_pad_class_init):
7182         * gst/gstqueue.c: (gst_queue_class_init):
7183         * gst/gstxml.c: (gst_xml_class_init):
7184           documented all undocumented signal inline
7185         * libs/gst/controller/gst-controller.h:
7186           added padding
7187
7188 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7189
7190         * docs/pwg/appendix-porting.xml:
7191           Document _set_link_function -> _set_setcaps_function.
7192
7193 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7194
7195         * check/Makefile.am:
7196           add a .check target for running the check
7197         * check/gst-libs/controller.c: (GST_START_TEST):
7198           cosmetic fixups
7199         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7200           complete checks for gstbuffer; would be nice if I could get the
7201           gcov stuff to work so I can see if I actually completed gstbuffer.c
7202         * check/gstcheck.h:
7203           add ASSERT_BUFFER_REFCOUNT
7204
7205 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7206
7207         * docs/gst/gstreamer-sections.txt:
7208         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7209         * gst/gsttag.h:
7210           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7211           spew out a warning if a tag that is already registered
7212           is re-registered, unless it is re-registered with a 
7213           different type (#308438).
7214
7215 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7216
7217         * docs/pwg/appendix-porting.xml:
7218         * docs/pwg/building-state.xml:
7219           Add some paragraphs about state changes in 0.9 to the PWG
7220           and the porting guide, in particular about the new meaning
7221           of GST_STATE_PAUSED and how to write state change functions
7222           with concurrent access by multiple threads in mind.
7223
7224 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7225
7226         * docs/gst/gstreamer-docs.sgml:
7227         * docs/libs/gstreamer-libs-docs.sgml:
7228           added deprecation and since indexes
7229         * libs/gst/controller/gst-controller.c:
7230         * libs/gst/controller/gst-helper.c:
7231           added since tags
7232
7233
7234 2005-08-11  Wim Taymans  <wim@fluendo.com>
7235
7236         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7237         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7238         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7239         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7240         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7241         (gst_ghost_pad_set_target):
7242         Actually implement (re)setting the target on a ghostpad
7243         as described in the docs.
7244
7245 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7246
7247         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7248           Check whether GST_DEBUG_NO_COLOR environment variable is
7249           set and disable coloured debug output if that is the case.
7250
7251 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7252
7253         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7254         (gst_type_find_helper):
7255           The memory returned by gst_type_find_peek() needs to
7256           stay valid until the end of a typefind function, and
7257           typefind functions may keep results from different 
7258           offsets around, so we can't just unref the buffer from
7259           the previous _peek(), but have to save all buffers 
7260           returned by _peek() until typefinding is done and only
7261           free them then.
7262
7263 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7264
7265         * docs/gst/gstreamer-sections.txt:
7266         * gst/gstutils.h:
7267           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7268
7269 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7270
7271         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7272           Fix a pretty good memleak.
7273
7274 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7275
7276         * gst/gstiterator.h:
7277           Fix wrong include and 'make distcheck'.
7278
7279 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7280
7281         * gst/gstbin.c: (bin_bus_handler):
7282           Use gst_element_post_message() instead.
7283
7284 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7285
7286         * gst/base/gstadapter.h:
7287         * gst/base/gstbasesink.h:
7288         * gst/base/gstbasesrc.h:
7289         * gst/base/gstbasetransform.h:
7290         * gst/base/gstcollectpads.h:
7291         * gst/base/gstpushsrc.h:
7292         * gst/gstiterator.h:
7293           Add padding to our base elements' class and instance structs and
7294           to GstIterator (you will need to rebuild all plugins and apps!)
7295
7296 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7297
7298         * gst/gstbin.c: (bin_bus_handler):
7299           Make default message forwarding from child->bus to bin->bus
7300           threadsafe and make it not emit warnings if the parent has no bus.
7301
7302 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7303
7304         * gst/gstelement.c: (activate_pads):
7305           On paused->ready, set pad->caps to NULL, as is the documented
7306           behaviour in this state change. Fixes playback of series of
7307           media files when visualization is enabled in Totem.
7308
7309 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7310
7311         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7312           Allow NULL as filter-caps (which means "any").
7313
7314 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7315
7316         * docs/libs/gstreamer-libs-sections.txt:
7317         * libs/gst/controller/gst-controller.c:
7318         * libs/gst/controller/gst-controller.h:
7319         * libs/gst/controller/gst-helper.c:
7320           adding more entries to the docs and fix small doc-bugs
7321
7322 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7323
7324         * docs/gst/gstreamer-docs.sgml:
7325         * docs/gst/gstreamer-sections.txt:
7326         * docs/gst/gstreamer.types:
7327         * docs/gst/tmpl/gstbasesink.sgml:
7328         * docs/gst/tmpl/gstbasesrc.sgml:
7329         * docs/gst/tmpl/gstbasetransform.sgml:
7330         * docs/gst/tmpl/gstfakesrc.sgml:
7331         * gst/base/gstcollectpads.c:
7332         * gst/base/gstcollectpads.h:
7333         * libs/gst/controller/gst-controller.c:
7334         * libs/gst/controller/gst-controller.h:
7335         * libs/gst/controller/gst-helper.c:
7336         * libs/gst/controller/gst-interpolation.c:
7337         * libs/gst/controller/lib.c:
7338           added long/short desc for controller docs
7339           added collectpads base class docs
7340           added correct includes to base-class docs
7341
7342 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
7343
7344         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7345         (gst_test_mono_source_set_property),
7346         (gst_test_mono_source_class_init), (GST_START_TEST),
7347         (gst_controller_suite):
7348         * docs/gst/gstreamer-docs.sgml:
7349         * docs/gst/gstreamer-sections.txt:
7350         * docs/gst/gstreamer.types:
7351         * docs/libs/gstreamer-libs-docs.sgml:
7352         * docs/libs/gstreamer-libs-sections.txt:
7353         * gst/base/gstadapter.c:
7354         * libs/gst/controller/gst-controller.c:
7355         (gst_controlled_property_new), (gst_controlled_property_free),
7356         (gst_controller_new_valist),
7357         (gst_controller_remove_properties_valist),
7358         (gst_controller_sink_values), (_gst_controller_finalize):
7359         * libs/gst/controller/gst-controller.h:
7360         * libs/gst/controller/gst-helper.c:
7361         (gst_object_control_properties), (gst_object_uncontrol_properties),
7362         (gst_object_get_controller), (gst_object_set_controller),
7363         (gst_object_sink_values), (gst_object_get_value_arrays),
7364         (gst_object_get_value_array):
7365           more tests (and fixes) for the controller
7366           more docs for the controller
7367           integrated companies docs for the adapter 
7368
7369 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7370
7371         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
7372         (GST_START_TEST), (fakesrc_suite):
7373           add tests for sizetype
7374
7375 2005-08-04  Andy Wingo  <wingo@pobox.com>
7376
7377         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7378         fixes buffer_alloc proxying among other things.
7379
7380         * gst/base/gstbasetransform.c:
7381         * gst/base/gstbasetransform.h:
7382         Revert patch to gstbasetransform from 7-28 removing
7383         delay_configure.
7384
7385         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7386         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7387         Semantics changed, should return not the size of the output buffer
7388         but the byte size of a buffer with a given caps.
7389
7390         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7391         debug object.
7392         (gst_base_transform_configure_caps): Don't set out_size here: (in,
7393         out) are not the pad caps until setcaps finishes.
7394         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
7395         not-in-place case as well. Deal with changing from in-place to
7396         not-in-place within calling pad_alloc_buffer. Still a bit
7397         concerned about the overhead here...
7398
7399 2005-08-03  Andy Wingo  <wingo@pobox.com>
7400
7401         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
7402         fixating is an error.
7403
7404 2005-08-04  Edward Hervey  <edward@fluendo.com>
7405
7406         * gst/base/gstadapter.h: 
7407         Added gst_adapter_get_type() to the header
7408
7409 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7410
7411         * check/Makefile.am:
7412         * check/gst-libs/controller.c:
7413         * libs/gst/controller/gst-controller.c:
7414         (gst_controller_new_valist):
7415           added check test suite for the controller
7416         * gst/base/gstpushsrc.c:
7417           fixed a doc typo
7418
7419 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7420
7421         * docs/gst/Makefile.am:
7422         * docs/gst/gstreamer-docs.sgml:
7423         * docs/gst/gstreamer-sections.txt:
7424         * docs/gst/gstreamer.types:
7425         * docs/gst/tmpl/gstfakesrc.sgml:
7426         * gst/base/README:
7427         * gst/base/gstbasesink.c:
7428         * gst/base/gstbasesink.h:
7429         * gst/base/gstbasesrc.c:
7430         * gst/base/gstbasesrc.h:
7431         * gst/base/gstbasetransform.c:
7432         * gst/base/gstpushsrc.c:
7433         * gst/base/gstpushsrc.h:
7434           add short/long description docs to base classes
7435           add pushsrc to the docs
7436           remove consolidated doc fragments
7437
7438 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7439
7440         * configure.ac:
7441         * docs/libs/Makefile.am:
7442         * docs/libs/gstreamer-libs-docs.sgml:
7443         * docs/libs/gstreamer-libs-sections.txt:
7444         * docs/libs/gstreamer-libs.types:
7445         * examples/Makefile.am:
7446         * examples/controller/.cvsignore:
7447         * examples/controller/Makefile.am:
7448         * examples/controller/audio-example.c: (main):
7449         * libs/gst/Makefile.am:
7450         * libs/gst/controller/.cvsignore:
7451         * libs/gst/controller/Makefile.am:
7452         * libs/gst/controller/gst-controller.c:
7453         (on_object_controlled_property_changed), (gst_timed_value_compare),
7454         (gst_timed_value_find),
7455         (gst_controlled_property_set_interpolation_mode),
7456         (gst_controlled_property_new), (gst_controlled_property_free),
7457         (gst_controller_find_controlled_property),
7458         (gst_controller_new_valist), (gst_controller_new),
7459         (gst_controller_remove_properties_valist),
7460         (gst_controller_remove_properties), (gst_controller_set),
7461         (gst_controller_set_from_list), (gst_controller_unset),
7462         (gst_controller_get), (gst_controller_get_all),
7463         (gst_controller_sink_values), (gst_controller_get_value_arrays),
7464         (gst_controller_get_value_array),
7465         (gst_controller_set_interpolation_mode),
7466         (_gst_controller_finalize), (_gst_controller_init),
7467         (_gst_controller_class_init), (gst_controller_get_type):
7468         * libs/gst/controller/gst-controller.h:
7469         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
7470         (g_object_uncontrol_properties), (g_object_get_controller),
7471         (g_object_set_controller), (g_object_sink_values),
7472         (g_object_get_value_arrays), (g_object_get_value_array):
7473         * libs/gst/controller/gst-interpolation.c:
7474         (gst_controlled_property_find_timed_value_node),
7475         (interpolate_none_get), (interpolate_trigger_get),
7476         (interpolate_trigger_get_value_array):
7477         * libs/gst/controller/lib.c: (gst_controller_init):
7478         * pkgconfig/Makefile.am:
7479         * pkgconfig/gstreamer-control-uninstalled.pc.in:
7480         * pkgconfig/gstreamer-control.pc.in:
7481         * testsuite/Makefile.am:
7482         * testsuite/controller/.cvsignore:
7483         * testsuite/controller/Makefile.am:
7484         * testsuite/controller/interpolator.c: (main):
7485           added controller code
7486           removed dparam pc files
7487
7488 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7489         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
7490         (gst_collectpads_stop):
7491           Broadcast the condition when shutting down, to make sure we wake all
7492           threads up. Shut down pads on finalize, for safety.
7493
7494 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
7495         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7496         (gst_base_transform_handle_buffer),
7497         (gst_base_transform_change_state):
7498           Handle PAUSED->READY->PAUSED transition after negotiation
7499           occurred already.
7500         * gst/gstmessage.c: (gst_message_init):
7501           Extra piece of debug for new messages.
7502
7503 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
7504
7505         * configure.ac:
7506         * docs/gst/tmpl/gstbasesrc.sgml:
7507         * docs/gst/tmpl/gstelement.sgml:
7508         * docs/gst/tmpl/gstevent.sgml:
7509         * docs/gst/tmpl/gstfakesrc.sgml:
7510         * docs/gst/tmpl/gstformat.sgml:
7511         * docs/gst/tmpl/gstghostpad.sgml:
7512         * docs/gst/tmpl/gstpad.sgml:
7513         * docs/gst/tmpl/gstquery.sgml:
7514         * docs/gst/tmpl/gststructure.sgml:
7515         * docs/gst/tmpl/gsttaglist.sgml:
7516         * docs/gst/tmpl/gstvalue.sgml:
7517         * docs/libs/gstreamer-libs-docs.sgml:
7518         * docs/libs/gstreamer-libs-sections.txt:
7519         * docs/libs/gstreamer-libs.types:
7520         * libs/gst/Makefile.am:
7521         * libs/gst/control/.cvsignore:
7522         * libs/gst/control/Makefile.am:
7523         * libs/gst/control/control.c:
7524         * libs/gst/control/control.h:
7525         * libs/gst/control/dparam.c:
7526         * libs/gst/control/dparam.h:
7527         * libs/gst/control/dparam_smooth.c:
7528         * libs/gst/control/dparam_smooth.h:
7529         * libs/gst/control/dparamcommon.h:
7530         * libs/gst/control/dparammanager.c:
7531         * libs/gst/control/dparammanager.h:
7532         * libs/gst/control/dplinearinterp.c:
7533         * libs/gst/control/dplinearinterp.h:
7534         * libs/gst/control/unitconvert.c:
7535         * libs/gst/control/unitconvert.h:
7536         * testsuite/Makefile.am:
7537         * testsuite/dynparams/.cvsignore:
7538         * testsuite/dynparams/Makefile.am:
7539         * testsuite/dynparams/dparamstest.c:
7540         * tools/Makefile.am:
7541         * tools/gst-inspect.c: (print_element_info), (main):
7542         * tools/gst-xmlinspect.c: (print_element_info), (main):
7543           deactivate and remove dparams (libgstcontrol)
7544
7545 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7546
7547         * gst/elements/gsttypefindelement.c:
7548         (gst_type_find_element_have_type), (gst_type_find_element_init),
7549         (stop_typefinding), (gst_type_find_element_handle_event),
7550         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7551         * gst/elements/gsttypefindelement.h:
7552           Set caps on all outgoing buffers, not just the first one.
7553
7554 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7555
7556         * gst/elements/gsttypefindelement.c:
7557         (gst_type_find_element_have_type),
7558         (gst_type_find_element_check_set_buffer_caps),
7559         (gst_type_find_element_init), (stop_typefinding),
7560         (gst_type_find_element_handle_event),
7561         (gst_type_find_element_chain), (gst_type_find_element_getrange):
7562         * gst/elements/gsttypefindelement.h:
7563           Set caps on first outgoing buffer when we've found the type.
7564
7565 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
7566
7567         * docs/gst/gstreamer-docs.sgml:
7568         * docs/gst/gstreamer-sections.txt:
7569         * docs/gst/tmpl/gstscheduler.sgml:
7570         * docs/gst/tmpl/gstschedulerfactory.sgml:
7571           Remove some old cruft from docs.
7572
7573 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
7574
7575         * gst/gstpad.h:
7576           Fix inline docs for GstPadLinkReturn.
7577           
7578         * gst/gststructure.c: (gst_structure_has_name):
7579         * gst/gststructure.h:
7580         * docs/gst/gstreamer-sections.txt:
7581           New API: gst_structure_has_name().
7582
7583 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
7584
7585         * configure.ac:
7586           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
7587           and _LARGEFILE_SOURCE in config.h as required. Do not 
7588           export those flags in our .pc files any longer (#142209).
7589
7590           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
7591
7592         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
7593         (gst_file_sink_do_seek), (gst_file_sink_event),
7594         (gst_file_sink_get_current_offset), (gst_file_sink_render):
7595           Redo seek/tell calls with large file support in mind; add some
7596           debugging messages; add log message that tells us when large
7597           file support is unavailable or not enabled for some reason.
7598
7599         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
7600           Add log message that tells us when large file support 
7601           is unavailable or not enabled for some reason.
7602
7603 2005-07-29  Wim Taymans  <wim@fluendo.com>
7604
7605         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7606         Added test for removing an element with ghostpad from a bin.
7607         Fixed test as current implementation does the right thing.
7608
7609         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
7610         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
7611         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
7612         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
7613         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
7614         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7615         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7616         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7617         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
7618         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
7619         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
7620         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
7621         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7622         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
7623         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
7624         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
7625         * gst/gstghostpad.h:
7626         Clean up ghostpads, remove properties for internal stuff.
7627         Make threadsafe.
7628         Fix refcounting.
7629         Prepare for switching targets, not all use cases work yet.
7630
7631 2005-07-29  Wim Taymans  <wim@fluendo.com>
7632
7633         * docs/design/part-gstghostpad.txt:
7634         Small update.
7635
7636         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7637         (gst_bin_remove_func):
7638         Unlinking pads while holding the bin LOCK is not a good
7639         idea.
7640
7641         * gst/gstpad.c: (gst_pad_class_init),
7642         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
7643         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
7644         No prob setting template after creating the pad.
7645
7646 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
7647
7648         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
7649         (gst_bus_peek), (gst_bus_source_dispatch),
7650         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
7651         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
7652           gst_bus_poll may be called from other threads. Handle
7653           this nicely by not making poll_data disappear off the
7654           stack once gst_bus_poll returns.
7655           gst_bus_peek now increments the refcount on the returned
7656           message.
7657
7658 2005-07-29  Wim Taymans  <wim@fluendo.com>
7659
7660         * docs/design/part-gstghostpad.txt:
7661         Overview of current GhostPad datastructures and use
7662         cases for changing the target.
7663
7664 2005-07-28  Wim Taymans  <wim@fluendo.com>
7665
7666         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7667         Added checks for hierarchy consistency whan adding linked
7668         elements to bins.
7669
7670         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7671         Added check to test element scheduling without bin/pipeline.
7672
7673         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7674         First add elements to bin, then link.
7675         
7676         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
7677         (gst_bin_remove_func):
7678         Unlink pads from elements added/removed from bin to maintain
7679         hierarchy consistency.
7680
7681 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7682
7683         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7684         (gst_base_transform_handle_buffer):
7685         * gst/base/gstbasetransform.h:
7686           Remove broken delay_configure (fixes renegotiation of software
7687           scaling pipelines); remove some leftover printf()s.
7688
7689 2005-07-28  Wim Taymans  <wim@fluendo.com>
7690
7691         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7692         Added some more tests for wrong hierarchy
7693
7694         * docs/design/part-overview.txt:
7695         Some updates.
7696
7697         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
7698         Cleanups.
7699
7700         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
7701         (gst_element_dispose):
7702         Some more cleanups.
7703
7704         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
7705         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
7706         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7707         (gst_pad_set_caps), (gst_pad_send_event):
7708         Check for correct hierarchy when linking pads. Moving to
7709         strict requirement for ghostpads when linking elements in
7710         different bins.
7711
7712         * gst/gstpad.h:
7713         Clean ups. Added WRONG_HIERARCHY return value.
7714
7715 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7716
7717         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7718           Better debug if no transform is possible.
7719
7720 2005-07-27  Wim Taymans  <wim@fluendo.com>
7721
7722         * docs/random/wtay/network-transp:
7723         Some old doc I had.
7724
7725 2005-07-27  Wim Taymans  <wim@fluendo.com>
7726
7727         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7728         (gst_dp_event_from_packet):
7729         Fix serialization of seek events.
7730
7731 2005-07-27  Wim Taymans  <wim@fluendo.com>
7732
7733         * check/gst-libs/gdp.c: (GST_START_TEST):
7734         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7735         Fix compilation and fix event serialization.
7736
7737 2005-07-27  Wim Taymans  <wim@fluendo.com>
7738
7739         * CHANGES-0.9:
7740         * docs/design/part-TODO.txt:
7741         * docs/design/part-events.txt:
7742         Some docs updates
7743
7744         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7745         (gst_base_sink_event), (gst_base_sink_do_sync),
7746         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7747         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7748         (gst_base_src_do_seek), (gst_base_src_event_handler),
7749         (gst_base_src_loop):
7750         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7751         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7752         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7753         (gst_base_transform_event), (gst_base_transform_handle_buffer),
7754         (gst_base_transform_set_passthrough),
7755         (gst_base_transform_is_passthrough):
7756         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7757         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7758         Event updates.
7759
7760         * gst/gstbuffer.h:
7761         Use faster casts.
7762
7763         * gst/gstelement.c: (gst_element_seek):
7764         * gst/gstelement.h:
7765         Update gst_element_seek.
7766
7767         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
7768         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
7769         (gst_event_new_flush_start), (gst_event_new_flush_stop),
7770         (gst_event_new_eos), (gst_event_new_newsegment),
7771         (gst_event_parse_newsegment), (gst_event_new_tag),
7772         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
7773         (gst_event_parse_qos), (gst_event_new_seek),
7774         (gst_event_parse_seek), (gst_event_new_navigation):
7775         * gst/gstevent.h:
7776         Make GstEvent use GstStructure. Add parsing code, make sure the
7777         API is sufficiently generic.
7778         Mark possible directions of events and serialization.
7779
7780         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
7781         (_gst_message_copy), (gst_message_new_segment_start),
7782         (gst_message_new_segment_done), (gst_message_new_custom),
7783         (gst_message_parse_segment_start),
7784         (gst_message_parse_segment_done):
7785         Small cleanups.
7786
7787         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7788         (gst_pad_set_caps), (gst_pad_send_event):
7789         Update for new events. 
7790         Catch events sent in wrong directions.
7791
7792         * gst/gstqueue.c: (gst_queue_link_src),
7793         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
7794         (gst_queue_handle_src_query):
7795         Event updates.
7796
7797         * gst/gsttag.c:
7798         * gst/gsttag.h:
7799         Remove event code from this file.
7800
7801         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7802         (gst_dp_event_from_packet):
7803         Event updates.
7804
7805 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7806
7807         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
7808         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7809         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
7810           Make debugging actually useful.
7811
7812 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7813
7814         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
7815         (gst_pad_fixate_caps):
7816           Implement default fixation once again, so that gst_pad_fixate()
7817           actually does anything at all. This probably needs to be some
7818           sort of a last resort, and use profile-based fixation first, but
7819           since that doesn't exist yet, this is the best we have. Fixes
7820           visualization in Totem.
7821
7822 2005-07-22  Wim Taymans  <wim@fluendo.com>
7823
7824         * docs/design/part-events.txt:
7825         Small update.
7826
7827         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7828         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
7829         (gst_base_sink_activate_pull):
7830         Some more comments.
7831
7832         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
7833         (gst_fake_src_create):
7834         Fix handoff marshall.
7835
7836         * gst/elements/gstidentity.c: (gst_identity_class_init),
7837         (gst_identity_transform_ip):
7838         We're a real inplace element.
7839
7840         * gst/gstbus.c: (gst_bus_post):
7841         Added some comments.
7842
7843         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
7844         * tests/muxing/case1.c: (main):
7845         * tests/sched/dynamic-pipeline.c: (main):
7846         * tests/sched/interrupt1.c: (main):
7847         * tests/sched/interrupt2.c: (main):
7848         * tests/sched/interrupt3.c: (main):
7849         * tests/sched/runxml.c: (main):
7850         * tests/sched/sched-stress.c: (main):
7851         * tests/seeking/seeking1.c: (event_received), (main):
7852         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7853         (main):
7854         * tests/threadstate/threadstate3.c: (main):
7855         * tests/threadstate/threadstate4.c: (main):
7856         * tests/threadstate/threadstate5.c: (main):
7857         Fix the tests.
7858
7859 2005-07-21  Wim Taymans  <wim@fluendo.com>
7860
7861         * docs/design/part-seeking.txt:
7862         Some small additions.
7863
7864         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7865         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7866         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
7867         * gst/base/gstbasesink.h:
7868         discont values are gint64, handle the math correctly.
7869
7870         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7871         Make the basesrc report error if the source pad is not linked.
7872
7873         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7874         (gst_queue_loop), (gst_queue_handle_src_query),
7875         (gst_queue_src_activate_push):
7876         Make queue collect data even if the srcpad is not linked.
7877         Start pushing out data as soon as it is linked.
7878
7879         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
7880         * gst/gstutils.h:
7881         Added gst_flow_get_name() to ease error reporting.
7882
7883 2005-07-20  Wim Taymans  <wim@fluendo.com>
7884
7885         * gst/gstmessage.c: (gst_message_new_segment_start),
7886         (gst_message_new_segment_done), (gst_message_parse_segment_start),
7887         (gst_message_parse_segment_done):
7888         * gst/gstmessage.h:
7889         Added a bunch of messages for advanced seeking.
7890
7891         * gst/parse/grammar.y:
7892         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
7893         (gst_dpman_state_changed):
7894         Fix some new-pad -> pad-added signals
7895
7896 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7897
7898         * docs/manual/appendix-porting.xml:
7899         * docs/pwg/appendix-porting.xml:
7900           Document new-pad/state-change signal renames and the FixedList
7901           type rename.
7902
7903 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7904
7905         * docs/manual/advanced-autoplugging.xml:
7906         * docs/manual/basics-helloworld.xml:
7907         * docs/manual/basics-pads.xml:
7908         * docs/random/ds/0.9-suggested-changes:
7909         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
7910         * gst/gstelement.h:
7911         * gst/gstevent.h:
7912         * gst/gstformat.h:
7913         * gst/gstquery.h:
7914         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7915         (gst_structure_parse_array), (gst_structure_parse_value):
7916         * gst/gstvalue.c: (gst_type_is_fixed),
7917         (gst_value_list_prepend_value), (gst_value_list_append_value),
7918         (gst_value_list_get_size), (gst_value_list_get_value),
7919         (gst_value_transform_array_string), (gst_value_serialize_array),
7920         (gst_value_deserialize_array), (gst_value_intersect_array),
7921         (gst_value_is_fixed), (_gst_value_initialize):
7922         * gst/gstvalue.h:
7923           GstElement::new-pad -> pad-added, GstElement::state-change ->
7924           state-changed, GstValueFixedList -> GstValueArray, add format and
7925           flags as their own arguments in gst_element_seek() (should improve
7926           "bindeability"), remove function generators since they don't work
7927           under a whole bunch of compilers (they were deprecated already
7928           anyway).
7929
7930 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7931
7932         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7933         (_gst_debug_register_funcptr):
7934         * gst/gstinfo.h:
7935           Fix illegal cast on some platforms (#309253).
7936
7937 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7938
7939         * gst/gstmessage.c: (gst_message_new_custom):
7940         * gst/gstmessage.h:
7941           Add _new_custom, make _new_application a macro to _new_custom.
7942
7943 2005-07-20  Wim Taymans  <wim@fluendo.com>
7944
7945         * gst/base/gstbasesrc.c: (gst_base_src_init),
7946         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7947         * gst/base/gstbasesrc.h:
7948         Add a gboolean to decide when to push out a discont.
7949
7950         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7951         (gst_queue_loop), (gst_queue_handle_src_query),
7952         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
7953         (gst_queue_set_property), (gst_queue_get_property):
7954         Some cleanups.
7955
7956         * tests/threadstate/threadstate1.c: (main):
7957         Make a thread test compile and run... very silly..
7958
7959
7960 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7961
7962         * docs/manual/appendix-porting.xml:
7963           Mention removal of libgstgconf-0.9.la and existence of gconf
7964           elements.
7965
7966 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7967
7968         * docs/pwg/advanced-clock.xml:
7969         * docs/pwg/appendix-porting.xml:
7970         * docs/pwg/intro-preface.xml:
7971         * docs/pwg/other-base.xml:
7972         * docs/pwg/other-manager.xml:
7973         * docs/pwg/other-nton.xml:
7974         * docs/pwg/other-ntoone.xml:
7975         * docs/pwg/other-oneton.xml:
7976         * docs/pwg/pwg.xml:
7977           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
7978           demuxer), remove n-to-n (was never written), fix some code examples
7979           and links and update the porting section to include all this.
7980
7981 2005-07-19  Wim Taymans  <wim@fluendo.com>
7982
7983         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
7984         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
7985         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
7986         (gst_queue_src_activate_push), (gst_queue_change_state),
7987         (gst_queue_get_property):
7988         * gst/gstqueue.h:
7989         Propagate GstFlowReturn more intelligently upstream and output
7990         an ERROR/EOS when streaming stopped due to fatal error.
7991
7992 2005-07-19  Wim Taymans  <wim@fluendo.com>
7993
7994         * tools/gst-launch.c: (check_intr), (event_loop), (main):
7995         Don't block forever for the state change to complete, the
7996         pipeline already did with a sensible timeout.
7997
7998 2005-07-19  Wim Taymans  <wim@fluendo.com>
7999
8000         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8001         Make sure we never call the create function is we
8002         got deactivated.
8003
8004 2005-07-19  Andy Wingo  <wingo@pobox.com>
8005
8006         * gst/parse/parse.l: Attempt to solve bug #172815.
8007
8008 2005-07-19  Wim Taymans  <wim@fluendo.com>
8009
8010         * docs/design/part-clocks.txt:
8011         * docs/design/part-events.txt:
8012         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8013         Small docs updates.
8014         Only update the seeking values when we are not
8015         busy streaming.
8016
8017 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8018
8019         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8020           Oops, ignore the result of gst_pad_push_event here.
8021
8022 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8023
8024         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8025         (gst_base_src_activate_push):
8026           Send discont event from the loop function, as pads
8027           aren't activated yet in the activate_push handler.
8028
8029         * gst/gstbin.c: (bin_bus_handler):
8030           Don't leak element name.
8031
8032 2005-07-18  Andy Wingo  <wingo@pobox.com>
8033
8034         * configure.ac: Use AS_LIBTOOL_TAGS.
8035
8036 2005-07-18  Wim Taymans  <wim@fluendo.com>
8037
8038         * docs/gst/gstreamer.types:
8039         Remove deleted types.
8040
8041 2005-07-18  Wim Taymans  <wim@fluendo.com>
8042
8043         * check/elements/gstfakesrc.c: (GST_START_TEST):
8044         * configure.ac:
8045         * gst/Makefile.am:
8046         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8047         (init_popt_callback):
8048         * gst/gst.h:
8049         * gst/gst_private.h:
8050         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8051         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8052         * gst/gstbin.h:
8053         * gst/gstbus.h:
8054         * gst/gstconfig.h.in:
8055         * gst/gstelement.c: (gst_element_class_init),
8056         (gst_element_set_base_time), (gst_element_get_base_time),
8057         (iterator_fold_with_resync), (gst_element_change_state),
8058         (gst_element_dispose), (gst_element_get_bus):
8059         * gst/gstelement.h:
8060         * gst/gstelementfactory.h:
8061         * gst/gsterror.c: (_gst_core_errors_init):
8062         * gst/gsterror.h:
8063         * gst/gstevent.h:
8064         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8065         * gst/gstindex.c:
8066         * gst/gstinfo.c: (_gst_debug_init):
8067         * gst/gstmessage.c: (_gst_message_copy):
8068         * gst/gstmessage.h:
8069         * gst/gstminiobject.h:
8070         * gst/gstobject.c:
8071         * gst/gstobject.h:
8072         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8073         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8074         * gst/gstpad.h:
8075         * gst/gstparse.h:
8076         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8077         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8078         (gst_pipeline_get_last_stream_time):
8079         * gst/gstpipeline.h:
8080         * gst/gstpluginfeature.h:
8081         * gst/gstquery.h:
8082         * gst/gstscheduler.c:
8083         * gst/gstscheduler.h:
8084         * gst/gststructure.h:
8085         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8086         (gst_task_finalize), (gst_task_func), (gst_task_create),
8087         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8088         (gst_task_stop), (gst_task_pause):
8089         * gst/gsttask.h:
8090         * gst/gsttypefind.h:
8091         * gst/gsttypes.h:
8092         * gst/registries/gstlibxmlregistry.c: (load_feature),
8093         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8094         * gst/registries/gstxmlregistry.c:
8095         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8096         * gst/schedulers/threadscheduler.c:
8097         * libs/gst/control/dparammanager.h:
8098         * tools/gst-inspect.c: (print_element_list),
8099         (print_plugin_features), (print_element_features):
8100         * tools/gst-xmlinspect.c: (print_element_list),
8101         (print_plugin_info), (main):
8102         Removed plugable schedulers.
8103         Removed Scheduler/Manager from elements.
8104         Removed gsttypes.h, rearranged includes.
8105         Removed dependency pad<->element, element<>pipeline, and
8106         various others,  fix includes.
8107         implement gst_pad_get_parent() with gst_object_get_parent()
8108         Make GstTask sefcontained.
8109         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8110         timeout.
8111         Fix endless loop in iterator_fold_with_resync.
8112
8113
8114 2005-07-18  Wim Taymans  <wim@fluendo.com>
8115
8116         * gst/Makefile.am:
8117         * gst/gstarch.h:
8118         Remove old file.
8119
8120 2005-07-18  Wim Taymans  <wim@fluendo.com>
8121
8122         * gst/Makefile.am:
8123         No more cothreads.h
8124
8125 2005-07-18  Wim Taymans  <wim@fluendo.com>
8126
8127         * gst/cothreads.c:
8128         * gst/cothreads.h:
8129         Let's remove these.
8130
8131 2005-07-18  Wim Taymans  <wim@fluendo.com>
8132
8133         * docs/design/part-dynamic.txt:
8134         * docs/design/part-events.txt:
8135         * docs/design/part-seeking.txt:
8136         Some more docs in the works.
8137
8138         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8139         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8140         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8141         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8142         (gst_base_transform_handle_buffer),
8143         (gst_base_transform_sink_activate_push),
8144         (gst_base_transform_src_activate_pull),
8145         (gst_base_transform_set_passthrough),
8146         (gst_base_transform_is_passthrough):
8147         Refcounting fixes.
8148
8149         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8150         Cleanups.
8151
8152         * gst/gstevent.c: (gst_event_finalize):
8153         Set SRC to NULL.
8154
8155         * gst/gstutils.c: (gst_element_unlink),
8156         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8157         (gst_pad_proxy_setcaps):
8158         * gst/gstutils.h:
8159         Add _get_parent_element() to get a pads parent as an element.
8160
8161 2005-07-18  Wim Taymans  <wim@fluendo.com>
8162
8163         * check/gst/gstbin.c: (GST_START_TEST):
8164         Remove bogus test.
8165
8166 2005-07-18  Wim Taymans  <wim@fluendo.com>
8167
8168         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8169         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8170         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8171         (gst_base_sink_event), (gst_base_sink_do_sync),
8172         (gst_base_sink_chain), (gst_base_sink_loop),
8173         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8174         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8175         Refcounting fixes.
8176         Fix logic for returning ASYNC when not prerolled.
8177
8178 2005-07-18  Wim Taymans  <wim@fluendo.com>
8179
8180         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8181         Fix nasty refcount bug.
8182
8183 2005-07-16 Philippe Khalaf <burger@speedy.org>
8184
8185         * gst/elements/gstfdsrc.c:
8186         * gst/elements/gstfdsrc.h:
8187         * gst/elements/gstelements.c:
8188         * gst/elements/Makefile.am:
8189         Ported fdsrc to 0.9.
8190
8191 2005-07-16  Wim Taymans  <wim@fluendo.com>
8192
8193         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8194         (gst_base_sink_do_sync):
8195         Fix compile error.
8196
8197 2005-07-16  Wim Taymans  <wim@fluendo.com>
8198
8199         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8200         (gst_base_sink_event), (gst_base_sink_get_times),
8201         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8202         * gst/base/gstbasesink.h:
8203         Store and use discont values when syncing buffers as described
8204         in design docs.
8205         
8206         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8207         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8208         (gst_base_src_activate_push):
8209         Push discont event when starting.
8210
8211         * gst/elements/gstidentity.c: (gst_identity_transform):
8212         Small cleanups.
8213
8214         * gst/gstbin.c: (gst_bin_change_state):
8215         Small cleanups in base_time  distribution.
8216
8217         * gst/gstelement.c: (gst_element_set_base_time),
8218         (gst_element_get_base_time), (gst_element_change_state):
8219         * gst/gstelement.h:
8220         Added methods for the base_time of the element.
8221         Some MT fixes.
8222
8223         * gst/gstpipeline.c: (gst_pipeline_send_event),
8224         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8225         (gst_pipeline_get_last_stream_time):
8226         * gst/gstpipeline.h:
8227         MT fixes.
8228         Handle seeking as described in design doc, remove stream_time
8229         hack.
8230         Cleanups clock and stream_time selection code. Added accessors
8231         for the stream_time.
8232         
8233
8234 2005-07-16  Andy Wingo  <wingo@pobox.com>
8235
8236         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8237         (#305291).
8238
8239 2005-07-16  Wim Taymans  <wim@fluendo.com>
8240
8241         * check/gst/gstbin.c: (GST_START_TEST):
8242         Make elements silent as the deep_notify refs the
8243         parent, which might make the test fail.
8244
8245         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8246         Don't hold the lock for too long.
8247
8248 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8249
8250         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8251           Don't unref the caps we passed to gst_caps_make_writable() after
8252           passing them. gst_caps_make_writable() will do that for us.
8253
8254 2005-07-15  Andy Wingo  <wingo@pobox.com>
8255
8256         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8257         (#157311).
8258
8259         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8260         own marshalling function for the handoff signal. Properly type the
8261         buffer as a buffer. Fixes some warnings. Should do a more general
8262         solution.
8263         (gst_identity_class_init): Plug into the right marshaller.
8264
8265 2005-07-15  Wim Taymans  <wim@fluendo.com>
8266
8267         * docs/design/part-TODO.txt:
8268         * docs/design/part-clocks.txt:
8269         * docs/design/part-element-sink.txt:
8270         * docs/design/part-events.txt:
8271         * docs/design/part-gstpipeline.txt:
8272         Updated docs, mostly DISCONT related.
8273
8274 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
8275
8276         * docs/pwg/building-pads.xml:
8277           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8278
8279 2005-07-15  Andy Wingo  <wingo@pobox.com>
8280
8281         * tools/gst-typefind.c: Update, add copyright block.
8282
8283         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8284         Normalize and truncate caps before fixation.
8285
8286         * gst/gstcaps.h:
8287         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8288         discards all but the first structure from its argument.
8289
8290 2005-07-15  Wim Taymans  <wim@fluendo.com>
8291
8292         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8293         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8294         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8295         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8296         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8297         (gst_base_transform_chain), (gst_base_transform_change_state),
8298         (gst_base_transform_set_passthrough),
8299         (gst_base_transform_is_passthrough):
8300         * gst/base/gstbasetransform.h:
8301         Make passthrough work using the bufferpools.
8302         Changed API a bit, subclasses have to write into a buffer
8303         provided by the base class.
8304         More debug info in nego functions.
8305         
8306         * gst/elements/gstidentity.c: (gst_identity_init),
8307         (gst_identity_transform):
8308         Port to new base class.
8309
8310 2005-07-15  Wim Taymans  <wim@fluendo.com>
8311
8312         * gst/gstmessage.c: (gst_message_new_state_changed):
8313         * tools/gst-launch.c: (event_loop), (main):
8314         Totally dump messages in -launch with the -m option.
8315         Fix message name for State messages,
8316
8317 2005-07-14  Wim Taymans  <wim@fluendo.com>
8318
8319         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8320         Post error messages on errors.
8321
8322 2005-07-14  Wim Taymans  <wim@fluendo.com>
8323
8324         * gst/gstcaps.c: (gst_caps_do_simplify):
8325         Remove debug info.
8326
8327         * gst/gsterror.h:
8328         Define error for stream stopped.
8329
8330         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8331         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8332         Do proper return values.
8333
8334         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8335         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8336         (gst_pad_get_range):
8337         Better return values.
8338
8339         * gst/gstpad.h:
8340         Reorganise return values, add macro to check for fatal errors.
8341
8342         * gst/gstqueue.c: (gst_queue_chain):
8343         Return proper GstFlowReturn values,
8344
8345 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8346
8347         * docs/gst/gstreamer-sections.txt:
8348         * docs/gst/gstreamer.types:
8349         * docs/gst/tmpl/gst.sgml:
8350         * docs/gst/tmpl/gstbasesink.sgml:
8351         * docs/gst/tmpl/gstbasesrc.sgml:
8352         * docs/gst/tmpl/gstbasetransform.sgml:
8353         * docs/gst/tmpl/gstbin.sgml:
8354         * docs/gst/tmpl/gstbuffer.sgml:
8355         * docs/gst/tmpl/gstcaps.sgml:
8356         * docs/gst/tmpl/gstclock.sgml:
8357         * docs/gst/tmpl/gstcompat.sgml:
8358         * docs/gst/tmpl/gstconfig.sgml:
8359         * docs/gst/tmpl/gstelement.sgml:
8360         * docs/gst/tmpl/gstelementdetails.sgml:
8361         * docs/gst/tmpl/gstelementfactory.sgml:
8362         * docs/gst/tmpl/gstenumtypes.sgml:
8363         * docs/gst/tmpl/gsterror.sgml:
8364         * docs/gst/tmpl/gstevent.sgml:
8365         * docs/gst/tmpl/gstfakesink.sgml:
8366         * docs/gst/tmpl/gstfakesrc.sgml:
8367         * docs/gst/tmpl/gstfilesink.sgml:
8368         * docs/gst/tmpl/gstfilesrc.sgml:
8369         * docs/gst/tmpl/gstfilter.sgml:
8370         * docs/gst/tmpl/gstformat.sgml:
8371         * docs/gst/tmpl/gstghostpad.sgml:
8372         * docs/gst/tmpl/gstimplementsinterface.sgml:
8373         * docs/gst/tmpl/gstindex.sgml:
8374         * docs/gst/tmpl/gstindexfactory.sgml:
8375         * docs/gst/tmpl/gstinfo.sgml:
8376         * docs/gst/tmpl/gstiterator.sgml:
8377         * docs/gst/tmpl/gstmacros.sgml:
8378         * docs/gst/tmpl/gstmemchunk.sgml:
8379         * docs/gst/tmpl/gstminiobject.sgml:
8380         * docs/gst/tmpl/gstobject.sgml:
8381         * docs/gst/tmpl/gstpad.sgml:
8382         * docs/gst/tmpl/gstpadtemplate.sgml:
8383         * docs/gst/tmpl/gstparse.sgml:
8384         * docs/gst/tmpl/gstpipeline.sgml:
8385         * docs/gst/tmpl/gstplugin.sgml:
8386         * docs/gst/tmpl/gstpluginfeature.sgml:
8387         * docs/gst/tmpl/gstquery.sgml:
8388         * docs/gst/tmpl/gstqueue.sgml:
8389         * docs/gst/tmpl/gstregistry.sgml:
8390         * docs/gst/tmpl/gstregistrypool.sgml:
8391         * docs/gst/tmpl/gstscheduler.sgml:
8392         * docs/gst/tmpl/gstschedulerfactory.sgml:
8393         * docs/gst/tmpl/gststructure.sgml:
8394         * docs/gst/tmpl/gstsystemclock.sgml:
8395         * docs/gst/tmpl/gsttaglist.sgml:
8396         * docs/gst/tmpl/gsttagsetter.sgml:
8397         * docs/gst/tmpl/gsttrace.sgml:
8398         * docs/gst/tmpl/gsttrashstack.sgml:
8399         * docs/gst/tmpl/gsttypefind.sgml:
8400         * docs/gst/tmpl/gsttypefindfactory.sgml:
8401         * docs/gst/tmpl/gsttypes.sgml:
8402         * docs/gst/tmpl/gsturihandler.sgml:
8403         * docs/gst/tmpl/gsturitype.sgml:
8404         * docs/gst/tmpl/gstutils.sgml:
8405         * docs/gst/tmpl/gstvalue.sgml:
8406         * docs/gst/tmpl/gstversion.sgml:
8407         * docs/gst/tmpl/gstxml.sgml:
8408         * docs/libs/tmpl/gstcontrol.sgml:
8409         * docs/libs/tmpl/gstdataprotocol.sgml:
8410         * docs/libs/tmpl/gstdparam.sgml:
8411         * docs/libs/tmpl/gstdplinint.sgml:
8412         * docs/libs/tmpl/gstdpman.sgml:
8413         * docs/libs/tmpl/gstdpsmooth.sgml:
8414         * docs/libs/tmpl/gstgetbits.sgml:
8415         * docs/libs/tmpl/gstunitconvert.sgml:
8416         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
8417         (gst_push_src_base_init), (gst_push_src_class_init),
8418         (gst_push_src_init), (gst_push_src_create):
8419         * gst/base/gstpushsrc.h:
8420         * gst/elements/gstelements.c:
8421         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
8422         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
8423         (gst_fake_sink_init), (gst_fake_sink_set_property),
8424         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
8425         (gst_fake_sink_event), (gst_fake_sink_preroll),
8426         (gst_fake_sink_render), (gst_fake_sink_change_state):
8427         * gst/elements/gstfakesink.h:
8428         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8429         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8430         (gst_fake_src_base_init), (gst_fake_src_class_init),
8431         (gst_fake_src_init), (gst_fake_src_event_handler),
8432         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
8433         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
8434         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
8435         (gst_fake_src_create_buffer), (gst_fake_src_create),
8436         (gst_fake_src_start), (gst_fake_src_stop):
8437         * gst/elements/gstfakesrc.h:
8438         * gst/elements/gstfilesink.c: (_do_init),
8439         (gst_file_sink_base_init), (gst_file_sink_class_init),
8440         (gst_file_sink_init), (gst_file_sink_dispose),
8441         (gst_file_sink_set_location), (gst_file_sink_set_property),
8442         (gst_file_sink_get_property), (gst_file_sink_open_file),
8443         (gst_file_sink_close_file), (gst_file_sink_query),
8444         (gst_file_sink_event), (gst_file_sink_render),
8445         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
8446         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
8447         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
8448         * gst/elements/gstfilesink.h:
8449         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
8450         (gst_file_src_class_init), (gst_file_src_init),
8451         (gst_file_src_finalize), (gst_file_src_set_location),
8452         (gst_file_src_set_property), (gst_file_src_get_property),
8453         (gst_file_src_map_region), (gst_file_src_map_small_region),
8454         (gst_file_src_create_mmap), (gst_file_src_create_read),
8455         (gst_file_src_create), (gst_file_src_is_seekable),
8456         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
8457         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
8458         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
8459         (gst_file_src_uri_handler_init):
8460         * gst/elements/gstfilesrc.h:
8461           more autistic cleanliness in functions/names/defines
8462
8463 2005-07-13  Andy Wingo  <wingo@pobox.com>
8464
8465         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
8466         source couldn't negotiate.
8467
8468         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
8469         connections again.
8470
8471         * gst/gstutils.h:
8472         * gst/gstutils.c (gst_element_link_pads_filtered): New old
8473         function. I am channeling Hades. Put your boots on suckers!!!
8474
8475 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8476
8477         * testsuite/caps/Makefile.am:
8478         * testsuite/caps/value_compare.c:
8479         * testsuite/caps/value_intersect.c:
8480         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8481           move two testsuite apps over to the check dir
8482
8483 2005-07-12  Wim Taymans  <wim@fluendo.com>
8484
8485         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8486         Added more debug info in the negotiate process.
8487
8488         * gst/gstmessage.h:
8489         Prepare for segment playback.
8490
8491         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
8492         Better debugging.
8493
8494         * gst/gstutils.c:
8495         Some more docs.
8496
8497         * tools/gst-launch.c: (main):
8498         NULL pipeline on errors.
8499
8500 2005-07-12  Andy Wingo  <wingo@pobox.com>
8501
8502         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
8503         not it comes from a malloc region. Make sure our copy gets freed.
8504
8505 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8506
8507         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8508         * check/gst/gstmessage.c: (GST_START_TEST):
8509         * check/gst/gststructure.c: (GST_START_TEST),
8510         (gst_structure_suite), (main):
8511           more testing
8512         * gst/gstelement.c: (gst_element_message_full):
8513           clean up GError and debug string now that they get copied
8514         * gst/gstmessage.c: (gst_message_new_error),
8515         (gst_message_new_warning), (gst_message_parse_error),
8516         (gst_message_parse_warning):
8517           use GST_TYPE_G_ERROR for structure_new, and take copies of
8518           arguments, so that we don't mess up refcounting
8519
8520 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8521
8522         * check/Makefile.am:
8523           add per-test valgrind targets
8524         * check/gst-libs/gdp.c: (GST_START_TEST),
8525         (gst_data_protocol_suite), (main):
8526           clean up
8527
8528 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8529
8530         * check/Makefile.am:
8531           instate more valgrindable tests
8532         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8533         (GST_START_TEST), (fakesrc_suite):
8534         * check/gst/gstpad.c: (GST_START_TEST):
8535         * check/gst/gststructure.c: (GST_START_TEST):
8536           fix test leaks
8537         * docs/gst/tmpl/gstminiobject.sgml:
8538         * gst/gstpad.c: (gst_pad_finalize):
8539           fix the static mutex leak
8540
8541 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8542
8543         * check/Makefile.am:
8544           add two more tests for valgrinding
8545         * check/gst/gstvalue.c: (GST_START_TEST):
8546           test refcount of deserialized buffer, found a leak
8547         * docs/gst/gstreamer-docs.sgml:
8548         * docs/gst/gstreamer-sections.txt:
8549         * docs/gst/gstreamer.types:
8550         * docs/gst/tmpl/gstminiobject.sgml:
8551           add miniobject to docs
8552         * gst/gstminiobject.c:
8553           add some docs
8554         * gst/gstvalue.c: (gst_value_deserialize_buffer),
8555         (gst_string_unwrap):
8556           fix a hard-to-find invalid write for one of the tests
8557           fix a leak for deserialized buffers
8558
8559 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8560
8561         * docs/pwg/advanced-events.xml:
8562         * docs/pwg/advanced-request.xml:
8563         * docs/pwg/advanced-scheduling.xml:
8564         * docs/pwg/appendix-porting.xml:
8565         * docs/pwg/building-boiler.xml:
8566         * docs/pwg/intro-preface.xml:
8567         * docs/pwg/other-ntoone.xml:
8568           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
8569           of example code and explanation for pad activation, loop() and
8570           getrange() functions and a bit more. Remove old comments pointing
8571           to loop-functions.
8572         * examples/pwg/Makefile.am:
8573           Add loop/getrange examples.
8574
8575 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8576
8577         * configure.ac:
8578           check for valgrind binary + some fixes
8579         * check/gst.supp:
8580           valgrind suppressions for the tests
8581         * check/Makefile.am:
8582           add a valgrind: target that valgrinds the unit tests
8583         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
8584         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8585         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8586         * check/gst/gstghostpad.c:
8587           added some cleanup
8588         * check/gst/gstdata.c:
8589           removed
8590         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
8591         (thread_unref), (gst_mini_object_suite), (main):
8592           added
8593         * gst/gst.c: (gst_deinit):
8594         * gst/gst.h:
8595           add a method to clean up.
8596         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8597         (gst_system_clock_obtain):
8598           allow for disposing the system clock.
8599         * tools/gst-launch.c: (main):
8600           deinit
8601
8602 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8603
8604         * docs/gst/tmpl/gstbasesrc.sgml:
8605         * docs/gst/tmpl/gstfakesrc.sgml:
8606         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8607         (gst_base_src_init), (gst_base_src_set_property),
8608         (gst_base_src_get_property), (gst_base_src_get_range),
8609         (gst_base_src_start):
8610         * gst/base/gstbasesrc.h:
8611           add num-buffers property
8612         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8613         (gst_fakesrc_init), (gst_fakesrc_set_property),
8614         (gst_fakesrc_get_property), (gst_fakesrc_create),
8615         (gst_fakesrc_start):
8616           remove num-buffers property
8617
8618 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8619
8620         * docs/gst/gstreamer-sections.txt:
8621         * docs/gst/tmpl/gstbasesink.sgml:
8622         * docs/gst/tmpl/gstbasesrc.sgml:
8623         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8624         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8625         (gst_base_sink_finalize), (gst_base_sink_set_clock),
8626         (gst_base_sink_set_property), (gst_base_sink_get_property),
8627         (gst_base_sink_handle_object), (gst_base_sink_event),
8628         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8629         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
8630         (gst_base_sink_loop), (gst_base_sink_deactivate),
8631         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
8632         (gst_base_sink_change_state):
8633         * gst/base/gstbasesink.h:
8634         * gst/base/gstbasesrc.h:
8635         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
8636         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
8637         (gst_filesink_init):
8638           more macro splitting
8639
8640 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8641
8642         * gst/gstelement.c: (gst_element_get_bus):
8643           add debug
8644         * tools/gst-launch.c: (check_intr), (event_loop):
8645           fix bus leaks
8646
8647 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8648
8649         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8650           fix a caps leak
8651
8652 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8653
8654         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8655         (gst_base_src_finalize):
8656           add finalize method and clean up properly
8657         * gst/gstpipeline.c: (gst_pipeline_dispose):
8658           add debug
8659
8660 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8661
8662         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
8663         (gst_bin_suite):
8664           add more things to check
8665         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8666         * gst/gstelement.c:
8667           more debug
8668
8669 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8670
8671         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8672         (GST_START_TEST), (fakesrc_suite):
8673         * check/gst-libs/gdp.c: (GST_START_TEST):
8674         * check/gst/gst.c: (GST_START_TEST):
8675         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8676         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8677         * check/gst/gstbus.c: (GST_START_TEST):
8678         * check/gst/gstcaps.c: (GST_START_TEST):
8679         * check/gst/gstdata.c: (GST_START_TEST):
8680         * check/gst/gstelement.c: (GST_START_TEST):
8681         * check/gst/gstghostpad.c: (GST_START_TEST):
8682         * check/gst/gstiterator.c: (GST_START_TEST):
8683         * check/gst/gstmessage.c: (GST_START_TEST):
8684         * check/gst/gstobject.c: (GST_START_TEST):
8685         * check/gst/gstpad.c: (GST_START_TEST):
8686         * check/gst/gststructure.c: (GST_START_TEST):
8687         * check/gst/gstsystemclock.c: (GST_START_TEST),
8688         (gst_systemclock_suite):
8689         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8690         * check/gst/gstvalue.c: (GST_START_TEST):
8691         * check/pipelines/cleanup.c: (GST_START_TEST):
8692         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8693         * check/states/sinks.c: (GST_START_TEST):
8694         * check/gstcheck.c: (gst_check_init):
8695         * check/gstcheck.h:
8696           add debugging category
8697           use GST_START_TEST now, so we add a debug line
8698
8699 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8700
8701         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
8702           add test for state change message on a bin
8703         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
8704           add another test
8705         * gst/gstbin.c: (gst_bin_init):
8706         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
8707         * gst/gstelement.c: (gst_element_post_message),
8708         (gst_element_set_state):
8709         * gst/gstelementfactory.c: (gst_element_factory_create):
8710         * gst/gstmessage.c: (gst_message_new):
8711         * gst/gstscheduler.c:
8712           various debugging additions and cleanups
8713
8714 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8715
8716         * check/Makefile.am:
8717         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
8718         (main):
8719           adding tests for elements
8720         * gst/gstelement.c: (gst_element_dispose):
8721
8722 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8723
8724         * gst/registries/gstlibxmlregistry.c: (load_feature):
8725           plug more leaks.  A simple gst_init() now is leakfree, yay.
8726
8727 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8728
8729         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
8730         (gst_xml_registry_load):
8731           plug another memleak
8732
8733 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8734
8735         * configure.ac:
8736           use GST_SET_ERROR_CFLAGS
8737         * docs/faq/cvs.xml:
8738           change to ERROR_CFLAGS
8739
8740 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8741
8742         * configure.ac:
8743           make GST_ERROR_CFLAGS overridable and re-enable Werror
8744         * docs/faq/cvs.xml:
8745           add a note about error CFLAGS
8746         * docs/gst/tmpl/gstfakesrc.sgml:
8747         * gst/elements/gstfakesrc.c:
8748           comment out some unused code
8749         * gst/gst.c: (split_and_iterate):
8750         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
8751         (load_feature):
8752           plug some memleaks
8753
8754 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8755
8756         * common/Makefile.am:
8757         * common/gtk-doc.mak:
8758         * docs/gst/Makefile.am:
8759           factor out gtk-doc.mak
8760
8761 2005-07-07  Wim Taymans  <wim@fluendo.com>
8762
8763         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
8764         (gst_thread_scheduler_dispose):
8765         Unlock the STREAM_LOCK completely.
8766
8767 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8768
8769         * check/Makefile.am:
8770         * check/elements/.cvsignore:
8771         * check/elements/gstfakesrc.c: (chain_func), (event_func),
8772         (START_TEST), (fakesrc_suite), (main):
8773         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8774         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
8775         (gst_fakesrc_create), (gst_fakesrc_start):
8776         * gst/elements/gstfakesrc.h:
8777           adding a first element test
8778
8779 2005-07-07  Andy Wingo  <wingo@pobox.com>
8780
8781         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
8782         debug message.
8783
8784 2005-07-07  Wim Taymans  <wim@fluendo.com>
8785
8786         * gst/gstquery.c:
8787         * gst/gstquery.h:
8788         Remove old types
8789
8790 2005-07-07  Wim Taymans  <wim@fluendo.com>
8791
8792         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8793         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
8794         Allow subclasses to implement their own negotiation.
8795
8796 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8797
8798         * docs/design/part-gstbin.txt:
8799         * docs/design/part-gstpipeline.txt:
8800           Update design notes to reflect the movement of
8801           responsibility for bus handling from GstPipeline to
8802           GstBin
8803
8804 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8805
8806         * configure.ac:
8807           Remove unnecessary queue2/3/4 examples.
8808
8809 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
8810
8811         * examples/Makefile.am:
8812         * examples/helloworld/helloworld.c: (event_loop), (main):
8813         * examples/queue/queue.c: (event_loop), (main):
8814         * examples/queue2/queue2.c: (main):
8815           Update a couple of the examples to work again.
8816
8817         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8818         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
8819          Spelling corrections and extra debug.
8820         
8821         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
8822         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
8823         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
8824         * gst/gstbin.h:
8825         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8826         (gst_pipeline_change_state):
8827         * gst/gstpipeline.h:
8828           Move the bus handler for children to the GstBin, and create a
8829           separate bus for receiving messages from children to the one the
8830           bus sends 'upwards' on.
8831
8832 2005-07-06  Wim Taymans  <wim@fluendo.com>
8833
8834         * gst/base/README:
8835         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8836         (gst_base_sink_handle_object), (gst_base_sink_loop),
8837         (gst_base_sink_change_state):
8838         * gst/base/gstbasesink.h:
8839         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8840         (gst_base_src_init), (gst_base_src_setcaps),
8841         (gst_base_src_getcaps), (gst_base_src_loop),
8842         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
8843         (gst_base_src_start), (gst_base_src_change_state):
8844         * gst/base/gstbasesrc.h:
8845         Make basesrc negotiate.
8846         Handle the case where preroll fails in basesink.
8847         Update README.
8848
8849 2005-07-06  Wim Taymans  <wim@fluendo.com>
8850
8851         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
8852         Implement the fixate function.
8853         Clean up acceptcaps.
8854
8855 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8856
8857         * docs/pwg/building-filterfactory.xml:
8858         * docs/pwg/pwg.xml:
8859           Remove never-written filter-factory chapter; I'll add the various
8860           base classes to part 4 ("other element types") later on.
8861
8862 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8863
8864         * docs/pwg/advanced-negotiation.xml:
8865         * docs/pwg/building-boiler.xml:
8866         * docs/pwg/building-pads.xml:
8867         * docs/pwg/pwg.xml:
8868         * examples/pwg/Makefile.am:
8869           Add a chapter on caps negotiation, simplify the original code
8870           samples a bit w.r.t. caps negotiation, add link to the advanced
8871           section. Add a bunch of examples showing different use cases of
8872           different types of caps negotiation. Upstream renegotiation isn't
8873           fully documented yet since nobody knows how that works.
8874
8875 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8876
8877         * check/gst/gstpad.c:
8878         * check/gstcheck.c:
8879         * gst/gstpad.c: (gst_pad_get_internal_links_default):
8880           if pad has no parent, return NULL as list of internal links
8881
8882 2005-07-05  Andy Wingo  <wingo@pobox.com>
8883
8884         * gst/elements/gstfilesrc.c:
8885         * gst/elements/gstfakesrc.c: 
8886         * gst/base/gstpushsrc.c:
8887         * gst/base/gstbasesrc.h: 
8888         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
8889         
8890 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
8891
8892         * Makefile.am:
8893           better report generation target (lcov needs a patch)
8894
8895 2005-07-05  Andy Wingo  <wingo@pobox.com>
8896
8897         * gst/elements, testsuite: Null if we got it...
8898
8899 2005-07-05  Wim Taymans  <wim@fluendo.com>
8900
8901         * configure.ac:
8902         * libs/gst/dataprotocol/Makefile.am:
8903         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
8904         * libs/gst/dataprotocol/dataprotocol.h:
8905         * pkgconfig/Makefile.am:
8906         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
8907         * pkgconfig/gstreamer-dataprotocol.pc.in:
8908         Ported dataprotol to 0.9. 
8909         Added pkgconfig files.
8910
8911 2005-07-05  Andy Wingo  <wingo@pobox.com>
8912
8913         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
8914         Default to returning TRUE for the case when tranform_caps returns
8915         a fixed caps, like for identity or volume.
8916
8917         * check/gst/gstbus.c (pound_bus_with_messages): 
8918         * check/gst/gstmessage.c (START_TEST): 
8919         * check/pipelines/simple_launch_lines.c (got_handoff): Application
8920         message API change.
8921
8922         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
8923         logic weaks here: always run transform_caps, trying passthrough
8924         operation only if the original caps intersects with the transform.
8925
8926         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
8927         source and sink caps.
8928
8929         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
8930         Intersect the peer caps with the pad template before going into
8931         transform_caps.
8932         (gst_base_transform_transform_caps): More debugging.
8933
8934         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
8935         src argument.
8936
8937 2005-07-04  Edward Hervey  <edward@fluendo.com>
8938
8939         * gst/gstutils.c:
8940         * gst/gstutils.h:
8941         (gst_pad_add_*_probe): now returns the signal id for better wrapping
8942         in bindings.
8943
8944 2005-07-04  Andy Wingo  <wingo@pobox.com>
8945
8946         * check/gst/gstpad.c: Only set explicit caps on pads.
8947
8948 2005-07-01  Andy Wingo  <wingo@pobox.com>
8949
8950         * tests/network-clock.scm: Commentary update.
8951
8952         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
8953         Didn't really make sense, not implementable with basetransform,
8954         etc.
8955         (gst_identity_transform): Unref inbuf via make_writable. Feeble
8956         attempt at implementing the sync property, needs an unlock method.
8957
8958         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
8959         New func, by default returns the same caps (the identity
8960         transformation).
8961         (gst_base_transform_getcaps): Uses transform_caps to return
8962         something sensible.
8963         (gst_base_transform_setcaps): Complicated logic to get caps on
8964         both pads, even if they are different, and to call set_caps once
8965         for every time both pads get their caps set.
8966         (gst_base_transform_handle_buffer): Give the ref to the transform
8967         function. Allows in-place modification of the buffer.
8968
8969         * gst/base/gstbasetransform.h (transform_caps): New class method.
8970         Given caps on one side, what can I do on the other.
8971         (set_caps): Take two caps, one for each side of the element.
8972
8973         * gst/gstpad.h:
8974         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
8975         caps in place. This is safe because we can check the mutability of
8976         the caps, and a good idea because fixate functions are just called
8977         as a matter of last resort. (Not actually implemented.)
8978         (gst_pad_set_caps): If the caps we're setting is actually the same
8979         as the existing pad caps, just update the pointer without calling
8980         setcaps. Assert that caps is either NULL or fixed, as per the
8981         docs.
8982
8983         * gst/gstghostpad.c: Update for fixate changes.
8984
8985 2005-07-02  Andy Wingo  <wingo@pobox.com>
8986
8987         * gst/gstcaps.c:
8988         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
8989         two refcounts makes it immutable, which is enough. Doc more.
8990
8991 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
8992
8993         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
8994           Put the mini_object into GValue as a mini_object,
8995           not a gpointer, since that's how we declared
8996           the signal.
8997
8998 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8999
9000         * examples/pwg/Makefile.am:
9001           Fix buildbot again.
9002
9003 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9004
9005         * docs/pwg/building-testapp.xml:
9006           Add extra check.
9007         * examples/pwg/Makefile.am:
9008           Fix buildbot.
9009
9010 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9011
9012         * configure.ac:
9013         * examples/Makefile.am:
9014         * examples/pwg/Makefile.am:
9015         * examples/pwg/extract.pl:
9016           Enable building the PWG examples.
9017         * docs/pwg/advanced-interfaces.xml:
9018           Add URI interface stub.
9019         * docs/pwg/advanced-types.xml:
9020         * docs/pwg/other-autoplugger.xml:
9021         * docs/pwg/appendix-porting.xml:
9022         * docs/pwg/pwg.xml:
9023           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9024         * docs/pwg/building-boiler.xml:
9025         * docs/pwg/building-chainfn.xml:
9026         * docs/pwg/building-pads.xml:
9027         * docs/pwg/building-props.xml:
9028         * docs/pwg/building-state.xml:
9029         * docs/pwg/building-testapp.xml:
9030           Update the building-*.xml parts for 0.9 changes. All examples
9031           code blocks compile in examples/pwg/*.
9032
9033 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9034
9035         * docs/manual/advanced-autoplugging.xml:
9036         * docs/manual/appendix-checklist.xml:
9037         * docs/manual/appendix-integration.xml:
9038         * docs/manual/highlevel-components.xml:
9039           Fix playbin/decodebin examples, update docs a bit, mention bus
9040           instead of signals in various places, mention kmplayer and
9041           kaffeine since they have a working GStreamer backend in the KDE
9042           section.
9043
9044 2005-06-30  Wim Taymans  <wim@fluendo.com>
9045
9046         * CHANGES-0.9:
9047         * docs/design/draft-ghostpads.txt:
9048         * docs/design/draft-push-pull.txt:
9049         * docs/design/draft-query.txt:
9050         * docs/design/part-TODO.txt:
9051         * docs/design/part-query.txt:
9052         Added CHANGES-0.9 doc, updated status of other docs.
9053         
9054         * gst/gstquery.h:
9055         Remove "hmm" macro
9056
9057 2005-06-30  Wim Taymans  <wim@fluendo.com>
9058
9059         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9060         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9061         (gst_base_sink_change_state):
9062         * gst/base/gstbasesink.h:
9063         Some tweaks, only EOS and a buffer complete a preroll.
9064
9065 2005-06-30  Andy Wingo  <wingo@pobox.com>
9066
9067         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9068         activate_push down to the internal pad as well.
9069
9070 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9071
9072         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9073
9074         * gst/gsttaginterface.c:
9075           Some documentation fixes (#307394 and #307397).
9076
9077 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9078
9079         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9080
9081         * gst/gstvalue.c: (gst_value_intersect_list):
9082           Fix memleak (#309125).
9083
9084 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9085
9086         * docs/manual/advanced-dataaccess.xml:
9087           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9088         * docs/manual/basics-pads.xml:
9089           Add reference for filtered caps to above chapter.
9090
9091 2005-06-30  Wim Taymans  <wim@fluendo.com>
9092
9093         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9094         (gst_bin_change_state):
9095         Probes are gone.
9096         Lame attempt at making the state change function a bit
9097         more readable.
9098
9099 2005-06-30  Wim Taymans  <wim@fluendo.com>
9100
9101         * docs/design/part-clocks.txt:
9102         * docs/design/part-element-sink.txt:
9103         * docs/design/part-events.txt:
9104         * docs/design/part-preroll.txt:
9105         * docs/design/part-states.txt:
9106         Some more tweeks and additions to the docs.
9107
9108 2005-06-30  Wim Taymans  <wim@fluendo.com>
9109
9110         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9111         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9112         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9113         (gst_pad_check_pull_range), (gst_pad_get_range),
9114         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9115         * gst/gstpad.h:
9116         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9117         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9118         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9119         (gst_pad_remove_buffer_probe):
9120         Removed atomic operations, use existing LOCK.
9121         Move exception handling out of main code path.
9122
9123 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9124
9125         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9126         (silly_return_true_function), (gst_pad_class_init),
9127         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9128         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9129         (gst_pad_send_event):
9130           Fix accumulator, add default value by using _emitv() instead
9131           of _emit() for signal emission.
9132
9133 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9134
9135         * docs/manual/advanced-dataaccess.xml:
9136         * examples/manual/Makefile.am:
9137           Add probe example.
9138         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9139           Make work (??).
9140
9141 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9142
9143         * gst/elements/gstfilesink.c: (gst_filesink_render):
9144           Simplify code so that we don't have to handle short
9145           writes and return GST_FLOW_ERROR if an error occured.
9146
9147 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9148
9149         * docs/gst/gstreamer-docs.sgml:
9150           Remove probes more.
9151
9152 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9153
9154         * docs/gst/gstreamer-sections.txt:
9155         * docs/gst/tmpl/gstpad.sgml:
9156         * docs/gst/tmpl/gstprobe.sgml:
9157         * gst/Makefile.am:
9158         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9159         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9160         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9161         (gst_pad_push_event), (gst_pad_send_event):
9162         * gst/gstpad.h:
9163         * gst/gstutils.c: (gst_pad_add_data_probe),
9164         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9165         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9166         (gst_pad_remove_buffer_probe):
9167         * gst/gstutils.h:
9168           Remove old probes, add new g-signal-based probes and some utility
9169           functions.
9170
9171 2005-06-29  Edward Hervey  <edward@fluendo.com>
9172
9173         * gst/gstelementfactory.c:
9174         * gst/gstutils.h:
9175         * gst/gstutils.c:
9176         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9177         the definition to the header file.
9178
9179 2005-06-29  Andy Wingo  <wingo@pobox.com>
9180
9181         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9182         plugins from the source directory.
9183
9184 2005-06-29  Wim Taymans  <wim@fluendo.com>
9185
9186         * docs/gst/tmpl/gstbuffer.sgml:
9187         * docs/gst/tmpl/gstclock.sgml:
9188         Some fixings for blantently wrong text.
9189
9190 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9191
9192         * check/Makefile.am:
9193         * gst/gst.c: (add_path_func), (init_pre):
9194         * gst/gstregistry.c: (gst_registry_add_path):
9195           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9196           only scan the GST_PLUGIN_PATH locations, and not add
9197           system locations
9198
9199 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9200
9201         * docs/gst/gstreamer-sections.txt:
9202         * docs/gst/tmpl/gstbasesrc.sgml:
9203         * gst/gstelement.c:
9204         * gst/gstelement.h:
9205         * gst/gstevent.c:
9206         * gst/gstutils.c:
9207           doc fixes
9208
9209 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9210
9211         * docs/manual/advanced-autoplugging.xml:
9212           Fix autoplugging example.
9213
9214 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9215
9216         * docs/manual/advanced-autoplugging.xml:
9217         * docs/manual/mime-world.fig:
9218           Try to get autoplugging working, fix type detection. Fix text
9219           in hello-world image.
9220
9221 2005-06-29  Wim Taymans  <wim@fluendo.com>
9222
9223         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9224         (gst_base_sink_change_state):
9225         Small debug line.
9226
9227         * gst/gstclock.h:
9228         map SIGNAL and BROADCAST to the right function.
9229
9230         * gst/gstobject.h:
9231         Remove redundant braces.
9232
9233         * gst/gstpad.c: (gst_pad_set_caps):
9234         Don't call setcaps function when reseting caps to NULL.
9235
9236         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9237         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9238         (gst_system_clock_id_unschedule):
9239         Use BROADCAST as this is what we do.
9240
9241 2005-06-29  Wim Taymans  <wim@fluendo.com>
9242
9243         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9244         We are actually prerolling before commiting the state
9245         change. 
9246
9247 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9248
9249         * docs/manual/advanced-clocks.xml:
9250         * docs/manual/advanced-interfaces.xml:
9251         * docs/manual/advanced-metadata.xml:
9252         * docs/manual/advanced-position.xml:
9253         * docs/manual/advanced-schedulers.xml:
9254         * docs/manual/advanced-threads.xml:
9255         * docs/manual/appendix-porting.xml:
9256         * docs/manual/basics-bins.xml:
9257         * docs/manual/basics-bus.xml:
9258         * docs/manual/basics-elements.xml:
9259         * docs/manual/basics-helloworld.xml:
9260         * docs/manual/basics-pads.xml:
9261         * docs/manual/highlevel-components.xml:
9262         * docs/manual/manual.xml:
9263         * docs/manual/thread.fig:
9264           Update (until threads/scheduling) Application Development Manual;
9265           remove GstThread, add GstBus, add simple porting checklist, add
9266           documentation for tag writing, clocks, make all examples until this
9267           part compile and run.
9268         * examples/manual/Makefile.am:
9269           Update from changes to Application Development Manual; add bus
9270           example, remove thread example.
9271
9272 2005-06-28  Wim Taymans  <wim@fluendo.com>
9273
9274         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9275         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9276         (gst_bus_source_dispatch):
9277         Add debugging messages.
9278         Make internal methods static.
9279         Handle the case where the bus is flushed in the handler.
9280         
9281         * gst/gstelement.c: (gst_element_get_bus):
9282         Fix refcount in _get_bus();
9283
9284         * gst/gstpipeline.c: (gst_pipeline_change_state),
9285         (gst_pipeline_get_clock_func):
9286         Clock refcounting fixes.
9287         Handle the case where preroll timed out more gracefully.
9288         
9289         * gst/gstsystemclock.c: (gst_system_clock_dispose):
9290         Clean up the internal thread in dispose. This is needed
9291         for subclasses that actually get disposed.
9292         
9293         * gst/schedulers/threadscheduler.c:
9294         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9295         (gst_thread_scheduler_dispose):
9296         Free thread pool in dispose.
9297
9298 2005-06-28  Andy Wingo  <wingo@pobox.com>
9299
9300         * tests/network-clock-utils.scm (debug, print-event): New utils.
9301
9302         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9303         (*packet-loss*): Unified loss probability.
9304         (network-time): Report out-of-band events.
9305
9306         * tests/plot-data: Add support for out-of-band events. Hack it
9307         into this script instead of passing it down the pipe; should fix
9308         this later.
9309
9310 2005-06-28  Wim Taymans  <wim@fluendo.com>
9311
9312         * docs/gst/gstreamer.types:
9313         * docs/gst/tmpl/gstbasesrc.sgml:
9314         * docs/gst/tmpl/gstpad.sgml:
9315         Docs fixes.
9316
9317 2005-06-28  Wim Taymans  <wim@fluendo.com>
9318
9319         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9320         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9321         (gst_proxy_pad_do_fixatecaps):
9322         Correctly proxy the check_pull_range function.
9323
9324 2005-06-28  Andy Wingo  <wingo@pobox.com>
9325
9326         * tests/network-clock.scm: Removed need for slib.
9327         
9328 2005-06-28  Wim Taymans  <wim@fluendo.com>
9329
9330         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9331         (gst_basesink_preroll_queue_flush):
9332         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9333         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9334         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9335         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9336         (gst_proxy_pad_set_property):
9337         * gst/gstpad.c:
9338         * gst/gstpad.h:
9339         * gst/gstqueue.c: (gst_queue_init):
9340         The deprecated pad loop function is removed now.
9341
9342 2005-06-28  Andy Wingo  <wingo@pobox.com>
9343
9344         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9345         New parameters, simulate network packet loss.
9346
9347         * tests/network-clock-utils.scm: Initialize the RNG.
9348
9349 2005-06-28  Wim Taymans  <wim@fluendo.com>
9350
9351         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9352         (gst_basesink_event), (gst_basesink_deactivate):
9353         Flushing the preroll queue always needs to unlock the waiters.
9354
9355 2005-06-28  Edward Hervey  <edward@fluendo.com>
9356
9357         * gst/gstpipeline.c: (gst_pipeline_send_event): 
9358         Wheen a seek was successful on a pipeline, set the stream_time to the
9359         seek offset in order to have a synchronized stream_time.
9360
9361 2005-06-28  Wim Taymans  <wim@fluendo.com>
9362
9363         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9364         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9365         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9366         (gst_proxy_pad_do_fixatecaps):
9367         Call wrapper function instead of just calling the function
9368         pointers. This takes care of any locking and whatmore.
9369
9370 2005-06-28  Wim Taymans  <wim@fluendo.com>
9371
9372         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
9373         (gst_pad_pull_range):
9374         * gst/gstpad.h:
9375         CONNECTED -> LINKED.
9376
9377 2005-06-28  Andy Wingo  <wingo@pobox.com>
9378
9379         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9380         source-munging commit!!!
9381
9382         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
9383         (gst_object_sink): Take gpointer arguments, not GstObject --
9384         avoids casts. Like GLib.
9385
9386         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9387         activate.
9388
9389 2005-06-27  Andy Wingo  <wingo@pobox.com>
9390
9391         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
9392         remaining buffer.
9393
9394         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
9395         returns a sorted copy of the trace list.
9396         (gst_alloc_trace_print_live): New API, only prints traces with
9397         live objects. Sort the list.
9398         (gst_alloc_trace_print_all): Sort the list.
9399         (gst_alloc_trace_print): Align columns.
9400
9401         * gst/elements/gstttypefindelement.c:
9402         * gst/elements/gsttee.c:
9403         * gst/base/gstbasesrc.c:
9404         * gst/base/gstbasesink.c:
9405         * gst/base/gstbasetransform.c:
9406         * gst/gstqueue.c: Adapt for pad activation changes.
9407
9408         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
9409         sched.
9410         (gst_pipeline_dispose): Drop ref on sched.
9411
9412         * gst/gstpad.c (gst_pad_init): Set the default activate func.
9413         (gst_pad_activate_default): Push mode by default.
9414         (pre_activate_switch, post_activate_switch): New stubs, things to
9415         do before and after switching activation modes on pads.
9416         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
9417         the pad's activate function to choose which mode to activate.
9418         Shortcut on deactivation and call the right function directly.
9419         (gst_pad_activate_pull): New API, (de)activates a pad in pull
9420         mode.
9421         (gst_pad_activate_push): New API, same for push mode.
9422         (gst_pad_set_activate_function) 
9423         (gst_pad_set_activatepull_function) 
9424         (gst_pad_set_activatepush_function): Setters for new API.
9425
9426         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
9427         Trace all miniobjects.
9428         (gst_mini_object_make_writable): Unref the arg if we copy, like
9429         gst_caps_make_writable.
9430
9431         * gst/gstmessage.c (_gst_message_initialize): No trace init.
9432
9433         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
9434         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
9435         Adapt for new pad API.
9436
9437         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
9438
9439         * gst/gstelement.h:
9440         * gst/gstelement.c (gst_element_iterate_src_pads) 
9441         (gst_element_iterate_sink_pads): New API functions.
9442         
9443         * gst/gstelement.c (iterator_fold_with_resync): New utility,
9444         should fold into gstiterator.c in some form.
9445         (gst_element_pads_activate): Simplified via use of fold and
9446         delegation of decisions to gstpad->activate.
9447
9448         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
9449         help in debugging.
9450
9451         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
9452         class once in init, like gstmessage. Didn't run into this issue
9453         but it seems correct. Don't initialize a trace, gstminiobject does
9454         that.
9455
9456         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
9457         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
9458         to the bus.
9459         (assert_live_count): New util function, uses alloc traces to check
9460         cleanup.
9461
9462         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
9463         To be modified when unlink drops the internal pad.
9464
9465 2005-06-27  Wim Taymans  <wim@fluendo.com>
9466
9467         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
9468         (gst_bin_change_state):
9469         Cleanup the get_state() function a little, make sure it
9470         iterates the same set of elements.
9471         Added stub iterate_state_order().
9472
9473 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9474
9475         * docs/gst/gstreamer-docs.sgml:
9476         * docs/gst/gstreamer-sections.txt:
9477         * docs/gst/gstreamer.types:
9478         * docs/gst/tmpl/gstbasesink.sgml:
9479         * docs/gst/tmpl/gstbasesrc.sgml:
9480         * docs/gst/tmpl/gstbasetransform.sgml:
9481         * docs/gst/tmpl/gstelement.sgml:
9482         * docs/gst/tmpl/gstiterator.sgml:
9483         * gst/base/gstbasesrc.c:
9484         * gst/base/gstbasesrc.h:
9485         * gst/base/gstbasetransform.h:
9486         * gst/gstelement.c:
9487         * gst/gstiterator.h:
9488           adding basetransform and iterator docs
9489
9490 2005-06-27  Andy Wingo  <wingo@pobox.com>
9491
9492         * docs/design/part-activation.txt: Notes on how activation should
9493         work -- not quite implemented yet.
9494
9495 2005-06-25  Wim Taymans  <wim@fluendo.com>
9496
9497         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
9498         At least get the chain function correct, needs more
9499         fixing.
9500
9501 2005-06-25  Wim Taymans  <wim@fluendo.com>
9502
9503         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9504         (gst_basesink_handle_object), (gst_basesink_event),
9505         (gst_basesink_do_sync), (gst_basesink_handle_event),
9506         (gst_basesink_change_state):
9507         * gst/gsttask.h:
9508         Right, two problems here: ghostpads don't take locks and
9509         glib _rec_mutex_lock_full() with depth==0 still locks.
9510         Catch illegal locking and g_warn them.
9511
9512 2005-06-25  Wim Taymans  <wim@fluendo.com>
9513
9514         * check/states/sinks.c: (START_TEST), (gst_object_suite):
9515         Have to check for completion now...
9516
9517 2005-06-25  Wim Taymans  <wim@fluendo.com>
9518
9519         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9520         (gst_basesink_handle_object), (gst_basesink_event),
9521         (gst_basesink_do_sync), (gst_basesink_handle_event),
9522         (gst_basesink_change_state):
9523         * gst/gstpad.h:
9524         Unlock STREAM_LOCK whatever the recursion was.
9525
9526 2005-06-25  Wim Taymans  <wim@fluendo.com>
9527
9528         * gst/base/gstbasesink.c: (gst_basesink_set_property),
9529         (gst_basesink_preroll_queue_empty),
9530         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
9531         (gst_basesink_event), (gst_basesink_do_sync),
9532         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
9533         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
9534         (gst_basesink_change_state):
9535         Reworked the base sink, handle event and buffer serialisation
9536         correctly and removed possible deadlock.
9537         Handle EOS correctly.
9538
9539 2005-06-25  Wim Taymans  <wim@fluendo.com>
9540
9541         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
9542         (gst_pipeline_change_state):
9543         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9544         Allow elements to post EOS in the state change function.
9545         Fix up -launch, make it exit the poll loop when the
9546         pipeline actually changed state.
9547         Fix up warning parsing in -launch.
9548
9549 2005-06-25  Wim Taymans  <wim@fluendo.com>
9550
9551         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
9552         (gst_tee_sink_activate):
9553         Core takes STREAM_LOCK for us now.
9554
9555 2005-06-25  Wim Taymans  <wim@fluendo.com>
9556
9557         * gst/gstelement.c: (gst_element_get_state_func),
9558         (gst_element_set_state):
9559         * gst/gstelement.h:
9560         * gst/gstmessage.c: (gst_message_parse_error),
9561         (gst_message_parse_warning):
9562         Keep track of current target state while performing a state
9563         change so that subclasses can do something interesting.
9564         Fix parsing of warning/error messages when GError is NULL.
9565
9566 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9567
9568         * docs/gst/Makefile.am:
9569         * docs/gst/gstreamer-docs.sgml:
9570         * docs/gst/gstreamer-sections.txt:
9571         * docs/gst/gstreamer.types:
9572         * docs/gst/tmpl/gstbasesink.sgml:
9573         * docs/gst/tmpl/gstbasesrc.sgml:
9574         * docs/gst/tmpl/gstbin.sgml:
9575         * docs/gst/tmpl/gstcompat.sgml:
9576         * docs/gst/tmpl/gstfakesink.sgml:
9577         * docs/gst/tmpl/gstfakesrc.sgml:
9578         * docs/gst/tmpl/gstfilesink.sgml:
9579         * docs/gst/tmpl/gstfilesrc.sgml:
9580         * docs/gst/tmpl/gstindex.sgml:
9581         * docs/manual/appendix-quotes.xml:
9582         * gst/base/gstbasesrc.h:
9583         * gst/elements/gstfakesrc.h:
9584         * gst/gstmessage.h:
9585           start pulling in base classes and elements in our docs
9586
9587 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
9588
9589         * docs/gst/Makefile.am:
9590         * docs/libs/Makefile.am:
9591           fixed make distcheck with gtk-doc 1.3
9592
9593 2005-06-23  Wim Taymans  <wim@fluendo.com>
9594
9595         * gst/gstelement.c: (gst_element_get_state_func),
9596         (gst_element_set_state), (gst_element_change_state):
9597         When the state did not change, also report NO_PREROLL
9598         when it matters.
9599
9600 2005-06-23  Wim Taymans  <wim@fluendo.com>
9601
9602         * gst/gstpad.c: (gst_pad_event_default):
9603         * gst/gstqueue.c: (gst_queue_loop):
9604         No unsafe task pausing please.
9605
9606 2005-06-23  Wim Taymans  <wim@fluendo.com>
9607
9608         * gst/schedulers/threadscheduler.c:
9609         (gst_thread_scheduler_task_start),
9610         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
9611         Ref the task before pushing it on the threadpool. This
9612         makes sure that we have a ref when the threadfunction is
9613         actually called.
9614
9615 2005-06-23  Andy Wingo  <wingo@pobox.com>
9616
9617         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
9618         offset is greater than the file's size.
9619
9620         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
9621         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
9622         * gst/gstobject.c (gst_object_class_init): Make the class lock
9623         recursive. Wim won't let me drop deep_notify. Decodebin works
9624         again, whoopdy doo.
9625
9626         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
9627         internal pad, and hacks accordingly. Doesn't do it on the target
9628         pad because we change its caps. Probably catches all cases of
9629         interest tho.
9630         (gst_ghost_pad_set_property): Connect to notify::caps as
9631         appropritate.
9632
9633         * tests/network-clock.scm (plot-simulation): Pipe data to the
9634         elite python skript.
9635
9636         * tests/network-clock-utils.scm (define-parameter): New macro,
9637         defines a parameter that can be set via the command line.
9638         (set-parameter!, parse-parameter-arguments): Command line args
9639         parser.
9640
9641         * tests/plot-data: Simple matplotlib-based plotter, takes input on
9642         stdin.
9643
9644 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
9645
9646         * gst/elements/gsttypefindelement.c:
9647         (gst_type_find_element_handle_event):
9648           Don't restart typefinding on a discont.
9649         * gst/gstelement.c: (gst_element_set_state):
9650           Debug spelling fix.
9651         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
9652           Allow changing mode of an active pad.
9653           Debug output fixes.
9654         * gst/registries/gstlibxmlregistry.c: (load_feature):
9655           Don't cast a static pad template to a normal pad template.
9656
9657 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9658
9659         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9660         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9661           remove gst_strtoll completely, since it didn't actually do
9662           anything more than what g_ascii_strtoull already does.
9663           check for range errors when deserializing
9664           do a cast for the unsigned cases; but further fixing needs
9665           a decision on what the interpretation of "(int)" and
9666           deserialization should be for values that fall outside the
9667           type's boundaries (ie, refuse, or interpret as casting)
9668
9669 2005-06-23  Wim Taymans  <wim@fluendo.com>
9670
9671         * check/Makefile.am:
9672         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
9673         * docs/design/part-live-source.txt:
9674         * docs/design/part-states.txt:
9675         * gst/base/gstbasesrc.c: (gst_basesrc_init),
9676         (gst_basesrc_set_live), (gst_basesrc_is_live),
9677         (gst_basesrc_get_range), (gst_basesrc_activate),
9678         (gst_basesrc_change_state):
9679         * gst/base/gstbasesrc.h:
9680         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9681         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9682         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
9683         * gst/gstelement.c: (gst_element_get_state_func),
9684         (gst_element_set_state):
9685         * gst/gstelement.h:
9686         * gst/gsttypes.h:
9687         * tools/gst-launch.c: (event_loop), (main):
9688         Added support for live sources and other elements that
9689         cannot do preroll.
9690         Updated design docs, added live-source design doc.
9691         Implemented live source functionality in basesrc
9692         Fix error condition in _bin_get_state()
9693         Implement live source handling in -launch.
9694         Added check for live sources.
9695         Fixed case in GstBin where elements were changed state
9696         multiple times.
9697
9698
9699 2005-06-23  Andy Wingo  <wingo@pobox.com>
9700
9701         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
9702         borken refcounting.
9703
9704         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
9705         gst_caps_replace takes care of this for us.
9706
9707         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
9708         gst_pad_set_caps on the target, not just its setcaps() function.
9709
9710         * tests/network-clock.scm: 
9711         * tests/network-clock-utils.scm: A network clock simulator.
9712         Something of an algorithmic testbed before doing something in C.
9713
9714 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9715
9716         * check/Makefile.am:
9717         * check/gst/capslist.h:
9718           copy over from 0.8, and add two with bitmasks specified with
9719           (int) 0xFF...
9720         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9721           add test to parse everything from capslist.h
9722         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
9723         (main):
9724           add test for structure deserialization
9725         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9726           add tests for deserialization of strings to int types
9727         * gst/gststructure.c: (gst_structure_nth_field_name):
9728         * gst/gststructure.h:
9729           add a way to get the name of a field referenced by index
9730         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9731           instead of checking if the resulting long long lies between
9732           min and max, we check if the long long would fit into
9733           a number of bytes for the final type.
9734           This fixes cases where a string represents 2^32 - 1, which
9735           when cast to int would be the (valid) -1, but is bigger than
9736           G_MAXINT
9737
9738 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9739
9740         * gst/parse/grammar.y:
9741           add a log line for type deserialization
9742
9743 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9744
9745         * check/gst/gstvalue.c: (START_TEST):
9746         * gst/gstvalue.c: (gst_value_deserialize):
9747           return long long, not int, so gint64 deserialization actually
9748           works.  Is there any flag that makes the compiler check this ?
9749           Fixes #308559
9750
9751 2005-06-22  Wim Taymans  <wim@fluendo.com>
9752
9753         * gst/gstbuffer.h:
9754         Added convenience macros for setting buffers in GValue.
9755
9756 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9757
9758         * check/gst/.cvsignore:
9759         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
9760           add a test deserializing int64, and comment part out because
9761           it fails, yay !
9762
9763 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9764
9765         * check/Makefile.am:
9766         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
9767         * testsuite/Makefile.am:
9768         * testsuite/caps/Makefile.am:
9769         * testsuite/caps/value_serialize.c:
9770         * testsuite/test_gst_init.c:
9771           move a value_serialize test over
9772
9773 2005-06-20  Wim Taymans  <wim@fluendo.com>
9774
9775         * gst/gstpad.c:
9776         Small doc updates.
9777         
9778         * gst/gstvalue.c: (gst_value_compare_buffer),
9779         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
9780         (gst_value_compare_flags), (gst_value_serialize_flags),
9781         (gst_value_deserialize_flags), (_gst_value_initialize):
9782         Fix serialisation of buffers, they are not boxed types anymore
9783
9784 2005-06-20  Wim Taymans  <wim@fluendo.com>
9785
9786         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
9787         Testcase to show error in buffer-on-caps serialisation.
9788
9789 2005-06-20  Andy Wingo  <wingo@pobox.com>
9790
9791         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
9792         will be adding to later.
9793
9794         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
9795         if its socks fill with rocks.
9796         (gst_system_clock_obtain): Set the name on object construction.
9797         Avoid double-checked locking.
9798
9799 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
9800
9801         * gst/gsturi.c: (gst_element_make_from_uri):
9802           Fix potential endless loop.
9803
9804 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9805
9806         * check/Makefile.am:
9807           add gsttag
9808         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
9809         (main):
9810           move over from testsuite dir and clean up
9811         * configure.ac:
9812         * gst/gsttag.c:
9813         * testsuite/Makefile.am:
9814         * testsuite/tags/.cvsignore:
9815         * testsuite/tags/Makefile.am:
9816         * testsuite/tags/merge.c:
9817           remove testsuite/tags
9818
9819 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9820
9821         * docs/gst/gstreamer-sections.txt:
9822         * docs/gst/tmpl/gstenumtypes.sgml:
9823         * win32/gstenumtypes.c:
9824           clean up documentation build a little
9825
9826 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9827
9828         * check/gstcheck.h:
9829           add macros for checking refcounts on objects and caps
9830         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
9831           add some more unit tests
9832         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9833         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
9834           fix leaked refcounts (I hope :)) so unittest works
9835         * gst/gstpad.h:
9836           whitespace removal
9837
9838 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9839
9840         * configure.ac: back to HEAD
9841
9842 === release 0.9.1 ===
9843
9844 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9845
9846         * NEWS:
9847         * RELEASE:
9848           updated
9849
9850 2005-06-17  Andy Wingo  <wingo@pobox.com>
9851
9852         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
9853         assert; it's always possible that the pad gets deactivated in
9854         between the checks in gstpad.c and the implementation. Rely on
9855         finish_preroll() to return a FLUSHING or similar instead of on the
9856         assert.
9857         
9858         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
9859         clock and post an EOS message if we come out of finish_preroll in
9860         the playing state.
9861
9862 2005-06-16  David Schleef  <ds@schleef.org>
9863
9864         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9865         (gst_capsfilter_set_property): Allow NULL as possible value
9866         for filter_caps property, indicating GST_CAPS_ANY.
9867
9868 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9869
9870         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
9871           fix debug output
9872         * gst/schedulers/Makefile.am:
9873           use libgst prefix
9874         * gstreamer.spec.in:
9875           fix spec for it
9876
9877 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9878
9879         * gstreamer.spec.in:
9880           clean up
9881
9882 2005-06-08  Andy Wingo  <wingo@pobox.com>
9883
9884         * gst/gstutils.c: RPAD fixes all around.
9885         (gst_element_link_pads): Refcounting fixes.
9886
9887         * tools/gst-inspect.c:
9888         * tools/gst-xmlinspect.c:
9889         * parse/grammar.y:
9890         * gst/base/gsttypefindhelper.c:
9891         * gst/base/gstbasesink.c:
9892         * gst/gstqueue.c: RPAD fixes.
9893
9894         * gst/gstghostpad.h:
9895         * gst/gstghostpad.c: New ghost pad implementation as full proxy
9896         pads. The tricky thing is they provide both source and sink
9897         interfaces, since they proxy the internal pad for the external
9898         pad, and vice versa. Implement with lower-level ProxyPad objects,
9899         with the interior proxy pad as a child of the exterior ghost pad.
9900         Should write a doc on this.
9901         
9902         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
9903         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
9904         gst_object API.
9905         
9906         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
9907         pads are real pads. No ghost pads in this file. Not documenting
9908         the myriad s/RPAD/PAD/ and REALIZE fixes.
9909         (gst_pad_class_init): Add properties for "direction" and
9910         "template". Both are construct-only, so they can't change during
9911         the life of the pad. Fixes properly deriving from GstPad.
9912         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
9913         derived objects, just set properties when creating the objects via
9914         g_object_new.
9915         (gst_pad_get_parent): Implement as a function, return NULL if the
9916         parent is not an element.
9917         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
9918         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
9919         
9920         * gst/gstobject.c (gst_object_class_init): Make name a construct
9921         property. Don't set it in the object init.
9922
9923         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
9924         with UNKNOWN direction.
9925         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
9926         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
9927         (gst_element_remove_pad): Remove ghost-pad special cases.
9928         (gst_element_pads_activate): Remove rpad cruft.
9929
9930         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
9931         catch the pad's-parent-not-an-element case.
9932
9933         * gst/gst.h: Include gstghostpad.h.
9934
9935         * gst/gst.c (init_post): No more real, ghost pads.
9936
9937         * gst/Makefile.am: Add gstghostpad.[ch].
9938
9939         * check/Makefile.am:
9940         * check/gst/gstbin.c:
9941         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
9942         into a bin creates ghost pads, and that the refcounts are right.
9943         Partly moved from gstbin.c.
9944
9945 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9946
9947         * check/gst-libs/.cvsignore:
9948         * check/gst/.cvsignore:
9949         * check/pipelines/.cvsignore:
9950           ignore more
9951         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
9952         (START_TEST), (cleanup_suite), (main):
9953           add some tests related to cleanup after running pipelines
9954
9955 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9956
9957         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
9958           add a testsuite for GstBuffer
9959
9960 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9961
9962         * gst/gstminiobject.h:
9963           add defines for accessing the refcount
9964
9965 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
9966
9967         * Makefile.am: added support for html unit test coverage reports
9968
9969 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
9970
9971         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9972           Free existing caps if the capsfilter changes. Add a FIXME about
9973           setting those caps on the pads.
9974
9975         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
9976           Before adding a ghost pad to a parent bin, check that there isn't
9977           already one for the element on the bin. Prevents infinite recursion
9978           when using decodebin in parse pipelines. Andy says he'll rewrite the
9979           way this works anyway, so ignore the hack.
9980
9981 2005-06-02  Andy Wingo  <wingo@pobox.com>
9982
9983         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
9984         file size, pass it on to the type find helper.
9985
9986         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
9987         segment_start and segment_end properly according to the seek
9988         method. Segment_end is still a bit flaky because offset can be
9989         negative for CUR and END cases, but it takes -1 as an "unset"
9990         value.
9991
9992 2005-06-02  Wim Taymans  <wim@fluendo.com>
9993
9994         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
9995         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
9996         (gst_basesink_activate):
9997         * gst/base/gstbasesink.h:
9998         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9999         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10000         (gst_pad_query), (gst_pad_start_task):
10001         * gst/gstpad.h:
10002         * gst/gstqueue.c: (gst_queue_bufferalloc),
10003         (gst_queue_handle_sink_event), (gst_queue_chain):
10004         Bufferalloc: return GstFlowReturn to more accuratly report
10005         why allocation failed.
10006
10007 2005-06-02  Wim Taymans  <wim@fluendo.com>
10008
10009         * gst/gstpipeline.c: (gst_pipeline_send_event):
10010         Take snapshot of state without blocking.
10011
10012 2005-06-02  Wim Taymans  <wim@fluendo.com>
10013
10014         * docs/design/part-TODO.txt:
10015         * docs/design/part-caps.txt:
10016         * docs/design/part-clocks.txt:
10017         * docs/design/part-negotiation.txt:
10018         * docs/design/part-preroll.txt:
10019         Small doc updates 
10020
10021 2005-05-30  Wim Taymans  <wim@fluendo.com>
10022
10023         * gst/elements/gstidentity.c: (gst_identity_event),
10024         (gst_identity_transform), (gst_identity_get_property):
10025         Protect last_message property as it is accessed from
10026         multiple threads.
10027
10028 2005-05-30  Wim Taymans  <wim@fluendo.com>
10029
10030         * gst/gstelement.c: (gst_element_init),
10031         (gst_element_pads_activate), (gst_element_change_state):
10032         Slicker pad activation code.
10033
10034 2005-05-30  Wim Taymans  <wim@fluendo.com>
10035
10036         * gst/Makefile.am:
10037         * gst/gstelement.h:
10038         * gst/gstelementfactory.h:
10039         * gst/gsttypes.h:
10040         Move elementfactory methods to separate .h file.
10041
10042 2005-05-30  Wim Taymans  <wim@fluendo.com>
10043
10044         * docs/design/part-overview.txt:
10045         * gst/gstsystemclock.h:
10046         Small typo fixes, doc updates.
10047
10048 2005-05-30  Wim Taymans  <wim@fluendo.com>
10049
10050         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10051         (init_popt_callback):
10052         Remove cpu-opt flag.
10053
10054 2005-05-30  Wim Taymans  <wim@fluendo.com>
10055
10056         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10057         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10058         * gst/gstbuffer.h:
10059         Avoid typechecking in places where not needed.
10060         Added accessor for malloc_data.
10061
10062 2005-05-30  Wim Taymans  <wim@fluendo.com>
10063
10064         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10065         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10066         (gst_pad_configure_sink), (gst_pad_configure_src),
10067         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10068         (gst_pad_start_task):
10069         Propagate errors from _set_caps() in configure_src/sink
10070         functions instead of returning TRUE.
10071         FLUSH events can travel up and downstream
10072
10073
10074 2005-05-30  Wim Taymans  <wim@fluendo.com>
10075
10076         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10077         (gst_basesink_activate):
10078         Handle EOS in preroll.
10079
10080 2005-05-30  Wim Taymans  <wim@fluendo.com>
10081
10082         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10083         (gst_queue_loop), (gst_queue_handle_src_event):
10084         Remove old pieces of code
10085         Flushing the queue in an upstream event is a very bad idea.
10086
10087 2005-05-26  Andy Wingo  <wingo@pobox.com>
10088
10089         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10090         gst_value_set_mini_object so as to add a ref on the object (which
10091         will be removed when the value is unset).
10092
10093         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10094         arg type in ::handoff.
10095
10096         * gst/gstelement.c (gst_element_change_state): Also deactivate
10097         pads in READY->NULL, just in case the element didn't make it to
10098         PAUSED. Wingo tested, Wim approved.
10099
10100 2005-05-26  Wim Taymans  <wim@fluendo.com>
10101
10102         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10103         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10104         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10105         A flushing pad cannot be used to alloc_buffer from.
10106
10107 2005-05-26  Wim Taymans  <wim@fluendo.com>
10108
10109         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10110         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10111         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10112         (gst_bus_create_watch), (gst_bus_add_watch_full):
10113         * gst/gstbus.h:
10114         Implement a real GSource and use g_main_context_wakeup() to
10115         signal new messages instead of the socketpair.
10116
10117 2005-05-25  Wim Taymans  <wim@fluendo.com>
10118
10119         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10120         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10121         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10122         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10123         (gst_pad_send_event), (gst_pad_start_task):
10124         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10125         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10126         (gst_queue_sink_activate), (gst_queue_src_activate),
10127         (gst_queue_change_state):
10128         * gst/gstqueue.h:
10129         Fix state changes for non sinks. We now change sinks, then elements
10130         with unconnected srcpads, then the rest.
10131         More efficient queue unlocking in flush and state changes.
10132         Set the pad activate mode even if it does not have an activate
10133         function.
10134
10135 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10136
10137         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10138           Don't go in pull mode for non-seekable sources.
10139         * gst/elements/gsttypefindelement.h:
10140         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10141         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10142         (free_entry), (stop_typefinding),
10143         (gst_type_find_element_handle_event), (find_peek),
10144         (gst_type_find_element_chain), (do_pull_typefind),
10145         (gst_type_find_element_change_state):
10146           Allow typefinding (w/o seeking) in push-mode, simplified version
10147           of what was in 0.8.
10148         * gst/gstutils.c: (gst_buffer_join):
10149         * gst/gstutils.h:
10150           gst_buffer_join() from 0.8.
10151
10152 2005-05-25  Wim Taymans  <wim@fluendo.com>
10153
10154         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10155         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10156         (gst_pad_send_event), (gst_pad_start_task):
10157         Disable attempt at mode switching until it is figured out.
10158
10159 2005-05-25  Wim Taymans  <wim@fluendo.com>
10160
10161         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10162         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10163         (gst_basesink_finish_preroll), (gst_basesink_chain),
10164         (gst_basesink_loop), (gst_basesink_activate),
10165         (gst_basesink_change_state):
10166         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10167         (gst_basesrc_get_range), (gst_basesrc_loop),
10168         (gst_basesrc_activate):
10169         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10170         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10171         (gst_real_pad_init), (gst_real_pad_set_property),
10172         (gst_real_pad_get_property), (gst_pad_set_active),
10173         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10174         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10175         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10176         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10177         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10178         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10179         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10180         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10181         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10182         (gst_pad_stop_task):
10183         * gst/gstpad.h:
10184         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10185         (gst_queue_loop), (gst_queue_src_activate):
10186         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10187         (gst_task_get_state):
10188         * gst/gsttask.h:
10189         * gst/schedulers/threadscheduler.c:
10190         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10191         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10192         in task function.
10193         Remove ACTIVE pad flag, use FLUSHING everywhere
10194         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10195         functions.
10196         Add locks around IS_FLUSHING when reading.
10197         Take STREAM lock in chain(), get_range() functions so plugins
10198         don't need to take it anymore.
10199         
10200
10201
10202 2005-05-25  Wim Taymans  <wim@fluendo.com>
10203
10204         * tools/gst-launch.c: (event_loop):
10205         Unref message after using its contents instead of
10206         before.
10207
10208 2005-05-24  Wim Taymans  <wim@fluendo.com>
10209
10210         * docs/design/draft-ghostpads.txt:
10211         * docs/design/draft-push-pull.txt:
10212         * docs/design/draft-query.txt:
10213         * docs/design/part-overview.txt:
10214         Docs updates, added general overview doc.
10215
10216 2005-05-21  David Schleef  <ds@schleef.org>
10217
10218         * docs/gst/tmpl/old/GstBin.sgml:
10219         * docs/gst/tmpl/old/GstBuffer.sgml:
10220         * docs/gst/tmpl/old/GstCaps.sgml:
10221         * docs/gst/tmpl/old/GstClock.sgml:
10222         * docs/gst/tmpl/old/GstCompat.sgml:
10223         * docs/gst/tmpl/old/GstData.sgml:
10224         * docs/gst/tmpl/old/GstElement.sgml:
10225         * docs/gst/tmpl/old/GstEvent.sgml:
10226         * docs/gst/tmpl/old/GstIndex.sgml:
10227         * docs/gst/tmpl/old/GstStructure.sgml:
10228         * docs/gst/tmpl/old/GstTag.sgml:
10229         * docs/gst/tmpl/old/cothreads.sgml:
10230         * docs/gst/tmpl/old/cothreads_compat.sgml:
10231         * docs/gst/tmpl/old/gettext.sgml:
10232         * docs/gst/tmpl/old/gobject2gtk.sgml:
10233         * docs/gst/tmpl/old/grammar.tab.sgml:
10234         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10235         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10236         * docs/gst/tmpl/old/gst_private.sgml:
10237         * docs/gst/tmpl/old/gstaggregator.sgml:
10238         * docs/gst/tmpl/old/gstarch.sgml:
10239         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10240         * docs/gst/tmpl/old/gstbufferstore.sgml:
10241         * docs/gst/tmpl/old/gstdata_private.sgml:
10242         * docs/gst/tmpl/old/gstdisksink.sgml:
10243         * docs/gst/tmpl/old/gstdisksrc.sgml:
10244         * docs/gst/tmpl/old/gstelementfactory.sgml:
10245         * docs/gst/tmpl/old/gstextratypes.sgml:
10246         * docs/gst/tmpl/old/gstfakesink.sgml:
10247         * docs/gst/tmpl/old/gstfakesrc.sgml:
10248         * docs/gst/tmpl/old/gstfdsink.sgml:
10249         * docs/gst/tmpl/old/gstfdsrc.sgml:
10250         * docs/gst/tmpl/old/gstfilesink.sgml:
10251         * docs/gst/tmpl/old/gstfilesrc.sgml:
10252         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10253         * docs/gst/tmpl/old/gstidentity.sgml:
10254         * docs/gst/tmpl/old/gstindexfactory.sgml:
10255         * docs/gst/tmpl/old/gstmarshal.sgml:
10256         * docs/gst/tmpl/old/gstmd5sink.sgml:
10257         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10258         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10259         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10260         * docs/gst/tmpl/old/gstpipefilter.sgml:
10261         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10262         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10263         * docs/gst/tmpl/old/gstshaper.sgml:
10264         * docs/gst/tmpl/old/gstspider.sgml:
10265         * docs/gst/tmpl/old/gstspideridentity.sgml:
10266         * docs/gst/tmpl/old/gststatistics.sgml:
10267         * docs/gst/tmpl/old/gsttee.sgml:
10268         * docs/gst/tmpl/old/gsttimecache.sgml:
10269         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10270         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10271         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10272         * docs/gst/tmpl/old/types.sgml:
10273           I didn't intend to add these or check them in.
10274
10275 2005-05-19  David Schleef  <ds@schleef.org>
10276
10277         * configure.ac: Use -no-common everywhere.  In a sane world, it
10278           would be the default in libtool, because without it, you can't
10279           build DLLs on Windows.
10280         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10281         * docs/gst/gstreamer-sections.txt:
10282         * docs/gst/tmpl/gstcpu.sgml:
10283         * docs/gst/tmpl/gstdata.sgml:
10284         * docs/gst/tmpl/gstthread.sgml:
10285
10286 2005-05-19  David Schleef  <ds@schleef.org>
10287
10288         * gst/gstminiobject.c: (gst_value_set_mini_object),
10289         (gst_value_take_mini_object), (gst_value_get_mini_object):
10290         * gst/gstminiobject.h: Add GValue set/get functions.
10291
10292 2005-05-19  Wim Taymans  <wim@fluendo.com>
10293
10294         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10295         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10296         (gst_subbuffer_init), (gst_buffer_is_span_fast):
10297         * gst/gstbuffer.h:
10298         * gst/gstbus.c: (gst_bus_post):
10299         * gst/gstelement.c: (gst_element_get_random_pad):
10300         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10301         Make subbufer unref the parent in finalize.
10302         some more debugging info.
10303
10304
10305 2005-05-19  Wim Taymans  <wim@fluendo.com>
10306
10307         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10308         (gst_basesink_init), (gst_basesink_finalize),
10309         (gst_basesink_activate), (gst_basesink_change_state):
10310         Don't free preroll queue too early.
10311
10312 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10313
10314         * gst/Makefile.am:
10315         * gst/ROADMAP:
10316           Hi, I'm outdated. Please shoot me.
10317
10318 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10319
10320         * gst/gstpipeline.c: (gst_pipeline_send_event):
10321           Do not access variables after they have been deleted.
10322
10323 2005-05-19  Wim Taymans  <wim@fluendo.com>
10324
10325         * tools/gst-inspect.c: (print_plugin_features):
10326         A plugin feature does unfortunatly not use the
10327         object name yet...
10328
10329 2005-05-18  Wim Taymans  <wim@fluendo.com>
10330
10331         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10332         Port _span() functions to new subbuffers.
10333
10334 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10335
10336         * gst/gstbin.c: (gst_bin_add_func):
10337           Fix clock settery in bins when adding kids after the clock has
10338           been selected.
10339
10340 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10341
10342         * gst/elements/gstidentity.c: (gst_identity_class_init):
10343           Workaround until signals support GstMiniObject.
10344
10345 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10346
10347         * gst/gstbuffer.c:
10348         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10349
10350 2005-05-18  Wim Taymans  <wim@fluendo.com>
10351
10352         * gst/base/Makefile.am:
10353         * gst/base/gstadapter.c: (gst_adapter_base_init),
10354         (gst_adapter_class_init), (gst_adapter_init),
10355         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10356         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10357         (gst_adapter_flush), (gst_adapter_available),
10358         (gst_adapter_available_fast):
10359         * gst/base/gstadapter.h:
10360         Ported and added adapter to the base classes.
10361
10362 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10363
10364         * gst/gst.c:
10365         * gst/gstmessage.c:
10366           Make sure the class is reffed/unreffed once before threads can be
10367           used.  Fixes #304551.
10368
10369 2005-05-17  Wim Taymans  <wim@fluendo.com>
10370
10371         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
10372         (gst_basesink_chain_unlocked), (gst_basesink_activate):
10373         * gst/gstminiobject.c: (gst_mini_object_get_type),
10374         (gst_mini_object_free):
10375         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
10376         (gst_pad_push), (gst_pad_push_event):
10377         * gst/gstqueue.c: (gst_queue_change_state):
10378         Don't queue buffers in basesink when we are flushing.
10379         Unref buffer when flushing in basesink.
10380         Flush queue when going to READY
10381         Unref buffer when _push() returns an error.
10382         Don't free MiniObject instance when refcount is incremented
10383         in _finalize() so that we can recover objects.
10384
10385 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10386
10387         * docs/manual/advanced-schedulers.xml:
10388         * docs/manual/appendix-checklist.xml:
10389         * docs/pwg/advanced-clock.xml:
10390         * docs/pwg/advanced-interfaces.xml:
10391         * docs/pwg/advanced-request.xml:
10392         * docs/pwg/advanced-types.xml:
10393         * docs/pwg/intro-preface.xml:
10394         * examples/plugins/example.c: (gst_example_get_type),
10395         (gst_example_class_init), (gst_example_chain),
10396         (gst_example_set_property), (gst_example_get_property),
10397         (gst_example_change_state), (plugin_init):
10398         * examples/plugins/example.h:
10399           small doc fixes
10400
10401 2005-05-17  Wim Taymans  <wim@fluendo.com>
10402
10403         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
10404         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
10405         * gst/gstqueue.c: (gst_queue_change_state):
10406         Clear queue when going to READY.
10407         Remove IN_SETCAPS flag too.
10408
10409 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
10410
10411         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
10412           Remove implicit cast from gboolean to GstElementStateReturn;
10413           make sure we still return failure in paused => ready case if
10414           the parent class fails to change state and our own stop 
10415           vfunc succeeds.
10416
10417 2005-05-17  Wim Taymans  <wim@fluendo.com>
10418
10419         * tools/gst-launch.c: (event_loop):
10420         Message was unreffed too soon.
10421
10422 2005-05-16  Andy Wingo  <wingo@pobox.com>
10423
10424         * gst/gstbin.c (sink_iterator_filter): Err... um...
10425
10426         * check/gst/gstbin.c (test_ghost_pads): New test for the
10427         ghosting-if-elements-not-in-same-bin behavior.
10428
10429 2005-05-16  David Schleef  <ds@schleef.org>
10430
10431         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
10432         accessing refcount directly.
10433
10434 2005-05-15  David Schleef  <ds@schleef.org>
10435
10436         * check/Makefile.am: remove GstData checks
10437         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
10438         * gst/Makefile.am: add miniobject, remove data
10439         * gst/gst.h: add miniobject, remove data
10440         * gst/gstdata.c: remove
10441         * gst/gstdata.h: remove
10442         * gst/gstdata_private.h: remove
10443         * gst/gsttypes.h: remove GstEvent and GstMessage
10444         * gst/gstelement.c: (gst_element_post_message): fix for API changes
10445         * gst/gstmarshal.list: change BOXED -> OBJECT
10446
10447         Implement GstMiniObject.
10448         * gst/gstminiobject.c:
10449         * gst/gstminiobject.h:
10450
10451         Modify to be subclasses of GstMiniObject.
10452         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10453         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
10454         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
10455         (gst_subbuffer_get_type), (gst_subbuffer_init),
10456         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
10457         (gst_buffer_span):
10458         * gst/gstbuffer.h:
10459         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
10460         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
10461         (_gst_event_copy), (gst_event_new):
10462         * gst/gstevent.h:
10463         * gst/gstmessage.c: (_gst_message_initialize),
10464         (gst_message_get_type), (gst_message_class_init),
10465         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
10466         (gst_message_new), (gst_message_new_error),
10467         (gst_message_new_warning), (gst_message_new_tag),
10468         (gst_message_new_state_changed), (gst_message_new_application):
10469         * gst/gstmessage.h:
10470         * gst/gstprobe.c: (gst_probe_perform),
10471         (gst_probe_dispatcher_dispatch):
10472         * gst/gstprobe.h:
10473         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
10474         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
10475         (_gst_query_copy), (gst_query_new):
10476
10477         Update elements for GstData -> GstMiniObject changes
10478         * gst/gstquery.h:
10479         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
10480         (gst_queue_chain), (gst_queue_loop):
10481         * gst/elements/gstbufferstore.c:
10482         (gst_buffer_store_add_buffer_func),
10483         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
10484         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10485         (gst_fakesink_render):
10486         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10487         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
10488         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
10489         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
10490         (gst_filesrc_create_read):
10491         * gst/elements/gstidentity.c: (gst_identity_class_init):
10492         * gst/elements/gsttypefindelement.c:
10493         (gst_type_find_element_src_event), (free_entry_buffers),
10494         (gst_type_find_element_handle_event):
10495         * libs/gst/dataprotocol/dataprotocol.c:
10496         (gst_dp_header_from_buffer):
10497         * libs/gst/dataprotocol/dataprotocol.h:
10498         * libs/gst/dataprotocol/dp-private.h:
10499
10500 2005-05-15  David Schleef  <ds@schleef.org>
10501
10502         * gst/elements/gstelements.c: Don't include headers that were
10503         just removed.
10504
10505 2005-05-15  David Schleef  <ds@schleef.org>
10506
10507         * gst/elements/Makefile.am: Remove some elements that don't
10508         need to be in the core (or even exist at all).
10509         * gst/elements/gstaggregator.c:
10510         * gst/elements/gstaggregator.h:
10511         * gst/elements/gstmd5sink.c:
10512         * gst/elements/gstmd5sink.h:
10513         * gst/elements/gstmultifilesrc.c:
10514         * gst/elements/gstmultifilesrc.h:
10515         * gst/elements/gstpipefilter.c:
10516         * gst/elements/gstpipefilter.h:
10517         * gst/elements/gstshaper.c:
10518         * gst/elements/gstshaper.h:
10519         * gst/elements/gststatistics.c:
10520         * gst/elements/gststatistics.h:
10521         * po/POTFILES.in: Remove above files.
10522
10523 2005-05-14  Andy Wingo  <wingo@pobox.com>
10524
10525         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
10526         so as to get the refs right.
10527         (sink_iterator_filter): New function, wraps bin_element_is_sink,
10528         unreffing objects that don't pass the filter.
10529
10530         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
10531         gst_element_set_bus.
10532         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
10533         normal cases, this will destroy the bus.
10534
10535         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
10536         object.
10537
10538         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
10539         has no sinks.
10540
10541 2005-05-13  Andy Wingo  <wingo@pobox.com>
10542
10543         * gst/gstutils.c (gst_element_link_pads): Instead of calling
10544         gst_pad_link, call pad_link_maybe_ghosting,
10545         (pad_link_maybe_ghosting): Links pads, making sure that the
10546         elements being linked are in the same bin.
10547         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
10548         Helpers for pad_link_maybe_ghosting.
10549
10550 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10551
10552         * configure.ac:
10553           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
10554
10555 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10556
10557         * docs/design/part-element-source.txt:
10558           Mention GstPushSrc
10559
10560 2005-05-12  Wim Taymans  <wim@fluendo.com>
10561
10562         * gst/base/gstbasesink.c: (gst_basesink_init),
10563         (gst_basesink_activate):
10564         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
10565         (gst_basesrc_is_seekable):
10566         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10567         (bin_element_is_sink), (gst_bin_change_state):
10568         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10569         * gst/gstelement.h:
10570         Identify sinks by their flag to avoid overly complicated
10571         checks (fow now).
10572         Do state changes even for elements not reachable from the
10573         sinks.
10574         BaseSink is a sink now :)
10575         Some more debugging info in the basesrc.
10576
10577
10578 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10579
10580         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
10581           Implement _query on a bin, similar to _send_event.
10582
10583 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
10584
10585         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
10586           Discont event offset format should be GST_FORMAT_BYTES,
10587           not GST_FORMAT_TIME.
10588
10589 2005-05-12  Wim Taymans  <wim@fluendo.com>
10590
10591         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
10592         Same fix as Ronald's but without the signal. 
10593
10594 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10595
10596         * gst/gstutils.c: (gst_element_query_position):
10597           No, an element is not a pad.
10598
10599 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10600
10601         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
10602         (gst_bin_get_state):
10603           If a child is removed from a bin while we remove the child from
10604           the bin and while we're retrieving its state, signal this to the
10605           get_state function so we abort the wait (instead of waiting for
10606           a timeout) and can immediately re-iterate over all other elements.
10607
10608 2005-05-12  Wim Taymans  <wim@fluendo.com>
10609
10610         * gst/base/Makefile.am:
10611         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
10612         (gst_basesrc_start):
10613         * gst/base/gstbasesrc.h:
10614         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
10615         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
10616         (gst_pushsrc_init), (gst_pushsrc_create):
10617         * gst/base/gstpushsrc.h:
10618         Added is_seekable to BaseSrc
10619         Added simple PushSrc.
10620
10621 2005-05-11  Wim Taymans  <wim@fluendo.com>
10622
10623         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
10624         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10625         (gst_element_link_pads), (gst_element_query_position),
10626         (gst_element_query_convert), (intersect_caps_func),
10627         (gst_pad_query_position), (gst_pad_query_convert):
10628         Fix refcounting in utils function.
10629         No point in trying to activate a pad when it's added, it could
10630         be added from the state change function and then we deadlock, the
10631         element has to decide what to do.
10632
10633 2005-05-10  Andy Wingo  <wingo@pobox.com>
10634
10635         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
10636         *all* the arguments.
10637
10638         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
10639         stream lock if it's a FLUSH_DONE; normal flushes don't get the
10640         lock (according to the docs -- if this is wrong change the docs).
10641
10642         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
10643         flush messages in the NULL state.
10644
10645         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
10646         message immediately and return.
10647         (gst_bus_set_flushing): New function. If a bus is flushing, it
10648         flushes out any queued messages and immediately unrefs new
10649         messages. This is so when an element goes to NULL, all of the
10650         unhandled messages coming from it can be freed, and their
10651         references to the element dropped. In other words: message source
10652         ref considered harmful :P
10653
10654         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
10655         we're finished with it.
10656
10657         * gst/gstmessage.c (gst_message_new_state_changed): 
10658
10659 2005-05-10  Wim Taymans  <wim@fluendo.com>
10660
10661         * gst/gstvalue.c: (gst_value_compare_flags),
10662         (gst_value_serialize_flags), (gst_value_deserialize_flags),
10663         (_gst_value_initialize):
10664         Added flags serialize/deserialize/compare code.
10665
10666 2005-05-09  Andy Wingo  <wingo@pobox.com>
10667
10668         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
10669         Intersect the peer's caps with our caps.
10670
10671 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10672
10673         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10674         * gst/elements/gsttypefindelement.c: (find_peek):
10675           Handle negative offsets better. Fixes decodebin.
10676
10677 2005-05-09  Wim Taymans  <wim@fluendo.com>
10678
10679         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
10680         (gst_base_transform_event):
10681         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
10682         Implement accept_caps.
10683         Fix silly lock/unlock mismatch in base class.
10684
10685 2005-05-09  Wim Taymans  <wim@fluendo.com>
10686
10687         * docs/design/draft-push-pull.txt:
10688         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
10689         * gst/elements/gstfilesink.c: (gst_filesink_init),
10690         (gst_filesink_query):
10691         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10692         (gst_type_find_handle_src_query), (find_element_get_length):
10693         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
10694         * gst/gstelement.h:
10695         * gst/gstmessage.c:
10696         * gst/gstmessage.h:
10697         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
10698         (gst_real_pad_get_caps_unlocked),
10699         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
10700         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10701         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
10702         (gst_real_pad_dispose), (gst_real_pad_finalize),
10703         (gst_pad_load_and_link), (gst_pad_save_thyself),
10704         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
10705         (gst_pad_check_pull_range), (gst_pad_pull_range),
10706         (gst_pad_template_get_type), (gst_pad_template_class_init),
10707         (gst_pad_template_init), (gst_pad_template_dispose),
10708         (name_is_valid), (gst_static_pad_template_get),
10709         (gst_pad_template_new), (gst_static_pad_template_get_caps),
10710         (gst_pad_template_get_caps), (gst_pad_set_element_private),
10711         (gst_pad_get_element_private), (gst_pad_start_task),
10712         (gst_pad_pause_task), (gst_pad_stop_task),
10713         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
10714         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10715         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
10716         (gst_ghost_pad_new):
10717         * gst/gstpad.h:
10718         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
10719         (gst_query_new_position), (gst_query_set_position),
10720         (gst_query_parse_position), (gst_query_new_convert),
10721         (gst_query_set_convert), (gst_query_parse_convert):
10722         * gst/gstquery.h:
10723         * gst/gstqueryutils.c:
10724         * gst/gstqueryutils.h:
10725         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10726         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10727         (gst_queue_handle_src_query):
10728         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10729         (gst_element_query_position), (gst_element_query_convert),
10730         (intersect_caps_func), (gst_pad_query_position),
10731         (gst_pad_query_convert):
10732         * gst/gstutils.h:
10733         * tools/gst-inspect.c: (print_pad_info):
10734         * tools/gst-xmlinspect.c: (print_element_info):
10735         Remove old query functions. Ported old code.
10736         Added position/convert helper functions to gstutils.
10737         Reordered gstpad.c code, grouping relevant things.
10738         Remove gst_message_new(), always need to speficy a specific
10739         message.
10740
10741
10742 2005-05-09  Andy Wingo  <wingo@pobox.com>
10743
10744         * gst/gstiterator.h: Add some includes.
10745
10746         * gst/gstqueryutils.h: Include more headers.
10747
10748         * gst/gstpad.h:
10749         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
10750         some uses of gst_pad_query.
10751
10752         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
10753         NULL out parameters.
10754         (gst_query_new_position): New proc, allocates a new position
10755         query.
10756
10757         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
10758         gstqueryutils.c to the build.
10759
10760         * gst/gststructure.c (gst_structure_set_valist): Implement with
10761         the generic G_VALUE_COLLECT.
10762         
10763 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
10764
10765         * gst/Makefile.am: (gst_headers):
10766         Added gstqueryutils.h to the list of headers to install, that was
10767         a 'nachty' move wingo :)
10768
10769 2005-05-06  Andy Wingo  <wingo@pobox.com>
10770
10771         * gst/gstquery.h
10772         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
10773         GstData, init a memchunk.
10774         (standard_definitions): Add a few query types, deprecate a few.
10775         (gst_query_get_type): New proc.
10776         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
10777         implementation.
10778         (gst_query_new_application, gst_query_get_structure): New public
10779         procs.
10780
10781         * docs/design/draft-query.txt: Removed LINKS from the query types,
10782         because all the rest can be dispatched to other pads -- seemed
10783         ugly to have a query that couldn't be dispatched. internal_links
10784         is fine as a pad method.
10785
10786         * gst/gstpad.h: Add query2 as a pad method, add the new functions
10787         in gstpad.c, but maintain binary compatibility for the moment.
10788         Will fix before 0.9 is out.
10789
10790         * gst/gstqueryutils.c: 
10791         * gst/gstqueryutils.h: New files, implement 3 methods for each
10792         query type: parse_query, parse_response, and set. Probably need an
10793         allocator as well.
10794
10795         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
10796
10797         * gst/elements/gstfilesink.c (gst_filesink_query2):
10798         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
10799         query_types, and formats methods.
10800
10801         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
10802         (gst_pad_set_query2_function): New functions.
10803         (gst_real_pad_init): Set query2_default as the default query2
10804         function. Basically just dispatches to internally linked pads.
10805
10806         Needs review!
10807         
10808         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
10809         without using the atomic operations. Only one thread can possibly
10810         be accessing the data at this point. Changed so as to avoid
10811         gst_atomic operations.
10812
10813 2005-05-06  Wim Taymans  <wim@fluendo.com>
10814
10815         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
10816         Also set caps if we use the fallback buffer alloc.
10817
10818 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
10819
10820         * docs/gst/Makefile.am:
10821         * docs/gst/gstreamer-docs.sgml:
10822         * docs/gst/gstreamer-sections.txt:
10823         * docs/gst/tmpl/gstatomic.sgml:
10824         * docs/gst/tmpl/gstmemchunk.sgml:
10825         * testsuite/elements/struct_i386.h:
10826         * win32/GStreamer.vcproj:
10827         * win32/Makefile:
10828           Purge GstAtomic stuff from docs and win32 makefiles as well
10829
10830 2005-05-06  Wim Taymans  <wim@fluendo.com>
10831
10832         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
10833         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
10834         * gst/gstpad.c: (gst_pad_peer_get_caps):
10835         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
10836         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
10837         (gst_queue_src_activate), (gst_queue_change_state):
10838         * gst/gstqueue.h:
10839         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10840         (intersect_caps_func):
10841         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
10842         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
10843         Some fixes for the peer_get_caps() change.
10844
10845 2005-05-06  Wim Taymans  <wim@fluendo.com>
10846
10847         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10848         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
10849         (gst_basesink_activate):
10850         Actually do something with error codes returned from the push
10851         functions.
10852
10853 2005-05-06  Wim Taymans  <wim@fluendo.com>
10854
10855         * docs/design/part-element-sink.txt:
10856         * docs/design/part-element-source.txt:
10857         * gst/base/gstbasesink.c: (gst_basesink_class_init),
10858         (gst_basesink_event), (gst_basesink_activate):
10859         * gst/base/gstbasesink.h:
10860         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
10861         (gst_basesrc_activate):
10862         * gst/base/gstbasesrc.h:
10863         * gst/gstelement.c: (gst_element_pads_activate):
10864         Some more documentation.
10865         Fixed scheduling decision in _pads_activate().
10866
10867 2005-05-05  Andy Wingo  <wingo@pobox.com>
10868
10869         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
10870         the test suite.
10871
10872 2005-05-05  Wim Taymans  <wim@fluendo.com>
10873
10874         * gst/base/Makefile.am:
10875         * gst/base/gstbasesink.h:
10876         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10877         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
10878         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
10879         (gst_collectpads_class_init), (gst_collectpads_init),
10880         (gst_collectpads_finalize), (gst_collectpads_new),
10881         (gst_collectpads_set_function), (gst_collectpads_add_pad),
10882         (find_pad), (gst_collectpads_remove_pad),
10883         (gst_collectpads_is_active), (gst_collectpads_collect),
10884         (gst_collectpads_collect_range), (gst_collectpads_start),
10885         (gst_collectpads_stop), (gst_collectpads_peek),
10886         (gst_collectpads_pop), (gst_collectpads_available),
10887         (gst_collectpads_read), (gst_collectpads_flush),
10888         (gst_collectpads_chain):
10889         * gst/base/gstcollectpads.h:
10890         * gst/elements/Makefile.am:
10891         * gst/elements/gstelements.c:
10892         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10893         (gst_fakesink_get_times), (gst_fakesink_event),
10894         (gst_fakesink_preroll), (gst_fakesink_render):
10895         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10896         (gst_filesink_init), (gst_filesink_set_location),
10897         (gst_filesink_open_file), (gst_filesink_close_file),
10898         (gst_filesink_pad_query), (gst_filesink_event),
10899         (gst_filesink_render), (gst_filesink_change_state):
10900         * gst/elements/gstfilesink.h:
10901         Added object to help in making collect pad based elements.
10902         Ported filesink.
10903         Make event function in sink baseclass return gboolean.
10904
10905 2005-05-05  Wim Taymans  <wim@fluendo.com>
10906
10907         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
10908         (gst_bin_get_by_name):
10909         * gst/gstbuffer.h:
10910         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
10911         (gst_clock_finalize):
10912         * gst/gstdata.c: (gst_data_replace):
10913         * gst/gstdata.h:
10914         * gst/gstelement.c: (gst_element_request_pad),
10915         (gst_element_pads_activate):
10916         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
10917         (gst_object_unref):
10918         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10919         (gst_pad_set_checkgetrange_function),
10920         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
10921         (gst_pad_check_pull_range), (gst_pad_pull_range),
10922         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10923         (gst_pad_pause_task), (gst_pad_stop_task):
10924         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10925         (gst_element_request_pad), (gst_pad_proxy_getcaps):
10926         Fix name lookup in GstBin.
10927         Added _data_replace() function and _buffer_replace()
10928         Use finalize method to clean up clock.
10929         Fix refcounting on request pads.
10930         Fix pad schedule mode error.
10931         Some more object refcounting debug info,
10932
10933
10934 2005-05-04  Andy Wingo <wingo@pobox.com>
10935
10936         * check/Makefile.am:
10937         * docs/gst/tmpl/gstatomic.sgml:
10938         * docs/gst/tmpl/gstplugin.sgml:
10939         * gst/base/gstbasesink.c: (gst_basesink_activate):
10940         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
10941         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
10942         (gst_basesrc_query), (gst_basesrc_set_property),
10943         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
10944         (gst_basesrc_activate):
10945         * gst/base/gstbasesrc.h:
10946         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
10947         (gst_base_transform_src_activate):
10948         * gst/elements/gstelements.c:
10949         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10950         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10951         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10952         * gst/elements/gsttypefindelement.c: (find_element_get_length),
10953         (gst_type_find_element_checkgetrange),
10954         (gst_type_find_element_activate):
10955         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
10956         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
10957         (gst_caps_load_thyself):
10958         * gst/gstelement.c: (gst_element_pads_activate),
10959         (gst_element_save_thyself), (gst_element_restore_thyself):
10960         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
10961         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
10962         * gst/gstpad.h:
10963         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
10964         (gst_xml_parse_file), (gst_xml_parse_memory),
10965         (gst_xml_get_element), (gst_xml_make_element):
10966         * gst/indexers/gstfileindex.c: (gst_file_index_load),
10967         (_file_index_id_save_xml), (gst_file_index_commit):
10968         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
10969         (read_enum), (load_pad_template), (load_feature), (load_plugin),
10970         (load_paths):
10971         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
10972         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
10973         * tools/gst-complete.c: (main):
10974         * tools/gst-compprep.c: (main):
10975         * tools/gst-inspect.c: (print_element_properties_info):
10976         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
10977         * tools/gst-xmlinspect.c: (print_element_properties):
10978         GCC 4 fixen.
10979         
10980 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10981
10982         * gst/gstplugin.c: (gst_plugin_check_module),
10983         (gst_plugin_check_file), (gst_plugin_load_file):
10984             apply patch from #172526 to make register work on MacOSX
10985
10986 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10987
10988         * docs/gst/tmpl/gstconfig.sgml:
10989         * gst/gstconfig.h.in:
10990           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
10991         * testsuite/debug/printf_extension.c: (main):
10992           Do not use GST_PTR_FORMAT on pointers to types with
10993           sizeof < sizeof(gpointer).  Fixes test on 64-bit
10994         * testsuite/elements/property.h:
10995           use correct printf format
10996
10997 2005-05-02  Wim Taymans  <wim@fluendo.com>
10998
10999         * docs/design/draft-push-pull.txt:
11000         * docs/design/draft-query.txt:
11001         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11002         (gst_basesrc_start):
11003         Added draft for new query API.
11004         Added draft for better selecting scheduling methods.
11005         Make basesrc ignore length if the subclass does not support
11006         it.
11007
11008 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11009
11010         * gst/Makefile.am:
11011           possible fixes for automake-1.5 - _LIBADD is reserved
11012
11013 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11014
11015         * docs/faq/Makefile.am:
11016         * docs/manual/Makefile.am:
11017         * docs/manuals.mak:
11018         * docs/pwg/Makefile.am:
11019         * gst/Makefile.am:
11020           possible fixes for automake-1.5
11021
11022 2005-04-28  Wim Taymans  <wim@fluendo.com>
11023
11024         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11025         (gst_basesink_pad_getcaps), (gst_basesink_init),
11026         (gst_basesink_do_sync):
11027         * gst/gstclock.c: (gst_clock_entry_new):
11028         * gst/gstevent.c: (gst_event_discont_get_value):
11029         * gst/gstpipeline.c: (pipeline_bus_handler),
11030         (gst_pipeline_change_state):
11031         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11032         Better debugging of clocking info.
11033         Allow NULL values when getting discont values.
11034
11035 2005-04-27  Wim Taymans  <wim@fluendo.com>
11036
11037         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11038         * check/gst/gstpad.c: (gst_pad_suite):
11039         Increase timeout for checks.
11040
11041 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11042
11043         * check/Makefile.am:
11044           fix the broken rule for cleanup.  Apparently this rule is
11045           only needed on FC2, so maybe this warrants further autotool
11046           inspection.
11047
11048 2005-04-26  Wim Taymans  <wim@fluendo.com>
11049
11050         * gst/gsttrashstack.h:
11051         Ooohh. a nasty one! After having a failed pop() from the stack,
11052         it's possible that the stack is empty. In that case, don't
11053         follow the NULL pointer.
11054
11055 2005-04-25  Wim Taymans  <wim@fluendo.com>
11056
11057         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11058         (gst_pad_set_checkgetrange_function),
11059         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11060         (gst_pad_check_pull_range), (gst_pad_pull_range),
11061         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11062         (gst_pad_pause_task), (gst_pad_stop_task):
11063         * gst/gstplugin.c: (gst_plugin_load):
11064         * gst/gstplugin.h:
11065         Remove gst_library_load as it does more harm than good with
11066         the new g_module flags.
11067         Revert bogus caps template check in pad linking, pad caps
11068         are important when linking not the template, which is more
11069         general than the current caps.
11070
11071 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11072
11073         * gst/autoplug/.cvsignore:
11074         * gst/autoplug/Makefile.am:
11075         * gst/autoplug/gstsearchfuncs.c:
11076         * gst/autoplug/gstsearchfuncs.h:
11077         * gst/autoplug/gstspider.c:
11078         * gst/autoplug/gstspider.h:
11079         * gst/autoplug/gstspideridentity.c:
11080         * gst/autoplug/gstspideridentity.h:
11081         * gst/autoplug/spidertest.c:
11082           Die, spider, die.
11083
11084 2005-04-25  Wim Taymans  <wim@fluendo.com>
11085
11086         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11087         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11088         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11089         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11090         * gst/gstpad.h:
11091         Added stubs for unimplemented functions. 
11092
11093 2005-04-24  David Schleef  <ds@schleef.org>
11094
11095         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11096         please fix.
11097
11098 2005-04-24  David Schleef  <ds@schleef.org>
11099
11100         Convert everything from GstAtomicInt to g_atomic_int_*, and
11101         remove gstatomic.
11102         * gst/Makefile.am:
11103         * gst/gstatomic.c:
11104         * gst/gstatomic.h:
11105         * gst/gstatomic_impl.h:
11106         * gst/gstbuffer.c:
11107         * gst/gstcaps.c:
11108         * gst/gstcaps.h:
11109         * gst/gstclock.c:
11110         * gst/gstclock.h:
11111         * gst/gstdata.c:
11112         * gst/gstdata.h:
11113         * gst/gstdata_private.h:
11114         * gst/gstevent.c:
11115         * gst/gstinfo.c:
11116         * gst/gstinfo.h:
11117         * gst/gstmessage.c:
11118         * gst/gstobject.c:
11119         * gst/gstobject.h:
11120         * gst/gststructure.c:
11121         * gst/gststructure.h:
11122         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11123         * gst/gstutils.h:
11124
11125 2005-04-24  David Schleef  <ds@schleef.org>
11126
11127         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11128         make the regressions tests work.  Remove some code that is no
11129         longer true.
11130         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11131         Disable warning for pads without templates.
11132
11133 2005-04-24  David Schleef  <ds@schleef.org>
11134
11135         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11136         functions that handle filtered links.
11137         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11138         removed functions.
11139         * gst/gstutils.c: Fix/remove utility functions that handle
11140         filtered caps.
11141         * gst/gstutils.h:
11142         * gst/gstvalue.c: Add serialization/deserialization of caps
11143         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11144         requires fixing so that the filter caps notation creates
11145         a capsfilter element and sets the filter_caps property.  I
11146         think everyone probably wants to keep the shorthand notation.
11147         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11148         * docs/gst/tmpl/gstpad.sgml:
11149
11150         * gst/elements/gstelements.c: Register capsfilter element.
11151         * gst/Makefile.am: fix spacing
11152         * docs/random/ds/0.9-suggested-changes: random
11153
11154 2005-04-23  David Schleef  <ds@schleef.org>
11155
11156         * gst/elements/Makefile.am:
11157         * gst/elements/gstcapsfilter.c: New element that acts like an
11158         identity, but filters caps.  Will eventually replace filtered
11159         caps in pad linking.
11160         * gst/gstutils.c: (gst_element_create_all_pads): New function
11161         to create all the ALWAYS pads that are registered with an
11162         element class.  This functionality should eventually be
11163         merged in with GstElement initialization.
11164         * gst/gstutils.h:
11165         * testsuite/trigger/README: part of trigger test code that should
11166         have been checked in a long time ago.
11167
11168 2005-04-23  David Schleef  <ds@schleef.org>
11169
11170         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11171         needed with new versions of libtool (nobody will confirm this),
11172         and hard to carry around.
11173         * gst/autoplug/Makefile.am:
11174         * gst/base/Makefile.am:
11175         * gst/elements/Makefile.am:
11176         * gst/indexers/Makefile.am:
11177         * gst/schedulers/Makefile.am:
11178         * libs/gst/bytestream/Makefile.am:
11179         * libs/gst/control/Makefile.am:
11180         * libs/gst/dataprotocol/Makefile.am:
11181         * libs/gst/getbits/Makefile.am:
11182
11183 2005-04-21  Wim Taymans  <wim@fluendo.com>
11184
11185         * docs/design/draft-push-pull.txt:
11186         * docs/design/part-MT-refcounting.txt:
11187         * docs/design/part-TODO.txt:
11188         * docs/design/part-caps.txt:
11189         * docs/design/part-events.txt:
11190         * docs/design/part-gstbus.txt:
11191         * docs/design/part-gstpipeline.txt:
11192         * docs/design/part-messages.txt:
11193         * docs/design/part-push-pull.txt:
11194         * docs/design/part-query.txt:
11195         Some more docs.
11196
11197 2005-04-21  Wim Taymans  <wim@fluendo.com>
11198
11199         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11200         (gst_message_new), (gst_message_new_error),
11201         (gst_message_new_warning), (gst_message_new_tag),
11202         (gst_message_new_state_changed), (gst_message_new_application),
11203         (gst_message_get_structure):
11204         * gst/gstmessage.h:
11205         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11206         (gst_structure_copy_conditional):
11207         Use parent refcount in GstMessage to ensure GstStructure
11208         consistency.
11209         Cleaned up headers a bit.
11210         
11211
11212 2005-04-20  Wim Taymans  <wim@fluendo.com>
11213
11214         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11215         (gst_basesink_pad_getcaps), (gst_basesink_init),
11216         (gst_basesink_chain_unlocked):
11217         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11218         (gst_type_find_helper):
11219         * gst/elements/gsttypefindelement.c:
11220         (gst_type_find_element_have_type), (gst_type_find_element_init),
11221         (stop_typefinding), (gst_type_find_element_handle_event),
11222         (find_suggest), (gst_type_find_element_chain),
11223         (gst_type_find_element_checkgetrange),
11224         (gst_type_find_element_getrange), (do_typefind),
11225         (gst_type_find_element_activate):
11226         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11227         (gst_buffer_default_free), (gst_buffer_default_copy),
11228         (gst_buffer_set_caps):
11229         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11230         (gst_caps_replace):
11231         * gst/gstmessage.c: (gst_message_new),
11232         (gst_message_new_state_changed):
11233         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11234         (gst_pad_set_checkgetrange_function),
11235         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11236         (gst_pad_set_caps), (gst_pad_check_pull_range),
11237         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11238         * gst/gstpad.h:
11239         * gst/gsttypefind.c: (gst_type_find_register):
11240         Make gst_caps_replace() work like other _replace() functions.
11241         Use _caps_replace() where possible.
11242         Make sure _message_new() initialises its field.
11243         Add gst_static_pad_template_get_caps()
11244
11245
11246 2005-04-18  Andy Wingo  <wingo@pobox.com>
11247
11248         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11249         on the peer, not the pad. I think that was a typo. Pass an extra
11250         arg to see if random access is possible. Activate the pads as
11251         PULL_RANGE if possible.
11252
11253         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11254
11255         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11256         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11257         to PROP_....
11258
11259 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11260
11261         * docs/faq/using.xml:
11262           Add note on gstreamer-properties (#154996).
11263
11264 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11265
11266         * docs/random/bbb/optional-properties:
11267           Some analysis on optional properties.
11268
11269 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11270
11271         * docs/gst/tmpl/gstelementfactory.sgml:
11272         * gst/gstelement.h:
11273         * gst/gstelementfactory.c: (gst_element_factory_init),
11274         (gst_element_factory_cleanup), (gst_element_register),
11275         (__gst_element_factory_add_static_pad_template),
11276         (gst_element_factory_get_static_pad_templates),
11277         (gst_element_factory_can_src_caps),
11278         (gst_element_factory_can_sink_caps):
11279         * gst/registries/Makefile.am:
11280         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11281         (gst_xml_registry_class_init), (gst_xml_registry_init),
11282         (gst_xml_registry_new), (gst_xml_registry_set_property),
11283         (gst_xml_registry_get_property), (get_time), (make_dir),
11284         (gst_xml_registry_get_perms_func),
11285         (plugin_times_older_than_recurse), (plugin_times_older_than),
11286         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11287         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11288         (add_to_char_array), (read_string), (read_uint), (read_enum),
11289         (load_pad_template), (load_feature), (load_plugin), (load_paths),
11290         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11291         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11292         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11293         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11294         (gst_xml_registry_rebuild):
11295         * gst/registries/gstlibxmlregistry.h:
11296         * tools/gst-compprep.c: (main):
11297         * tools/gst-inspect.c: (print_pad_templates_info):
11298         * tools/gst-xmlinspect.c: (print_element_info):
11299           Use libxml2 for registry parsing, use staticpadtemplates in
11300           elementfactories. Makes gst_init() +/- 10x faster.
11301
11302 2005-04-12  Wim Taymans  <wim@fluendo.com>
11303
11304         * gst/base/Makefile.am:
11305         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11306         (gst_basesink_pad_getcaps), (gst_basesink_init),
11307         (gst_basesink_event), (gst_basesink_change_state):
11308         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11309         (gst_basesrc_init), (gst_basesrc_query),
11310         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11311         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11312         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11313         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11314         (gst_basesrc_stop), (gst_basesrc_activate),
11315         (gst_basesrc_change_state):
11316         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11317         (helper_find_suggest), (gst_type_find_helper):
11318         * gst/base/gsttypefindhelper.h:
11319         * gst/elements/Makefile.am:
11320         * gst/elements/gstelements.c:
11321         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11322         (gst_fakesink_get_times), (gst_fakesink_event),
11323         (gst_fakesink_preroll), (gst_fakesink_render):
11324         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11325         (gst_fakesrc_init), (gst_fakesrc_event_handler),
11326         (gst_fakesrc_get_property), (gst_fakesrc_create),
11327         (gst_fakesrc_start), (gst_fakesrc_stop):
11328         * gst/elements/gstfakesrc.h:
11329         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11330         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11331         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11332         (gst_filesrc_create_read), (gst_filesrc_create),
11333         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11334         (gst_filesrc_start):
11335         * gst/elements/gsttypefindelement.c:
11336         (gst_type_find_element_have_type), (gst_type_find_element_init),
11337         (start_typefinding), (stop_typefinding), (push_buffer_store),
11338         (gst_type_find_element_handle_event),
11339         (gst_type_find_element_chain),
11340         (gst_type_find_element_checkgetrange),
11341         (gst_type_find_element_getrange), (do_typefind),
11342         (gst_type_find_element_activate),
11343         (gst_type_find_element_change_state):
11344         * gst/elements/gsttypefindelement.h:
11345         * gst/gstpipeline.c: (pipeline_bus_handler):
11346         Added typefind helper.
11347         Small preroll fix in the base sink.
11348         Disable typefind code in basesrc.
11349         Crude port of typefindelement.
11350         Fakesrc cleanups.
11351
11352
11353 2005-04-11  Wim Taymans  <wim@fluendo.com>
11354
11355         * check/gst/gstbus.c: (gstbus_suite):
11356         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11357         * check/gstcheck.h:
11358           Fix up the timeout so that the test does not fail.
11359
11360 2005-04-06  Wim Taymans  <wim@fluendo.com>
11361
11362         * gst/base/README:
11363         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11364         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11365         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11366         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11367         (gst_basesrc_check_get_range), (gst_basesrc_loop),
11368         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11369         (gst_basesrc_stop), (gst_basesrc_activate),
11370         (gst_basesrc_change_state), (basesrc_find_peek),
11371         (basesrc_find_suggest), (gst_basesrc_type_find):
11372         * gst/base/gstbasesrc.h:
11373         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
11374         (gst_filesrc_class_init), (gst_filesrc_init),
11375         (gst_filesrc_finalize), (gst_filesrc_set_location),
11376         (gst_filesrc_set_property), (gst_filesrc_get_property),
11377         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11378         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11379         (gst_filesrc_create_read), (gst_filesrc_create),
11380         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11381         * gst/elements/gstfilesrc.h:
11382         * gst/gstelement.c: (gst_element_get_state_func),
11383         (gst_element_lost_state), (gst_element_pads_activate):
11384         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11385         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11386         (gst_pad_pull_range):
11387         * gst/gstpad.h:
11388         More work on the generic source base class, implement seeking,
11389         query.
11390         Make filesrc extend the base source class.
11391         Added gst_pad_set_checkgetrange_function to GstPad.
11392
11393 2005-04-06  Andy Wingo  <wingo@pobox.com>
11394
11395         * pkgconfig/gstreamer-base.pc.in:
11396         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
11397
11398         * pkgconfig/Makefile.am:
11399         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
11400
11401 2005-04-04  Wim Taymans  <wim@fluendo.com>
11402
11403         * gst/base/Makefile.am:
11404         * gst/base/README:
11405         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11406         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11407         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11408         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
11409         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11410         (gst_basesrc_base_init), (gst_basesrc_class_init),
11411         (gst_basesrc_init), (gst_basesrc_get_formats),
11412         (gst_basesrc_get_query_types), (gst_basesrc_query),
11413         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
11414         (gst_basesrc_set_property), (gst_basesrc_get_property),
11415         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
11416         (gst_basesrc_loop), (gst_basesrc_activate),
11417         (gst_basesrc_change_state):
11418         * gst/base/gstbasesrc.h:
11419         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
11420         (gst_fakesrc_class_init), (gst_fakesrc_init),
11421         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
11422         (gst_fakesrc_get_property), (gst_fakesrc_create):
11423         * gst/elements/gstfakesrc.h:
11424         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
11425         (gst_filesrc_open_file), (gst_filesrc_loop),
11426         (gst_filesrc_activate), (filesrc_find_peek),
11427         (gst_filesrc_type_find):
11428         Made base source class, make fakesrc extend it.
11429         Add comments to basesink class.
11430         Some filesrc cleanup.
11431
11432 2005-03-31  David Schleef  <ds@schleef.org>
11433
11434         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
11435         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
11436         expected to link against libgstreamer.
11437         * gst/base/Makefile.am: link against libgstreamer
11438         * gst/elements/Makefile.am: same
11439
11440 2005-03-31  Andy Wingo  <wingo@pobox.com>
11441
11442         * tests/instantiate/Makefile.am:
11443         * tests/instantiate/caps.c: Add test to test speed of caps copy
11444         and free.
11445
11446         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
11447         GMemChunk to be fair.
11448
11449         * gst/gsttrashstack.h: Remove warning about using the fallback
11450         trash stack implementation, it's still faster than malloc.
11451
11452 2005-03-30  Andy Wingo  <wingo@pobox.com>
11453
11454         * tests/complexity.c: Add a copyright.
11455
11456 2005-03-31  Wim Taymans  <wim@fluendo.com>
11457
11458         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
11459         (gst_base_transform_class_init), (gst_base_transform_init),
11460         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11461         (gst_base_transform_get_property),
11462         (gst_base_transform_sink_activate),
11463         (gst_base_transform_src_activate),
11464         (gst_base_transform_change_state):
11465         * gst/base/gstbasetransform.h:
11466         * gst/elements/gstidentity.c: (gst_identity_class_init),
11467         (gst_identity_event), (gst_identity_check_perfect),
11468         (gst_identity_transform), (gst_identity_start),
11469         (gst_identity_stop):
11470         Added start/stop methods to transform base class so subclasses 
11471         don't need to deal with state changes even.
11472
11473 2005-03-31  Wim Taymans  <wim@fluendo.com>
11474
11475         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
11476         (gst_event_new_discontinuous), (gst_event_discont_get_value):
11477         * gst/gstevent.h:
11478         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11479         (gst_pad_pull_range):
11480         Added rate to the discont event to prepare for variable speed
11481         and reverse playback.
11482
11483 2005-03-29  David Schleef  <ds@schleef.org>
11484
11485         * configure.ac:
11486         * testsuite/trigger/Makefile.am:
11487         * testsuite/trigger/trigger.c: A little example program to show
11488         how trigger-based elements can work.
11489
11490 2005-03-29  Wim Taymans  <wim@fluendo.com>
11491
11492         * gst/base/Makefile.am:
11493         * gst/base/README:
11494         * gst/base/gstbasesink.c: (gst_basesink_get_type),
11495         (gst_basesink_base_init), (gst_basesink_class_init),
11496         (gst_basesink_pad_getcaps), (gst_basesink_init),
11497         (gst_basesink_activate), (gst_basesink_change_state):
11498         * gst/base/gstbasesink.h:
11499         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
11500         (gst_base_transform_base_init), (gst_base_transform_finalize),
11501         (gst_base_transform_class_init), (gst_base_transform_init),
11502         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
11503         (gst_base_transform_event), (gst_base_transform_getrange),
11504         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
11505         (gst_base_transform_set_property),
11506         (gst_base_transform_get_property),
11507         (gst_base_transform_sink_activate),
11508         (gst_base_transform_src_activate),
11509         (gst_base_transform_change_state):
11510         * gst/base/gstbasetransform.h:
11511         * gst/elements/gstidentity.c: (gst_identity_finalize),
11512         (gst_identity_class_init), (gst_identity_init),
11513         (gst_identity_event), (gst_identity_check_perfect),
11514         (gst_identity_transform), (gst_identity_set_property),
11515         (gst_identity_get_property), (gst_identity_change_state):
11516         * gst/elements/gstidentity.h:
11517         * gst/gstelement.c: (gst_element_get_state_func),
11518         (gst_element_lost_state), (gst_element_pads_activate):
11519         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11520         (gst_pad_check_pull_range), (gst_pad_pull_range):
11521         * gst/gstpad.h:
11522         Simplify pad activation.
11523         Added function to check if pull_range can be performed.
11524         Error out when pulling inactive or flushing pads.
11525         Removed const from refcounted types as it does not make sense.
11526         Simplify pad templates in basesink
11527         Added base class for simple 1-to-1 transforms.
11528         Make identity subclass the base transform.
11529
11530 2005-03-29  Andy Wingo  <wingo@pobox.com>
11531
11532         * docs/libs/gstreamer-libs-overrides.txt: 
11533         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
11534         really don't understand what's going on, but like whatever. I want
11535         green buildbot!
11536
11537         * docs/gst/Makefile.am:
11538         * docs/libs/Makefile.am: Dist the overrides files.
11539
11540         * check/Makefile.am (clean-local): Remove .libs directories.
11541
11542         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
11543         elements to EXTRA_DIST, so po/ files are happy.
11544
11545         * po/POTFILES.in: Er, remove it here.
11546
11547         * po/POTFILES: Remove gstspider.c.
11548
11549         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
11550
11551         * docs/libs/gstreamer-libs-docs.sgml: 
11552         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
11553         bytestream.
11554
11555         * tests/complexity.c (main): Set the length of the preroll queue
11556         on the sinks to prevent a lockup.
11557
11558         * libs/gst/dataprotocol/Makefile.am: 
11559         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
11560         the same as the one in check/gst-libs/gdp.c.
11561
11562         * po/, docs/gst/: Commit automatic changes to docs and po files.
11563
11564         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
11565         the versioned libgstbase.
11566
11567         * check/Makefile.am: Depend on an unversioned gst-register, seems
11568         to make autoconf happier.
11569
11570         * gst/base/Makefile.am: Make libgstbase a versioned lib.
11571
11572 2005-03-28  Wim Taymans  <wim@fluendo.com>
11573
11574         * configure.ac:
11575         * docs/design/part-gstelement.txt:
11576         * docs/design/part-negotiation.txt:
11577         * docs/design/part-preroll.txt:
11578         * docs/design/part-scheduling.txt:
11579         * docs/design/part-states.txt:
11580         * gst/Makefile.am:
11581         * gst/base/Makefile.am:
11582         * gst/base/README:
11583         * gst/base/gstbasesink.c: (gst_basesink_get_template),
11584         (gst_basesink_base_init), (gst_basesink_class_init),
11585         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11586         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11587         (gst_basesink_set_pad_functions),
11588         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
11589         (gst_basesink_set_property), (gst_basesink_get_property),
11590         (gst_base_sink_get_template), (gst_base_sink_get_caps),
11591         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
11592         (gst_basesink_preroll_queue_push),
11593         (gst_basesink_preroll_queue_empty),
11594         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
11595         (gst_basesink_event), (gst_basesink_get_times),
11596         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
11597         (gst_basesink_chain_unlocked), (gst_basesink_chain),
11598         (gst_basesink_loop), (gst_basesink_activate),
11599         (gst_basesink_change_state):
11600         * gst/base/gstbasesink.h:
11601         * gst/elements/Makefile.am:
11602         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
11603         (gst_fakesink_class_init), (gst_fakesink_init),
11604         (gst_fakesink_set_property), (gst_fakesink_get_property),
11605         (gst_fakesink_get_times), (gst_fakesink_event),
11606         (gst_fakesink_preroll), (gst_fakesink_render),
11607         (gst_fakesink_change_state):
11608         * gst/elements/gstfakesink.h:
11609         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11610         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
11611         * gst/gstelement.c: (gst_element_add_pad),
11612         (gst_element_get_state_func), (gst_element_abort_state),
11613         (gst_element_commit_state), (gst_element_lost_state),
11614         (gst_element_set_state), (gst_element_pads_activate):
11615         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
11616         * gst/gstpipeline.c: (gst_pipeline_send_event),
11617         (gst_pipeline_change_state):
11618         Added state change code.
11619         Added/updated docs.
11620         Added sink base class, make fakesink extend the base class.
11621         Small cleanups in GstPipeline.
11622
11623 2005-03-26  David Schleef  <ds@schleef.org>
11624
11625         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
11626         is broken and should be implemented in a different library.
11627         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
11628         * gst/gst.h: remove gstcpu.h
11629         * gst/gstcpu.c: remove
11630         * gst/gstcpu.h: remove
11631         * gst/Makefile.am.future: Remove this file.  It's ancient.
11632
11633 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11634
11635         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
11636         (gst_bin_send_event):
11637           Add default event/set_manager handlers. The set_manager handler
11638           takes care that the manager is distributed over kids that were
11639           already in the bin before the manager was set. The event handler
11640           is a utility virtual function that sends the event over all sinks,
11641           so that gst_element_send_event (bin, event); has the expected
11642           behaviour.
11643         * gst/gstpad.c: (gst_pad_event_default):
11644           Re-install default event handling for discontinuities, so that
11645           seeking works without requiring hacks in applications or extra
11646           code in sinks.
11647         * gst/gstpipeline.c: (gst_pipeline_class_init),
11648         (gst_pipeline_send_event):
11649           Half hack, half utility: set a pipeline to PAUSED for seek events,
11650           since that is the only way we can guarantee a/v sync. Means that
11651           you can do gst_element_seek (pipeline, method, pos); on a pipeline
11652           and it "just works".
11653
11654 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11655
11656         * gst/gstpipeline.c: (gst_pipeline_use_clock):
11657           Lock/unlock mismatch.
11658
11659 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11660
11661         * docs/faq/gst-uninstalled:
11662           add gst-plugins-base
11663         * docs/gst/Makefile.am:
11664           don't error out until docs are fixed
11665         * docs/gst/gstreamer.types:
11666           remove thread
11667
11668 2005-03-22  Wim Taymans  <wim@fluendo.com>
11669
11670         * check/Makefile.am:
11671         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
11672         * gst/gststructure.c: (gst_structure_set_valist),
11673         (gst_structure_copy_conditional):
11674         Activated more tests.
11675         Added message test.
11676         Added G_TYPE_POINTER to GstStructure.
11677         
11678
11679 2005-03-22  Wim Taymans  <wim@fluendo.com>
11680
11681         * docs/design/part-TODO.txt:
11682         * docs/design/part-events.txt:
11683         * docs/design/part-gstbin.txt:
11684         * docs/design/part-gstbus.txt:
11685         * docs/design/part-gstpipeline.txt:
11686         * docs/design/part-messages.txt:
11687         * gst/gstbus.c:
11688         * gst/gstmessage.c:
11689         Docs updates
11690
11691 2005-03-21  Wim Taymans  <wim@fluendo.com>
11692
11693         * gst/gstbus.c: (gst_bus_post):
11694         Fix copy-and-paste error.
11695
11696 2005-03-21  Wim Taymans  <wim@fluendo.com>
11697
11698         * check/Makefile.am:
11699         * gst/Makefile.am:
11700         * gst/elements/Makefile.am:
11701         * gst/elements/gstelements.c:
11702         * gst/elements/gstfakesink.c: (gst_fakesink_init),
11703         (gst_fakesink_event), (gst_fakesink_chain):
11704         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11705         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
11706         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
11707         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
11708         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11709         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
11710         (gst_fakesrc_loop), (gst_fakesrc_activate),
11711         (gst_fakesrc_change_state):
11712         * gst/elements/gstfakesrc.h:
11713         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11714         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
11715         (gst_filesrc_open_file), (gst_filesrc_loop),
11716         (gst_filesrc_activate), (gst_filesrc_change_state),
11717         (filesrc_find_peek), (filesrc_find_suggest),
11718         (gst_filesrc_type_find):
11719         * gst/elements/gstidentity.c: (gst_identity_finalize),
11720         (gst_identity_class_init), (gst_identity_init),
11721         (gst_identity_proxy_getcaps), (identity_queue_push),
11722         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
11723         (gst_identity_getrange), (gst_identity_chain),
11724         (gst_identity_sink_loop), (gst_identity_src_loop),
11725         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
11726         (gst_identity_set_property), (gst_identity_get_property),
11727         (gst_identity_change_state):
11728         * gst/elements/gstidentity.h:
11729         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11730         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
11731         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
11732         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
11733         (gst_tee_sink_activate):
11734         * gst/elements/gsttee.h:
11735         * gst/gst.c: (gst_register_core_elements), (init_post):
11736         * gst/gst.h:
11737         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
11738         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
11739         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
11740         (gst_bin_change_state):
11741         * gst/gstbin.h:
11742         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
11743         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
11744         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
11745         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
11746         (gst_bus_set_sync_handler), (gst_bus_create_watch),
11747         (bus_watch_callback), (bus_watch_destroy),
11748         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
11749         (poll_timeout), (gst_bus_poll):
11750         * gst/gstbus.h:
11751         * gst/gstcaps.h:
11752         * gst/gstdata.h:
11753         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11754         (gst_element_post_message), (gst_element_message_full),
11755         (gst_element_get_state_func), (gst_element_get_state),
11756         (gst_element_abort_state), (gst_element_commit_state),
11757         (gst_element_lost_state), (gst_element_set_state),
11758         (gst_element_pads_activate), (gst_element_change_state),
11759         (gst_element_dispose), (gst_element_set_manager_func),
11760         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
11761         (gst_element_set_manager), (gst_element_get_manager),
11762         (gst_element_set_bus), (gst_element_get_bus),
11763         (gst_element_set_scheduler), (gst_element_get_scheduler):
11764         * gst/gstelement.h:
11765         * gst/gstevent.c: (gst_event_new_segment_seek),
11766         (gst_event_new_flush):
11767         * gst/gstevent.h:
11768         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
11769         (_gst_message_free), (gst_message_get_type), (gst_message_new),
11770         (gst_message_new_eos), (gst_message_new_error),
11771         (gst_message_new_warning), (gst_message_new_tag),
11772         (gst_message_new_state_changed), (gst_message_new_application),
11773         (gst_message_get_structure), (gst_message_parse_tag),
11774         (gst_message_parse_state_changed), (gst_message_parse_error),
11775         (gst_message_parse_warning):
11776         * gst/gstmessage.h:
11777         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
11778         (gst_real_pad_set_property), (gst_pad_set_active),
11779         (gst_pad_is_active), (gst_pad_set_blocked_async),
11780         (gst_pad_set_blocked), (gst_pad_is_blocked),
11781         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
11782         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
11783         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11784         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
11785         (gst_pad_link_filtered), (gst_pad_relink_filtered),
11786         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
11787         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
11788         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
11789         (gst_pad_set_caps), (gst_pad_configure_sink),
11790         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
11791         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
11792         (gst_real_pad_dispose), (gst_real_pad_finalize),
11793         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
11794         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11795         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
11796         * gst/gstpad.h:
11797         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
11798         (pipeline_bus_handler), (gst_pipeline_change_state),
11799         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
11800         * gst/gstpipeline.h:
11801         * gst/gstprobe.h:
11802         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11803         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
11804         (gst_queue_link_src), (gst_queue_bufferalloc),
11805         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
11806         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
11807         (gst_queue_loop), (gst_queue_handle_src_event),
11808         (gst_queue_handle_src_query), (gst_queue_src_activate),
11809         (gst_queue_change_state):
11810         * gst/gstqueue.h:
11811         * gst/gstscheduler.c: (gst_scheduler_init),
11812         (gst_scheduler_dispose), (gst_scheduler_create_task),
11813         (gst_scheduler_factory_create):
11814         * gst/gstscheduler.h:
11815         * gst/gststructure.c: (gst_structure_get_type),
11816         (gst_structure_copy_conditional):
11817         * gst/gststructure.h:
11818         * gst/gsttaginterface.h:
11819         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
11820         (gst_task_init), (gst_task_dispose), (gst_task_create),
11821         (gst_task_get_state), (gst_task_start), (gst_task_stop),
11822         (gst_task_pause):
11823         * gst/gsttask.h:
11824         * gst/gstthread.c:
11825         * gst/gstthread.h:
11826         * gst/gsttypes.h:
11827         * gst/schedulers/Makefile.am:
11828         * gst/schedulers/cothreads_compat.h:
11829         * gst/schedulers/entryscheduler.c:
11830         * gst/schedulers/faircothreads.c:
11831         * gst/schedulers/faircothreads.h:
11832         * gst/schedulers/fairscheduler.c:
11833         * gst/schedulers/gstbasicscheduler.c:
11834         * gst/schedulers/gstoptimalscheduler.c:
11835         * gst/schedulers/gthread-cothreads.h:
11836         * gst/schedulers/threadscheduler.c:
11837         (gst_thread_scheduler_task_get_type),
11838         (gst_thread_scheduler_task_class_init),
11839         (gst_thread_scheduler_task_init),
11840         (gst_thread_scheduler_task_start),
11841         (gst_thread_scheduler_task_stop),
11842         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
11843         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11844         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
11845         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
11846         (plugin_init):
11847         * libs/gst/Makefile.am:
11848         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
11849         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
11850         (gst_file_pad_parent_set):
11851         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11852         (gst_dp_event_from_packet):
11853         * tests/complexity.c: (main):
11854         * tests/mass_elements.c: (main):
11855         * testsuite/states/locked.c: (message_received), (main):
11856         * testsuite/states/parent.c: (main):
11857         * tools/gst-inspect.c: (print_element_flag_info),
11858         (print_implementation_info), (print_pad_info):
11859         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
11860         (main):
11861         * tools/gst-md5sum.c: (event_loop), (main):
11862         * tools/gst-typefind.c: (main):
11863         * tools/gst-xmlinspect.c: (print_element_info):
11864         Next big merge.
11865         Added GstBus for mainloop integration.
11866         Added GstMessage for sending notifications on the bus.
11867         Added GstTask as an abstraction for pipeline entry points.
11868         Removed GstThread.
11869         Removed Schedulers.
11870         Simplified GstQueue for multithreaded core.
11871         Made _link threadsafe, removed old capsnego.
11872         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
11873         Added pad blocking functions.
11874         Reworked scheduling functions in GstPad to prepare for
11875         scheduling updates soon.
11876         Moved events out of data stream.
11877         Simplified GstEvent types.
11878         Added return values to push/pull.
11879         Removed clocking from GstElement.
11880         Added prototypes for state change function for next merge.
11881         Removed iterate from bins and state change management.
11882         Fixed some elements, disabled others for now.
11883         Fixed -inspect and -launch.
11884         Added check for GstBus.
11885
11886 2005-03-10  Wim Taymans  <wim@fluendo.com>
11887
11888         * docs/design/part-MT-refcounting.txt:
11889         * docs/design/part-clocks.txt:
11890         * docs/design/part-gstelement.txt:
11891         * docs/design/part-gstobject.txt:
11892         * docs/design/part-standards.txt:
11893         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11894         (gst_bin_remove_func), (gst_bin_remove):
11895         * gst/gstbin.h:
11896         * gst/gstbuffer.c:
11897         * gst/gstcaps.h:
11898         * testsuite/clock/clock1.c: (main):
11899         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
11900         (main):
11901         * testsuite/dlopen/loadgst.c: (do_test):
11902         * testsuite/refcounting/bin.c: (add_remove_test1),
11903         (add_remove_test2), (main):
11904         * testsuite/refcounting/element.c: (main):
11905         * testsuite/refcounting/element_pad.c: (main):
11906         * testsuite/refcounting/pad.c: (main):
11907         * tools/gst-launch.c: (sigint_handler_sighandler):
11908         * tools/gst-typefind.c: (main):
11909         Doc updates.
11910         Added doc about clock.
11911         removed gst_bin_iterate_recurse_up(), marked methods
11912         for removal.
11913         Fix more testsuites.
11914
11915 2005-03-09  Wim Taymans  <wim@fluendo.com>
11916
11917         * gst/gstpad.c: (gst_pad_get_direction),
11918         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
11919         (gst_pad_collect_valist):
11920         * testsuite/bins/interface.c: (main):
11921         * testsuite/caps/audioscale.c: (test_caps):
11922         * testsuite/caps/caps.c: (test1), (test2), (test3):
11923         * testsuite/caps/deserialize.c: (main):
11924         * testsuite/caps/enumcaps.c: (main):
11925         * testsuite/caps/filtercaps.c: (main):
11926         * testsuite/caps/intersect2.c: (main):
11927         * testsuite/caps/random.c: (main):
11928         * testsuite/caps/renegotiate.c: (my_fixate), (main):
11929         * testsuite/caps/sets.c: (check_caps):
11930         * testsuite/caps/simplify.c: (check_caps), (main):
11931         * testsuite/caps/subtract.c: (check_caps):
11932         Fix _pad_get_direction wrt ghostpads.
11933         Fix caps testsuite.
11934
11935 2005-03-09  Wim Taymans  <wim@fluendo.com>
11936
11937         * check/Makefile.am:
11938         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
11939         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
11940         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
11941         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
11942         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
11943         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
11944         (gst_bin_remove), (gst_bin_iterate_recurse_up),
11945         (bin_element_is_sink), (gst_bin_iterate_sinks),
11946         (gst_bin_iterate_all_by_interface):
11947         * gst/gstbin.h:
11948         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
11949         (gst_element_change_state), (gst_element_dispose),
11950         (gst_element_finalize), (gst_element_set_loop_function):
11951         * gst/gstelement.h:
11952         * gst/gstiterator.c: (find_custom_fold_func):
11953         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11954         (gst_pad_collectv), (gst_pad_collect_valist),
11955         (gst_pad_template_new):
11956         * gst/gstpipeline.c: (gst_pipeline_class_init),
11957         (gst_pipeline_dispose), (gst_pipeline_set_property),
11958         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
11959         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
11960         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
11961         * gst/gstutils.h:
11962         * gst/schedulers/entryscheduler.c:
11963         * gst/schedulers/gstbasicscheduler.c:
11964         (gst_basic_scheduler_cothreaded_chain),
11965         (gst_basic_scheduler_chain_add_element):
11966         * testsuite/bins/interface.c: (main):
11967         Added GstBin test.
11968         Added GstSystemClock test.
11969         Implemented clock distribution code in GstBin.
11970         Implemented iterate sinks method for future use.
11971         Rearranged gstelement.h
11972         Fix GstIterator comparison bug.
11973         Moved some code to GstPipeline, mostly clocking related.
11974
11975 2005-03-09  Wim Taymans  <wim@fluendo.com>
11976
11977         * configure.ac:
11978         * gst/gst_private.h:
11979         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11980         (gst_bin_remove_func), (gst_bin_remove),
11981         (gst_bin_get_by_name_recurse_up):
11982         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
11983         (gst_clock_id_compare_func), (gst_clock_id_wait),
11984         (gst_clock_id_wait_async), (gst_clock_init),
11985         (gst_clock_adjust_unlocked), (gst_clock_get_time):
11986         * gst/gstelement.h:
11987         * gst/gstinfo.c: (_gst_debug_init):
11988         * gst/gstobject.h:
11989         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
11990         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
11991         * gst/gstpad.h:
11992         Bump version number, we're now 0.9.0
11993         Add future debugging category.
11994         Fix NULL _unref() in _get_by_name_recurse_up
11995         Rearrange gstpad.h.
11996         Update some docs.
11997
11998 2005-03-08  Wim Taymans  <wim@fluendo.com>
11999
12000         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12001         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12002         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12003         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12004         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12005         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12006         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12007         * gst/elements/gstidentity.c: (gst_identity_class_init):
12008         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12009         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12010         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12011         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12012         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12013         (gst_tee_link):
12014         * gst/gstelement.c: (gst_element_class_init),
12015         (gst_element_base_class_init), (gst_element_init),
12016         (gst_element_get_random_pad), (gst_element_wait_state_change),
12017         (gst_element_change_state), (gst_element_dispose),
12018         (gst_element_finalize), (gst_element_set_loop_function):
12019         * gst/gstelement.h:
12020         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12021         * gst/gstthread.c: (gst_thread_class_init),
12022         (gst_thread_release_children_locks), (gst_thread_change_state):
12023         * gst/schedulers/gstbasicscheduler.c:
12024         (gst_basic_scheduler_loopfunc_wrapper),
12025         (gst_basic_scheduler_chain_wrapper),
12026         (gst_basic_scheduler_src_wrapper),
12027         (gst_basic_scheduler_remove_element):
12028         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12029         Remove threadsafe properties. Fix elements because GObject
12030         complains when installing a property before declaring a
12031         set/get_property handler.
12032         Rearrange gstelement.h file, use STATE macros for state locks.
12033         Free mutexes in the finalize method instead of dispose.
12034
12035 2005-03-08  Wim Taymans  <wim@fluendo.com>
12036
12037         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12038         * gst/gstthread.c: (gst_thread_release_children_locks):
12039         Added parentage check.
12040         Fix build og GstThread again.
12041
12042 2005-03-08  Wim Taymans  <wim@fluendo.com>
12043
12044         * docs/design/part-MT-refcounting.txt:
12045         * docs/design/part-conventions.txt:
12046         * docs/design/part-gstobject.txt:
12047         * docs/design/part-relations.txt:
12048         * docs/design/part-standards.txt:
12049         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12050         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12051         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12052         (gst_bin_iterate_all_by_interface):
12053         * gst/gstbuffer.h:
12054         * gst/gstclock.h:
12055         * gst/gstelement.c: (gst_element_class_init),
12056         (gst_element_change_state), (gst_element_set_loop_function):
12057         * gst/gstelement.h:
12058         * gst/gstiterator.c:
12059         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12060         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12061         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12062         (gst_object_set_parent), (gst_object_unparent),
12063         (gst_object_check_uniqueness):
12064         * gst/gstobject.h:
12065         Docs updates, clean up some headers.
12066
12067 2005-03-07  Wim Taymans  <wim@fluendo.com>
12068
12069         * check/.cvsignore:
12070         * check/Makefile.am:
12071         * check/gst-libs/.cvsignore:
12072         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12073         * check/gst/.cvsignore:
12074         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12075         (START_TEST), (gstbus_suite), (main):
12076         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12077         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12078         (gst_data_suite), (main):
12079         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12080         (add_fold_func), (gstiterator_suite), (main):
12081         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12082         (thread_name_object), (thread_name_object_default),
12083         (gst_object_name_compare), (gst_object_suite), (main):
12084         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12085         (gst_pad_suite), (main):
12086         * check/gstcheck.c: (gst_check_log_message_func),
12087         (gst_check_log_critical_func), (gst_check_init):
12088         * check/gstcheck.h:
12089         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12090         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12091         Added checks.
12092
12093 2005-03-07  Wim Taymans  <wim@fluendo.com>
12094
12095         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12096         (gst_list_iterator_next), (gst_list_iterator_resync),
12097         (gst_list_iterator_free), (gst_iterator_new_list),
12098         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12099         (gst_iterator_free), (gst_iterator_push), (filter_next),
12100         (filter_resync), (filter_uninit), (filter_free),
12101         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12102         (gst_iterator_foreach), (find_custom_fold_func),
12103         (gst_iterator_find_custom):
12104         * gst/gstiterator.h:
12105         Added missing files.
12106
12107 2005-03-07  Wim Taymans  <wim@fluendo.com>
12108
12109         * Makefile.am:
12110         * configure.ac:
12111         * docs/design/part-MT-refcounting.txt:
12112         * docs/design/part-conventions.txt:
12113         * docs/design/part-gstobject.txt:
12114         * docs/design/part-relations.txt:
12115         * examples/mixer/mixer.c: (main):
12116         * examples/thread/thread.c: (eos), (main):
12117         * gst/Makefile.am:
12118         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12119         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12120         (gst_spider_plug_from_srcpad):
12121         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12122         (gst_spider_identity_change_state),
12123         (gst_spider_identity_sink_loop_type_finding):
12124         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12125         * gst/elements/gstidentity.c: (gst_identity_init):
12126         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12127         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12128         * gst/elements/gsttypefindelement.c: (free_entry):
12129         * gst/gst.c:
12130         * gst/gst.h:
12131         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12132         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12133         (gst_bin_set_index), (gst_bin_set_element_sched),
12134         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12135         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12136         (gst_bin_iterate_elements), (iterate_child_recurse),
12137         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12138         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12139         (compare_interface), (gst_bin_get_by_interface),
12140         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12141         * gst/gstbin.h:
12142         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12143         (gst_buffer_default_free), (gst_buffer_default_copy),
12144         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12145         (gst_buffer_create_sub):
12146         * gst/gstbuffer.h:
12147         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12148         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12149         (gst_caps_unref), (gst_static_caps_get),
12150         (gst_caps_remove_and_get_structure), (gst_caps_append),
12151         (gst_caps_append_structure), (gst_caps_remove_structure),
12152         (gst_caps_copy_nth), (gst_caps_set_simple),
12153         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12154         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12155         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12156         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12157         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12158         (gst_caps_structure_figure_out_union),
12159         (gst_caps_switch_structures), (gst_caps_do_simplify),
12160         (gst_caps_replace), (gst_caps_from_string),
12161         (gst_caps_copy_conditional):
12162         * gst/gstcaps.h:
12163         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12164         (_gst_clock_id_free), (gst_clock_id_unref),
12165         (gst_clock_id_compare_func), (gst_clock_id_wait),
12166         (gst_clock_id_wait_async), (gst_clock_class_init),
12167         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12168         (gst_clock_get_time), (gst_clock_set_time_adjust),
12169         (gst_clock_set_property), (gst_clock_get_property):
12170         * gst/gstclock.h:
12171         * gst/gstcompat.h:
12172         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12173         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12174         * gst/gstdata.h:
12175         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12176         (gst_element_requires_clock), (gst_element_provides_clock),
12177         (gst_element_set_clock), (gst_element_clock_wait),
12178         (gst_element_wait), (gst_element_set_time_delay),
12179         (gst_element_is_indexable), (gst_element_add_pad),
12180         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12181         (pad_compare_name), (gst_element_get_static_pad),
12182         (gst_element_request_pad), (gst_element_get_request_pad),
12183         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12184         (gst_element_class_get_pad_template_list),
12185         (gst_element_class_get_pad_template), (gst_element_error_func),
12186         (gst_element_get_random_pad), (gst_element_get_event_masks),
12187         (gst_element_send_event), (gst_element_seek),
12188         (gst_element_get_query_types), (gst_element_query),
12189         (gst_element_get_formats), (gst_element_convert),
12190         (gst_element_is_locked_state), (gst_element_set_locked_state),
12191         (gst_element_sync_state_with_parent), (gst_element_change_state),
12192         (gst_element_finalize), (gst_element_yield),
12193         (gst_element_interrupt), (gst_element_set_scheduler),
12194         (gst_element_get_scheduler), (gst_element_set_loop_function):
12195         * gst/gstelement.h:
12196         * gst/gstevent.h:
12197         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12198         (gst_format_get_by_nick), (gst_format_get_details),
12199         (gst_format_iterate_definitions):
12200         * gst/gstformat.h:
12201         * gst/gstindex.c: (gst_index_gtype_resolver):
12202         * gst/gstinfo.c:
12203         * gst/gstinfo.h:
12204         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12205         (gst_mem_chunk_free):
12206         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12207         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12208         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12209         (gst_object_dispatch_properties_changed),
12210         (gst_object_set_name_default), (gst_object_set_name),
12211         (gst_object_get_name), (gst_object_set_name_prefix),
12212         (gst_object_get_name_prefix), (gst_object_set_parent),
12213         (gst_object_get_parent), (gst_object_unparent),
12214         (gst_object_check_uniqueness), (gst_object_save_thyself),
12215         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12216         (gst_object_set_property), (gst_object_get_property),
12217         (gst_object_get_path_string):
12218         * gst/gstobject.h:
12219         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12220         (gst_real_pad_init), (gst_real_pad_get_property),
12221         (gst_pad_custom_new), (gst_pad_get_direction),
12222         (gst_pad_set_active), (gst_pad_is_active),
12223         (gst_pad_set_event_function), (gst_pad_is_linked),
12224         (gst_pad_link_free), (gst_pad_link_intersect),
12225         (gst_pad_link_fixate), (gst_pad_set_caps),
12226         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12227         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12228         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12229         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12230         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12231         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12232         (gst_pad_realize), (gst_pad_get_allowed_caps),
12233         (gst_real_pad_dispose), (gst_real_pad_finalize),
12234         (gst_pad_collectv), (gst_pad_collect_valist),
12235         (gst_pad_template_dispose), (gst_pad_template_new),
12236         (gst_pad_get_internal_links):
12237         * gst/gstpad.h:
12238         * gst/gstpipeline.c: (gst_pipeline_dispose),
12239         (gst_pipeline_change_state):
12240         * gst/gstpipeline.h:
12241         * gst/gstplugin.c:
12242         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12243         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12244         * gst/gstpluginfeature.h:
12245         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12246         * gst/gstquery.c: (_gst_query_type_initialize),
12247         (gst_query_type_register), (gst_query_type_get_by_nick),
12248         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12249         * gst/gstquery.h:
12250         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12251         * gst/gstscheduler.c: (gst_scheduler_add_element),
12252         (gst_scheduler_factory_create):
12253         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12254         (gst_structure_free), (gst_structure_set_name),
12255         (gst_structure_id_set_value), (gst_structure_set_value),
12256         (gst_structure_set_valist), (gst_structure_remove_field),
12257         (gst_structure_remove_fields),
12258         (gst_structure_remove_fields_valist),
12259         (gst_structure_remove_all_fields), (gst_structure_foreach),
12260         (gst_structure_map_in_place),
12261         (gst_caps_structure_fixate_field_nearest_int),
12262         (gst_caps_structure_fixate_field_nearest_double):
12263         * gst/gststructure.h:
12264         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12265         (gst_system_clock_init), (gst_system_clock_dispose),
12266         (gst_system_clock_async_thread),
12267         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12268         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12269         * gst/gstsystemclock.h:
12270         * gst/gsttag.c: (gst_tag_list_add_value_internal),
12271         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12272         * gst/gsttaginterface.c:
12273         * gst/gstthread.c: (gst_thread_dispose),
12274         (gst_thread_release_children_locks), (gst_thread_change_state),
12275         (gst_thread_main_loop):
12276         * gst/gsttrashstack.h:
12277         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12278         * gst/gsttypes.h:
12279         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12280         (gst_element_request_pad), (gst_element_get_pad_from_template),
12281         (gst_element_request_compatible_pad),
12282         (gst_element_get_compatible_pad_filtered),
12283         (gst_element_get_compatible_pad), (gst_element_state_get_name),
12284         (gst_element_link_pads_filtered), (gst_element_link_filtered),
12285         (gst_element_link_many), (gst_element_link),
12286         (gst_element_link_pads), (gst_element_unlink_pads),
12287         (gst_element_unlink_many), (gst_element_unlink),
12288         (gst_pad_can_link_filtered), (gst_pad_can_link),
12289         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12290         (gst_object_default_error), (gst_bin_add_many),
12291         (gst_bin_remove_many), (gst_element_populate_std_props),
12292         (gst_element_class_install_std_props), (gst_buffer_merge),
12293         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12294         (link_fold_func), (gst_pad_proxy_setcaps):
12295         * gst/gstutils.h:
12296         * gst/gstvalue.c: (gst_value_deserialize_string):
12297         * gst/parse/grammar.y:
12298         * gst/schedulers/gstbasicscheduler.c:
12299         (gst_basic_scheduler_cothreaded_chain),
12300         (gst_basic_scheduler_chain_recursive_add),
12301         (gst_basic_scheduler_pad_link):
12302         * gst/schedulers/gstoptimalscheduler.c:
12303         (get_group_schedule_function),
12304         (gst_opt_scheduler_state_transition),
12305         (gst_opt_scheduler_add_element), (element_get_reachables_func):
12306         * libs/gst/bytestream/bytestream.c:
12307         * libs/gst/dataprotocol/dataprotocol.c:
12308         (gst_dp_header_from_buffer):
12309         * po/nb.po:
12310         * po/ru.po:
12311         * tests/threadstate/threadstate2.c: (eos):
12312         * tools/gst-compprep.c: (main):
12313         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12314         (print_pad_info), (print_children_info):
12315         * tools/gst-launch.c: (idle_func), (main):
12316         * tools/gst-md5sum.c: (idle_func), (main):
12317         * tools/gst-xmlinspect.c: (print_element_info):
12318         First THREADED backport attempt, focusing on adding locks and
12319         making sure the API is threadsafe. Needs more work. More docs
12320         follow this week.
12321
12322 2005-02-24  Andy Wingo  <wingo@pobox.com>
12323
12324         * tests/bench-complexity.scm:
12325         * tests/complexity.gnuplot: New files, good for running complexity
12326         benchmarks.
12327
12328         * tests/Makefile.am:
12329         * tests/complexity.c: New test, sets up N elements, at each level
12330         teeing into M streams per element. Eeeenteresting.
12331
12332         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12333         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12334         running bench-mass_elements.scm.
12335
12336         * tests/bench-mass_elements.scm: New script, runs mass_elements
12337         for various numbers of identities, outputting the results to a
12338         file. Requires guile 1.6. Just for testing.
12339
12340 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12341
12342         * gst/schedulers/fairscheduler.c:
12343           compile with debug disabled
12344
12345 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12346
12347         * configure.ac:
12348           hunting season on 0.9 is now OPEN