docs/plugins/tmpl/.cvsignore: Ignore more.
[platform/upstream/gstreamer.git] / ChangeLog
1 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * docs/plugins/tmpl/.cvsignore:
4           Ignore more.
5
6 2007-05-18  Edward Hervey  <edward@fluendo.com>
7
8         * plugins/elements/gstqueue.c: (gst_queue_loop):
9         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
10         for the subtle art of warning a potentially blocking thread that it
11         should check the source pad return value, and relay the information
12         upstream.
13
14 2007-05-18  Edward Hervey  <edward@fluendo.com>
15
16         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
17         Release the queue lock !
18
19 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
20
21         * docs/libs/gstreamer-libs-sections.txt:
22         Add the two new controller functions to the appropiate places.
23
24 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
25
26         reviewed by: Stefan Kost <ensonic@users.sf.net>
27
28         * libs/gst/controller/gstcontroller.c:
29         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
30         (_gst_controller_get_property), (_gst_controller_set_property),
31         (_gst_controller_init), (_gst_controller_class_init):
32         * libs/gst/controller/gstcontroller.h:
33         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
34         (gst_object_get_control_rate), (gst_object_set_control_rate):
35         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
36         Add API that provides sync suggestion timestamps for elements that
37         call gst_object_sync_values() from which those elements can subdivide
38         their processing loop to get the best results for the controlled
39         properties. For now it just suggests last_sync + control_rate as
40         new timestamp but this will be improved in the future.
41
42         While doing that change the control-rate property to a GstClockTime
43         from guint and change it's meaning from samples to nanoseconds as
44         the GstController doesn't know anything about sampling rate. Strictly
45         speaking this breaks ABI but as the control-rate property didn't do
46         anything in the past and as such couldn't be used this should be no
47         problem.        
48
49 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
50
51         reviewed by: Stefan Kost <ensonic@users.sf.net>
52
53         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
54         (gst_controller_unset_all):
55         * libs/gst/controller/gstcontrollerprivate.h:
56         * libs/gst/controller/gstinterpolation.c:
57         (gst_controlled_property_find_control_point_node):
58         Save last synced value from the list to continue searching from there
59         in future syncs. This speeds everything up a bit.
60         
61 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
62
63         reviewed by: Stefan Kost <ensonic@users.sf.net>
64
65         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
66         (gst_control_point_find), (gst_controlled_property_new),
67         (gst_control_point_free), (gst_controlled_property_free),
68         (gst_controller_set), (gst_controller_set_from_list),
69         (gst_controller_unset), (gst_controller_unset_all),
70         (gst_controller_sync_values):
71         * libs/gst/controller/gstcontroller.h:
72         * libs/gst/controller/gstcontrollerprivate.h:
73         * libs/gst/controller/gstinterpolation.c:
74         (gst_controlled_property_find_control_point_node),
75         (interpolate_none_get), (interpolate_trigger_get):
76         Add a new private GstControlPoint struct which "inherits" from
77         GstTimedValue to allow different interpolators to store internal
78         values next to each control point. From the outside everything is
79         still a GstControlPoint so we don't loose binary compatibility.
80         Also fixup all the GValue handling to not leak GValues or list nodes.
81         * tests/check/libs/controller.c: (GST_START_TEST):
82         Free the list nodes and GValues in the controller_misc test.
83
84 2007-05-17  Edward Hervey  <edward@fluendo.com>
85
86         * gst/gstsegment.c:
87         Small doc fix.
88
89 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
90
91         * gst/gstplugin.c: (gst_plugin_load_file):
92           If we fail to load a plugin because of unresolved symbols or missing
93           libraries and spew a warning to stderr, we may just as well mention
94           which plugin it was that failed to load.
95
96 2007-05-13  David Schleef  <ds@schleef.org>
97
98         * docs/Makefile.am: the gtk-doc makefile snippet correctly
99           handles the case when ENABLE_GTK_DOC is false, and installs
100           the prebuilt documentation.  So gtk-doc subdirs are 
101           unconditionally enabled.  Fixes: #349099.
102
103 2007-05-13  David Schleef  <ds@schleef.org>
104
105         * gst/gstutils.h: Reword some documentation.
106
107 2007-05-12  David Schleef  <ds@schleef.org>
108
109         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
110           do anything with the passed "module" parameter, so remove it.
111           Allows removal of additional vestigal code.
112
113 2007-05-12  David Schleef  <ds@schleef.org>
114
115         * gst/gstplugin.c:
116           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
117           Switch to using g_stat() because it's more portable.
118
119 2007-05-12  David Schleef  <ds@schleef.org>
120
121         * gst/gst.c:
122           Add GST_DISABLE_OPTION_PARSING, in order to disable option
123           parsing for embedded systems.
124         * gst/gstelementfactory.c:
125           Allow gst_element_register() to be called with plugin==NULL.
126           Did nobody notice that static elements were broken?
127
128 2007-05-12  Wim Taymans  <wim@fluendo.com>
129
130         * tools/gst-launch.c: (event_loop):
131         Give more interesting info when buffering starts and stops.
132         Fix case where buffering starts but we fail to update the buffering flag
133         because the target state is not PLAYING.
134
135 2007-05-12  Wim Taymans  <wim@fluendo.com>
136
137         * plugins/elements/gstqueue.c: (gst_queue_init),
138         (gst_queue_finalize), (update_time_level), (apply_segment),
139         (apply_buffer), (gst_queue_locked_flush),
140         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
141         (gst_queue_handle_sink_event), (gst_queue_chain),
142         (gst_queue_push_one), (gst_queue_loop):
143         * plugins/elements/gstqueue.h:
144         Refactor an cleanup queue a bit.
145         Do better time level calculations that also work when the srcpad is not
146         yet running.
147         Remove some unneeded debug lines.
148
149         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
150         Added testcase for time level measurement.
151         Try to make some stuff more racefree.
152
153 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
154
155         * gst/gsturi.c: (gst_element_make_from_uri):
156           Don't leak plugin feature.
157
158         * tests/check/Makefile.am:
159         * tests/check/gst/.cvsignore:
160         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
161           Add brain-dead unit test.
162
163 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
164
165         Patch by: Jeroen Wouters <woutersj at gmail com>
166
167         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
168           Treat protocol strings in a case-insensitive way (#437563).
169
170 2007-05-11  Michael Smith <msmith@fluendo.com>
171
172         * gst/gstplugin.c: (gst_plugin_load_file):
173         * gst/gstregistry.c: (gst_registry_scan_path_level):
174           Don't print a g_warning for any failure to load a shared object.
175           Instead, push this down into gstplugin.c, and warn _only_ if we
176           failed to open the module (i.e. failure to link).
177           Avoids warnings on normal, working, non-plugin .so files.
178
179 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
180
181         * gst/gstplugin.c (gst_plugin_load_file):
182         * gst/gstregistry.c (GST_CAT_DEFAULT,
183           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
184           Print a g_warning if there was an error when loading a plugins during
185           registry scan. The shuld help beginners starting with gst-plugin
186           template.
187
188 2007-05-10  Wim Taymans  <wim@fluendo.com>
189
190         * plugins/elements/gstqueue.c: (gst_queue_class_init),
191         (update_time_level), (gst_queue_locked_flush),
192         (gst_queue_handle_sink_event), (gst_queue_chain),
193         (gst_queue_push_one), (gst_queue_loop):
194         * plugins/elements/gstqueue.h:
195         Be smarter when calculating the current amount of data in the queue by
196         measuring the difference between start and end timestamps (in running
197         time) inside the queue. Fixes #432876.
198         API: GstQueue::pushing to notify elements that we are pushing data again
199         since the running signal is rather broken for this purpose.
200
201 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
202
203         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
204           gst_queue_base_init, gst_queue_init):
205           use GST_BOILERPLATE
206
207 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
208
209         * win32/common/libgstreamer.def:
210         Add new exported functions.
211         * win32/vs6/grammar.dsp:
212         Use grammar pre-generated files.
213
214 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
215
216         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
217
218         * gst/Makefile.am:
219         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
220         * gst/gstparse.h:
221         * gst/gstutils.c: (gst_parse_bin_from_description):
222         * gst/gstutils.h:
223           Maintain API and ABI when --disable-parse is used. Now that
224           we have an appropriate error code, we can just return NULL and the
225           appropriate error when gst_parse_launch() is used despite it having
226           been disabled (#342564).
227
228         * tests/check/Makefile.am:
229         * tests/check/pipelines/.cvsignore:
230         * tests/check/pipelines/parse-disabled.c:
231           Make sure these functions exist and return NULL plus a GError when
232           --disable-parse is used.
233
234 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
235
236         * tests/benchmarks/complexity.c: (main):
237         * tests/benchmarks/mass-elements.c: (main):
238           Set a good example and don't leak messages.
239
240 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
241
242         * docs/gst/Makefile.am:
243         * docs/libs/Makefile.am:
244           Correct fixxrefs options.
245
246         * docs/plugins/Makefile.am:
247         * docs/plugins/gstreamer-plugins-docs.sgml:
248         * docs/plugins/gstreamer-plugins-sections.txt:
249         * plugins/elements/Makefile.am:
250         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
251         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
252           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
253           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
254           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
255           _GstCapsFilterClass, trans_class):
256         * plugins/elements/gstelements.c (name, rank, type, _elements):
257         * plugins/elements/gstidentity.c
258           (gst_identity_check_imperfect_timestamp,
259           gst_identity_check_imperfect_offset):
260           Document capsfilter and add doc-blurb to identity.
261
262 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
263
264         * libs/gst/controller/gstcontroller.c:
265         (gst_controlled_property_set_interpolation_mode):
266         * libs/gst/controller/gstinterpolation.c:
267           Don't crash if someone tries to set an interpolation mode that
268           is invalid or that isn't supported yet. Fixes #422295.
269
270         * tests/check/libs/controller.c: (GST_START_TEST),
271         (gst_controller_suite):
272           Add a test case for the above.
273
274 2007-05-03  Edward Hervey  <edward@fluendo.com>
275
276         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
277         Properly set the last_stop position on GstSegment. This will only happen
278         if there is a buffer to push out.
279
280 2007-05-03  Wim Taymans  <wim@fluendo.com>
281
282         * libs/gst/base/gstbasetransform.c:
283         (gst_base_transform_buffer_alloc):
284         always_in_place does not mean that the sink and source caps are the
285         same! Make sure we don't blindly proxy the buffer_alloc in this case.
286
287 2007-05-03  Wim Taymans  <wim@fluendo.com>
288
289         * docs/libs/gstreamer-libs-sections.txt:
290         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
291         (gst_base_src_default_query), (gst_base_src_get_range):
292         * libs/gst/base/gstbasesrc.h:
293         API: gst_base_src_query_latency(). Added method so that subclasses can
294         easily get the latency values of the base source class.
295
296 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
297
298         * tools/gst-inspect.c (print_implementation_info):
299         Remove 0.8 cruft.
300
301 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
302
303         * tools/Makefile.am:
304         * tools/gst-launch.1.in:
305           Don't create a customised man page based on the host architecture,
306           describe the default registry path generically. That way the man
307           page is the same for all architectures and packagers have one
308           multilib issue less to deal with. Fixes #434926.
309
310 2007-05-02  Wim Taymans  <wim@fluendo.com>
311
312         * gst/gstpad.c:
313         Fix documentation as spotted by rg on IRC. 
314
315 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
316
317         * gst/gstutils.c:
318           Improve docs for gst_element_{link,unlink}.
319
320 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
321
322         * docs/design/part-events.txt:
323         * docs/design/part-overview.txt:
324         * gst/gstevent.c:
325         * gst/gsturi.c:
326         * gst/gsturi.h:
327         * libs/gst/base/gstbasesink.c:
328           Typo fixes; minor docs addition.
329
330 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
331
332         * docs/gst/gstreamer-sections.txt:
333         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
334         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
335         * gst/gsturi.h:
336         API: Add gst_uri_protocol_is_supported(), which checks if an sink
337         or src that supports a given URI protocol exists.
338
339 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
340
341         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
342         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
343         Set the location to NULL if "file://" is set as URI. Otherwise
344         some random previous URI would still be set if "file://" is
345         set on an already used filesink/filesrc.
346
347 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
348
349         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
350         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
351         Special case the "file://" URI as as this is used by some
352         applications to test with gst_element_make_from_uri if there's
353         an element that supports the URI protocol.
354         Also move the g_path_is_absolute() check for the location part
355         of the URI to also check this for "file://localhost/bla" URIs.
356
357 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
358
359         * docs/gst/gstreamer-sections.txt:
360         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
361         * gst/gstbuffer.h:
362         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
363         (gst_buffer_suite):
364           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
365
366 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
367
368         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
369         (gst_registry_binary_load_pad_template),
370         (gst_registry_binary_load_plugin),
371         (gst_registry_binary_read_cache):
372         * gst/gstregistrybinary.h:
373           Implement no-mmap alternative for registry reading. Do code cleanups.
374           Add more comments about avoiding strdups for all text data. Comments
375           welcome.
376
377 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
378
379         * gst/gstregistrybinary.h (GstBinaryPluginElement,
380           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
381           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
382           Comment structs and reformat to fix the build (that stuff should go
383           into a priv. header).
384
385 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
386
387         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
388         (gst_registry_binary_load_feature):
389         * gst/gstregistrybinary.h:
390           Refactor so that we can implement multiple features. Add support for
391           TypeFindFactory features.
392
393 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
394
395         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
396
397         * configure.ac:
398           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
399
400 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
401
402         * gst/gstbin.c: (gst_bin_element_set_state),
403         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
404         (bin_handle_async_done), (gst_bin_handle_message_func):
405           Fix build with --gst-disable-gst-debug
406
407 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
408
409         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
410           Make sure streaming has finished before calling the ::stop() vfunc,
411           since that vfunc might clear state which is being used in the
412           streaming thread. This fixes a race that caused crashes in
413           audioresample when shutting down a pipeline (#420106).
414
415 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
416
417         * docs/gst/gstreamer-sections.txt:
418           That was one byte missing.
419
420 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
421
422         * configure.ac:
423         * docs/gst/gstreamer-sections.txt:
424         * gst/Makefile.am:
425         * gst/gstconfig.h.in:
426         * gst/gstobject.c: (gst_object_class_init),
427         (gst_signal_object_class_init):
428         * gst/gstobject.h:
429           2nd attempt to have a xml-less build as a joined effort of #413123
430           and #421480.
431
432 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
433
434         * docs/design/draft-tagreading.txt:
435           Added open issues/thoughts to draft.
436
437 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
438
439         * gst/parse/grammar.tab.pre.c:
440         * gst/parse/grammar.tab.pre.h:
441         * gst/parse/lex._gst_parse_yy.pre.c:
442         Update the prebuild parser sources.
443
444 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
445
446         * gst/parse/Makefile.am:
447         And now fix the building of the flex sources. Now everything should
448         work as expected.
449
450 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
451
452         * gst/parse/Makefile.am:
453         Now hopefully fix the build failures by setting proper rule
454         dependencies and moving instead of copying.
455
456 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
457
458         * tests/benchmarks/complexity.gnuplot:
459         * tests/benchmarks/complexity.scm:
460         * tests/benchmarks/mass-elements.gnuplot:
461         * tests/benchmarks/mass-elements.scm:
462           Total licensification.
463
464 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
465
466         * gst/parse/Makefile.am:
467           Fix the build by correcting the rule that gave wrong files to flex.
468
469 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
470
471         * tests/benchmarks/complexity.c:
472         * tests/benchmarks/mass-elements.c:
473           Change licence to LGPL as granted by Benjamin and Andy.
474
475 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
476
477         * gst/parse/Makefile.am:
478         Add correct grammar.tab.h dependency if compiling without new enough
479         flex. Fixes #431150.
480
481 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
482
483         * gst/parse/Makefile.am:
484         Fix typo and use outdated sources if the flex/bison sources are newer
485         than the pregenerated ones but flex is too old. Print a warning in
486         that case. This should fix the build on the build bot.
487
488 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
489
490         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
491         * gst/parse/Makefile.am:
492         * gst/parse/grammar.y:
493         * gst/parse/parse.l:
494         Make the parser reentrant and recursively callable. This requires flex
495         >= 2.5.31, for older versions pregenerated sources are used as we
496         can't bump the build dependency. Finally fixes #349180.
497
498         * gst/gstparse.c: (gst_parse_launch):
499         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
500         now anyway.
501
502         * docs/gst/Makefile.am:
503         * docs/gst/Makefile.am:
504         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
505         (__gst_parse_strfree), (__gst_parse_link_new),
506         (__gst_parse_link_free), (__gst_parse_chain_new),
507         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
508         (gst_parse_element_set), (gst_parse_free_link),
509         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
510         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
511         (_gst_parse_launch):
512         * gst/parse/grammar.tab.pre.h:
513         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
514         (yy_get_previous_state), (yy_try_NUL_trans), (input),
515         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
516         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
517         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
518         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
519         (_gst_parse_yypop_buffer_state),
520         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
521         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
522         (yy_fatal_error), (_gst_parse_yyget_extra),
523         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
524         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
525         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
526         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
527         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
528         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
529         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
530         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
531         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
532         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
533         (_gst_parse_yyfree):
534         If the installed flex version is too old use pre-generated parser
535         sources. These pre-generated parser sources are always updated when
536         the actual flex/bison sources change but require everybody who wants
537         to change something in the parser to have flex >= 2.5.31 installed.
538
539 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
540
541         * common/m4/gst-gettext.m4:
542         * gst/gst-i18n-lib.h:
543           Make --disable-nls to work
544
545 2007-04-17  Wim Taymans  <wim@fluendo.com>
546
547         * gst/gstconfig.h.in:
548         Revert previous change that broke the build.
549
550 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
551
552         * configure.ac:
553         * gst/Makefile.am:
554         * gst/gstconfig.h.in:
555           Drop libxml2 dependency when building with 
556           --enable-binary-registry --disable-loadsave
557
558 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
559
560         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
561         (gst_registry_binary_read_cache):
562         * gst/gstregistrybinary.h:
563           Remove unnecessary <sys/mman.h> include which broke the win32 build
564           with MingW; move includes from header file to .c file, even if the
565           header file isn't installed; use g_strerror() where UTF-8 strings
566           are expected, such as in GST_DEBUG messages.
567
568 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
569
570         * docs/libs/gstreamer-libs-sections.txt:
571         Remove bogus addition for API I didn't end up keeping.
572
573         * libs/gst/base/gstbasesrc.h:
574         Mention Since: 0.10.13 in the documentation.
575
576         Add the API keyword to the previous ChangeLog entry.
577
578 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
579
580         * docs/libs/gstreamer-libs-sections.txt:
581         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
582         (gst_base_src_default_prepare_seek_segment),
583         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
584         * libs/gst/base/gstbasesrc.h:
585         Allow basesrc derived classes to execute seeks in other formats
586         by providing a prepare_seek_segment vmethod. Sub-classes can choose
587         to prepare the GstSegment in any format that their perform_seek method
588         will be able to understand. The default implementation provides the
589         old behaviour of attempting to convert the seek offsets to the 
590         configured native format.
591
592         API: basesrc::prepare_seek_segment vmethod.
593
594 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
595
596         * gst/gstelement.c: (gst_element_get_state_func):
597         Don't output the same debug statement twice.
598
599         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
600         (gst_adapter_peek), (gst_adapter_take_buffer):
601         Optimise the case where we have buffers at the head of the queue that
602         can be joined quickly (because they're contiguous sub-buffers) by
603         merging them together rather than copying data out into new memory.
604
605         * gst/parse/grammar.y:
606         * tests/check/pipelines/parse-launch.c:
607         Fix a leak in an error path for parse_launch, and add a check 
608         for it to the testsuite.
609
610 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
611
612         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
613           Don't deadlock when releasing a pad - gst_pad_set_active may try
614           and take the multiqueue lock too.
615
616 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
617
618         * gst/gsterror.c: (_gst_core_errors_init):
619         * gst/gsterror.h:
620           API: add GST_CORE_ERROR_DISABLED (#392804).
621
622 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
623
624         * docs/faq/gst-uninstalled:
625           don't get empty paths on the PATH variables
626         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
627           Don't format for the uncommon terminal width of 84 characters.
628
629 2007-04-06  Wim Taymans  <wim@fluendo.com>
630
631         * gst/gstpipeline.c: (reset_stream_time),
632         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
633         Only try to select a different pipeline clock when we went back to
634         PAUSED and not when we merely got flushed.
635
636 2007-04-05  Michael Smith  <msmith@fluendo.com>
637
638         * tools/gst-launch.1.in:
639           fractions are better supported in gstreamer than ractions, so
640           suggest using those.
641
642 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
643
644         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
645
646         * po/LINGUAS:
647         * po/da.po:
648           Added Danish translation.
649
650 2007-04-05  Wim Taymans  <wim@fluendo.com>
651
652         * libs/gst/base/gstbasesink.c:
653         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
654         Fix leak caused when refusing newsegment after EOS.
655
656         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
657         (gst_fake_sink_init), (gst_fake_sink_set_property),
658         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
659         (gst_fake_sink_render), (gst_fake_sink_change_state):
660         * plugins/elements/gstfakesink.h:
661         Add num-buffers property to make the element generate EOS after a
662         configurable amount of buffers.
663         API: fakesink::num-buffers property.
664
665         * tests/check/elements/fakesink.c: (GST_START_TEST),
666         (fakesink_suite):
667         Fix GstBus leak in test.
668         Test for fakesink num-buffers.
669
670 2007-04-05  Wim Taymans  <wim@fluendo.com>
671
672         * libs/gst/base/gstbasesink.c:
673         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
674         (gst_base_sink_change_state):
675         Don't accept anything after an EOS, return UNEXPECTED instead.
676
677         * tests/check/elements/fakesink.c: (GST_START_TEST),
678         (fakesink_suite):
679         Unit test for new EOS behaviour.
680
681 2007-04-05  Wim Taymans  <wim@fluendo.com>
682
683         * gst/gstelement.c: (gst_element_get_request_pad):
684         Make padtemplates also work when they don't contain %s or %d.
685
686 2007-04-05  Wim Taymans  <wim@fluendo.com>
687
688         * docs/gst/gstreamer-sections.txt:
689         * gst/gstclock.c: (gst_clock_adjust_unlocked),
690         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
691         * gst/gstclock.h:
692         Improve _adjust_unlocked() so that it overflows less.
693         Add gst_clock_unadjust_unlocked to convert from external time to
694         internal time based on calibration.
695         Add some more debug.
696         API: GstClock::gst_clock_unadjust_unlocked()
697
698 2007-04-03  Wim Taymans  <wim@fluendo.com>
699
700         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
701
702         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
703         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
704         when releasing sink pad. Fixes #425400.
705
706 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
707
708         * docs/random/ensonic/dynlink.txt:
709           More work on proposal for new core api.
710
711         * docs/libs/gstreamer-libs-sections.txt:
712         * libs/gst/base/gstbasetransform.h:
713           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
714           
715         * libs/gst/controller/gstcontroller.c:
716         (on_object_controlled_property_changed),
717         (gst_controller_sync_values),
718         (gst_controller_set_interpolation_mode):
719         * libs/gst/controller/gstcontroller.h:
720           Less verbose logging add docs for unimplemented parts and correctly
721           return when using unavailable parts.
722
723 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
724
725         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
726         Move all the debug to the CLOCK category, and associate it with
727         the clock object.
728
729 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
730
731         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
732         Make take_buffer a bit quicker by removing redundant checks
733         caused by calling gst_adapter_take.
734
735 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
736
737         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
738           Don't leak GCond.
739
740         * tests/check/Makefile.am:
741         * tests/check/elements/.cvsignore:
742         * tests/check/elements/multiqueue.c: (setup_multiqueue),
743         (GST_START_TEST), (multiqueue_suite):
744           Add some dead simple unit tests for the 'multiqueue' element
745           (some bits don't work yet and are disabled for now).
746
747 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
748
749         * gst/gstelement.c: (gst_element_get_request_pad),
750         (gst_element_class_get_request_pad_template):
751           Make gst_element_get_request_pad() create request pads only for
752           request pad templates and not for, say, sometimes pad templates.
753
754 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
755
756         * docs/design/draft-klass.txt:
757           Add example that needs more thinking.
758         
759         * docs/design/draft-missing-plugins.txt:
760           More thoughts about wrapper plugins.
761         
762         * docs/random/ensonic/embedded.txt:
763         * docs/random/ensonic/profiling.txt:
764           More design work.
765
766 2007-03-25  Wim Taymans  <wim@fluendo.com>
767
768         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
769         (gst_base_src_loop):
770         Only push the segment events in the PLAYING state for live sources.
771
772 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
773
774         * gst/gstpipeline.c: (gst_pipeline_change_state):
775         Modify the clock distribution path in PAUSED->PLAYING so that we 
776         never attempt to choose a new clock unless we're actually leaving
777         the PAUSED state for the first time. This prevents choosing a
778         different clock when the state_change gets called for a 2nd time due
779         to some element doing an async state change.
780
781 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
782
783         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
784         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
785         (gst_pad_chain_unchecked), (gst_pad_push):
786         Revert last commit. This needs some more thoughts.
787
788 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
789
790         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
791         (gst_pad_chain_unchecked), (gst_pad_push):
792         Check in set_caps if the caps are compatible with the pad and remove
793         two functions that are redundant now. Fixes #421543.
794
795 2007-03-22  Wim Taymans  <wim@fluendo.com>
796
797         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
798         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
799         Unref some more to make valgrind happy.
800
801 2007-03-22  Wim Taymans  <wim@fluendo.com>
802
803         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
804         (gst_system_clock_id_wait_jitter),
805         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
806         Fix anoying regression that survived a few releases. When adding an
807         async entry while blocking on a sync entry, the sync entry will unblock
808         but still be busy, so it should continue to wait instead of returning
809         _BUSY to the app.
810         Add some comments here and there.
811
812         * tests/check/gst/gstsystemclock.c: (mixed_thread),
813         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
814         Add testcase for this.
815
816 2007-03-22  Wim Taymans  <wim@fluendo.com>
817
818         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
819         Handle errors from the clock sync better, only UNSCHEDULED indicates a
820         WRONG_STATE and can silently pause the task. All other cases should
821         error out.
822
823 2007-03-22  Wim Taymans  <wim@fluendo.com>
824
825         Patch by: <syrjala at sci dot fi>
826
827         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
828         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
829         Improve debugging.
830
831 2007-03-21  Michael Smith  <msmith@fluendo.com>
832
833         * docs/pwg/advanced-types.xml:
834           Fix some errors in the typefinding docs pointed out on irc.
835
836 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
837
838         * libs/gst/base/gstbasesrc.c:
839         Clarify FIXME comment in the face of having added unlock_stop()
840
841 2007-03-21  Wim Taymans  <wim@fluendo.com>
842
843         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
844         Prepare for release where we warn against possible app breakage in the
845         case of live pipelines along with an env var to enable/disable live
846         preroll mode (GST_COMPAT=[no-]live-preroll).
847
848 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
849
850         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
851         So we should use correct constants for checking for None offset.
852
853 2007-03-20  Wim Taymans  <wim@fluendo.com>
854
855         * docs/design/part-block.txt:
856         Mention the fact that the newly switched element should be set to at
857         least PAUSED.
858
859 2007-03-20  Wim Taymans  <wim@fluendo.com>
860
861         * gst/gst.c:
862         Fix compilation with registry disabled as spotted by Saur.
863
864 2007-03-20  Wim Taymans  <wim@fluendo.com>
865
866         Patch by: Olivier Crete <tester at tester dot ca>
867
868         * gst/gstelement.c: (gst_element_sync_state_with_parent):
869         Look at the pending state too when syncing the element state to the
870         parent. Fixes #420133.
871
872 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
873
874         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
875         (gst_base_sink_change_state):
876         * libs/gst/base/gstbasesink.h:
877         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
878         (gst_base_src_default_event), (gst_base_src_unlock_stop),
879         (gst_base_src_deactivate):
880         * libs/gst/base/gstbasesrc.h:
881         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
882         for sub-classes to correctly clear any state they set trying to
883         unlock, such as clearing out unlock commands from a command fd.
884
885         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
886         (gst_fd_sink_render), (gst_fd_sink_unlock),
887         (gst_fd_sink_unlock_stop):
888         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
889         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
890         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
891
892         Implement unlock_stop in fdsrc and fdsink.
893         Implement seeking in fdsrc when a seekable fd is passed, as in
894         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
895
896 2007-03-19  Wim Taymans  <wim@fluendo.com>
897
898         Patch by: Evan Nemerson <evan at coeus dash group dot com>
899
900         * gst/gstelement.c: (gst_element_class_init):
901         Fix pad-added and pad-removed signal signatures so that the pad type is
902         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
903
904 2007-03-19  Wim Taymans  <wim@fluendo.com>
905
906         * docs/gst/gstreamer-sections.txt:
907         Add new element field and method.
908
909         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
910         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
911         (gst_bin_recalc_state), (gst_bin_get_state_func),
912         (gst_bin_element_set_state), (gst_bin_change_state_func),
913         (gst_bin_continue_func), (bin_bus_handler),
914         (bin_push_state_continue), (bin_handle_async_start),
915         (bin_handle_async_done), (gst_bin_handle_message_func):
916         Make async state changes a bit smarter by using new ASYNC_START and
917         ASYNC_DONE messages. This reduces the number of times we run the state
918         recalculation thread.
919         Don't change state of element with a pending ASYNC_START message.
920         Deprecate STATE_DIRTY messages.
921         
922         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
923         (gst_element_get_state_func), (gst_element_continue_state),
924         (gst_element_lost_state), (gst_element_set_state_func),
925         (gst_element_change_state):
926         * gst/gstelement.h:
927         Keep the state that was last set by the app in a new element field.
928         Don't allow state changes when handling an element event.
929         Post ASYNC_START and ASYNC_DONE messages.
930         Change lost_state so that we go to PAUSED and wait for the parent to set
931         us to PLAYING again (so latency calculation can be performed)
932         Export gst_element_change_state() method so that subclasses can use it.
933         API: gst_element_change_state()
934         API: GST_STATE_TARGET
935
936         * gst/gstpipeline.c: (gst_pipeline_class_init),
937         (reset_stream_time), (gst_pipeline_change_state),
938         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
939         Using the new ASYNC_START message we can reset the base_time when
940         needed. This can then be used to implement base_time redistribution in
941         flushing seeks so that we can remove the explicit seek handling.
942         Perform latency query and configuration when going to PLAYING.
943
944         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
945         (gst_base_sink_query), (gst_base_sink_change_state):
946         Post new ASYNC_START/ASYNC_DONE messages.
947
948         * tests/check/generic/sinks.c: (GST_START_TEST):
949         Fix test because the bin will not set the async element to PLAYING right
950         away.
951
952         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
953         Make the message check a little stronger.
954         Handle ASYNC messages.
955
956         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
957         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
958         Expect ASYNC_DONE messages.
959
960 2007-03-19  Wim Taymans  <wim@fluendo.com>
961
962         * docs/gst/gstreamer-sections.txt:
963         * gst/gstmessage.c: (gst_message_new_async_start),
964         (gst_message_new_async_done), (gst_message_parse_info),
965         (gst_message_parse_async_start):
966         * gst/gstmessage.h:
967         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
968         support.
969
970 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
971
972         * tools/gst-inspect.c:
973         (print_plugin_automatic_install_info_codecs):
974           Now that we don't check for the 'Codec' keyword any longer in the
975           klass, we shouldn't spew a warning if the klass isn't a decoder or
976           encoder (since it might be a Source/Network, for example).
977
978 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
979
980         * tools/gst-inspect.c:
981         (print_plugin_automatic_install_info_codecs):
982           Don't require decoder/demuxer/depayloader elements or
983           encoder/muxer/paylader elements to have 'Codec' as part of their
984           factory class string when introspecting a plugin's capabilities.
985           draft-klass.txt mentions that it might be removed in future, and
986           flump3dec doesn't have it as part of its class string, so chances
987           are others might also not have it.
988
989 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
990
991         * po/af.po:
992         * po/az.po:
993         * po/bg.po:
994         * po/ca.po:
995         * po/cs.po:
996         * po/de.po:
997         * po/en_GB.po:
998         * po/fr.po:
999         * po/it.po:
1000         * po/nb.po:
1001         * po/nl.po:
1002         * po/ru.po:
1003         * po/sq.po:
1004         * po/sr.po:
1005         * po/sv.po:
1006         * po/tr.po:
1007         * po/uk.po:
1008         * po/vi.po:
1009         * po/zh_CN.po:
1010         * po/zh_TW.po:
1011           Update translations from translation project
1012
1013 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
1014
1015         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
1016         (gst_child_proxy_set_property):
1017           Invert precondition check to be alike the ones in the mimiced gobject
1018           api.
1019
1020 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
1021
1022         * docs/design/draft-tagreading.txt:
1023         * docs/random/ensonic/audiobaseclasses.txt:
1024           Do some Architect work.
1025
1026         * gst/gstobject.c: (gst_object_set_name):
1027           Add a WARNING.
1028
1029         * gst/gstpad.c:
1030           Add docs that point from gst_pad_get_range to gst_pad_pull_range
1031
1032 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
1033
1034         * gst/gstsystemclock.c: (gst_system_clock_init),
1035         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
1036         Defer starting the async system clock thread until the first async
1037         wait is scheduled. Fixes #414986.
1038
1039 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
1040
1041         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
1042         (gst_single_queue_free):
1043           Fix small leak (free GstSingleQueue structure too, not only contents).
1044
1045 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
1046
1047         * gst/gstbin.c:(gst_bin_add):
1048         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
1049         * win32/common/libgstbase.def:
1050         * win32/common/libgstreamer.def:
1051         Add new exported functions.
1052
1053 2007-03-09  Wim Taymans  <wim@fluendo.com>
1054
1055         * docs/plugins/gstreamer-plugins-sections.txt:
1056         Fix GstTee docs.
1057
1058 2007-03-09  Wim Taymans  <wim@fluendo.com>
1059
1060         * docs/gst/gstreamer-sections.txt:
1061         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
1062         * gst/gstbuffer.h:
1063         Add metadata copy functions. Fixes #393099.
1064
1065         * gst/gstutils.c: (gst_buffer_stamp):
1066         * libs/gst/base/gstbasetransform.c:
1067         (gst_base_transform_prepare_output_buffer):
1068         Use new metadata copy functions.
1069
1070 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1071
1072         * plugins/elements/gstidentity.c: (gst_identity_class_init),
1073         (gst_identity_init), (gst_identity_check_perfect),
1074         (gst_identity_check_imperfect_timestamp),
1075         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
1076         (gst_identity_set_property), (gst_identity_get_property):
1077         * plugins/elements/gstidentity.h:
1078         Separate out check-imperfect-timestamp and check-imperfect-offset.
1079         Put back check-perfect as it was to keep compatibility.
1080
1081 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
1082
1083         * gst/gstelement.c: (gst_element_dispose):
1084         There's no need to warn if VOID_PENDING is not NONE here, as
1085         long as the state is NULL it's ok, and that's checked immediately
1086         above.
1087
1088 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1089
1090         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
1091         Fix check for perfect stream to ignore buffers with -1 
1092         offsets/offset ends when checking data contiguity.
1093
1094 2007-03-08  Wim Taymans  <wim@fluendo.com>
1095
1096         * tools/gst-launch.c: (event_loop):
1097         Print INFO messages.
1098
1099 2007-03-08  Wim Taymans  <wim@fluendo.com>
1100
1101         * libs/gst/base/gstbasetransform.c:
1102         (gst_base_transform_sink_eventfunc),
1103         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
1104         (gst_base_transform_activate):
1105         * libs/gst/base/gstbasetransform.h:
1106         Add support for dropping buffers with custom GstFlowReturn.
1107         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
1108         buffers or dropped buffers.
1109
1110         * docs/libs/gstreamer-libs-sections.txt:
1111         docs for new custom return code.
1112
1113         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1114         Use drop support in base class to implement drop-probability.
1115
1116 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
1117
1118         * gst/gst.c: (load_plugin_func):
1119         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
1120         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1121         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
1122           Remove newlines at end of debug log strings.
1123
1124 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1125
1126         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
1127         Only post bus message at max, once per buffer received.
1128
1129 2007-03-07  Wim Taymans  <wim@fluendo.com>
1130
1131         * docs/design/Makefile.am:
1132         * docs/design/part-synchronisation.txt:
1133         Add doc about synchronisation
1134
1135         * docs/design/draft-latency.txt:
1136         * docs/design/part-TODO.txt:
1137         * docs/design/part-clocks.txt:
1138         * docs/design/part-events.txt:
1139         * docs/design/part-gstbus.txt:
1140         * docs/design/part-gstpipeline.txt:
1141         * docs/design/part-live-source.txt:
1142         * docs/design/part-messages.txt:
1143         * docs/design/part-overview.txt:
1144         * docs/design/part-streams.txt:
1145         * docs/design/part-trickmodes.txt:
1146         Documentation updates.
1147
1148 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
1149
1150         * gstreamer.doap:
1151         Update the doap file.
1152
1153 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1154
1155         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
1156         Rename non-perfect to imperfect for Mike and for the sanctity of the
1157         language.
1158         Also make sure bus message gets emitted for data-incontiguities.
1159
1160 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1161
1162         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
1163         (gst_identity_start):
1164         * plugins/elements/gstidentity.h:
1165         Emit bus message if check-perfect is true and we encounter a
1166         non-perfect stream between 2 consecutive buffers.
1167         Fixes #415394.
1168
1169 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
1170
1171         * configure.ac:
1172         Back to CVS
1173
1174 === release 0.10.12 ===
1175
1176 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
1177
1178         * configure.ac:
1179           releasing 0.10.12, "Inevitable Demise"
1180
1181 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
1182
1183         * configure.ac:
1184          Version 0.10.11.2 (0.10.12 pre-release)
1185          Bump libtool versioning.
1186
1187 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
1188
1189         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1190           Log flow-names and not numbers.
1191
1192 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1193
1194         * configure.ac:
1195           Convert to new AG_GST style.
1196
1197 2007-02-28  Wim Taymans  <wim@fluendo.com>
1198
1199         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
1200         Don't unref query twice.
1201
1202 2007-02-28  Wim Taymans  <wim@fluendo.com>
1203
1204         * gst/gstvalue.c: (gst_value_transform_object_string),
1205         (_gst_value_initialize):
1206         Implement GstObject -> string transform so we print object names
1207         when serializing GValues containing GstObjects.
1208
1209 2007-02-28  Wim Taymans  <wim@fluendo.com>
1210
1211         * docs/gst/gstreamer-sections.txt:
1212         Add new stuff to docs.
1213
1214 2007-02-28  Wim Taymans  <wim@fluendo.com>
1215
1216         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
1217         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
1218         (gst_base_sink_change_state):
1219         Improve latency query code.
1220         Don't leak latency events.
1221
1222         * tests/check/gst/gstbin.c: (GST_START_TEST):
1223         Improve debugging.
1224
1225 2007-02-28  Wim Taymans  <wim@fluendo.com>
1226
1227         * gst/gstelement.c: (gst_element_message_full),
1228         (gst_element_get_state_func):
1229         * gst/gstelement.h:
1230         Improve docs a little. Added Since: for new macro.
1231
1232         * gst/gstobject.c: (gst_object_sink):
1233         * gst/gstpipeline.c: (gst_pipeline_change_state),
1234         (gst_pipeline_set_new_stream_time):
1235         * gst/gstpipeline.h:
1236         Improve debugging and docs.
1237
1238         * gst/gstutils.c: (gst_element_state_change_return_get_name):
1239         Improve debugging.
1240
1241 2007-02-28  Wim Taymans  <wim@fluendo.com>
1242
1243         * gst/gstelement.c: (gst_element_message_full),
1244         (gst_element_set_locked_state), (gst_element_get_state_func),
1245         (gst_element_change_state):
1246         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
1247         Documentation updates.
1248         Small code cleanups.
1249
1250         * gst/gstmessage.c: (gst_message_new_info),
1251         (gst_message_parse_info):
1252         * gst/gstmessage.h:
1253         API: gst_message_new_info()
1254         API: gst_message_parse_info()
1255         Add INFO message create and parse code.
1256
1257 2007-02-28  Wim Taymans  <wim@fluendo.com>
1258
1259         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
1260         (bin_query_latency_done):
1261         Also report the live parameter of a latency query.
1262
1263 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1264
1265         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
1266           Copy the current generic/states example from -base and adapt so
1267           we can use the exact same code everywhere.
1268           Check a STATES_IGNORE_ELEMENTS env var which can be used
1269           to ignore certain element factories for this test, which is
1270           what is being done in -base
1271         * tests/check/Makefile.am:
1272           Mention this environment variable.
1273
1274 2007-02-27  Wim Taymans  <wim@fluendo.com>
1275
1276         * docs/gst/gstreamer-sections.txt:
1277         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
1278         (gst_bus_timed_pop), (gst_bus_pop):
1279         * gst/gstbus.h:
1280         API: gst_bus_timed_pop()
1281         Implement gst_bus_timed_pop() to do a blocking timed wait for a
1282         message to arrive on the bus.
1283
1284         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
1285         (gst_bus_suite):
1286         Two unit tests for new _timed_pop() function.
1287
1288 2007-02-23  Wim Taymans  <wim@fluendo.com>
1289
1290         * gst/gstpipeline.c: (gst_pipeline_change_state),
1291         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
1292         Don't ref a NULL clock in _provide_clock_func().
1293         Don't allow an INVALID delay.
1294         Don't try to calculate base_time with an invalid start_time.
1295         Also distribute and notify a NULL clock when it was selected.
1296
1297         * tools/gst-launch.c: (event_loop):
1298         Don't crash when a NULL clock was selected in the pipeline.
1299
1300 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1301
1302         * docs/design/Makefile.am:
1303         * docs/design/draft-missing-plugins.txt:
1304         * docs/random/draft-missing-plugins.txt:
1305           Some small updates: update plugin system identifier prefix
1306           ('gstreamer.net' to 'gstreamer'), mention our new install
1307           API in libgstbaseutils rather than libgimme-codec, add
1308           reference to the online docs.
1309
1310 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1311
1312         * win32/common/config.h:
1313           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
1314           use moap cl ci to only check in what is mentioned in the ChangeLog.
1315
1316 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1317
1318         * docs/gst/gstreamer-sections.txt:
1319         * gst/gstelement.h:
1320           Fix up documentation to link to the correct GstGError section.
1321           Add GST_ELEMENT_INFO macro since someone else added a Info message.
1322
1323 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1324
1325         * tools/gst-launch.c: (event_loop):
1326           Make sure that we actually show the important message part of a
1327           warning message.
1328           No need to check if the gerror is not NULL to free; first of all
1329           g_free accepts NULL; and second the default error handler would
1330           segfault if gerror was NULL.
1331
1332 2007-02-21  Wim Taymans  <wim@fluendo.com>
1333
1334         * docs/gst/gstreamer-sections.txt:
1335         Removed docs as well.
1336
1337 2007-02-21  Wim Taymans  <wim@fluendo.com>
1338
1339         * gst/gstmessage.c: (gst_message_parse_duration):
1340         * gst/gstmessage.h:
1341         Remove new messages for release.
1342
1343 2007-02-20  Wim Taymans  <wim@fluendo.com>
1344
1345         * docs/design/part-gstghostpad.txt:
1346         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
1347         (gst_ghost_pad_new_full):
1348         Make the ghostpad a parent of the internal pad again for better backward
1349         compatibility. Don't write code that relies on this however.
1350
1351         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
1352         (gst_pad_link_check_hierarchy):
1353         Require that parents should be GstElements in the hierarchy check.
1354
1355 2007-02-20  Wim Taymans  <wim@fluendo.com>
1356
1357         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
1358         (gst_bin_change_state_func), (bin_query_min_max_init),
1359         (bin_query_latency_fold), (bin_query_latency_done),
1360         (gst_bin_query):
1361         Improve debug info.
1362         Implement latency query.
1363
1364 2007-02-20  Wim Taymans  <wim@fluendo.com>
1365
1366         * docs/design/part-gstghostpad.txt:
1367         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
1368         (gst_ghost_pad_internal_do_activate_push),
1369         (gst_ghost_pad_internal_do_activate_pull),
1370         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
1371         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
1372         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
1373         Do not set the internal pad as a parent anymore so we can avoid
1374         hierarchy linking errors when the ghostpad has no parent yet. This also
1375         fixes failed activation because of unlinked internal pads, which in
1376         turn fixes the impossible case where you have to activate a pad before
1377         you can add it to a running element.
1378         Also fix the docs.
1379
1380         * gst/gstpad.c: (pre_activate), (post_activate),
1381         (gst_pad_set_active), (gst_pad_activate_pull),
1382         (gst_pad_activate_push), (gst_pad_check_pull_range):
1383         Add some more debug info.
1384         Mark activation mode in pre_activate so that we don't try to activate in
1385         endless loops. Fixes #385084.
1386
1387 2007-02-19  Wim Taymans  <wim@fluendo.com>
1388
1389         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
1390         (gst_base_transform_check_get_range):
1391         Implement a checkgetrange function instead of relying on the default
1392         core behaviour that assumes we can operate in pull mode if we have a
1393         getrange function. First step at fixing #385084.
1394
1395 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
1396
1397         * gst/gstchildproxy.h:
1398         * libs/gst/base/gstbasesink.h:
1399         * libs/gst/base/gstbasesrc.h:
1400         * libs/gst/base/gstbasetransform.h:
1401         More docs coverage and some ChangeLog surgery (add missing names)
1402
1403 2007-02-15  Wim Taymans  <wim@fluendo.com>
1404
1405         * docs/design/part-TODO.txt:
1406         * docs/design/part-activation.txt:
1407         * docs/design/part-block.txt:
1408         * docs/design/part-buffering.txt:
1409         * docs/design/part-clocks.txt:
1410         * docs/design/part-element-source.txt:
1411         * docs/design/part-events.txt:
1412         * docs/design/part-gstbin.txt:
1413         * docs/design/part-gstbus.txt:
1414         * docs/design/part-gstpipeline.txt:
1415         * docs/design/part-live-source.txt:
1416         * docs/design/part-messages.txt:
1417         * docs/design/part-overview.txt:
1418         * docs/design/part-qos.txt:
1419         * docs/design/part-query.txt:
1420         * docs/design/part-states.txt:
1421         * docs/design/part-trickmodes.txt:
1422         Some doc updates. Start renaming from stream_time to running_time where
1423         it was used wrongly.
1424
1425 2007-02-15  Wim Taymans  <wim@fluendo.com>
1426
1427         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
1428         Answer LATENCY query.
1429
1430 2007-02-15  Wim Taymans  <wim@fluendo.com>
1431
1432         * tests/check/gst/gstevent.c: (event_probe), (test_event),
1433         (GST_START_TEST):
1434         Improve debugging.
1435
1436 2007-02-15  Wim Taymans  <wim@fluendo.com>
1437
1438         * gst/gstpad.c: (gst_pad_get_internal_links_default),
1439         (gst_pad_dispatcher):
1440         Improve debugging of default pad dispatcher and query functions.
1441
1442 2007-02-15  Wim Taymans  <wim@fluendo.com>
1443
1444         * docs/gst/gstreamer-sections.txt:
1445         Remove old unused method.
1446
1447 2007-02-13  Wim Taymans  <wim@fluendo.com>
1448
1449         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1450         Fix check
1451
1452 2007-02-13  Wim Taymans  <wim@fluendo.com>
1453
1454         * docs/design/part-seeking.txt:
1455         Some small update.
1456
1457         * gst/gstsegment.c: (gst_segment_set_seek):
1458         Revert old bogus change that should make seeking work again.
1459
1460 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
1461
1462         * docs/random/ensonic/dynlink.txt:
1463         * docs/random/ensonic/interfaces.txt:
1464         * docs/random/ensonic/receipies.txt:
1465           Possible dynamic reconnection api, plus some type fixes the other two
1466           docs.
1467
1468 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
1469
1470         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1471         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1472         Also check for an absolute path following file:// in the filesrc
1473         element. Remove redundant check and call g_path_is_absolute() on the
1474         unescaped location.
1475
1476 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
1477
1478         * docs/design/draft-klass.txt:
1479           Add existing category analysis.
1480           
1481         * gst/gstcaps.c:
1482           Fix doc example, framerate is a fraction.
1483
1484 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
1485
1486         * configure.ac:
1487         * docs/gst/Makefile.am:
1488         * docs/gst/gstreamer-sections.txt:
1489         * docs/libs/Makefile.am:
1490           Erm, forgot a bunch of --extra-dir.
1491
1492 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
1493
1494         * configure.ac:
1495         * docs/gst/Makefile.am:
1496         * docs/libs/Makefile.am:
1497         * docs/plugins/Makefile.am:
1498           Add crossreferences to glib/gobject docs.
1499
1500 2007-02-12  Wim Taymans  <wim@fluendo.com>
1501
1502         * docs/design/draft-latency.txt:
1503         Small update.
1504
1505         * docs/libs/gstreamer-libs-sections.txt:
1506         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1507         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
1508         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
1509         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
1510         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
1511         (gst_base_sink_get_position), (gst_base_sink_query),
1512         (gst_base_sink_change_state):
1513         * libs/gst/base/gstbasesink.h:
1514         API: gst_base_sink_query_latency() to let subclasses query the upstream
1515         latency.
1516         API: gst_base_sink_get_latency() to let subclasses query the configured
1517         latency in the sink.
1518         Implement query and set latency.
1519         Update some docs.
1520         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
1521         don't continue preroll when we are flushing. Fixes #405284.
1522
1523         * tests/check/pipelines/stress.c: (change_state_timeout),
1524         (quit_timeout), (GST_START_TEST), (stress_suite):
1525         Test for #405284.
1526
1527 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
1528
1529         Patch by: René Stadler <mail at renestadler de>
1530
1531         * docs/gst/gstreamer-sections.txt:
1532         * gst/gsttaglist.c: (_gst_tag_initialize):
1533         * gst/gsttaglist.h:
1534           API: add GST_TAG_REFERENCE_LEVEL (#403597).
1535
1536 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
1537
1538         * docs/libs/Makefile.am:
1539           Fix path to core docs.
1540
1541         * gst/gstbin.c: (gst_bin_get_by_interface),
1542         (gst_bin_iterate_all_by_interface):
1543           Refix docs by also renaming 'interface' to 'iface' in implementation.
1544
1545         * docs/gst/gstreamer-sections.txt:
1546         * gst/gstcaps.c:
1547         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1548         * gst/gstchildproxy.h:
1549         * gst/gstelementfactory.c:
1550         * gst/gstpadtemplate.h:
1551         * libs/gst/controller/gstcontroller.c:
1552         (gst_controlled_property_new):
1553           Document more.
1554
1555 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
1556
1557         * gst/gstbin.h:(gst_bin_get_by_interface),
1558         (gst_bin_iterate_all_by_interface):
1559         Replace interface parameter name by iface as interface is 
1560         a reserved keyword in Visual Studio for C++ projects so it removes
1561         a build error for application developpers using VS.
1562         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
1563         Fix a bug on Windows in uri format check. Now the prefix checked
1564         is file:// and next we check if the path after file:// is absolute.
1565         * win32/common/libgstbase.def:
1566         * win32/common/libgstdataprotocol.def:
1567         * win32/common/libgstgstreamer.def:
1568         Add new exported functions.
1569
1570 2007-02-09  Andy Wingo  <wingo@pobox.com>
1571
1572         * tests/check/pipelines/simple-launch-lines.c
1573         (simple_launch_lines_suite, test_tee): Disable tee test until I
1574         have time to fix it :-(
1575
1576         * tests/check/Makefile.am (noinst_HEADERS): 
1577         * tests/check/libs/libsabi.c: 
1578         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
1579         * tests/check/gst/gstabi.c: 
1580         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
1581
1582         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
1583         tests for push and pull tee behavior.
1584
1585         * plugins/elements/gsttee.h: 
1586         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
1587         mark as deprecated as well as unimplemented. It was a crack idea.
1588         Add support for tee operating in pull mode, off by default.
1589
1590         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
1591         normal-case logs down to LOG, raise errors to WARNING.
1592         (gst_registry_xml_read_cache): Don't log before calling a function
1593         that logs.
1594
1595         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
1596         exit (registry finalize).
1597         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
1598         DEBUG log when we emit signals that people don't even have the
1599         chance to connect to.
1600         (gst_registry_scan_path_level): Less logging in the normal case.
1601
1602 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
1603
1604         Patch by: Michal Benes <michal dot benes at itonis dot tv>
1605
1606         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1607         Correctly generate EOS for non-seekable files. We don't have a total
1608         length for them and would get an unexpected end of file if we only
1609         special-cased for regular files. (Fixes: #404569)
1610
1611 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
1612
1613         * tests/check/elements/filesrc.c: (GST_START_TEST),
1614         (filesrc_suite):
1615         Add unit test for the GstURIHandler interface in filesrc. This also
1616         tests the newly added file://localhost/foo/bar support.
1617
1618 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
1619
1620         * gst/gstelementfactory.h:
1621           The klass string is not a hierarchy. Add reference to the design doc
1622           for more information and common types.
1623
1624 2007-02-02  Wim Taymans  <wim@fluendo.com>
1625
1626         * gst/gstquery.c: (gst_query_new_latency):
1627         Remove old structure field.
1628
1629 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
1630
1631         * tools/gst-launch.1.in:
1632           Give example for network streaming (#351998)
1633
1634 2007-02-02  Wim Taymans  <wim@fluendo.com>
1635
1636         * docs/gst/gstreamer-sections.txt:
1637         Add docs for new methods.
1638
1639         * gst/gstevent.c: (gst_event_new_latency),
1640         (gst_event_parse_latency):
1641         * gst/gstevent.h:
1642         Add new LATENCY event to configure latency in a pipeline.
1643         API: gst_event_new_latency
1644         API: gst_event_parse_latency
1645
1646         * gst/gstmessage.c: (gst_message_new_buffering),
1647         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
1648         (gst_message_new_latency), (gst_message_parse_buffering),
1649         (gst_message_parse_lost_preroll):
1650         * gst/gstmessage.h:
1651         Added messages used in draft-latency.
1652         API: gst_message_new_lost_preroll
1653         API: gst_message_parse_lost_preroll
1654         API: gst_message_new_prerolled
1655         API: gst_message_new_latency
1656
1657         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
1658         (gst_query_parse_latency):
1659         * gst/gstquery.h:
1660         Implemented new latency query as in design doc.
1661         API: gst_query_new_latency
1662         API: gst_query_set_latency
1663         API: gst_query_parse_latency
1664
1665 2007-02-02  Wim Taymans  <wim@fluendo.com>
1666
1667         * docs/design/draft-latency.txt:
1668         Slight redesign to allow for dynamic latency adjustments.
1669
1670         * docs/design/part-negotiation.txt:
1671         Fix some typos.
1672
1673 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
1674
1675         reviewed by: Wim Taymans <wim@fluendo.com>
1676
1677         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1678         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1679         Allow file://localhost/foo/bar URLs and correctly fail for every other
1680         hostname that one sets. This was gnomevfssrc is linked for those if
1681         installed as it can handle it (#403172)
1682
1683 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
1684
1685         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
1686
1687         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1688         (unref_data), (gst_collect_pads_add_pad_full):
1689         * libs/gst/base/gstcollectpads.h:
1690         Don't put the previously added destroy notify in the GstCollectData
1691         struct as all it's padding is already used and we don't want to break
1692         ABI. Instead put in the pad's GObject data for now. This should be
1693         cleaned up for 0.11 (#402393).
1694
1695 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
1696
1697         reviewed by: Wim Taymans <wim@fluendo.com>
1698
1699         * docs/libs/gstreamer-libs-sections.txt:
1700         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1701         (unref_data), (gst_collect_pads_add_pad),
1702         (gst_collect_pads_add_pad_full):
1703         * libs/gst/base/gstcollectpads.h:
1704         API: Add function to specify a destroy notification for custom
1705         GstCollectData when adding new pads in GstCollectPads (#402393).
1706
1707 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
1708
1709         * po/sv.po:
1710           Update Swedish translation (#378255).
1711
1712 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
1713
1714         * docs/design/draft-klass.txt:
1715           Fix the previous change, this is a list of categories and not a hierarchy.
1716
1717 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
1718
1719         * docs/design/draft-klass.txt:
1720           Add info about how to get a list of used classes.
1721
1722 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
1723
1724         * plugins/elements/gsttypefindelement.c:
1725         (gst_type_find_element_chain_do_typefinding),
1726         (gst_type_find_element_change_state):
1727           Don't leak found caps in chain function (no idea why that never
1728           showed up as a leak anywhere).
1729
1730 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
1731
1732         * gst/gstplugin.h:
1733           Fix and expand GstPluginDesc API docs.
1734
1735 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
1736
1737         * gst/gstcaps.c:
1738         * gst/gstelementfactory.c:
1739         * gst/gstpadtemplate.h:
1740           api doc fixes
1741
1742         * libs/gst/controller/gstcontroller.c:
1743         (gst_controlled_property_new):
1744         * tests/examples/controller/audio-example.c:
1745           comment fixes
1746
1747 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
1748
1749         * configure.ac:
1750           comment about refining the xml deps
1751
1752         * docs/manuals.mak:
1753           comments about moving away from jade for docs
1754         
1755         * gst/gst.c:
1756           recommit the ifdefs to use the binary registry
1757         
1758         * gst/gstbin.c: (gst_bin_change_state_func):
1759           this break is obsolete
1760
1761         * gst/gstelementfactory.h:
1762           better GST_ELEMENT_DETAILS docs, add comment about translation
1763
1764         * gst/gstinfo.h:
1765           remove eol slash
1766
1767         * gst/gstobject.c: (gst_signal_object_get_type):
1768           add G_UNLIKELY as usual
1769
1770         * gst/gstpad.c: (gst_pad_event_default):
1771           add fall trhu comment
1772
1773         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1774         (gst_registry_binary_initialize_magic),
1775         (gst_registry_binary_save_string),
1776         (gst_registry_binary_save_pad_template),
1777         (gst_registry_binary_save_feature),
1778         (gst_registry_binary_save_plugin),
1779         (gst_registry_binary_write_cache),
1780         (gst_registry_binary_check_magic),
1781         (gst_registry_binary_load_pad_template),
1782         (gst_registry_binary_load_feature),
1783         (gst_registry_binary_load_plugin),
1784         (gst_registry_binary_read_cache):
1785           comment typo and formatting
1786
1787         * gst/gstutils.c: (gst_element_state_get_name),
1788         (gst_element_state_change_return_get_name):
1789           remove obsolete breaks
1790
1791         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1792           add FIXME 0.11 and remove cpp comment
1793
1794 2007-01-29  Edward Hervey  <edward@fluendo.com>
1795
1796         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1797         Fix print statement in an even more portable way.
1798
1799 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
1800
1801         * docs/gst/gstreamer-sections.txt:
1802         * gst/gstutils.h:
1803           API: add GST_ROUND_DOWN_* macros (#401781).
1804
1805 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
1806
1807         * docs/gst/gstreamer.types.in:
1808         * gst/gstregistry.c: (gst_registry_class_init):
1809           Document registry signals and make gtk-doc pick them up (#401381).
1810
1811 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
1812
1813         * docs/pwg/building-testapp.xml:
1814           Add some audioconverts and audioresample to the pipeline, and some
1815           more comments and error handling.
1816
1817 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
1818
1819         * docs/manual/manual.xml:
1820         * docs/pwg/pwg.xml:
1821           Fix typo (#400987).
1822
1823 2007-01-26  Wim Taymans  <wim@fluendo.com>
1824
1825         * gst/gstcaps.c: (gst_static_caps_get):
1826         Init caps flags too.
1827
1828 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
1829
1830         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
1831
1832         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
1833         If not using mmap'ed files try to seek to the end instead of the
1834         start to determine whether we can seek at all. This fixes the case
1835         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
1836         seeks for everything afterwards fail. Fixes #400656
1837
1838 2007-01-25  Wim Taymans  <wim@fluendo.com>
1839
1840         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
1841         Add some refcount debugging.
1842         Make gst_static_caps_get threadsafe, which is needed when autoplugging
1843         in multiple streaming threads.
1844
1845 2007-01-25  Wim Taymans  <wim@fluendo.com>
1846
1847         Patch by: David Schleef <ds at schleef dot org>
1848
1849         * docs/libs/gstreamer-libs-sections.txt:
1850         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
1851         * libs/gst/base/gstadapter.h:
1852         API: gst_adapter_copy() that can reduce the amount of memcpy when
1853         getting data from the adapter. Fixes #388201.
1854
1855 2007-01-25  Edward Hervey  <edward@fluendo.com>
1856
1857         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1858         In print statements, "%x" is for guint. Fixes build on macosx.
1859
1860 2007-01-24  Edward Hervey  <edward@fluendo.com>
1861
1862         * plugins/elements/gstmultiqueue.c:
1863         (gst_multi_queue_loop):
1864         Small fix.
1865         (single_queue_overrun_cb), (single_queue_underrun_cb),
1866         (single_queue_check_full), (gst_single_queue_new):
1867         Implement single queue growth system.
1868         This uses the extra-size properties, and will grow single queues by
1869         that much if one goes full whereas there are others empty. This is
1870         called extra-mode in the code.
1871         When a single queue's levels go back below the initial max-size
1872         limits, it is no longer in extra-mode. This is to ensure we don't
1873         consume too much memory.
1874         Fixes #399875
1875
1876 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
1877
1878         * gst/gst.c: (gst_init_get_option_group):
1879           Make warning about late g_thread_init() calls a bit more explicit,
1880           so that it's more obvious to application developers what they need
1881           to do if a user files a bug against their application.
1882
1883 2007-01-22  Edward Hervey  <edward@fluendo.com>
1884
1885         * plugins/elements/gstmultiqueue.c:
1886         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
1887         Remove previous hack of unsetting the flushing flag for the source pad
1888         instead of activating it. Instead, fix the source pad activate function
1889         so that it no longer depends on having a parent set or not.
1890
1891 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
1892
1893         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
1894
1895         * docs/manual/basics-bus.xml:
1896           Fix example code, gst_element_unref() doesn't exist any longer.
1897
1898 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
1899
1900         Patch by: Mark Nauwelaerts <manauw at skynet be>
1901
1902         * gst/gstpad.c:
1903           Fix two docs typoes (#399094).
1904
1905 2007-01-19  Edward Hervey  <edward@fluendo.com>
1906
1907         * docs/faq/gst-uninstalled:
1908         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
1909         depending on libgstbaseutils can work in uninstalled environment.
1910
1911 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
1912
1913         * gst/gsttaglist.h:
1914         * gst/gsttagsetter.c:
1915         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
1916         statement for new tag.
1917
1918 2007-01-17  Edward Hervey  <edward@fluendo.com>
1919
1920         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
1921         When dynamically creating single queues, activate sinkpad before adding
1922         it.
1923         We should be doing the same thing for the source pad, but we can't
1924         since it would call a method which needs the parent to be set in order
1925         to work propertly. Instead of activating the source pad, we just unset
1926         the flushing flag, which is the minimal requirement for adding a pad
1927         to an element in a state greater than READY.
1928
1929 2007-01-17  Edward Hervey  <edward@fluendo.com>
1930
1931         * docs/faq/gst-uninstalled:
1932         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
1933         Mac OS X.
1934
1935 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
1936
1937         * tests/check/gst/gstabi.c:
1938         * tests/check/gst/struct_hppa.h:
1939         * tests/check/libs/libsabi.c:
1940         * tests/check/libs/struct_hppa.h:
1941           Add ABI structs for HPPA (see #393796).
1942
1943 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
1944
1945         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
1946           Actually write ABI structs to the file specified in the GST_ABI
1947           environment variable, as the message we print claims we would.
1948
1949 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1950
1951         * tests/check/gst/gsttask.c:
1952           Fix header comment.
1953
1954 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1955
1956         * gst/gsttaglist.c: (_gst_tag_initialize):
1957           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
1958           previous two entries.
1959
1960 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1961
1962         * docs/gst/gstreamer-sections.txt:
1963         * gst/gsttaglist.c: (_gst_tag_initialize):
1964         * gst/gsttaglist.h:
1965           Add tag support for beat-per-minute.
1966
1967 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1968
1969         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1970         (gst_registry_binary_initialize_magic),
1971         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
1972         (gst_registry_binary_save_pad_template),
1973         (gst_registry_binary_save_feature),
1974         (gst_registry_binary_save_plugin),
1975         (gst_registry_binary_write_cache),
1976         (gst_registry_binary_check_magic),
1977         (gst_registry_binary_load_pad_template),
1978         (gst_registry_binary_load_feature),
1979         (gst_registry_binary_load_plugin),
1980         (gst_registry_binary_read_cache):
1981         * gst/gstregistrybinary.h:
1982           Use glib types, cleanup comments, impement interfaces and uri-types.
1983
1984 2007-01-13  Andy Wingo  <wingo@pobox.com>
1985
1986         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
1987         getrange() to return buffers with other caps, while we fix
1988         demuxers and typefind, or otherwise change part-negotiation.txt.
1989
1990 2007-01-12  Andy Wingo  <wingo@pobox.com>
1991
1992         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
1993         Factor start/stop into this private function instead of partially
1994         in activate functions and partially in the change_state function.
1995         Fixes setup before the element has changed from READY->PAUSED, as
1996         is the case in pull-mode pipelines.
1997         (gst_base_transform_sink_activate_push)
1998         (gst_base_transform_src_activate_pull): Refactor to use
1999         gst_base_transform_activate().
2000         (gst_base_transform_change_state): Removed, not needed any more.
2001
2002         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
2003         Truncate before fixating.
2004         
2005         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
2006         Don't set_caps() if the result of fixating is ANY, as it's not
2007         supported, and not necessary in the case of a link with no
2008         template caps on either side. Fixes tests/check/libs/basesrc in
2009         some pull-mode tests.
2010
2011         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
2012         (gst_base_transform_init, gst_base_transform_sink_activate_push)
2013         (gst_base_transform_src_activate_pull): 
2014         Track the activation mode.
2015         (gst_base_transform_setcaps): In pull mode, when activating the
2016         src pad, after activating the sink pad, activate the sink pad's
2017         peer, as discussed in part-negotiation.txt.
2018
2019         * libs/gst/base/gstbasesrc.h: 
2020         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
2021         vmethod, as in basesink.
2022
2023         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
2024
2025         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
2026         mode, first proxy the setcaps to the peer pad.
2027         (gst_base_sink_pad_fixate): Add a fixate function that calls the
2028         new fixate vmethod.
2029         (gst_base_sink_default_activate_pull): Rename from
2030         gst_base_sink_activate_pull.
2031         (gst_base_sink_negotiate_pull): New function, performs negotiation
2032         in pull mode before calling ::activate_pull().
2033         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
2034         vmethod instead of the default implementation. I have no idea how
2035         this worked before. Negotiate before calling activate_pull.
2036
2037         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
2038         sink pads in pull mode. In addition to being correct, fixes
2039         filesrc ! decodebin ! identity ! fakesink.
2040         (gst_pad_get_range, gst_pad_pull_range): Don't call
2041         gst_pad_set_caps() if the caps changes; instead error out with
2042         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
2043
2044 2007-01-12  Andy Wingo  <wingo@pobox.com>
2045
2046         * docs/design/part-negotiation.txt: Update with more policy.
2047
2048 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
2049
2050         * libs/gst/check/gstbufferstraw.h:
2051         * libs/gst/check/gstcheck.h:
2052           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
2053           belongs.
2054
2055 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
2056
2057         * tests/check/Makefile.am:
2058         * tests/check/gst/.cvsignore:
2059         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
2060         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
2061         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
2062         (GST_START_TEST), (gst_tag_setter_suite):
2063           Add minimal unit test for beforementioned GstTagSetter bug.
2064
2065 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
2066
2067         Patch by: René Stadler <mail at renestadler dot de>
2068
2069         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
2070           gst_tag_list_merge() returns a new list, so it's not the best idea
2071           to ingore its return value. Effectively meant that tags could only
2072           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
2073           Also add function guard to require a non-NULL taglist as input (has
2074           always been so due to gst_tag_list_copy(), just making it explicit).
2075
2076 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
2077
2078         * docs/random/draft-missing-plugins.txt:
2079           Some additions: mention new API that is supposed to be used at the
2080           various stages; short blob about new gst-inspect introspection
2081           option; mention potential future problem with plugins that have
2082           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
2083
2084 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
2085
2086         * tools/gst-inspect.c:
2087         (print_plugin_automatic_install_info_codecs),
2088         (print_plugin_automatic_install_info_protocols),
2089         (print_plugin_automatic_install_info), (main):
2090         Add --print-plugin-auto-install-info option to gst-inspect, so we can
2091         introspect plugin files and get machine-parsable output that corresponds
2092         to the last bit of the missing-plugin installer string (small gotcha:
2093         doesn't take into account ranks).
2094
2095 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
2096
2097         * configure.ac:
2098         * docs/gst/gstreamer-sections.txt:
2099         * gst/Makefile.am:
2100         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
2101         (gst_registry_lookup_locked):
2102         * gst/gstregistry.h:
2103         * gst/gstregistrybinary.c: (gst_registry_binary_write),
2104         (gst_registry_binary_initialize_magic),
2105         (gst_registry_binary_save_string),
2106         (gst_registry_binary_save_pad_template),
2107         (gst_registry_binary_save_feature),
2108         (gst_registry_binary_save_plugin),
2109         (gst_registry_binary_write_cache),
2110         (gst_registry_binary_check_magic),
2111         (gst_registry_binary_load_pad_template),
2112         (gst_registry_binary_load_feature),
2113         (gst_registry_binary_load_plugin),
2114         (gst_registry_binary_read_cache):
2115         * gst/gstregistrybinary.h:
2116         * gst/gstregistryxml.c: (load_feature),
2117         (gst_registry_xml_read_cache):
2118           commit binary registry (disabled by default, see #359653)
2119
2120 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
2121
2122         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
2123           Fix 'make check' too.
2124
2125 2007-01-10  Andy Wingo  <wingo@pobox.com>
2126
2127         * docs/design/part-negotiation.txt: Fix a typo, add a couple
2128         notes.
2129         
2130         * docs/design/part-negotiation.txt: Update with, um, one way that
2131         pull-mode negotiation might work?
2132
2133         * gst/gstpad.h: 
2134         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
2135         that the pad must be a src pad; makes sense to call it the other
2136         way in pull mode, and the logic is symmetric anyway.
2137
2138 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
2139
2140         * plugins/elements/gstfilesink.c:
2141           Include <stdio.h> for fseeko().
2142
2143 2007-01-10  Wim Taymans  <wim@fluendo.com>
2144
2145         * gst/gstevent.c:
2146         * gst/gstevent.h:
2147         Reserve LATENCY event.
2148
2149 2007-01-09  Wim Taymans  <wim@fluendo.com>
2150
2151         * docs/design/draft-latency.txt:
2152         Updates.
2153
2154 2007-01-09  Wim Taymans  <wim@fluendo.com>
2155
2156         * docs/design/draft-latency.txt:
2157         Updates.
2158
2159         * gst/gstelement.h:
2160         * gst/gststructure.c:
2161         * gst/gsttrace.c:
2162         Small typo fixes.
2163
2164 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
2165
2166         * tests/check/.cvsignore:
2167           Ignore test-registry.xml as well.
2168
2169 2007-01-09  Wim Taymans  <wim@fluendo.com>
2170
2171         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
2172         unref data at the end when we are done with the pad.
2173
2174 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
2175
2176         * docs/gst/gstreamer-sections.txt:
2177         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
2178         (init_post), (gst_deinit), (gst_update_registry):
2179         * gst/gst.h:
2180           API: add gst_update_registry() (#391296).
2181
2182         * tests/check/Makefile.am:
2183         * tests/check/gst/gstregistry.c:
2184         * tests/check/gst/.cvsignore:
2185           Simple unit test for the above.
2186
2187 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
2188
2189         * gst/gstregistry.c: (gst_registry_scan_path_level):
2190           Plugin extension on HP-UX is .sl, add that to the list of approved
2191           plugin extensions (see #393796).
2192
2193         * tests/check/gst/gstpad.c: (GST_START_TEST):
2194           ulong => gulong. Fixes compilation with HP-UX compiler.
2195
2196         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2197           Fix compilation if valgrind headers are not available.
2198
2199 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
2200
2201         * win32/common/libgstreamer.def: 
2202           Add new exported function.
2203         * win32/vs6/libgstbase.dsp: 
2204           Add gstdataqueue.c to the build.
2205         * win32/vs6/libgstcoreelements.dsp:
2206           Add gstmultiqueue.c to the build.
2207         
2208 2007-01-06  Andy Wingo  <wingo@pobox.com>
2209
2210         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
2211         activate_pull(), providing for a way to specialize the process of
2212         spawning a thread to pull on the sink pad. There is a default
2213         implementation.
2214
2215         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
2216         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
2217         (gst_base_sink_init): Renamed pad activation functions (inserting
2218         "_pad" in their names). Refactor to use the new activate_pull
2219         vmethod, as appropriate.
2220         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
2221         default activate_pull function to start a task pulling from the
2222         sink pad, as before.
2223
2224         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
2225         on the pads if necessary, as in push()/chain(). Update docs.
2226         Shouldn't affect existing pull() usage as it is currently only
2227         being used on buffers without caps.
2228
2229 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
2230
2231         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
2232         (init_pre):
2233           Call g_thread_init() first thing in gst_init() / gst_check_init().
2234           When initialisation is done via gst_init_get_option_group() and
2235           GOption parsing, issue a warning if the GLib thread system has not
2236           been initialised yet by the time gst_init_get_option_group() is
2237           called, as it's quite likely other GLib functions such as
2238           g_option_context_new() have been called already then, and
2239           g_thread_init() must be called before any other GLib function. The
2240           application in question must be fixed in that case, since memory
2241           corruption might happen otherwise.
2242           We issue the warning because even if the GLib folks decide to work
2243           around the problem on their end in future, this is still an issue
2244           with all GLib versions >= 2.10.0, so we should warn until we depend
2245           on a GLib version we know to be safe.
2246           Update documentation as well.
2247           Closes bug #391278.
2248
2249 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
2250
2251         * tools/gst-inspect.c: (main):
2252         * tools/gst-launch.c: (main):
2253         * tools/gst-typefind.c: (main):
2254         * tools/gst-xmlinspect.c: (main):
2255           Call g_thread_init() really really early, before any other GLib
2256           function (see #342564 and recent discussion on gtk-devel-list).
2257
2258 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
2259
2260         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
2261
2262         * gst/gst_private.h:
2263         * gst/gstconfig.h.in:
2264         * gst/gstinfo.h:
2265           On win32, all the __declspec stuff for symbol exporting is
2266           apparently only needed with MSVC, but doesn't work with MingW.
2267           Fixes compilation with MingW and #391909.
2268
2269 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
2270
2271         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
2272           Change some GST_ERROR_OBJECT that aren't really errors to
2273           GST_WARNING_OBJECT in order to reduce terminal spam.
2274
2275 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
2276
2277         * tests/check/Makefile.am:
2278           disable test again, as there seem to be still race problems
2279
2280 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
2281
2282         * tests/check/Makefile.am:
2283         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2284         (GST_START_TEST), (queue_suite):
2285           enable queue test again, add tests for the leaky behaviour
2286
2287 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
2288
2289         * configure.ac:
2290         * tests/examples/Makefile.am:
2291           Compile adapter test/example only if the required headers are
2292           available (fixes #391915).
2293
2294 2007-01-01  David Schleef  <ds@schleef.org>
2295
2296         * gst/gstplugin.c:
2297           Restore the previous signal handler for SIGSEGV instead of
2298           setting to default, since we may have stolen it away from
2299           someone.  (i.e., Mono)
2300
2301 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
2302
2303         * docs/random/draft-missing-plugins.txt:
2304           Some small additions and clarifications.
2305
2306 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
2307
2308         * gst/gstregistryxml.c: (gst_registry_save_escaped):
2309           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
2310           since that can lead to random memory corruptions and crashes
2311           (may or may not be related to #383244, #386711, and #386711).
2312
2313 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2314
2315         * tests/check/.cvsignore:
2316         * tests/check/Makefile.am:
2317           sync .cvsignome and CLEANFILES
2318
2319 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2320
2321         * tests/check/Makefile.am:
2322           fix distcheck
2323
2324 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2325
2326         * docs/design/part-states.txt:
2327           two tiny additional comments
2328         
2329         * gst/gststructure.c:
2330           doc fixing
2331
2332         * tests/check/Makefile.am:
2333         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2334         (GST_START_TEST):
2335           disable test for now, unless it gets fixed
2336
2337 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2338
2339         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2340         (GST_START_TEST):
2341           fix race in underrun test
2342
2343 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2344
2345         * tests/check/elements/.cvsignore:
2346           ignore more
2347
2348         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2349         (GST_START_TEST):
2350           try to narrow test failure
2351
2352 2006-12-21  David Schleef  <ds@schleef.org>
2353
2354         * plugins/elements/gstfakesrc.c:
2355           Use g_random_int_range(), since it produces better random
2356           numbers in a range than almost-correct floating point code.
2357
2358 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2359
2360         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2361         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2362         (gst_check_teardown_sink_pad):
2363           do not automatically (de)activate pads
2364
2365         * tests/check/Makefile.am:
2366         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2367         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
2368           add new, yet simple tests for queue
2369
2370         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
2371         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
2372         * tests/check/elements/filesrc.c: (cleanup_filesrc),
2373         (GST_START_TEST):
2374         * tests/check/elements/identity.c: (cleanup_identity):
2375           consistent pad (de)activation
2376
2377 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
2378
2379         Patch by: Sebastian Dröge  <slomo ubuntu com>
2380
2381         * libs/gst/base/gstcollectpads.c:
2382           Fix two doc typos (#387866).
2383
2384 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
2385
2386         * docs/manual/advanced-dparams.xml:
2387           Fix typo (g_object_control_properties() doesn't exist).
2388
2389 2006-12-19  Edward Hervey  <edward@fluendo.com>
2390
2391         * gst/gstsegment.c: (gst_segment_set_seek):
2392         Fine tune the cases where the segment start/stop values are really
2393         updated.
2394         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2395         Add tests for the return values of gst_segment_set_seek().
2396
2397 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
2398
2399         * gst/gst.c:
2400           Docs typo fix.
2401
2402         * plugins/elements/gstqueue.c: (gst_queue_class_init),
2403         (gst_queue_init):
2404           Fix incorrect documentation and flesh it out a bit more.
2405           Set default values for the max properties on the GParamSpec as well,
2406           so it shows up correctly in gst-inspect.
2407
2408 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
2409
2410         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
2411           Correct docs of queue, add more detail and crosslink it more.
2412
2413 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
2414
2415         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
2416           Print additional debug info when the stream isn't perfectly
2417           timestamped; don't try to use invalid durations.
2418
2419 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
2420
2421         * docs/design/Makefile.am:
2422           Dist new design docs.
2423
2424 2006-12-16  Wim Taymans  <wim@fluendo.com>
2425
2426         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2427
2428         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
2429         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
2430         (gst_collect_pads_stop), (gst_collect_pads_event),
2431         (gst_collect_pads_chain):
2432         * libs/gst/base/gstcollectpads.h:
2433         Add refcounting to the collectpads data so we can track when it's safe
2434         to free the data. Fixes #383382.
2435
2436 2006-12-15  Wim Taymans  <wim@fluendo.com>
2437
2438         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2439         (gst_collect_pads_remove_pad):
2440         Automatically activate/deactivate pads when they are added to a
2441         started/stoped collectpads.
2442
2443 2006-12-15  Wim Taymans  <wim@fluendo.com>
2444
2445         * gst/gstelement.c: (gst_element_add_pad):
2446         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
2447         * gst/gstpad.c: (gst_pad_init):
2448         Set pads to FLUSHING when they are created. Check, warn and fix when a
2449         demuxer adds an inactive pad to itself when running. Fixes #339326.
2450
2451 2006-12-15  Wim Taymans  <wim@fluendo.com>
2452
2453         * gst/gstelement.c: (gst_element_class_init),
2454         (gst_element_default_send_event), (gst_element_send_event),
2455         (gst_element_default_query), (gst_element_query):
2456         Expose default element send_event and query handling as vmethods that
2457         subclasses can chain up to.
2458
2459 2006-12-15  Wim Taymans  <wim@fluendo.com>
2460
2461         * gst/gstelement.c: (gst_element_set_state_func):
2462         Small documentation fixes.
2463
2464 2006-12-15  Wim Taymans  <wim@fluendo.com>
2465
2466         * docs/design/draft-latency.txt:
2467         Checked in draft for handling latency in pipelines.
2468
2469 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2470
2471         * Makefile.am:
2472         * gstreamer.doap:
2473         * gstreamer.spec.in:
2474           adding .doap file
2475
2476 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
2477
2478         * gst/gst.c: (init_pre), (init_post):
2479           init_pre() and init_post() might be called via our GOptionGroup or
2480           from gst_init(), and we should skip both of them if we've already
2481           been initialised, otherwise we will init some things twice or add
2482           two default log functions.
2483
2484 2006-12-13  Edward Hervey  <edward@fluendo.com>
2485
2486         * docs/manual/basics-bus.xml:
2487         No, gst_main_loop does not exist. Its g_main_loop.
2488         Discovered by somebody who abused the copy-paste technique of coding :)
2489
2490 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
2491
2492         * gst/gstghostpad.c:
2493           Log ghostpad debug stuff to the GST_PADS category as well rather
2494           than just to the default category.
2495
2496 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
2497
2498         * configure.ac:
2499         * gst/gst.c: (init_pre):
2500           Add some basic system details such as OS and architecture
2501           to the debug output if possible, courtesy of uname().
2502
2503 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2504
2505         * docs/gst/running.xml:
2506           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
2507           environment variables.
2508
2509 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
2510
2511         * tests/check/gst/gstbin.c: (GST_START_TEST):
2512         It is acceptable to have a refcount of 2 or 3 at this point in the
2513         test, because the pipeline might be just posting its state_change
2514         message. The next line then waits for that message to appear using
2515         bus_poll, so that should be fine too.
2516
2517 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
2518
2519         * gst/gst.c: (ensure_current_registry_forking):
2520         Ignore EINTR when reading from the child registry pipe.
2521         Explicitly ignore the return value from close, since it makes no
2522         difference.
2523
2524         * gst/gstminiobject.c: (gst_mini_object_ref),
2525         (gst_mini_object_unref):
2526         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
2527
2528         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
2529         When removing cached plugins, remove their features too, so they're
2530         not visible after they've disappeared.
2531
2532         * gst/gstutils.c: (prepare_link_maybe_ghosting):
2533         In the unlikely case that we are linking pads with no parents, don't
2534         crash trying to get the non-existent parent bin.
2535
2536         * gst/parse/grammar.y:
2537         Output debug in the PIPELINE category
2538
2539 2005-03-08  Wim Taymans  <wim@fluendo.com>
2540
2541         Patch by: René Stadler <mail at renestadler dot de>
2542
2543         * gst/gstclock.c: (gst_clock_new_periodic_id):
2544         Reject invalid clock times for interval of periodic ids.
2545         Fixes ##383506.
2546
2547 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
2548
2549         * gst/gstelementfactory.c: (gst_element_factory_create):
2550         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2551         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
2552         * tools/gst-inspect.c: (print_element_info):
2553         Fix refcounting of gst_plugin_feature_load to match the docs. 
2554         Fixes: #380129
2555
2556 2006-12-07  Wim Taymans  <wim@fluendo.com>
2557
2558         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
2559         (gst_base_sink_get_position):
2560         Improve debugging of events.
2561
2562 2006-12-07  Wim Taymans  <wim@fluendo.com>
2563
2564         Patch by: René Stadler <mail at renestadler dot de>
2565
2566         * gst/gstclock.c: (gst_clock_id_wait):
2567         Make period ids add the interval to the origial requested time instead
2568         of the possibly updated time which can be wrong when there are multiple
2569         waiters for the same id. Fixes #382592.
2570
2571         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
2572         (gst_system_clock_id_wait_jitter_unlocked),
2573         (gst_system_clock_id_wait_jitter):
2574         Fix restart in the async notify thread when an async entry is added to
2575         the front of the list. Fixes #381492. 
2576
2577         * tests/check/gst/gstsystemclock.c: (store_callback),
2578         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
2579         Added test for multiple async waits.
2580         Added test for async wait order.
2581
2582 2006-12-07  Wim Taymans  <wim@fluendo.com>
2583
2584         * gst/gstbin.c: (gst_bin_query):
2585         Add some more docs about the POSITION query.
2586
2587 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
2588
2589         * configure.ac:
2590         Bump version nano - back to CVS.
2591
2592 === release 0.10.11 ===
2593
2594 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
2595
2596         * configure.ac:
2597           releasing 0.10.11, "Love never runs on time"
2598
2599 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
2600
2601         * win32/common/libgstbase.def:
2602         * win32/common/libgstreamer.def:
2603         * win32/vs8/libgstbase.vcproj:
2604         * win32/vs8/libgstcoreelements.vcproj:
2605         * win32/vs8/libgstreamer.vcproj:
2606         Fix compilation on win32 under VS8
2607         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2608         Partially fixes #381175
2609
2610 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2611
2612         * gst/gstvalue.c: (gst_value_compare_fraction):
2613         If someone is foolish enough to compare 2 fractions with denominator =
2614         0, return UNORDERED rather than aborting.
2615
2616 2006-11-28  Edward Hervey  <edward@fluendo.com>
2617
2618         * libs/gst/base/Makefile.am:
2619         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
2620         (gst_data_queue_base_init), (gst_data_queue_class_init),
2621         (gst_data_queue_init), (gst_data_queue_new),
2622         (gst_data_queue_cleanup), (gst_data_queue_finalize),
2623         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
2624         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
2625         (gst_data_queue_is_empty), (gst_data_queue_is_full),
2626         (gst_data_queue_set_flushing), (gst_data_queue_push),
2627         (gst_data_queue_pop), (gst_data_queue_drop_head),
2628         (gst_data_queue_set_property), (gst_data_queue_get_property):
2629         * libs/gst/base/gstdataqueue.h:
2630         New GstDataQueue object for threadsafe queueing. Most useful for
2631         elements that need some queueing functionnality.
2632         * docs/libs/gstreamer-libs-docs.sgml:
2633         * docs/libs/gstreamer-libs-sections.txt:
2634         Insert documentation for GstDataQueue
2635         * plugins/elements/Makefile.am:
2636         * plugins/elements/gstelements.c:
2637         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
2638         (gst_multi_queue_class_init), (gst_multi_queue_init),
2639         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
2640         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
2641         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
2642         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
2643         (gst_multi_queue_loop), (gst_multi_queue_chain),
2644         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
2645         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
2646         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
2647         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
2648         (wake_up_next_non_linked), (compute_next_non_linked),
2649         (single_queue_overrun_cb), (single_queue_underrun_cb),
2650         (single_queue_check_full), (gst_single_queue_new):
2651         * plugins/elements/gstmultiqueue.h:
2652         New multiqueue element, using GstDataQueue. Used for queuing multiple
2653         streams.
2654         Closes #344639 and #347785
2655
2656 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
2657
2658         * docs/pwg/advanced-types.xml:
2659           add more missing type details
2660
2661         * tools/gst-run.c: (main):
2662           remove unused variable
2663
2664 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
2665
2666         * docs/libs/Makefile.am:
2667         * docs/libs/gstreamer-libs.types:
2668           add types of base classes to enable gobject specific stuff in the docs
2669
2670         * docs/random/ensonic/embedded.txt:
2671           more ideas about isolating platform specific things
2672
2673 2006-11-20  Wim Taymans  <wim@fluendo.com>
2674
2675         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
2676
2677         * libs/gst/check/gstcheck.h:
2678         Fix compilation and running against 0.9.4. Fixes #377332.
2679
2680 2006-11-20  Wim Taymans  <wim@fluendo.com>
2681
2682         * gst/gstsegment.c: (gst_segment_set_seek),
2683         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2684         (gst_segment_to_running_time):
2685         Fix boundary checking in to_running_time() and to_stream_time().
2686         Fixes #377183.
2687
2688         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2689         stream and running time can now be calculated for the complete
2690         clipped segment.
2691
2692 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
2693
2694         * gst/gstpad.c: (gst_pad_push_event):
2695           Can't access event structure after giving away ownership of
2696           the event.
2697
2698 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
2699
2700         * docs/random/ensonic/embedded.txt:
2701         * docs/random/ensonic/profiling.txt:
2702         * docs/random/ensonic/receipies.txt:
2703           more thinking
2704
2705 2006-11-13  Wim Taymans  <wim@fluendo.com>
2706
2707         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2708
2709         * gst/gstpad.c:
2710         Fix documentation for gst_pad_dispatcher. Fixes #374475.
2711
2712 2006-11-13  Wim Taymans  <wim@fluendo.com>
2713
2714         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
2715
2716         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
2717         Store new length in segment duration so we don't keep on calling the
2718         potentially expensize get_size() call. Fixes #370865.
2719
2720 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
2721
2722         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
2723
2724         * win32/common/libgstreamer.def:
2725           Add two missing symbols (#366492).
2726
2727 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
2728
2729         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
2730         (gst_adapter_take_buffer):
2731         Fix format string to use all its arguments.
2732         Remove useless >= check on a guint
2733
2734 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2735
2736         * tests/examples/adapter/.cvsignore:
2737         Ignore build file as commanded by the build-bot
2738
2739 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2740
2741         * tests/examples/adapter/Makefile.am:
2742         * tests/examples/adapter/adapter_test.c: (run_test_take),
2743         (run_test_take_buffer), (run_tests), (main):
2744
2745         Add new files from the previous commit
2746
2747 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2748
2749         * Makefile.am:
2750         * configure.ac:
2751         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
2752         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
2753         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
2754         * libs/gst/base/gstadapter.h:
2755         * tests/check/libs/adapter.c: (create_and_fill_adapter),
2756         (GST_START_TEST), (gst_adapter_suite):
2757         * tests/examples/Makefile.am:
2758         Do some optimisation work in GstAdapter to avoid copies in more cases.
2759         It could still do slightly better by merging buffers when
2760         gst_buffer_is_span_fast is true, but is already faster. 
2761
2762         Also, avoid traversing a single-linked list to append each incoming 
2763         buffer inside the adapter.
2764
2765         Add simple test app that times the adapter behaviour in different
2766         situations, and extend the unit test to check that bytes enter and
2767         exit the adapter in their original order.
2768
2769 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2770
2771         * docs/random/draft-missing-plugins.txt:
2772           Update: use element message instead of adding a new message
2773           type to the core; don't provide GStreamer API to initiate the
2774           plugin download, just provide API to compose the strings needed
2775           and let an external libgimmestuff handle the rest.
2776
2777 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
2778
2779         * tools/gst-inspect.c: (print_element_properties_info):
2780         Print a string instead of 'unknown type' for GValueArray properties
2781
2782 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
2783
2784         * docs/random/draft-missing-plugins.txt:
2785         More small fixes.
2786
2787 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2788
2789         * tests/examples/typefind/typefind.c: (type_found), (main):
2790           Make typefind element example work again (#371894); add a
2791           license header.
2792
2793 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2794
2795         * docs/random/draft-missing-plugins.txt:
2796           Commit initial draft about how to deal with missing plugins,
2797           needs work (API too).
2798
2799 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
2800
2801         * docs/pwg/advanced-types.xml:
2802           documents the new caps elements (see #363118)
2803
2804 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2805
2806         * gst/gstplugin.c: (gst_plugin_load_file):
2807         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
2808         (gst_file_src_map_region), (gst_file_src_start):
2809         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
2810         (gst_file_index_commit):
2811           Use g_strerror() instead of strerror() - we want UTF-8.
2812
2813 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2814
2815         Patch by: Peter Kjellerstedt <pkj at axis com>
2816
2817         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2818           Another printf fix (#371493).
2819
2820 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2821
2822         * tests/check/gst/gsttag.c:
2823           relicence (okay with author=company)
2824
2825 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2826
2827         * gst/gstpad.c: (gst_pad_event_default_dispatch),
2828         (gst_pad_push_event):
2829           Enhance debug and improve docs
2830         
2831         * gst/gsturi.c:
2832           Fix docs
2833
2834 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2835
2836         * docs/random/ensonic/distributed.txt:
2837         * docs/random/ensonic/profiling.txt:
2838           more ideas
2839
2840 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2841
2842         * docs/gst/gstreamer-sections.txt:
2843           add new API and fix the build
2844           
2845         * gst/gstbin.c: (gst_bin_recalc_state):
2846         * gst/gstelement.c: (gst_element_message_full),
2847         (gst_element_get_state_func), (gst_element_set_state_func):
2848           use new API and improve logging
2849         
2850         * gst/gstutils.c: (gst_element_state_change_return_get_name):
2851         * gst/gstutils.h:
2852           API: add function to get StateChangereturn names to improve logs 
2853
2854 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
2855
2856         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2857           I'm considering shooting the next person to put strerror stuff
2858           in the translateable part of the message.
2859
2860 2006-11-03  Wim Taymans  <wim@fluendo.com>
2861
2862         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2863         Get the type and printf conversion specifiers right.
2864
2865 2006-11-03  Wim Taymans  <wim@fluendo.com>
2866
2867         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2868
2869         * gst/gstpad.c: (gst_pad_init), (pre_activate),
2870         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
2871         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
2872         Some small cleanups. Improve debugging.
2873         * gst/gstpad.h:
2874         Signal all waiting threads with a broadcast instead of just one.
2875         Fixes #369942.
2876
2877 2006-11-03  Wim Taymans  <wim@fluendo.com>
2878
2879         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
2880         (gst_fd_src_create):
2881         Add some debugging. 
2882         Only update fd when it's different from the old.
2883
2884 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2885
2886         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
2887           Printf fixes for PPC/OSX, take two (#369366).
2888
2889 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2890
2891         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
2892
2893         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2894         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2895         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
2896           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
2897           don't cast to long long for portability reasons, but use
2898           GLib's types instead.
2899
2900 2006-10-30  Michael Smith  <msmith@fluendo.com>
2901
2902         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2903           Get the arguments to lseek() the right way around.
2904           Fixes 367677.
2905
2906 2006-10-30  Wim Taymans  <wim@fluendo.com>
2907
2908         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
2909
2910         * gst/gstinfo.h:
2911         _declspec should be __declspec (two underscores, not one). Fixes 366572.
2912
2913 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
2914
2915         Patch by: Kjartan Maraas  <kmaraas at gnome org>
2916
2917         * docs/design/part-MT-refcounting.txt:
2918         * docs/random/wtay/capsnego2-docs:
2919         * gst/gstclock.c:
2920         * gst/gstxml.c:
2921           Typo fixes (#366212).
2922
2923 2006-10-28  Wim Taymans  <wim@fluendo.com>
2924
2925         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2926
2927         * gst/gst.c:
2928         * win32/common/libgstbase.def:
2929         * win32/common/libgstreamer.def:
2930         * win32/vs8/libgstbase.vcproj:
2931         * win32/vs8/libgstcontroller.vcproj:
2932         Add needed entries in .def files.
2933         Use HAVE_UNISTD_H.
2934         Rearrange def files in vs8 solutions. Fixes #366286.
2935
2936 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
2937
2938         * win32/common/gstconfig.h:
2939           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
2940           hand-made win32 gstconfig.h. Fixes #366321.
2941
2942 2006-10-27  Wim Taymans  <wim@fluendo.com>
2943
2944         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
2945         (gst_ghost_pad_new_full):
2946         Make acceptcaps return TRUE when we don't have a target, just like
2947         setcaps does.
2948
2949 2006-10-27  Wim Taymans  <wim@fluendo.com>
2950
2951         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2952         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
2953
2954 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
2955
2956         * gst/gststructure.c: (gst_structure_id_set_value):
2957           If someone tries to set a non-UTF8 string field on a structure,
2958           don't just print a warning, but also ignore the request and do
2959           not change/add that field to the structure.
2960
2961         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2962           Test for the above.
2963
2964 2006-10-25  David Schleef  <ds@schleef.org>
2965
2966         * gst/gstinfo.c:
2967           g_hash_table_insert() needs a cast to a non-const pointer duh.
2968
2969 2006-10-25  David Schleef  <ds@schleef.org>
2970
2971         * gst/gstinfo.c:
2972         * gst/gstinfo.h:
2973           Change name parameter of _gst_debug_register_funcptr to const
2974           to reflect the constness of its use in the function as well
2975           as to quiet a gcc warning.
2976
2977 2006-10-25  Edward Hervey  <edward@fluendo.com>
2978
2979         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2980         Don't push the buffer if it's empty.
2981         Closes #363095
2982
2983 2006-10-24  Wim Taymans  <wim@fluendo.com>
2984
2985         * gst/gstevent.h:
2986         Add small comment.
2987
2988         * libs/gst/base/gstbasetransform.c:
2989         (gst_base_transform_sink_eventfunc):
2990         Debug segment values *after* updating them as this is more
2991         interesting.
2992
2993 2006-10-23  Wim Taymans  <wim@fluendo.com>
2994
2995         * docs/design/part-events.txt:
2996         Update some docs.
2997
2998         * docs/design/part-block.txt:
2999         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
3000         (gst_pad_push_event):
3001         Revert BLOCKING patch, it tries to be smart without really having a
3002         clear idea what or how. So, now we discard all FLUSHING events again on
3003         a blocking pad. Should fix gnonlin again.
3004
3005 2006-10-23  Wim Taymans  <wim@fluendo.com>
3006
3007         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
3008
3009         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
3010         (gst_base_src_start), (gst_base_src_activate_push):
3011         Make sure size is always initialized. Fixes #364388.
3012
3013 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
3014
3015         * docs/random/ensonic/distributed.txt:
3016           add some ideas about doing distributed processing
3017
3018         * docs/random/ensonic/profiling.txt:
3019           get_rusage look promising
3020
3021 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
3022
3023         * docs/manual/basics-helloworld.xml:
3024           Add a cast in example to fix compile warning
3025
3026 2006-10-18  Wim Taymans  <wim@fluendo.com>
3027
3028         * gst/gstsegment.c: (gst_segment_set_last_stop),
3029         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
3030         Relax arg checking again, -1 is allowed.
3031
3032 2006-10-18  Wim Taymans  <wim@fluendo.com>
3033
3034         * gst/gstsegment.c: (gst_segment_set_last_stop),
3035         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
3036         _set_last_stop() must be with a value != -1
3037         A _TYPE_SET to -1 means seek to 0.
3038         Calc last_stop correctly for negative rates.
3039         Make sure we work with positive durations when updating a segment.
3040
3041 2006-10-18  Wim Taymans  <wim@fluendo.com>
3042
3043         * docs/design/part-live-source.txt:
3044         * gst/gstclock.h:
3045         Small docs fixes.
3046
3047 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
3048
3049         * gst/gstbuffer.h:
3050           Add an explicit cast to GstBuffer** to keep old code that added an
3051           explicit cast to GstMiniObject** for gst_mini_object_replace()
3052           compiling without warning.
3053
3054 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
3055
3056         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
3057           check for validity of dates
3058
3059 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
3060
3061         * docs/gst/gstreamer-sections.txt:
3062           Forgot this one, makes gtk-doc shut up.
3063
3064 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
3065
3066         Patch by: Peter Kjellerstedt <pkj at axis com>
3067
3068         * gst/gstobject.h:
3069           Don't define xmlNodePtr to gpointer if the core was built with
3070           --disable-loadsave and --disable-registry, this will break
3071           applications that want to use libxml2 but are buildling against a
3072           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
3073           instead so we don't have to mess with the libxml2 namespace
3074           (#361675).
3075
3076 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
3077
3078         * gst/gstbuffer.h:
3079           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
3080           type-punned pointer warnings.
3081
3082 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
3083
3084         * gst/gstelement.h:
3085           Add casts to the correct return type to state <=> state transition
3086           macros.
3087
3088 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
3089
3090         * docs/design/part-live-source.txt:
3091           describe howto handle latency
3092         
3093         * docs/random/ensonic/profiling.txt:
3094           more ideas
3095
3096         * tools/gst-plot-timeline.py:
3097           fix log parsing for solaris, remove unused function
3098
3099 2006-10-16  Wim Taymans  <wim@fluendo.com>
3100
3101         * docs/design/part-trickmodes.txt:
3102         * gst/gstevent.c:
3103         Update some docs regarding reverse playback.
3104
3105 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3106
3107         Patch by: Marcus Granado  <mrc dot gran at gmail com>
3108
3109         * win32/vs8/grammar.vcproj:
3110           Error out with a warning if glib-genmarshal.exe is not in path,
3111           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
3112
3113 2006-10-13  Wim Taymans  <wim@fluendo.com>
3114
3115         * gst/gstsegment.c: (gst_segment_set_seek):
3116         When seeking to stop -1, set last_stop (current position) to the
3117         duration of the segment.
3118
3119 2006-10-13  Wim Taymans  <wim@fluendo.com>
3120
3121         * gst/gstelement.h:
3122         Clarify _NO_PREROLL a bit more.
3123
3124         * gst/gstevent.c:
3125         Fix docs.
3126
3127         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
3128         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
3129         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
3130         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
3131         due to wrong locking order. Fixes #361769.
3132         Remove some redundant/misplaced checks in pad_block.
3133
3134         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3135         For negative rates, count backwards from the duration.
3136
3137 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3138
3139         * gst/gsterror.c: (_gst_library_errors_init):
3140           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
3141           up with something better).
3142
3143 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
3144
3145         * win32/vs6/libgstreamer.dsp:
3146         * win32/vs7/libgstreamer.vcproj:
3147         * win32/vs8/libgstreamer.vcproj:
3148           Don't reference glib-compat.c which is currently not used and not
3149           disted; add gstquark.c which was recently added. Fixes #361730.
3150
3151 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
3152
3153         * win32/common/libgstbase.def:
3154         * win32/common/libgstcontroller.def:
3155         * win32/common/libgstreamer.def:
3156           Add gst_caps_merge() and a bunch of other recently-added functions.
3157           Fixes #361732.
3158
3159 2006-10-11  Wim Taymans  <wim@fluendo.com>
3160
3161         * docs/plugins/gstreamer-plugins.args:
3162         * docs/plugins/inspect/plugin-coreelements.xml:
3163         * docs/plugins/inspect/plugin-coreindexers.xml:
3164         Update element args.
3165
3166         * gst/gstsystemclock.c:
3167         Small comment update.
3168
3169         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
3170         (gst_tee_request_new_pad), (gst_tee_release_pad),
3171         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
3172         (gst_tee_sink_activate_pull):
3173         * plugins/elements/gsttee.h:
3174         Some tee loving:
3175         Add default property defines.
3176         Implement release pad function.
3177         Give properties better blubs etc.
3178         Activate pads before adding them to a running tee.
3179         Do simple buffer_alloc on the first requested pad.
3180         Post error when activation fails.
3181
3182 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
3183
3184         * gst/gst.c: (ensure_current_registry_forking):
3185           Check return value of write() to make compiler happy.
3186
3187 2006-10-11  Wim Taymans  <wim@fluendo.com>
3188
3189         Patch by: Sjoerd Simons <sjoerd at luon dot net>
3190
3191         * plugins/elements/gstqueue.c: (gst_queue_chain):
3192         Recheck queue filledness after signalling the overrun when we're about
3193         to leak downstream because we released the lock when emitting the signal
3194         and the queue could be empty again. Fixes #352345.
3195
3196 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
3197
3198         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
3199           Fix refcounting here too, just like we did for _new_valist() a few
3200           days ago (#357180) (thanks to René Stadler). Also remove all those
3201           'Since: 0.9' from the gtk-doc blobs.
3202
3203         * tests/check/libs/controller.c: (controller_refcount_new_list),
3204         (gst_controller_suite):
3205           Unit test for the above.
3206
3207 2006-10-10  Wim Taymans  <wim@fluendo.com>
3208
3209         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
3210
3211         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
3212         (gst_pad_save_thyself):
3213         Update some docs.
3214         Write pad direction in XML output. Fixes #345496.
3215
3216 2006-10-10  Wim Taymans  <wim@fluendo.com>
3217
3218         Patch by: René Stadler <mail at renestadler dot de>
3219
3220         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3221         (gst_controller_new_list), (_gst_controller_dispose),
3222         (_gst_controller_finalize), (_gst_controller_class_init):
3223         Take ref to controlled object so that it cannot disappear. 
3224         Fixes #357432.
3225
3226 2006-10-10  Wim Taymans  <wim@fluendo.com>
3227
3228         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
3229         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
3230         (gst_check_teardown_sink_pad):
3231         Activate/deactivate pads in setup/teardown respectively.
3232
3233 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3234
3235         Patch by: Josep Torre Valles <josep@fluendo.com>
3236
3237         * gst/Makefile.am:
3238         Cast values when making gstenumtypes.h.  This pacifies Forte
3239         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
3240         in the enumeration.
3241
3242 2006-10-09  Wim Taymans  <wim@fluendo.com>
3243
3244         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
3245         Rename some more @cur to @start to fix docs. 
3246
3247         * gst/gstsegment.c: (gst_segment_set_seek):
3248         Fix typo.
3249         time and start must always stay in sync as defined in design doc.
3250
3251         * gst/gsttaglist.c: (gst_tag_list_is_empty):
3252         Rename param to fix docs.
3253
3254         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3255         Check that start and time are in sync.
3256
3257         * tests/check/pipelines/parse-launch.c:
3258         (gst_parse_test_element_change_state):
3259         Activate pad before adding to the element.
3260
3261 2006-10-09  Wim Taymans  <wim@fluendo.com>
3262
3263         * docs/design/part-qos.txt:
3264         Fix typo.
3265
3266         * gst/gstevent.c:
3267         * gst/gstevent.h:
3268         Update seek event docs regarding negative rates.
3269         Rename @cur to @start. 
3270
3271         * gst/gstsegment.c: (gst_segment_set_seek):
3272         * gst/gstsegment.h:
3273         Update set_seek docs regarding negative rates.
3274         Correctly update last_stop to @stop when dealing with negative
3275         rates.
3276         Rename @cur to @start. 
3277
3278         * tests/check/gst/gstpad.c: (GST_START_TEST):
3279         Activate pads before trying to use them.
3280
3281         * tests/check/gst/gstsegment.c: (GST_START_TEST),
3282         (gst_segment_suite):
3283         Add simple check for segments and negative rates.
3284
3285 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3286
3287         * gst/gsttaglist.c: (gst_tag_list_is_empty):
3288         * gst/gsttaglist.h:
3289         * docs/gst/gstreamer-sections.txt:
3290           API: add gst_tag_list_is_empty() (#360467).
3291
3292         * tests/check/gst/gsttag.c: (GST_START_TEST):
3293           And a test case.
3294
3295 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3296
3297         * gst/gstmessage.h:
3298         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
3299         a value that doesn't fit on enumeration.
3300
3301 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3302
3303         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3304         Remove local debugging system and use Gstreamer's instead.
3305
3306 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3307
3308         Patch by: Josep Torre Valles <josep@fluendo.com>
3309
3310         * common/m4/gst-error.m4:
3311         Disable warning of statement not reached on Forte.
3312         * gst/gstmessage.h:
3313         Fix warning on Forte (value doesn't fit on enumeration).
3314         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
3315         Fix warning on Forte (value doesn't fit on enumeration).
3316         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3317         DEBUG macro says it takes minimum of 2 args and so Forte
3318         complains about the use with just 1 arg.
3319         * plugins/elements/gstfdsink.c:
3320         * plugins/elements/gstfdsrc.c:
3321         * plugins/elements/gstfilesink.c:
3322         * plugins/elements/gstfilesrc.c:
3323         Use correct return type for the uri handler implementations.
3324
3325         All these fix warnings in Forte.  Fixes bug #360860.
3326
3327 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
3328
3329         * gst/gstelement.h:
3330           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
3331           format string, so don't use G_GNUC_PRINTF for those versions.
3332
3333 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
3334
3335         * gst/gsttaglist.c: (gst_is_tag_list):
3336         * gst/gsttaglist.h:
3337           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
3338
3339         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
3340           Small test for the above.
3341
3342 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
3343
3344         * gst/gsttaglist.h:
3345           Less tabs, more spaces.
3346
3347 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
3348
3349         * gst/gstinfo.h:
3350           Those two function declarations do actually belong there, revert
3351           commit from yesterday that turned them intro macros.
3352
3353 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3354
3355         Patch by: Josep Torre Valles <josep@fluendo.com>
3356
3357         * gst/gst.c: (gst_init_get_option_group):
3358         Fix empty declaration and type mismatch.
3359         * gst/gstbin.c: (gst_bin_change_state_func):
3360         Fix type mismatch.
3361         * gst/gstelement.c: (gst_element_continue_state),
3362         (gst_element_set_state_func), (gst_element_change_state),
3363         (gst_element_change_state_func):
3364         Fix type mismatches.
3365         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
3366         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
3367         Cast as appropriate.
3368         * gst/gstobject.c: (gst_class_signal_connect):
3369         Cast as appropriate.  The function pointer parameter really
3370         has the wrong type but would break API if we change it.
3371         * gst/gstquery.c:
3372         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
3373         order of including string.h.
3374         * gst/gstutils.c: (gst_element_state_get_name):
3375         Remove unreachable line.
3376         * gst/gstxml.c: (gst_xml_parse_doc):
3377         Fix type mismatch.
3378         All these caught by Forte.
3379
3380 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3381
3382         Patch by: Josep Torre Valles <josep@fluendo.com>
3383
3384         * common/m4/gst-error.m4:
3385         Fixed bug #360151.
3386         We need to disable warnings on Forte for empty declarations
3387         due to gst-indent adding ;s to lines that just use macros
3388         where the macro actually doesn't need a ; at end to end
3389         statement.
3390
3391 2006-10-06  Wim Taymans  <wim@fluendo.com>
3392
3393         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
3394         (gst_file_sink_close_file), (gst_file_sink_event),
3395         (gst_file_sink_render):
3396         Add some FIXME for the NEWSEGMENT handling.
3397
3398 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3399
3400         * gst/parse/grammar.y:
3401         Remove static function gst_parse_element_lock as all it does
3402         is return.  Looks like cruft from 0.8.
3403
3404 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3405
3406         Patch by: Josep Torre Valles <josep@fluendo.com>
3407
3408         * common/m4/gst-error.m4:
3409         * configure.ac:
3410         * libs/gst/net/Makefile.am:
3411         Fix a compilation issue with Forte on Solaris.  inet_aton is in
3412         libresolv.
3413
3414 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
3415
3416         * gst/gstpad.c: (pre_activate):
3417         * gst/gstregistry.c: (gst_registry_scan_path_level):
3418         * gst/gstregistryxml.c: (load_plugin):
3419         * libs/gst/controller/gstcontroller.c:
3420         (gst_controlled_property_set_interpolation_mode):
3421         * libs/gst/dataprotocol/dataprotocol.c:
3422         (gst_dp_packet_from_event_1_0):
3423         * libs/gst/net/gstnetclientclock.c:
3424         (gst_net_client_clock_observe_times):
3425         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3426           Printf fixes.
3427
3428 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
3429
3430         * configure.ac:
3431         * docs/gst/gstreamer-sections.txt:
3432         * gst/gstconfig.h.in:
3433         * gst/gstelement.h:
3434         * gst/gstinfo.h:
3435           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
3436           whether we can use G_GNUC_PRINTF in other header files and at
3437           least check the printf format/arguments of debug messages and
3438           GST_ELEMENT_ERROR messages when the printf extension is not
3439           being used.
3440           Replace more tabs with spaces in gstinfo.h and remove two spurious
3441           function declarations in GST_DISABLE_DEBUG part with macros.
3442
3443 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
3444
3445         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
3446           More docs for the sync-message signal (mention that it is not
3447           emitted by default); log message structures of messages posted on
3448           the bus as well.
3449
3450 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
3451
3452         * gst/gst.c: (ensure_current_registry_forking):
3453         Use a pipe pair to receive status results from the forked child, and
3454         ignore the result from waitpid. Fixes #355499
3455
3456 2006-10-02  Wim Taymans  <wim@fluendo.com>
3457
3458         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3459         (gst_ghost_pad_suite):
3460         Fix leak in check.
3461
3462 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
3463
3464         * gst/gstpad.c:
3465           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
3466
3467 2006-10-02  Edward Hervey  <edward@fluendo.com>
3468
3469         * docs/design/part-block.txt:
3470         Further explain the use of flushing on blocked pads.
3471         * docs/gst/gstreamer-sections.txt:
3472         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
3473         (gst_pad_push_event):
3474         * gst/gstpad.h:
3475         Added new GstPadFlag : GST_PAD_BLOCKING.
3476         Adds the notion of pads really blocking, which enables to properly
3477         handle FLUSH_START/FLUSH_STOP events on blocked pads.
3478         Fixes #358999
3479         API: gst_pad_is_blocking()
3480         API: GST_PAD_IS_BLOCKING() macro
3481         API: GST_PAD_BLOCKING GstPadFlag
3482         
3483 2006-10-02  Wim Taymans  <wim@fluendo.com>
3484
3485         Patch by: mrcgran <mrc.gran at gmail dot com>
3486
3487         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
3488         Filter the proxied caps against the padtemplate if we have one.
3489
3490         * gst/gstquery.c: (gst_query_new_segment):
3491         Add include for gstinfo.h so that compilation with
3492         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
3493
3494 2006-10-02  Wim Taymans  <wim@fluendo.com>
3495
3496         Patch by: Alessandro Decina  <alessandro at nnva org>
3497
3498         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
3499         (gst_file_sink_set_location), (gst_file_sink_open_file),
3500         (gst_file_sink_close_file), (gst_file_sink_event),
3501         (gst_file_sink_render):
3502         Set file to NULL when closing filesink so that we can set a new filename
3503         in READY. Fixes #358613.
3504
3505 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
3506
3507         Patch by: Alessandro Decina  <alessandro at nnva org>
3508
3509         * gst/gstevent.c: (_gst_event_copy):
3510           Fix gst_mini_object_make_writable() and gst_event_copy() for events
3511           with event structures by setting the parent refcount address of the
3512           copied structure to the address of the refcount member of the newly
3513           copied event rather than the address of the refcount member of the
3514           original event. Fixes #358737.
3515
3516         * tests/check/gst/gstevent.c: (GST_START_TEST):
3517           Unit test for the above.
3518
3519 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
3520
3521         * docs/design/Makefile.am:
3522           Dist some more files.
3523
3524 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
3525
3526         * tests/check/libs/controller.c: (GST_START_TEST),
3527         (gst_controller_suite):
3528           Add test for the previous fix; add some more tests
3529           for correct refcounting behaviour; fix a few leaks
3530           in test cases; call gst_controller_init() at start
3531           of all tests.
3532
3533 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
3534
3535         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3536         (gst_controller_set_from_list):
3537           Don't g_return_val_if_fail() on timed values with invalid timestamps
3538           inside a critical section without unlocking the mutex. Spotted by
3539           René Stadler. (#357617)
3540           Also, fix up refcounting properly: when returning an existing
3541           controller, we should increase the reference only once and not
3542           once per property and when trying to control a property again
3543           we should also increase the refcount.
3544
3545 2006-09-29  Wim Taymans  <wim@fluendo.com>
3546
3547         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3548         * libs/gst/net/gstnettimeprovider.c:
3549         (gst_net_time_provider_thread):
3550         Stop reading commands when EOF as well.
3551
3552         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3553         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3554         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3555         Unify description of the dump property.
3556
3557 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3558
3559         * tests/examples/manual/.cvsignore:
3560         OK, so it's actually cvsignore that needs changing. Stop laughing.
3561
3562 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3563
3564         * tests/examples/manual/Makefile.am:
3565         Gah, declare vars *before* using them
3566
3567 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3568
3569         * gst/gst.c: (init_pre), (scan_and_update_registry),
3570         (ensure_current_registry_nonforking),
3571         (ensure_current_registry_forking), (ensure_current_registry),
3572         (init_post), (gst_debug_help), (gst_deinit):
3573         * gst/gst_private.h:
3574         * gst/gstregistry.c: (gst_registry_finalize),
3575         (gst_registry_remove_features_for_plugin_unlocked),
3576         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3577         (gst_registry_scan_path),
3578         (_priv_gst_registry_remove_cache_plugins),
3579         (_priv_gst_registry_cleanup):
3580         * gst/gstregistry.h:
3581         Re-commit the registry changes, along with an extra fix:
3582           When a cached plugin is encountered at a different file path,
3583           update the stored path in the registry cache so that the parent
3584           process knows where it actually is now when it re-reads the registry
3585           cache. Fixes the thing that broke distcheck with the previous commit.
3586
3587         * tests/check/Makefile.am:
3588         Clean up files named 'core' too when running make clean.
3589
3590         * tests/examples/manual/Makefile.am:
3591         Set up a registry path for running these tests, and clean it properly
3592         for distcheck.
3593
3594 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3595
3596         * configure.ac:
3597         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
3598         want gmodule-no-export-2.0.pc instead so that we don't drag in
3599         --export-dynamic on every project that links to GStreamer.
3600
3601         Also, make our export regex only match the start of symbols, rather 
3602         than any symbol that contains '_gst' somewhere.
3603
3604         * libs/gst/check/Makefile.am:
3605         The libgstcheck we build does however need export-dynamic, as it
3606         produces some symbols that don't match our _gst... style regex.
3607         Fixes: #318031
3608
3609 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
3610
3611         * gst/gst.c: (init_pre), (scan_and_update_registry),
3612         (ensure_current_registry_nonforking),
3613         (ensure_current_registry_forking), (ensure_current_registry),
3614         (init_post), (gst_debug_help), (gst_deinit):
3615         * gst/gst_private.h:
3616         * gst/gstregistry.c: (gst_registry_finalize),
3617         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3618         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
3619         (_gst_registry_cleanup):
3620         * gst/gstregistry.h:
3621           Revert previous change until I figure out why it breaks distcheck.
3622
3623 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
3624
3625         * gst/gst.c: (init_pre), (scan_and_update_registry),
3626         (ensure_current_registry_nonforking),
3627         (ensure_current_registry_forking), (ensure_current_registry),
3628         (init_post), (gst_debug_help), (gst_deinit):
3629
3630           Make init_pre and init_post take the full complement of GOptionFunc
3631           args so they can return useful GErrors. Make the registry updating
3632           functions do so.
3633
3634           Call _priv_gst_registry_remove_cache_plugins after scanning files to
3635           ensure that the registry we're about to write out doesn't contain
3636           stale information about old-deleted plugin files.
3637
3638           Make _priv_gst_registry_remove_cache_plugins return a boolean so
3639           that deletion of plugin files is considered a registry change.
3640
3641         * gst/gst_private.h:
3642         * gst/gstregistry.c: (gst_registry_finalize),
3643         (gst_registry_remove_features_for_plugin_unlocked),
3644         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3645         (gst_registry_scan_path),
3646         (_priv_gst_registry_remove_cache_plugins),
3647         (_priv_gst_registry_cleanup):
3648         * gst/gstregistry.h:
3649         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
3650         by adding _priv prefix, so that they won't appear in the global
3651         symbol table. They still do atm though because of #318031. Move the
3652         prototypes to gst_private.h
3653
3654         When removing a plugin, remove all features for that plugin too. 
3655         Fixes #340878.
3656
3657 2006-09-27  Wim Taymans  <wim@fluendo.com>
3658
3659         * docs/random/moving-plugins:
3660         Make it clear that the "compiled-in descriptions" really mean
3661         the element details.
3662
3663         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3664         (gst_base_sink_wait_preroll):
3665         Update docs.
3666
3667         * docs/libs/gstreamer-libs-sections.txt:
3668         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
3669         (gst_base_src_get_range), (gst_base_src_activate_push):
3670         * libs/gst/base/gstbasesrc.h:
3671         Added function to block while waiting for PLAYING, this function
3672         is used by live sources that block on the clock.
3673         API: gst_base_src_wait_playing()
3674
3675 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3676
3677         Patch by: Peter Kjellerstedt <pkj at axis com>
3678
3679         * Makefile.am:
3680           gst-element-check.m4 is generated and should therefore be
3681           copied from the build dir rather than the source dir (#357593).
3682           'make distcheck' hasn't noticed this because we were disting
3683           the file as well, so stop doing that.
3684
3685 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3686
3687         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3688           Add some tests for gst_caps_intersect().
3689
3690         * tools/gst-launch.c: (event_loop):
3691           Print all buffering percentages we get, even the 100% one.
3692
3693 2006-09-26  Wim Taymans  <wim@fluendo.com>
3694
3695         * tools/gst-inspect.c: (print_element_properties_info),
3696         (print_signal_info):
3697         Fix printing of flags to match the look of enums.
3698
3699 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3700
3701         * gst/gstelementfactory.c:
3702           Fix typo in docs blurb.
3703
3704 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3705
3706         * gst/gsturi.c: (search_by_entry):
3707           Don't assert/crash here if a uri handler doesn't return any
3708           supported protocols. The list of protocols could be generated
3709           dynamically at runtime or at plugin registration, and an error
3710           in the underlying library shouldn't be fatal (#353301).
3711
3712 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3713
3714         * gst/gstinfo.c:
3715           Fix warning if HAVE_PRINTF_EXTENSION is undefined
3716           (spotted by Peter Kjellerstedt).
3717
3718 2006-09-23  Wim Taymans  <wim@fluendo.com>
3719
3720         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
3721
3722         * libs/gst/base/gstbasesrc.c:
3723         (gst_base_src_default_check_get_range), (gst_base_src_start),
3724         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3725         (gst_base_src_change_state):
3726         Match _start/_stop calls in the activate functions. Remove redundant
3727         _stop call from the state change function. Fixes #356910.
3728         Turn failure DEBUG into ERROR. 
3729
3730 2006-09-22  Wim Taymans  <wim@fluendo.com>
3731
3732         * docs/design/part-buffering.txt:
3733         * gst/gstmessage.c: (gst_message_new_buffering),
3734         (gst_message_parse_buffering):
3735         Update docs about buffering.
3736
3737         * docs/design/part-trickmodes.txt:
3738         Fix typo.
3739
3740 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
3741
3742         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3743         (gst_controller_new_list):
3744           Ref instances when returning them again (fixes #357180)
3745
3746 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
3747
3748         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
3749           Don't forget to release proxy lock when there's an error.
3750
3751 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
3752
3753         * gst/gstcaps.h:
3754           Add extra initialisers for Caps things, to fix some plugin warnings
3755           when using -Wextra
3756
3757 2006-09-18  Wim Taymans  <wim@fluendo.com>
3758
3759         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
3760           Also set template on the internal pad so that a getcaps from the 
3761           target pad returns the template caps.
3762
3763 2006-09-18  Wim Taymans  <wim@fluendo.com>
3764
3765         * gst/gstelement.c: (gst_element_post_message),
3766         (gst_element_dispose):
3767         Use _DEBUG_OBJECT some more.
3768
3769         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3770         Avoid typechecks.
3771
3772         * tools/gst-launch.c: (main):
3773         If the toplevel element is not a GstPipeline, it must be put in a
3774         pipeline so that a bus and clock is selected.
3775
3776 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
3777
3778         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3779           JITTER, RATE, and LATENCY query should be handled by the
3780           default case and not by the CONVERT query code.
3781
3782 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
3783
3784         * gst/gstformat.c: (gst_format_register):
3785           Fix locking order (must take lock before using n_values).
3786
3787         * gst/gstvalue.c: (gst_value_serialize_enum),
3788         (gst_value_deserialize_enum_iter_cmp),
3789         (gst_value_deserialize_enum):
3790           Fix serialisation/deserialisation of custom registered GstFormats.
3791
3792         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3793           Unit test for custom format serialisation/deserialisation.
3794
3795 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
3796
3797         * docs/pwg/building-boiler.xml:
3798         * plugins/elements/gstcapsfilter.c:
3799         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
3800         section.
3801
3802 2006-09-16  Edward Hervey  <edward@fluendo.com>
3803
3804         * libs/gst/base/gstbasetransform.c:
3805         (gst_base_transform_buffer_alloc):
3806         Check if requested caps are the same as the sinks caps IF
3807         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
3808         is FALSE.
3809         This fixes the renegotiation issues stated in #352827.
3810
3811 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3812
3813         * configure.ac:
3814         * docs/manual/advanced-autoplugging.xml:
3815         * tests/examples/Makefile.am:
3816         * tests/examples/manual/.cvsignore:
3817         * tests/examples/manual/Makefile.am:
3818         * tests/examples/manual/extract.pl:
3819           Extract the manual examples again like we used to do.
3820           Fix one of them.
3821
3822 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3823
3824         * win32/common/config.h:
3825           update for version
3826
3827 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
3828
3829         * gst/gsterror.c:
3830           Documents how to receive errors.
3831
3832 2006-09-15  Wim Taymans  <wim@fluendo.com>
3833
3834         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
3835         (event_loop), (main):
3836         Added some comments here and there.
3837         Post an application message when an interrupt is caught instead of doing
3838         an uncontrolled state change.
3839         Clean up the event loop.
3840         Handle buffering messages, pause/resume the pipeline.
3841         Make shutdown because of an interrupt more reliable.
3842
3843 2006-09-15  Wim Taymans  <wim@fluendo.com>
3844
3845         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3846         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
3847         (gst_base_sink_preroll_object):
3848         Make sure that our internal state is correct when we commit our state
3849         asynchronously. This solves a race where a state change to PLAYING
3850         could cause the sink to remain blocked in preroll in some situations.
3851
3852 2006-09-15  Wim Taymans  <wim@fluendo.com>
3853
3854         * tools/gst-inspect.c: (print_element_properties_info),
3855         (print_signal_info):
3856         List flags as hex so it's easier to deal with.
3857
3858 2006-09-15  Wim Taymans  <wim@fluendo.com>
3859
3860         * docs/libs/gstreamer-libs-sections.txt:
3861         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
3862         (gst_base_sink_do_sync):
3863         * libs/gst/base/gstbasesink.h:
3864         Expose logic to wait for preroll so that subclasses such as audiosink
3865         can also use this method.
3866         API: gst_base_sink_wait_preroll()
3867
3868 2006-09-15  Wim Taymans  <wim@fluendo.com>
3869
3870         * gst/gstobject.c: (gst_object_set_parent):
3871         * gst/gstpipeline.c: (do_pipeline_seek):
3872         Small cleanups in docs and code.
3873
3874         * gst/gstsegment.c: (gst_segment_clip):
3875         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3876         if stop == start and start is in the segment, no clipping should be
3877         done. Also add a test for this.
3878
3879 2006-09-15  Wim Taymans  <wim@fluendo.com>
3880
3881         * docs/design/part-buffering.txt:
3882         * docs/gst/gstreamer-sections.txt:
3883         * gst/gstmessage.c: (gst_message_new_buffering),
3884         (gst_message_parse_buffering):
3885         * gst/gstmessage.h:
3886         Added methods to create and parse BUFFERING messages.
3887         Added preliminary docs about buffering.
3888         API: gst_message_new_buffering
3889         API: gst_message_parse_buffering
3890
3891 2006-09-06  Wim Taymans  <wim@fluendo.com>
3892
3893         * gst/gstbin.c:
3894         Update documentation.
3895
3896         * gst/gstelement.c: (gst_element_class_init),
3897         (gst_element_release_request_pad), (gst_element_set_clock),
3898         (gst_element_get_index), (gst_element_add_pad),
3899         (gst_element_remove_pad), (gst_element_get_random_pad),
3900         (gst_element_send_event), (gst_element_get_query_types),
3901         (gst_element_query), (gst_element_post_message),
3902         (gst_element_message_full), (gst_element_continue_state),
3903         (gst_element_lost_state), (gst_element_save_thyself),
3904         (gst_element_restore_thyself):
3905         Documentation updates.
3906         Rename last bit of the new-pad -> pad-added signal rename.
3907         Fix the case where an element query would only work if the source
3908         pad was linked.
3909         Avoid some useless type checking in message handling.
3910
3911         * gst/gstevent.c:
3912         * gst/gstevent.h:
3913         * gst/gstutils.c:
3914         Documentation updates.
3915
3916 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3917
3918         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3919           add an INFO line for when we actually update the fd
3920
3921 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3922
3923         * configure.ac:
3924           back to TRUNK
3925
3926 === release 0.10.10 ===
3927
3928 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
3929
3930         * configure.ac:
3931           releasing 0.10.10, "Pais"
3932
3933 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
3934
3935         * docs/manual/advanced-position.xml:
3936           Fix typo in sample code.
3937
3938 2006-09-05  Wim Taymans  <wim@fluendo.com>
3939
3940         * libs/gst/net/gstnetclientclock.c: (inet_aton),
3941         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
3942         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
3943         * libs/gst/net/gstnetclientclock.h:
3944         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3945         * libs/gst/net/gstnettimepacket.h:
3946         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
3947         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
3948         (gst_net_time_provider_thread), (gst_net_time_provider_new):
3949         * libs/gst/net/gstnettimeprovider.h:
3950         Make stuff compile on windows. Fixes #345295.
3951
3952 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3953
3954         * gst/gst.c: (ensure_current_registry_forking):
3955           Print better details when child was terminated by signal.
3956
3957 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3958
3959         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
3960           Print a warning rather than g_assert() if a plugin feature
3961           is a URI handler but returns no protocols (#353976).
3962
3963 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
3964
3965         * docs/random/moving-plugins:
3966         Fix two typos.         
3967
3968 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
3969
3970         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
3971           Fix locking order, handle NULL function values properly.
3972
3973         * gst/gstinfo.h:
3974           Fix docs.
3975
3976         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
3977           Initialise variable before using it and fix debug statement to
3978           print the address of the function rather than the address of the
3979           variable on the stack holding the address of the function.
3980
3981 2006-09-01  Wim Taymans  <wim@fluendo.com>
3982
3983         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
3984         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
3985         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
3986         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
3987         (gst_ghost_pad_parent_unset),
3988         (gst_ghost_pad_internal_do_activate_push),
3989         (gst_ghost_pad_internal_do_activate_pull),
3990         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3991         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3992         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3993         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
3994         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
3995         (gst_ghost_pad_new_no_target_from_template),
3996         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
3997         More cleanups.
3998         Avoid needless typechecking in macros.
3999         Since the internal pad is always present and never changes, there is
4000         no need to locking or ref when retrieving it.
4001         Improve debugging a bit.
4002         Handle link errors when setting the target. Fixes #341029.
4003
4004 2006-09-01  Wim Taymans  <wim@fluendo.com>
4005
4006         * docs/libs/gstreamer-libs-sections.txt:
4007         * docs/plugins/gstreamer-plugins-sections.txt:
4008         Fix docs some more.
4009
4010         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
4011         (gst_collect_pads_event):
4012         * libs/gst/base/gstcollectpads.h:
4013         Documentation updates.
4014         Free queued buffer when removing a pad.
4015
4016 2006-08-31  Michael Smith  <msmith@fluendo.com>
4017
4018         * gst/gstutils.c: (gst_element_link_pads),
4019         (gst_element_link_pads_filtered):
4020           Ensure that we set a capsfilter to NULL if we failed to link it
4021           when doing filtered linking, to avoid criticals.
4022
4023           No need to check for unreffing srcpad, which is explicly NULLed
4024           above (a trivial code cleanup).
4025
4026 2006-08-31  Wim Taymans  <wim@fluendo.com>
4027
4028         * docs/design/part-gstghostpad.txt:
4029         Update ascii art in documentation.
4030
4031         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
4032         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
4033         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
4034         (gst_ghost_pad_internal_do_activate_push),
4035         (gst_ghost_pad_internal_do_activate_pull),
4036         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4037         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
4038         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
4039         (gst_ghost_pad_set_target):
4040         Small cleanups and leak fixes.
4041         Remove some checks now that the internal pad is never NULL.
4042         Fix the case where linking pads without a target would create nasty
4043         criticals. Fixes #341029.
4044         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
4045         value of _set_target().
4046
4047         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
4048         (gst_ghost_pad_suite):
4049         Some more tests for creating and linking untargeted ghostpads.
4050
4051 2006-08-31  Edward Hervey  <edward@fluendo.com>
4052
4053         * docs/gst/gstreamer-sections.txt:
4054         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
4055         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
4056         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
4057         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
4058         (gst_ghost_pad_new_from_template),
4059         (gst_ghost_pad_new_no_target_from_template):
4060         * gst/gstghostpad.h:
4061         Refactored *_new() functions.
4062         Templates are now used as a g_object_new() parameter.
4063         Use template in _do_getcaps() if we don't have a target.
4064         Small documentation cleanups.
4065         Added two new constructors:
4066         gst_ghost_pad_new_from_template()
4067         gst_ghost_pad_new_no_target_from_template()
4068         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
4069         (gst_ghost_pad_suite):
4070         Added tests for new ghostpad instanciation functions.
4071
4072         API additions: gst_ghost_pad_new_from_template,
4073         gst_ghost_pad_new_no_target_from_template
4074
4075 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
4076
4077         * docs/random/ensonic/profiling.txt:
4078           Ideas about qos profiling.
4079
4080 2006-08-29  Wim Taymans  <wim@fluendo.com>
4081
4082         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
4083         Code cleanups.
4084         Fix memleak.
4085
4086 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
4087
4088         * gst/gstxml.c:
4089           Improve and detypofy docs.
4090
4091         * tests/check/Makefile.am:
4092         * tests/check/gst/.cvsignore:
4093         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
4094           Add a basic test suite for GstXML.
4095
4096 2006-08-29  Wim Taymans  <wim@fluendo.com>
4097
4098         * gst/gstelement.c: (activate_pads), (clear_caps),
4099         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
4100         Clear the pad caps when the element shut down all of the pads and
4101         is not streaming data that could modify the caps. 
4102         Fixes #352958.
4103
4104 2006-08-28  Michael Smith  <msmith@fluendo.com>
4105
4106         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4107           Revert previous change; I misunderstood single-segment mode.
4108
4109 2006-08-28  Michael Smith  <msmith@fluendo.com>
4110
4111         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4112           Unset DISCONT on buffers when using single-segment mode.
4113
4114 2006-08-28  Wim Taymans  <wim@fluendo.com>
4115
4116         * gst/gstcaps.c: (gst_caps_merge_structure):
4117         * gst/gstcaps.h:
4118         Fix docs and indentation again.
4119
4120         * tests/check/gst/gstquery.c: (GST_START_TEST):
4121         Fix leak in tests and add some more tests.
4122
4123 2006-08-28  Edward Hervey  <edward@fluendo.com>
4124
4125         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4126         Inform GstSegment of the last stop position in order for the current
4127         segment to have a proper duration if it doesn't have a specific stop
4128         position from which a duration could be calculated.
4129         This bug was noticeable when a non-flushing, non-update new segment was
4130         followed by another segment (all buffers from the new segment were being
4131         dropped).
4132
4133 2006-08-28  Wim Taymans  <wim@fluendo.com>
4134
4135         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
4136         Small comment update.
4137
4138         * plugins/elements/gstidentity.c: (gst_identity_class_init),
4139         (gst_identity_transform_ip):
4140         Drop-probability is broken, mention this in the code with a 
4141         FIXME and also in the property description.
4142         Make silent also be silent about the drop messages.
4143
4144 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
4145
4146         * docs/manual/appendix-win32.xml:
4147           Remove mention of popt, we don't depend on that any
4148           longer (#353136). Add some comments pointing out that
4149           this section is slightly outdated.
4150
4151 2006-08-28  Wim Taymans  <wim@fluendo.com>
4152
4153         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
4154
4155         * gst/gstquery.c: (gst_query_new_segment):
4156         * tests/check/gst/gstquery.c: (GST_START_TEST):
4157         Initialize variables when creating a new segment query.
4158         Fixes #353121.
4159
4160 2006-08-28  Wim Taymans  <wim@fluendo.com>
4161
4162         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
4163
4164         * gst/gstelement.c: (gst_element_get_bus):
4165         * tests/check/gst/gstelement.c: (GST_START_TEST):
4166         Check for NULL before _reffing the bus. Fixes #353122.
4167
4168 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
4169
4170         * docs/manual/basics-bus.xml:
4171           Docs update: fix wrong callback return value explanation; add
4172           some lines about the implicit relationship between main loop
4173           and main context; remove duplicate main loop variable declaration.
4174
4175 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
4176
4177         * tests/check/gst/gstcaps.c: (GST_START_TEST):
4178           Don't leak caps in unit test; add a few more simple
4179           checks. 
4180
4181 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
4182
4183         * docs/gst/gstreamer-sections.txt:
4184         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
4185         (gst_caps_structure_is_subset), (gst_caps_merge),
4186         (gst_caps_merge_structure):
4187         * gst/gstcaps.h:
4188         * libs/gst/base/gstbasetransform.c:
4189         (gst_base_transform_transform_caps):
4190         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
4191           implement caps merging (fixes #352580)
4192
4193 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
4194
4195         * tools/Makefile.am:
4196         * tools/gst-plot-timeline.py:
4197           add debug-log plotting developer tool (#340674)
4198
4199 2006-08-23  Wim Taymans  <wim@fluendo.com>
4200
4201         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
4202         (gst_pad_stop_task):
4203         Improve debugging for task functions.
4204
4205         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
4206         (gst_task_start), (gst_task_pause), (gst_task_join):
4207         Make sure that the task function started and finished after a 
4208         join(). 
4209         Don't try to push the task function on the threadpool multiple
4210         times.
4211         Improve the g_warning message with some useful suggestions
4212         about how to fix the problem. 
4213
4214 2006-08-23  Wim Taymans  <wim@fluendo.com>
4215
4216         * gst/gstutils.c: (gst_pad_proxy_getcaps):
4217         Handle RESYNC correctly in _proxy_getcaps.
4218
4219 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
4220
4221         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
4222         (gst_xml_parse_memory), (gst_xml_get_element):
4223           Chain up to parent class in dispose function and also
4224           unref the elements in the toplevel_elements GList.
4225           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
4226           Always return a reference in gst_xml_get_element() rather
4227           than only sometimes.
4228
4229         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
4230           Don't leak GstXml object.
4231
4232 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
4233
4234         * docs/gst/gstreamer-sections.txt:
4235         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
4236         (gst_caps_merge):
4237         * gst/gstcaps.h:
4238         * libs/gst/base/gstbasetransform.c:
4239         (gst_base_transform_transform_caps):
4240           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
4241           in a better way
4242
4243 2006-08-21  Edward Hervey  <edward@fluendo.com>
4244
4245         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
4246         Implement GObject::dispose virtual method in GstXML so we can free the
4247         top_elements GList.
4248
4249 2006-08-21  Wim Taymans  <wim@fluendo.com>
4250
4251         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
4252         (gst_buffer_create_sub):
4253         Copy duration/offset_end/caps when creating a subbuffer of the
4254         complete parent.
4255         Make the subbuffer read-only when we make the metadata writable for
4256         now. Fixes #351768.
4257
4258         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
4259         Added check for metadata copy when creating subbuffers.
4260
4261 2006-08-21  Edward Hervey  <edward@fluendo.com>
4262
4263         * libs/gst/base/gstbasetransform.c:
4264         (gst_base_transform_buffer_alloc):
4265         Only call downstream buffer_alloc if transform element is passthrough
4266         or always_in_place. Closes #350449.
4267
4268 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
4269
4270         * ChangeLog:
4271           ChangeLog surgery to add comments to previous changes
4272
4273 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
4274
4275         * gst/gst.c:
4276           Add comments
4277
4278         * gst/gstpad.c: (gst_pad_set_active):
4279           Be more verbose in the log
4280
4281         * libs/gst/base/gstbasetransform.c:
4282         (gst_base_transform_transform_caps):
4283           Simplify caps to get rid of duplicates, fixes #345444
4284
4285 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
4286
4287         * gst/gstvalue.c:
4288         * gst/gstvalue.h:
4289           Use these optimizations only internally.
4290
4291 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
4292
4293         * gst/gstvalue.c: (gst_value_compare_list),
4294         (gst_value_compare_fraction_range),
4295         (gst_value_intersect_fraction_fraction_range),
4296         (gst_value_intersect_fraction_range_fraction_range),
4297         (gst_value_subtract_fraction_fraction_range),
4298         (gst_value_subtract_fraction_range_fraction_range),
4299         (gst_value_get_compare_func), (gst_value_compare),
4300         (gst_value_compare_with_func):
4301         * gst/gstvalue.h:
4302           Saves the expensive lookup of the compare function in many cases
4303          (#345444)
4304
4305 2006-08-18  Edward Hervey  <edward@fluendo.com>
4306
4307         * tests/check/gst/gstinfo.c: (gst_info_suite):
4308         Disable test that require gstdebug if it wasn't built in core.
4309
4310 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
4311
4312         * docs/random/ensonic/logging.txt:
4313           update ideas
4314           
4315         * gst/gstinfo.c: (gst_debug_log_default):
4316           reorder fields, save some columns, add optional color codes for log
4317           levels
4318
4319 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
4320
4321         * docs/random/ensonic/logging.txt:
4322           add ideas about making the logs a bit more useful
4323
4324 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
4325
4326         * docs/pwg/advanced-events.xml:
4327         * docs/pwg/titlepage.xml:
4328           Update for 0.10 API (#340627). Add myself
4329           to authors list.
4330
4331 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
4332
4333         * docs/libs/gstreamer-libs-docs.sgml:
4334         * docs/libs/gstreamer-libs-sections.txt:
4335         * libs/gst/check/gstbufferstraw.c:
4336           Make gstcheck stuff show up in docs (still needs to
4337           be documented properly though).
4338
4339 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
4340
4341         * docs/gst/gstreamer-sections.txt:
4342         * gst/Makefile.am:
4343         * gst/gst.c: (init_post):
4344         * gst/gst_private.h:
4345         * gst/gstquark.c: (_priv_gst_quarks_initialize):
4346         * gst/gstquark.h:
4347         * gst/gstquery.c: (gst_query_new_position),
4348         (gst_query_set_position), (gst_query_parse_position),
4349         (gst_query_new_duration), (gst_query_set_duration),
4350         (gst_query_parse_duration), (gst_query_new_convert),
4351         (gst_query_set_convert), (gst_query_parse_convert),
4352         (gst_query_new_segment), (gst_query_set_segment),
4353         (gst_query_parse_segment), (gst_query_new_seeking),
4354         (gst_query_set_seeking), (gst_query_parse_seeking):
4355         Add internal helpers for pre-registering quarks from static strings
4356         and using the quark values directly instead of looking them up when
4357         creating and parsing queries. Can be used for event construction too.
4358         Closes #350432.
4359
4360 2006-08-16  Wim Taymans  <wim@fluendo.com>
4361
4362         * gst/gstbin.c:
4363         Fix bogus docs.
4364
4365 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4366
4367         * gst/gstutils.c: (gst_util_set_value_from_string):
4368           Fix memleak (#351502).
4369
4370         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4371           Add unit test for most of gst_util_set_value_from_string()
4372           (not that one would want to encourage use of this function).
4373
4374 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4375
4376         * libs/gst/check/gstcheck.h:
4377           Use const gchar * variables in fail_unless_equals_string
4378           macro to avoid compiler warnings (and don't use tabs for
4379           indenting).
4380
4381 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4382
4383         * tools/gst-launch.c: (print_tag):
4384           More space on the left for the tag names, to cater
4385           for the 'extended comment' tag (not touching the
4386           string for the first line since it's translated).
4387
4388 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4389
4390         * libs/gst/check/gstcheck.h:
4391           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
4392           print something when they fail.
4393
4394 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
4395
4396         * docs/gst/gstreamer-sections.txt:
4397         * gst/gsttaglist.c: (_gst_tag_initialize):
4398         * gst/gsttaglist.h:
4399           API: add GST_TAG_EXTENDED_COMMENT (#350935).
4400           Also change merge function for GST_TAG_COMMENT to
4401           use_first.
4402
4403 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
4404
4405         * gst/gstinfo.c: (gst_debug_print_object):
4406           Make GST_PTR_FORMAT print messages as well.
4407
4408         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
4409         (GST_START_TEST), (gst_info_suite):
4410           More tests.
4411
4412 2006-08-14  Edward Hervey  <edward@fluendo.com>
4413
4414         * gst/gstelementfactory.c: (gst_element_register):
4415         If the GstElementClass doesn't have a GstElementDetails with all fields
4416         filled up correctly (longname, description AND author), then error out
4417         nicely instead of crashing.
4418
4419 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
4420
4421         * gst/gststructure.c:
4422           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
4423
4424         * gst/gstvalue.h:
4425           Expand on the difference between arrays and lists as we use them.
4426           
4427 2006-08-14  Wim Taymans  <wim@fluendo.com>
4428
4429         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
4430         If the parent state change function failed, don't assume we can safely
4431         stop the source, this will be done when the pads are deactivated.
4432
4433 2006-08-14  Wim Taymans  <wim@fluendo.com>
4434
4435         * gst/gstbuffer.c:
4436         * gst/gsttask.c: (gst_task_join):
4437         Small doc updates.
4438
4439         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
4440         (gst_pad_stop_task):
4441         When pad (de)activation failed for some reason, restore the old
4442         activation mode and set the pad to flushing instead of assuming the
4443         pad is deactivated.
4444         If the _task_join() failed, reinstall the task on the pad so that it can
4445         be stopped later and return an error.
4446
4447 2006-08-11  Andy Wingo  <wingo@pobox.com>
4448
4449         * configure.ac:
4450         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
4451         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
4452         is only for users of API that don't want to see deprecated
4453         functions in the headers; people that want to compile out
4454         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
4455         CFLAGS. Fixes the build of multifdsink, or will soon..
4456
4457 2006-08-11  Wim Taymans  <wim@fluendo.com>
4458
4459         * docs/gst/gstreamer-sections.txt:
4460         Add GstClockClass vmethod docs.
4461
4462         * gst/gstcaps.h:
4463         Mark #endif with comment for associated #if
4464
4465         * gst/gstclock.c: (gst_clock_id_wait):
4466         * gst/gstclock.h:
4467         Add vmethod wait_jitter to avoid an unneeded _get_time() for
4468         most clock implementations.
4469         Document vmethods.
4470         Flesh out docs about resolution methods.
4471         API: GstClockClass::wait_jitter
4472
4473         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4474         (gst_system_clock_async_thread),
4475         (gst_system_clock_id_wait_jitter_unlocked),
4476         (gst_system_clock_id_wait_jitter):
4477         Use base class wait_jitter variant for improved performance
4478         due to less clock polling.
4479
4480 2006-08-11  Edward Hervey  <edward@fluendo.com>
4481
4482         * gst/gst.c: (gst_init_check), (init_post):
4483         Set gst as being initialized before scanning/updating the registry,
4484         since there might be my python plugin loader that calls gst_init() and
4485         we don't want to loop back in.
4486         Closes #350879
4487
4488 2006-08-11  Wim Taymans  <wim@fluendo.com>
4489
4490         * docs/design/part-qos.txt:
4491         Bring docs in line with the code. Mostly the sign of the jitter was
4492         wrong in the docs. Fixes #349943.
4493
4494         * gst/gstclock.c:
4495         Fix the docs for the jitter.
4496
4497         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
4498         (gst_event_parse_tag), (gst_event_new_buffer_size),
4499         (gst_event_parse_buffer_size), (gst_event_parse_qos),
4500         (gst_event_new_seek), (gst_event_parse_seek),
4501         (gst_event_new_navigation):
4502         Make sure the GstStructure has no parent when creating custom
4503         events.
4504         Add some more argument checking so that we avoid 0.0 rates.
4505         Flesh out the docs for the QoS event some more.
4506
4507 2006-08-11  Wim Taymans  <wim@fluendo.com>
4508
4509         * docs/gst/gstreamer-sections.txt:
4510         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4511         (ensure_current_registry_forking), (ensure_current_registry),
4512         (parse_one_option), (parse_goption_arg), (gst_deinit),
4513         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
4514         * gst/gst.h:
4515         Doc updates.
4516         Added API and command line option to disable registry forking in
4517         addition to the environment variable.
4518         Constify some static arrays.
4519         Added some more debug.
4520         Don't deinit twice.
4521         API: gst_registry_fork_is_enabled()
4522         API: gst_registry_fork_set_enabled()
4523         API: --gst-disable-registry-fork command line option
4524         Fixes #348918.
4525
4526 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
4527
4528         * gst/gst.c: (gst_init):
4529           Fix typo in error message.
4530
4531 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
4532
4533         * libs/gst/controller/gstcontroller.h:
4534           fix ABI size-correction
4535
4536         * tests/check/libs/gdp.c: (gst_dp_suite):
4537           make tests that use deprecated API conditional
4538
4539 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
4540
4541         * docs/libs/gstreamer-libs-sections.txt:
4542         * libs/gst/controller/gstcontroller.c:
4543         (_gst_controller_get_property), (_gst_controller_set_property),
4544         (_gst_controller_init), (_gst_controller_class_init):
4545         * libs/gst/controller/gstcontroller.h:
4546         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
4547         (gst_object_set_control_rate):
4548           API: add gst_object_{s,g}et_control_rate(), add private data section,
4549           fix docs
4550
4551         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
4552         * libs/gst/dataprotocol/dataprotocol.h:
4553           add deprecation guards to make gtk-doc happy and allow disabling cruft
4554
4555 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
4556
4557         * tests/check/Makefile.am:
4558         * tests/check/gst/.cvsignore:
4559           Let's enable the new unit test as well.
4560
4561 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
4562
4563         * configure.ac:
4564         * docs/gst/gstreamer-sections.txt:
4565         * gst/gstconfig.h.in:
4566         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
4567         (_gst_info_printf_extension_ptr),
4568         (_gst_info_printf_extension_segment):
4569           API: add GST_SEGMENT_FORMAT, which is a printf extension we
4570           register that lets us easily dump GstSegments into debug
4571           logs (#350419).
4572
4573         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
4574         (info_segment_format_printf_extension), (gst_info_suite):
4575           Add simple unit test that logs a bunch of different segments (not
4576           valgrinded at the moment because of leaks in
4577           gst_debug_add_log_function).
4578
4579 2006-08-09  Edward Hervey  <edward@fluendo.com>
4580
4581         * libs/gst/base/gstbasetransform.c:
4582         (gst_base_transform_buffer_alloc):
4583         Even if we can't figure out the proper format to request downstream,
4584         call buffer_alloc() downstream with the input parameters without setting
4585         the caps on the srcpad. This will force negotiation in the chain
4586         function.
4587         Closes #350449
4588
4589 2006-08-08  Edward Hervey  <edward@fluendo.com>
4590
4591         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4592         Unlinking from a pad without a target is now a perfectly valid case
4593         which should NOT raise an assertion.
4594         This case would happen if a linked ghostpad its target set to NULL after
4595         it was previously linked.
4596
4597 2006-08-08  Edward Hervey  <edward@fluendo.com>
4598
4599         * tests/check/libs/gdp.c:
4600         Also comment out the test (see below).
4601
4602 2006-08-08  Edward Hervey  <edward@fluendo.com>
4603
4604         * tests/check/libs/gdp.c: (gst_dp_suite):
4605         Use the architecture information from config.h and not gcc macros
4606         in order to properly disable a test that fails on PPC64.
4607
4608 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
4609
4610         * gst/gstelement.c: (gst_element_remove_pad):
4611           Don't crash printing the warning if the pad has no parent.
4612
4613 2006-08-02  Wim Taymans  <wim@fluendo.com>
4614
4615         * libs/gst/dataprotocol/dataprotocol.c:
4616         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
4617         (gst_dp_crc), (gst_dp_header_payload_length),
4618         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
4619         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
4620         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
4621         (gst_dp_event_from_packet), (gst_dp_validate_header),
4622         (gst_dp_validate_payload):
4623         Make debug category static
4624         Constify the crc table.
4625         Do some more arg checking in public functions.
4626         Fix some docs and do some small cleanups.
4627
4628         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
4629         Add some more checks to see if GDP deals with bogus input.
4630
4631 2006-07-31  Wim Taymans  <wim@fluendo.com>
4632
4633         * gst/gstvalue.c: (gst_value_compare_list):
4634         Fix GstValueList comparison code. Fixes #347293.
4635
4636         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4637         Check to test GstValueList comparison.
4638
4639 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
4640
4641         * gst/gstelementfactory.c: (gst_element_factory_create):
4642         Remove unnecessary ref/unref pair
4643
4644         * gst/parse/grammar.y:
4645         Make sure to free the parse buffer on all code paths.
4646         Move a g_free up to the error handler where it's easier to see.
4647
4648         * tests/check/gst/gstevent.c: (test_event):
4649         Extending timeout for downstream travelling events to 10 seconds to
4650         hopefully avoid intermittent failure on the buildbots.
4651
4652         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
4653         Don't manually set the state of the src element - it will happen as a
4654         natural consequence of the pipeline changing state, and that way it
4655         will do it in the right order too.
4656
4657 2006-07-31  Wim Taymans  <wim@fluendo.com>
4658
4659         * libs/gst/base/gstbasetransform.c:
4660         (gst_base_transform_buffer_alloc):
4661         Use OBJECT_LOCK and refcounting to get the pad caps in the
4662         buffer_alloc function because the caps could change while we are
4663         busy with them. Fixes #349105
4664
4665 2006-07-31  Wim Taymans  <wim@fluendo.com>
4666
4667         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
4668         Protect _PAD_CAPS with OBJECT_LOCK.
4669
4670 2006-07-31  Wim Taymans  <wim@fluendo.com>
4671
4672         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4673         (gst_pad_get_property), (gst_pad_activate_pull),
4674         (gst_pad_activate_push), (gst_pad_set_blocked_async),
4675         (gst_pad_set_activate_function),
4676         (gst_pad_set_activatepull_function),
4677         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
4678         (gst_pad_set_getrange_function),
4679         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
4680         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
4681         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
4682         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
4683         (gst_pad_set_acceptcaps_function),
4684         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4685         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
4686         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
4687         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
4688         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
4689         (gst_pad_configure_sink), (gst_pad_configure_src),
4690         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
4691         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
4692         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
4693         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
4694         (gst_pad_send_event):
4695         Use _DEBUG_OBJECT when it makes sense.
4696         Protect GST_PAD_CAPS with the OBJECT_LOCK.
4697         Small cleanups and code reflows.
4698         Avoid caps refcounting in _accept_caps.
4699         Refactor alloc_buffer so that the code performed on the peer is in a
4700         separate function. Also if the pad does not implement a buffer alloc
4701         function, we should still check if the pad is flushing before falling
4702         back to the default allocator.
4703
4704 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
4705
4706         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4707         Make all uses of identity and fakesink have silent=true to avoid
4708         serialising every passing data structure, which is breaking tests
4709         on FC4 for some unknown reason.
4710
4711 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
4712
4713         * gst/parse/Makefile.am:
4714         * gst/parse/grammar.y:
4715         * gst/parse/parse.l:
4716           Reverted previous patch as it required to bump the flex dependency to
4717           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
4718
4719 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
4720
4721         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
4722
4723         * gst/parse/Makefile.am:
4724         * gst/parse/grammar.y:
4725         * gst/parse/parse.l:
4726           push & pop the state of the lexer for reentrant use case
4727           Fixes #349180
4728
4729 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
4730
4731         * libs/gst/base/gstbasesrc.h:
4732           Note in the docs that the ::newsegment vfunc is not actually used by
4733           GstBaseSrc.
4734
4735 2006-07-28  Wim Taymans  <wim@fluendo.com>
4736
4737         * libs/gst/base/gstcollectpads.c:
4738         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
4739         (gst_collect_pads_clear), (gst_collect_pads_flush),
4740         (gst_collect_pads_event), (gst_collect_pads_chain):
4741         When flushing a pad, also clear the queued buffer so that we don't
4742         accidentally use it when we shouldn't.
4743         Fix leaks by inreffing incomming buffer.
4744         Flush out queued buffers in case of errors.
4745         Fixes #347452.
4746
4747 2006-07-28  Wim Taymans  <wim@fluendo.com>
4748
4749         * docs/random/phonon-gst:
4750         Random notes about a Phonon backend.
4751
4752 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
4753
4754         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
4755         Extra debug output
4756         * tests/check/libs/gdp.c: (gst_dp_suite):
4757         Take a whack at fixing the ppc compile using a different define to
4758         disable the broken test.
4759
4760         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4761         Remove excess g_print()
4762
4763 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
4764
4765         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
4766         Oops, meant to uncomment this line too to dampen the noise a bit.
4767
4768 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
4769
4770         * gst/parse/grammar.y:
4771         * gst/parse/parse.l:
4772         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4773         (GST_START_TEST), (parse_suite):
4774         Fix some of the leaks exposed by extending the parse-launch testsuite,
4775         and move the 3 I can't figure out into a separate test that won't run
4776         the pipelines unless the appropriate line is uncommented.
4777
4778 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
4779
4780         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4781           Requesting 0 bytes before the end of the file should result in
4782           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
4783           unit test.
4784
4785 2006-07-27  Wim Taymans  <wim@fluendo.com>
4786
4787         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
4788         Fix useless assert, a uint is always positive.
4789
4790         * gst/gststructure.c: (gst_structure_nth_field_name),
4791         (gst_structure_foreach), (gst_structure_map_in_place):
4792         Check input arguments for public functions to avoid obvious crashes.
4793
4794         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
4795         * plugins/elements/gstfakesink.h:
4796         Do less useless typechecking.
4797
4798 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
4799
4800         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4801           Do not use mmap() by default since there are a number of error
4802           conditions that we would like to handle in a non-fatal way that
4803           will result in a SIGBUS if we use mmap(). Examples: external
4804           devices (USB harddrive, portable music player) being unplugged
4805           while in use; file on mounted CD/DVD that can't be read because
4806           the medium is partly damaged. Fixes #348455 and #348475.
4807
4808 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
4809
4810         * gst/gstquery.h:
4811         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
4812         rates are a gdouble
4813
4814 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
4815
4816         * gst/gstregistry.c:
4817           Move big documentation comment into class section header, so that it
4818           appears in the API docs.
4819
4820 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4821
4822         * docs/gst/gstreamer-sections.txt:
4823         Oops. Commit the docs additions too for new API.
4824         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
4825
4826 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4827
4828         * gst/gststructure.c: (gst_structure_id_set),
4829         (gst_structure_id_set_valist):
4830         * gst/gststructure.h:
4831         Add API for setting values into structures without performing
4832         a quark lookup, if the appropriate quark is already known.
4833
4834         API: gst_structure_id_set
4835         API: gst_structure_id_set_valist
4836
4837         * gst/parse/grammar.y:
4838         * gst/parse/parse.l:
4839         Remove some dead code shown by the coverage information.
4840         Don't throw a critical g_warning when encountering a syntax error,
4841         just warn and let the normal error path handle it.
4842
4843         * plugins/elements/gstelements.c:
4844         Bump the rank of filesink up to PRIMARY so that it is preferred over
4845         gnomevfssink for file:// sink uri's
4846
4847         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4848         (GST_START_TEST), (run_delayed_test),
4849         (gst_parse_test_element_base_init),
4850         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
4851         (gst_parse_test_element_change_state),
4852         (gst_register_parse_element), (parse_suite):
4853         Beef up the tests for parse syntax to check that more error cases
4854         fail as they are supposed to. Increases the test coverage a bit.
4855
4856 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
4857
4858         * docs/manual/basics-elements.xml:
4859           Fix gst_element_link() example.
4860
4861         * gst/gstutils.c:
4862           Mention in API docs that one should usually gst_bin_add()
4863           elements to a bin or pipeline before doing the linking.
4864           
4865 2006-07-26  Wim Taymans  <wim@fluendo.com>
4866
4867         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
4868         (gst_subbuffer_get_type), (gst_buffer_create_sub):
4869         Avoid function call for known types by keeping the buffer and
4870         subbuffer GType global.
4871
4872         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4873         Random silly optimisations in read() path.
4874
4875 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4876
4877         * tools/gst-launch.c: (main):
4878           If the top-level of the parse is a normal bin, it doesn't do the
4879           right logic to run as a top-level element, so place it inside a
4880           pipeline.
4881
4882 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
4883
4884         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
4885           Remove superfluous g_object_notify() calls, GObject does
4886           that for us automatically.
4887
4888 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
4889
4890         * gst/gstinfo.h:
4891           on Win32, use dllspec to export the debug category symbols
4892
4893 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
4894
4895         * gst/gsttaglist.c: (_gst_tag_initialize):
4896           Allow more than one GST_TAG_IMAGE per taglist.
4897
4898 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4899
4900         * gst/gstminiobject.c:
4901           update docs
4902         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
4903         (gst_fd_src_create):
4904           log recurring events at LOG level
4905           add more debug for when the fd gets set
4906
4907 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
4908
4909         * gst/gstparse.c: (gst_parse_launch):
4910           Also remove reentrance checks if flex is MT safe (#348179)
4911          Fix my empty ChangeLog entry below
4912
4913 2006-07-21  Andy Wingo  <wingo@pobox.com>
4914
4915         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
4916
4917         * libs/gst/check/Makefile.am
4918         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
4919         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
4920         * libs/gst/check/gstbufferstraw.h:
4921         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
4922         functions, thus proving I am still a GStreamer haxor. OK I wrote
4923         them a long time ago, but anyways.
4924
4925 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
4926
4927         * configure.ac:
4928         * gst/gstparse.c: (gst_parse_launch):
4929           Check for flex version and omit mutex if we have a MT save flex
4930           (fixes #348179)
4931
4932 2006-07-21  Wim Taymans  <wim@fluendo.com>
4933
4934         * gst/gstparse.c: (gst_parse_launch):
4935         Protect recursive calls to _parse with a recursive mutex
4936         and busy flag.
4937
4938 2006-07-21  Wim Taymans  <wim@fluendo.com>
4939
4940         * tests/check/gst/gstpad.c: (GST_START_TEST):
4941         Fix leak in test.
4942
4943 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
4944
4945         * gst/gstparse.c: (gst_parse_launch):
4946           Do not hang on recursive usage of gst_parse_launch()
4947
4948 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
4949
4950         * gst/gsttaglist.c:
4951           Add some more docs, comments and FIXME 0.11s here and there
4952           and also fix some typos.
4953
4954 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
4955
4956         * gst/gstsegment.h:
4957           Convert tabs to spaces for better readability. 
4958
4959 2006-07-20  Edward Hervey  <edward@fluendo.com>
4960
4961         * tests/check/libs/gdp.c: (gst_dp_suite):
4962         the test_buffer test fails at line 140 on ppc64 at the following
4963         check:
4964         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
4965                 GST_BUFFER_FLAG_IN_CAPS),
4966                 "GST_BUFFER_IN_CAPS flag should have been copied !");
4967         See bug #348114 for more details.
4968
4969 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
4970
4971         * docs/pwg/advanced-scheduling.xml:
4972         * gst/gstpad.c:
4973           Fix typos (#348000).
4974
4975 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
4976
4977         * docs/pwg/intro-basics.xml:
4978           Fix wrong links (#347927).
4979
4980 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
4981
4982         * gst/gstregistry.h:
4983         * gst/gstregistryxml.c: (load_feature),
4984         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
4985         * win32/common/config.h:
4986           make --disable-index work (#342564)
4987
4988 2006-07-18  Wim Taymans  <wim@fluendo.com>
4989
4990         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4991
4992         * gst/Makefile.am:
4993         * gst/gsttrace.h:
4994         The attached patch adds two missing defines to gsttrace.h when tracing
4995         is disabled.  It also corrects one existing define.
4996         Fixes #347756.
4997
4998 2006-07-17  Wim Taymans  <wim@fluendo.com>
4999
5000         * docs/gst/gstreamer-sections.txt:
5001         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
5002         * gst/gst.h:
5003         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
5004         Add two functions to check and change the SIGSEGV behaviour
5005         when loading plugins.
5006         Don't mess with the SIGSEGV handler when we were told not to.
5007         Fixes #347794.
5008         API: gst_segtrap_is_enabled
5009         API: gst_segtrap_set_enabled
5010
5011 2006-07-14  Wim Taymans  <wim@fluendo.com>
5012
5013         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
5014         * tests/check/elements/filesrc.c: (GST_START_TEST):
5015         Revert fix for regression in #347408 after release.
5016
5017 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
5018
5019         Patch by: Antoine Tremblay <hexa00 at gmail com>
5020
5021         * gst/gstutils.c: (gst_element_unlink):
5022           Free iterator when done (#347311).
5023
5024         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5025           And add a test case for this.
5026
5027 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
5028
5029         * configure.ac:
5030         Bump nano back to CVS
5031
5032 === release 0.10.9 ===
5033
5034 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
5035
5036         * configure.ac:
5037           releasing 0.10.9, "On the road again"
5038
5039 2006-07-13  Wim Taymans  <wim@fluendo.com>
5040
5041         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
5042         * tests/check/elements/filesrc.c: (GST_START_TEST):
5043         Revert pull-0 fix for release. Disable check. Fixes #347408.
5044
5045 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5046
5047         * libs/gst/dataprotocol/dataprotocol.c:
5048         (gst_dp_event_from_packet_1_0):
5049           Fixes #347337: failure to deserialize event packets with
5050           empty payload (only event type)
5051
5052 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5053
5054         * gst/Makefile.am:
5055           do not install a .c file in the header directory
5056
5057 2006-07-13  Edward Hervey  <edward@fluendo.com>
5058
5059         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
5060         GhostPad no longer implicitely use the padtemplates of the targets.
5061         Fixes #347384
5062
5063 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
5064
5065         * gst/gstvalue.c: (gst_value_compare_list),
5066         (gst_value_compare_array), (_gst_value_initialize):
5067         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5068         Make GstValueArray comparison be order dependent as designed.
5069         Add checks for value lists and value array comparisons.
5070         Fixes #347221
5071
5072 2006-07-11  Edward Hervey  <edward@fluendo.com>
5073
5074         * gst/gstbin.c: (activate_pads),
5075         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
5076         (gst_bin_change_state_func):
5077         (de)activate src pads before calling state_change on the childs.
5078         This is to avoid the case where a src ghostpad is blocked (holding the
5079         stream lock), which would block the deactivation of the ghostpad's
5080         target pad.
5081         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
5082         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
5083         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
5084         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
5085         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
5086         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
5087         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
5088         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
5089         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
5090         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
5091         (gst_ghost_pad_class_init),
5092         (gst_ghost_pad_internal_do_activate_push),
5093         (gst_ghost_pad_internal_do_activate_pull),
5094         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
5095         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
5096         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
5097         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
5098         GhostPads now create their internal GstProxyPad at creation (and not
5099         when they're linked, as it was being done previously).
5100         The internal and target pads are linked straight away.
5101         The data will also travel through the other pad in order to make
5102         pad blocking and probes non-hackish (the probe/block now really happens
5103         on the GhostPad and not on the target).
5104         * gst/gstpad.c: (gst_pad_set_blocked_async),
5105         (gst_pad_link_prepare), (gst_pad_push_event):
5106         Remove previous ghostpad cruft.
5107         * gst/gstutils.c: (gst_pad_add_data_probe),
5108         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
5109         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
5110         (gst_pad_remove_buffer_probe):
5111         Remove previous ghost pad cruft.
5112         Added more detailed debug statements.
5113         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
5114         Fix the testsuite for refcounting changes.
5115         The comments about who has references were correct, but the refcount
5116         being checked wasn't the same (!?!).
5117
5118         Fixes #341029
5119
5120 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
5121
5122         * docs/gst/gstreamer-sections.txt:
5123         * gst/gstconfig.h.in:
5124         More docs for configuration options, add docs to gtk-doc.
5125
5126 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
5127
5128         * gst/Makefile.am:
5129         * gst/gstconfig.h.in:
5130         * win32/common/config.h:
5131         Fix build when disabling tracing (fixes #344016). Also start to document
5132         the defines that disable the sub-systems.
5133
5134 2006-07-10  Edward Hervey  <edward@fluendo.com>
5135
5136         * gst/gst.c: (ensure_current_registry_forking):
5137         let's make valgrind happy...
5138
5139 2006-07-09  Wim Taymans  <wim@fluendo.com>
5140
5141         * gst/gstelement.c: (activate_pads),
5142         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
5143         Better pad activation code: Reset the collect value too on resync.
5144         Add some comments.
5145
5146 2006-07-09  Wim Taymans  <wim@fluendo.com>
5147
5148         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
5149         (gst_pad_activate_push):
5150         Use some more macros where it makes sense.
5151         Allow pad mode switching instead of asserting. When a pad
5152         is activated in one mode and we activate it in another, 
5153         deactivate it first before activating it in a different mode.
5154         Fixes #329198.
5155
5156 2006-07-08  Andy Wingo  <wingo@pobox.com>
5157
5158         * tools/gst-launch.c (main): Handle err == NULL.
5159
5160         * gst/gst.c (init_post, ensure_current_registry)
5161         (ensure_current_registry_forking)
5162         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
5163         factoring out the registry scanning into separate functions. Don't
5164         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
5165         Better environment var name/interface suggestions accepted.
5166
5167 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
5168
5169         * gst/gstobject.c: (gst_object_set_name_default),
5170         (gst_object_set_name):
5171           Random micro-optimisation: don't use a hash table
5172           with strings as keys and the usual strdup/strcmp
5173           involved, but rather just use the GQuark of the
5174           type name as key, since it needs to be looked up
5175           anyway to get the type name string.
5176
5177         * tests/check/gst/gstobject.c: (GST_START_TEST):
5178           Fix various leaks.
5179
5180 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
5181
5182         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
5183         (gst_bin_iterate_all_by_interface):
5184           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
5185           GTypes are gulongs and thus the top 4 bytes might be cut
5186           off on some platforms when doing GPOINTER_TO_INT, leading
5187           to invalid GTypes and bad things happening (see RH bug #179654).
5188           Also add a check to make sure the type passed in is really
5189           an interface type.
5190
5191 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
5192
5193         * .cvsignore:
5194           Ignore more.
5195
5196 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
5197
5198         * Makefile.am:
5199         * configure.ac:
5200         * gst-element-check.m4:
5201         * gst-element-check.m4.in:
5202           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
5203           instead of the unversioned gst-inspect (#324176, #168659).
5204
5205 2006-07-06  Wim Taymans  <wim@fluendo.com>
5206
5207         * gst/gstmessage.h:
5208         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
5209         warnings.
5210
5211 2006-07-06  Wim Taymans  <wim@fluendo.com>
5212
5213         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5214         (gst_base_src_wait), (gst_base_src_update_length),
5215         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
5216         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
5217         (gst_base_src_loop), (gst_base_src_start),
5218         (gst_base_src_activate_pull):
5219         Update docs.
5220         blocksize == 0 now means the default blocksize when working in push
5221         based mode.
5222         Remove some pointless asserts in _wait function.
5223         Fix offset/length calculations and EOS handling. We can now pull 0
5224         bytes as well, which is allowed.
5225         use _check_get_range() to decide if we can operate in _pull based
5226         mode.
5227         Fix refcounting leak when check_get_range function was not 
5228         implemented.
5229         API GstBaseSrc::blocksize range can be 0 too now (default)
5230
5231         * tests/check/elements/filesrc.c: (GST_START_TEST),
5232         (filesrc_suite):
5233         Added check to test _get_range() behaviour.
5234
5235 2006-07-06  Wim Taymans  <wim@fluendo.com>
5236
5237         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
5238         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
5239         (gst_pad_pull_range):
5240         * gst/gstpad.h:
5241         Lots of comments and docs added to the pad functions.
5242         Flesh out the expected behaviour of the get_range() functions.
5243
5244 2006-07-06  Wim Taymans  <wim@fluendo.com>
5245
5246         * gst/gstbus.h:
5247         * gst/gstclock.h:
5248         * gst/gstevent.h:
5249         * gst/gstiterator.h:
5250         * gst/gstpad.h:
5251         * gst/gstplugin.h:
5252         * gst/gsttask.h:
5253         Remove comma at end of enumerator list. 
5254
5255 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
5256
5257         * win32/common/libgstbase.def:
5258         * win32/common/libgstdataprotocol.def:
5259         * win32/common/libsgtreamer.def:
5260         Add new exported functions.
5261
5262 2006-07-05  Wim Taymans  <wim@fluendo.com>
5263
5264         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
5265         Add some more docs here and there.
5266
5267 2006-07-05  Wim Taymans  <wim@fluendo.com>
5268
5269         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
5270         (gst_base_sink_loop), (gst_base_sink_get_position):
5271         When operating in pull mode update the offset so that we
5272         read sequentially.
5273
5274 2006-07-05  Wim Taymans  <wim@fluendo.com>
5275
5276         * gst/gstregistryxml.c: (read_string):
5277         Avoid strdup. (will happen in libxml, but hey!)
5278
5279         * gst/gsturi.c:
5280         Add some more docs.
5281
5282 2006-07-05  Wim Taymans  <wim@fluendo.com>
5283
5284         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
5285         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
5286         (gst_buffer_suite):
5287         No point in checking if the size of the subbuffer > 0, the
5288         code handles it correclty as demonstrated by unit test.
5289         Also add a unit test for the zero sized _new_and_alloc and
5290         _copy. Fixes #346663.
5291
5292 2006-07-05  Wim Taymans  <wim@fluendo.com>
5293
5294         * libs/gst/base/gstbasetransform.c:
5295         (gst_base_transform_prepare_output_buffer),
5296         (gst_base_transform_buffer_alloc),
5297         (gst_base_transform_handle_buffer):
5298         Make sure the buffer we pass to transform_ip has a refcount of
5299         1 and thus is writable. Fixes #343196
5300
5301 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
5302
5303         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5304         (gst_file_src_init), (gst_file_src_set_property),
5305         (gst_file_src_get_property), (gst_file_src_map_region):
5306         * plugins/elements/gstfilesrc.h:
5307         Add "sequential" property, off by default, to use madvise and hint
5308         to the kernel that sequential access is desired.
5309         Touch all retrieved pages by default to ensure they are pulled
5310         into memory. (Closes #345720)
5311
5312 2006-07-03  Wim Taymans  <wim@fluendo.com>
5313
5314         * docs/design/part-block.txt:
5315         * docs/design/part-dynamic.txt:
5316         Small docs updates.
5317
5318 2006-07-03  Wim Taymans  <wim@fluendo.com>
5319
5320         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
5321         (gst_caps_unref), (gst_static_caps_get),
5322         (gst_caps_append_structure):
5323         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
5324         Use GSlice when the glib we build against is >= 2.10
5325
5326 2006-07-03  Wim Taymans  <wim@fluendo.com>
5327
5328         * gst/gstelement.c: (gst_element_pads_activate):
5329         Small cleanup in pad activation code.
5330
5331 2006-07-03  Wim Taymans  <wim@fluendo.com>
5332
5333         Patch by: Peter Kjellerstedt <pkj at axis dot com>
5334
5335         * gst/gst-i18n-app.h:
5336         * gst/gst-i18n-lib.h:
5337         * tools/gst-inspect.c: (print_signal_info):
5338         The attached patch will make the inclusion of gettext.h unconditional in
5339         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
5340         libintl.h in tools/gst-inspect.c.
5341         This allows use of --disable-nls again and fixes #344642.
5342
5343 2006-07-03  Edward Hervey  <edward@fluendo.com>
5344
5345         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
5346         Implement pad blocking on events according to part-block.txt.
5347         More comments on behaviour.
5348         * tests/check/gst/gstevent.c: (test_event):
5349         Send event to peer pad of blocked pad (else it will block).
5350
5351 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5352
5353         * libs/gst/check/gstcheck.c: (gst_check_message_error),
5354         (gst_check_run_suite):
5355           if we get the wrong message, give us the types as string
5356         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
5357           Fix a translatable
5358         * tests/check/elements/filesrc.c: (GST_START_TEST):
5359           add a test for trying to open a non-existing file
5360
5361 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5362
5363         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5364           add a test for adding self
5365
5366 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5367
5368         * libs/gst/check/gstcheck.h:
5369           add some assert_ as alias for fail_unless_*
5370         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
5371           increase test coverage
5372
5373 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5374
5375         * Makefile.am:
5376           include lcov.mak for lcov coverage generation
5377         * tools/Makefile.am:
5378           add to CLEANFILES
5379
5380 2006-07-02  Edward Hervey  <edward@fluendo.com>
5381
5382         * tests/check/elements/.cvsignore:
5383         moaping
5384
5385 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5386
5387         * configure.ac:
5388           don't set CFLAGS and friends for gcov, done from GST_GCOV now
5389         * tests/check/Makefile.am:
5390           clean up gcov files
5391
5392 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5393
5394         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
5395           remove gst_caps_simplify; it was not declared and not used
5396           and deprecated in 0.8
5397
5398 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5399
5400         * docs/faq/gst-uninstalled:
5401           don't put empty paths on PYTHONPATH
5402         * docs/gst/gstreamer-sections.txt:
5403           remove some symbols that are not there
5404
5405 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5406
5407         * gst/gstcaps.c: (gst_caps_compare_structures):
5408           whitespace fixes
5409         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
5410         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
5411           add more tests
5412
5413 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5414
5415         * libs/gst/dataprotocol/Makefile.am:
5416           build dataprotocol test by linking to the lib, instead of
5417           compiling the source, so we get coverage
5418         * tests/check/Makefile.am:
5419         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
5420         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
5421           add a test for filesrc
5422
5423 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5424
5425         * tests/check/gst/gststructure.c: (GST_START_TEST),
5426         (gst_structure_suite):
5427           Push coverage from 59.04% to 70.00%
5428
5429 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5430
5431         * tests/check/Makefile.am:
5432           gst-inspect every element; this makes sure that we also get
5433           coverage on element's get/set functions
5434
5435 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5436
5437         * configure.ac:
5438           set CFLAGS and friends to -O0 if gcov is being used
5439           add GCOV LIBS
5440         * gst/Makefile.am:
5441         * libs/gst/base/Makefile.am:
5442         * libs/gst/check/Makefile.am:
5443         * libs/gst/controller/Makefile.am:
5444         * libs/gst/dataprotocol/Makefile.am:
5445         * libs/gst/net/Makefile.am:
5446         * plugins/elements/Makefile.am:
5447         * plugins/indexers/Makefile.am:
5448           add makefile rules to generate gcov data and clean up
5449         * tests/check/Makefile.am:
5450           add a coverage target that generates an html overview
5451           of coverage data
5452
5453 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5454
5455         * tests/check/elements/fakesink.c:
5456         * tests/check/elements/fakesrc.c:
5457         * tests/check/elements/fdsrc.c:
5458         * tests/check/elements/identity.c:
5459         * tests/check/generic/sinks.c: (gst_sinks_suite):
5460         * tests/check/generic/states.c:
5461         * tests/check/gst/gst.c:
5462         * tests/check/gst/gstabi.c:
5463         * tests/check/gst/gstbin.c:
5464         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
5465         * tests/check/gst/gstbus.c: (gst_bus_suite):
5466         * tests/check/gst/gstcaps.c: (GST_START_TEST):
5467         * tests/check/gst/gstelement.c:
5468         * tests/check/gst/gstevent.c: (gst_event_suite):
5469         * tests/check/gst/gstghostpad.c:
5470         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
5471         * tests/check/gst/gstmessage.c: (gst_message_suite):
5472         * tests/check/gst/gstminiobject.c:
5473         * tests/check/gst/gstobject.c:
5474         * tests/check/gst/gstpad.c:
5475         * tests/check/gst/gstpipeline.c:
5476         * tests/check/gst/gstplugin.c:
5477         * tests/check/gst/gstquery.c: (gst_query_suite):
5478         * tests/check/gst/gstsegment.c: (gst_segment_suite):
5479         * tests/check/gst/gststructure.c:
5480         * tests/check/gst/gstsystemclock.c:
5481         * tests/check/gst/gsttag.c:
5482         * tests/check/gst/gsttask.c: (gst_task_suite):
5483         * tests/check/gst/gstutils.c:
5484         * tests/check/gst/gstvalue.c:
5485         * tests/check/libs/adapter.c:
5486         * tests/check/libs/basesrc.c:
5487         * tests/check/libs/collectpads.c:
5488         * tests/check/libs/controller.c:
5489         * tests/check/libs/gdp.c: (gst_dp_suite):
5490         * tests/check/libs/gstnetclientclock.c:
5491         * tests/check/libs/gstnettimeprovider.c:
5492         * tests/check/libs/libsabi.c: (libsabi_suite):
5493         * tests/check/libs/typefindhelper.c:
5494         * tests/check/pipelines/cleanup.c:
5495         * tests/check/pipelines/parse-launch.c:
5496         * tests/check/pipelines/simple-launch-lines.c:
5497         * tests/check/pipelines/stress.c: (stress_suite):
5498           use the new macro
5499
5500 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5501
5502         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
5503         * libs/gst/check/gstcheck.h:
5504           create a macro and function so that the simple unit test
5505           case can be just one macro to create main()
5506
5507 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
5508
5509         * gst/gstbin.c: (gst_bin_restore_thyself):
5510         * gst/gstxml.c: (gst_xml_make_element):
5511           Fix deserialisation from XML. Set parent manually
5512           instead of using gst_bin_add(), since gst_bin_add()
5513           will unlink all pads of the element being added.
5514           Fixes #341667.
5515
5516 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
5517
5518         Patch by: Peter Kjellerstedt <pkj at axis com>
5519
5520         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
5521           Fix missing g_strdup() and double free when using the
5522           --gst-plugin-load command line option (#346097).
5523
5524 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
5525
5526         * gst/gstinfo.c:
5527           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
5528
5529         * libs/gst/net/gstnetclientclock.c:
5530         * libs/gst/net/gstnettimeprovider.c:
5531           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
5532
5533 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
5534
5535         * docs/manual/advanced-dataaccess.xml:
5536           Fix buffer probe example compilation in
5537           ADM (#345708).
5538         
5539 2006-06-22  Edward Hervey  <edward@fluendo.com>
5540
5541         * gst/gstelement.c: (gst_element_pads_activate):
5542         We need to deactivate src pads first and then sink pads.
5543         The reason is the src pads might be blocking while holding the streaming
5544         lock, so we need to deactivate them first so that deactivating the sink
5545         pads doesn't block (since it will require the streaming lock).
5546
5547 2006-06-22  Wim Taymans  <wim@fluendo.com>
5548
5549         * libs/gst/base/gstbasetransform.c:
5550         (gst_base_transform_buffer_alloc):
5551         Forgot to remove two unneeded unrefs.
5552         Simplify a check _is_equal allready checks the obvious case.
5553
5554 2006-06-22  Wim Taymans  <wim@fluendo.com>
5555
5556         * docs/design/part-block.txt:
5557         Some docs about what pad_block should do.
5558
5559 2006-06-22  Wim Taymans  <wim@fluendo.com>
5560
5561         * gst/gstcaps.c: (gst_caps_replace):
5562         Fix crasher when passed NULL. Doc clarification.
5563         Optimize for the trivial case.
5564
5565         * gst/gstpipeline.c: (gst_pipeline_change_state):
5566         Small cleanups.
5567
5568         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
5569         Small documentation cleanup.
5570
5571         * libs/gst/base/gstbasetransform.c:
5572         (gst_base_transform_buffer_alloc):
5573         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
5574         is what we need and it avoids a whole lot of redundant 
5575         refcount operations.
5576
5577 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
5578
5579         Patch by: Philip Jägenstedt  <philip at lysator liu se>
5580
5581         * docs/manual/advanced-dataaccess.xml:
5582           Fix 'Embedding static elements' section to use
5583           GST_PLUGIN_DEFINE_STATIC (#345607).
5584
5585 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5586
5587         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
5588           Attempt to 'fix' spuriously failing test case: it seems like the
5589           timeout of half a second is simply too small when the system is under
5590           load otherwise, and the timeout doesn't really seem to serve any
5591           particular purpose here. Give the pipeline a few seconds to preroll
5592           first, and then give it another half a second to go from PAUSED to
5593           PLAYING and marshal the message into the main thread.
5594
5595 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5596
5597         * tools/gst-feedback-m.m:
5598           Don't only use unversioned tools, try versioned tools as well
5599           (#345086).
5600
5601 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5602
5603         * gst/gstbus.c: (gst_bus_class_init):
5604           Fix some typos, make docs more explicit.
5605
5606 2006-06-20  Wim Taymans  <wim@fluendo.com>
5607
5608         * tests/check/gst/gstghostpad.c: (block_callback),
5609         (GST_START_TEST), (gst_ghost_pad_suite):
5610         Added some more ghostpad tests, mainly blocking
5611         and probes.
5612
5613 2006-06-16  Wim Taymans  <wim@fluendo.com>
5614
5615         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
5616         (gst_file_sink_close_file), (gst_file_sink_do_seek),
5617         (gst_file_sink_event), (gst_file_sink_render):
5618         * plugins/elements/gstfilesink.h:
5619         Check if we can seek in the file instead of assuming
5620         we always can. Post an error when we are asked to seek in a
5621         non-seekable file (like a fifo). Fixes #343312.
5622         Some cleanups.
5623
5624 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
5625
5626         * tools/gst-launch.1.in:
5627           Un-garble (fourcc) bit in filtered caps section.
5628
5629 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
5630
5631         * docs/manual/advanced-autoplugging.xml:
5632         * docs/manual/basics-helloworld.xml:
5633         * docs/manual/highlevel-components.xml:
5634           Don't leak bus reference in sample code.
5635
5636 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
5637
5638         * autogen.sh:
5639           Add default for new --enable-plugin-docs switch.
5640
5641         * configure.ac:
5642           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
5643           Fixes #344039.
5644
5645         * docs/Makefile.am:
5646           Use new ENABLE_PLUGIN_DOCS conditional.
5647
5648 2006-06-14  Wim Taymans  <wim@fluendo.com>
5649
5650         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
5651         Make it clear with a FIXME and a real define what the #if 0
5652         previously disabled.
5653
5654 2006-06-14  Wim Taymans  <wim@fluendo.com>
5655
5656         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
5657         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5658         * libs/gst/base/gstbasetransform.c:
5659         (gst_base_transform_sink_eventfunc):
5660         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
5661         Don't randomly and silently reset a segment when the format 
5662         changes as this is a bug somewhere upstream. Fixes #330379.
5663
5664 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
5665
5666         Patch by: Wouter Paesen  <wouter at kangaroot net>
5667
5668         * libs/gst/controller/gstcontroller.c:
5669         (gst_controlled_property_new):
5670           Fix controlling of float properties (#344849).
5671
5672         * tests/check/libs/controller.c:
5673         (gst_test_mono_source_get_property),
5674         (gst_test_mono_source_set_property),
5675         (gst_test_mono_source_class_init), (GST_START_TEST):
5676           While we're at it, add some float stuff to unit test.
5677
5678 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5679
5680         * docs/README:
5681         * docs/images/gdp-header.svg:
5682           add a gdp image
5683         * docs/libs/Makefile.am:
5684         * docs/libs/gdp-header.png:
5685         * libs/gst/dataprotocol/dataprotocol.c:
5686           add it to the API docs
5687         * docs/manual/intro-motivation.xml:
5688           fix typo
5689
5690 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
5691
5692         * gst/gst.c: (scan_and_update_registry), (init_post):
5693           If the fork()'ed child process can't write the updated registry cache
5694           file to disk for some reason, make it exit with a failure exit code,
5695           so that the parent can then re-scan the plugins itself and update the
5696           registry structures in memory and work with that (rather than failing
5697           when creating elements because seemingly no plugins are available).
5698           Refactor registry scanning code into separate function for this and
5699           also separate fork() and non-fork() code paths. Fixes #344748.
5700
5701 2006-06-13  Wim Taymans  <wim@fluendo.com>
5702
5703         * docs/manual/advanced-dataaccess.xml:
5704         Fix wrong PluginDesc. Fixes #344755.
5705
5706 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
5707
5708         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
5709           Fix silly bug that prevented us from creating
5710           ~/.gstreamer-0.10 and writing the registry in one
5711           go (the first call to g_mkstemp() would overwrite the
5712           placeholder in the template string, so the second call
5713           to g_mkstemp() after creating the missing directory
5714           would then error out with 'invalid argument').
5715
5716 2006-06-13  Edward Hervey  <edward@fluendo.com>
5717
5718         * gst/gst.c: (init_post):
5719         Free string.
5720
5721 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5722
5723         * gst/glib-compat-private.h:
5724         * gst/glib-compat.c:
5725         * gst/glib-compat.h:
5726         * gst/gstvalue.c: (gst_value_serialize_flags):
5727           remove GLib 2.6 compatibility code
5728
5729 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
5730
5731         * gst/parse/Makefile.am:
5732           Fix build with 'make -j N' even more (#340016).
5733
5734 2006-06-12  Wim Taymans  <wim@fluendo.com>
5735
5736         * docs/gst/gstreamer-sections.txt:
5737         Fix docs.
5738
5739 2006-06-12  Wim Taymans  <wim@fluendo.com>
5740
5741         * gst/gstsegment.c: (gst_segment_set_duration),
5742         (gst_segment_set_last_stop), (gst_segment_set_seek),
5743         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5744         (gst_segment_to_running_time), (gst_segment_clip):
5745         Use G_UNLIKELY to help the compiler a bit.
5746
5747 2006-06-12  Wim Taymans  <wim@fluendo.com>
5748
5749         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
5750
5751         * gst/gstevent.c: (gst_event_get_type):
5752         * gst/gstmessage.c:
5753         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
5754         (gst_pad_push):
5755         constify quark registration strings. Fixes #344115
5756         Avoid unneeded type checking is _pad_push() by internally
5757         calling gst_pad_chain_unchecked().
5758
5759 2006-06-12  Wim Taymans  <wim@fluendo.com>
5760
5761         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
5762         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
5763         (gst_subbuffer_finalize), (gst_buffer_create_sub),
5764         (gst_buffer_is_span_fast), (gst_buffer_span):
5765         Init _type for consistency.
5766         Use _FLAGS macro to avoid type check.
5767         Avoid unneeded type checks in subbufer code.
5768
5769 2006-06-12  Wim Taymans  <wim@fluendo.com>
5770
5771         * gst/gst.c: (gst_debug_help):
5772         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
5773         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5774         (gst_plugin_feature_list_free):
5775         * gst/gstregistry.c: (gst_registry_add_plugin),
5776         (gst_registry_add_feature), (gst_registry_plugin_filter),
5777         (gst_registry_feature_filter), (gst_registry_find_plugin),
5778         (gst_registry_find_feature), (gst_registry_get_plugin_list),
5779         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
5780         * gst/gstregistryxml.c: (load_feature),
5781         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
5782         * gst/gstminiobject.c: (gst_mini_object_unref),
5783         (gst_mini_object_replace), (gst_value_mini_object_free),
5784         (gst_value_mini_object_copy):
5785         Use _CAST macros to avoid unneeded type checking.
5786         Added some more G_UNLIKELY.
5787
5788 2006-06-12  Wim Taymans  <wim@fluendo.com>
5789
5790         * gst/gstbuffer.h:
5791         Avoid unneeded type checking.
5792         API: GST_BUFFER_IS_DISCONT
5793
5794         * gst/gstminiobject.h:
5795         Avoid type check in flag accessor.
5796
5797         * gst/gstelementfactory.h:
5798         * gst/gstplugin.h:
5799         * gst/gstpluginfeature.h:
5800         Add _CAST macros.
5801         API: GST_ELEMENT_FACTORY_CAST
5802         API: GST_PLUGIN_CAST
5803         API: GST_PLUGIN_FEATURE_CAST
5804
5805 2006-06-12  Wim Taymans  <wim@fluendo.com>
5806
5807         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
5808         (gst_object_unref):
5809         Add G_UNLIKELY in type registration.
5810         Avoid type check in _ref/_unref since that is also
5811         done in glib.
5812
5813 2006-06-12  Wim Taymans  <wim@fluendo.com>
5814
5815         * gst/gsterror.c: (gst_g_error_get_type):
5816         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5817         (gst_static_pad_template_get_type):
5818         * gst/gsttaglist.c: (gst_tag_list_get_type):
5819         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
5820         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
5821         * gst/gsturi.c: (gst_uri_handler_get_type):
5822         * gst/gstvalue.c: (gst_date_get_type):
5823         * gst/gstxml.c: (gst_xml_get_type):
5824         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
5825         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5826         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
5827         Add G_UNLIKELY in type registration.
5828
5829 2006-06-12  Wim Taymans  <wim@fluendo.com>
5830
5831         * tools/gst-inspect.c: (print_signal_info):
5832         Properly print enum values.
5833
5834 2006-06-12  Wim Taymans  <wim@fluendo.com>
5835
5836         * gst/gstinfo.c: (gst_debug_set_active),
5837         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
5838         * gst/gstinfo.h:
5839         Add some G_[UN]LIKELY.
5840         Maintain __gst_debug_min to avoid formatting the arguments of
5841         debug messages that will be dropped anyway to avoid a lot of 
5842         overhead from the debugging system.
5843
5844 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5845
5846         * po/POTFILES.in:
5847         * po/POTFILES.skip:
5848           add missing files containing translatable strings, tell intltool about
5849           one exception
5850
5851 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5852
5853         * tests/check/libs/.cvsignore:
5854         add test-binary to ignore list
5855
5856 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5857
5858         * docs/libs/gstreamer-libs-docs.sgml:
5859         reorder (put dp into a chapter) and indent
5860
5861 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5862
5863         * configure.ac:
5864           back to HEAD
5865
5866 === release 0.10.8 ===
5867
5868 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
5869
5870         * configure.ac:
5871           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
5872
5873 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5874
5875         * gst/gst.c: (init_post):
5876           move pid declaration to declaration block
5877
5878 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5879
5880         * gst/gst.c: (init_post):
5881           use _exit() instead of exit() in our forked child; this ensures
5882           that none of the registered exit handlers from whatever is using
5883           GStreamer get executed.  This fixes gnome-mixer-applet failing
5884           to load, because ORBit would shut down.
5885           Spotted by: Edward Hervey  <edward@fluendo.com>
5886           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
5887           Fixes #344474
5888
5889 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5890
5891         * configure.ac:
5892           back to TRUNK
5893
5894 === release 0.10.7 ===
5895
5896 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
5897
5898         * configure.ac:
5899           releasing 0.10.7, "Soepeke, ik zie ou"
5900
5901 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5902
5903         * configure.ac:
5904         * po/af.po:
5905         * po/az.po:
5906         * po/bg.po:
5907         * po/ca.po:
5908         * po/cs.po:
5909         * po/de.po:
5910         * po/en_GB.po:
5911         * po/fr.po:
5912         * po/it.po:
5913         * po/nb.po:
5914         * po/nl.po:
5915         * po/ru.po:
5916         * po/sq.po:
5917         * po/sr.po:
5918         * po/sv.po:
5919         * po/tr.po:
5920         * po/uk.po:
5921         * po/vi.po:
5922         * po/zh_CN.po:
5923         * po/zh_TW.po:
5924         * win32/common/config.h:
5925           0.10.6.2 prerelease
5926
5927 2006-06-07  Wim Taymans  <wim@fluendo.com>
5928
5929         * gst/gstindex.c: (gst_index_gtype_resolver):
5930         * tools/gst-xmlinspect.c: (print_plugin_info):
5931         Fix leak spotted by coverity checker. Fixes #343827
5932         Fix another other leak found by paolo borelli.
5933
5934 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5935
5936         * libs/gst/dataprotocol/dataprotocol.c:
5937         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
5938         (gst_dp_version_get_type), (gst_dp_init),
5939         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
5940         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
5941         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
5942         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
5943         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
5944         (gst_dp_packetizer_free):
5945         * libs/gst/dataprotocol/dataprotocol.h:
5946           API: add a GstDPPacketizer object, and create/free functions
5947           API: add GstDPVersion enum
5948           Add 1.0 event function that uses the string serialization
5949           Serialize more useful buffer flags
5950           Fixes #343988
5951
5952 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5953
5954         * tests/check/Makefile.am:
5955         * tests/check/gst/gstabi.c:
5956         * tests/check/gst/struct_ppc64.h:
5957         * tests/check/libs/libsabi.c:
5958         * tests/check/libs/struct_ppc64.h:
5959           add ppc64 structure sizes
5960
5961 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5962
5963         * tests/check/Makefile.am:
5964         * tests/check/gst/gstabi.c:
5965         * tests/check/gst/struct_x86_64.h:
5966         * tests/check/libs/libsabi.c:
5967         * tests/check/libs/struct_x86_64.h:
5968           generate and add structure size lists for x86_64
5969
5970 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5971
5972         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
5973         * libs/gst/check/gstcheck.h:
5974           factor out the method from tests that checks size of structures,
5975           and add code to generate the header containing these sizes
5976         * tests/check/gst/gstabi.c: (GST_START_TEST):
5977         * tests/check/gst/struct_i386.h:
5978         * tests/check/libs/libsabi.c: (GST_START_TEST):
5979         * tests/check/libs/struct_i386.h:
5980           use it
5981
5982 2006-06-06  Michael Smith  <msmith@fluendo.com>
5983
5984         * gst/gstsegment.h:
5985           Don't use c++-style comments, fixes #343929
5986
5987 2006-06-05  Edward Hervey  <edward@fluendo.com>
5988
5989         * gst/gst.c:
5990         plugin_paths is not used if we build without registry support.
5991
5992         * gst/gstsegment.c: (gst_segment_copy): 
5993         _copy() was always returning NULL...
5994
5995 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5996
5997         * libs/gst/dataprotocol/dataprotocol.c:
5998         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5999         (gst_dp_packet_from_event):
6000           factor out CRC code
6001
6002 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6003
6004         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
6005           make sure we unset caps
6006
6007 2006-06-02  Michael Smith  <msmith@fluendo.com>
6008
6009         * libs/gst/check/gstcheck.c: (gst_check_init),
6010         (gst_check_chain_func):
6011         * libs/gst/check/gstcheck.h:
6012           Add a cond/mutex to the check support lib, signal this whenever we
6013           add to the buffers list. This will allow tests to not busy-wait on
6014           the buffer-list.
6015
6016 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6017
6018         * libs/gst/dataprotocol/dataprotocol.c:
6019         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6020         (gst_dp_packet_from_event):
6021           factor out some common header init code
6022
6023 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6024
6025         * docs/libs/gstreamer-libs-sections.txt:
6026         * docs/libs/tmpl/gstdataprotocol.sgml:
6027         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
6028         * libs/gst/dataprotocol/dataprotocol.h:
6029           API: make gst_dp_crc() public
6030
6031 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
6032
6033         * plugins/indexers/gstindexers.c: (plugin_init):
6034         conditionally register fileindexer (fixes #343598)
6035
6036 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
6037
6038         * gst/gsttagsetter.h:
6039         Can't cast ifaces to a class
6040
6041         * libs/gst/net/gstnetclientclock.h:
6042         * libs/gst/net/gstnettimeprovider.h:
6043         * plugins/elements/gstfakesink.h:
6044         * plugins/elements/gstfakesrc.h:
6045         * plugins/elements/gstfdsink.h:
6046         * plugins/elements/gstfdsrc.h:
6047         * plugins/elements/gstfilesink.h:
6048         * plugins/elements/gstfilesrc.h:
6049         * plugins/elements/gstidentity.h:
6050         * plugins/elements/gstqueue.h:
6051         * plugins/elements/gsttee.h:
6052         * plugins/indexers/gstfileindex.c:
6053         * plugins/indexers/gstmemindex.c:
6054         * tests/old/examples/plugins/example.h:
6055         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
6056
6057 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6058
6059         * libs/gst/dataprotocol/dataprotocol.c:
6060         (gst_dp_header_from_buffer):
6061           make sure we zero the whole ABI-compatible area
6062
6063 2006-06-01  Wim Taymans  <wim@fluendo.com>
6064
6065         Patch by: Alessandro Decina <alessandro at nnva dot org>
6066
6067         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
6068         Make sure the EOS flag is cleared from pads after a flush
6069         or stop. Fixes #343538.
6070
6071         * tests/check/libs/collectpads.c: (GST_START_TEST),
6072         (gst_collect_pads_suite):
6073         Added test for collectpads reusage after EOS.
6074
6075 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
6076
6077         * gst/gst.c:
6078          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
6079         * win32/common/libgstbase.def:
6080          export gst_collect_pads_set_flushing
6081         * win32/common/libgstreamer.def:
6082          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
6083          gst_value_fraction_multiply
6084         * win32/vs6/gst_inspect.dsp:
6085          add a link to intl.lib
6086
6087 2006-05-30  Wim Taymans  <wim@fluendo.com>
6088
6089         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
6090         (gst_collect_pads_chain):
6091         Handle the case where a pad is removed from the collection
6092         that could cause the other pads to become collectable.
6093
6094 2006-05-30  Wim Taymans  <wim@fluendo.com>
6095
6096         * gst/gstelement.c:
6097         Clarify the use of _release_request_pad() and
6098         _get_request_pad() a bit better.
6099
6100         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
6101         (gst_adapter_take_buffer):
6102         Fix some doc and comment typos.
6103
6104 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6105
6106         * docs/gst/gstreamer-sections.txt:
6107         * docs/libs/gstreamer-libs-sections.txt:
6108           add declared symbols
6109
6110 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
6111
6112         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
6113         Add debug that can be enabled using a #define at the top of the file,
6114         for dumping stats about how late/early we were when waking up from
6115         waiting on the clock.
6116
6117 2006-05-30  Wim Taymans  <wim@fluendo.com>
6118
6119         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
6120         When rebuilding the pad list, don't leak the previous list.
6121
6122 2006-05-30  Wim Taymans  <wim@fluendo.com>
6123
6124         Patch by: Lutz Mueller <lutz at topfrose dot de>
6125
6126         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6127         (gst_base_src_get_query_types), (gst_base_src_update_length):
6128         Publish supported query types.
6129         Update last_stop field in get_range mode so the position
6130         query works. Fixes #342321.
6131
6132 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
6133
6134         * docs/gst/gstreamer-sections.txt:
6135         * gst/gsttaglist.c: (_gst_tag_initialize):
6136         * gst/gsttaglist.h:
6137           API: add GST_TAG_PREVIEW_IMAGE (#343341).
6138
6139 2006-05-30  Wim Taymans  <wim@fluendo.com>
6140
6141         Patch by: Alessandro Decina <alessandro at nnva dot org>
6142
6143         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
6144         Unlock mutex when removing an unknown pad.
6145         Fixes #343334.
6146
6147         * tests/check/Makefile.am:
6148         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
6149         (push_event), (setup), (teardown), (GST_START_TEST),
6150         (gst_collect_pads_suite), (main):
6151         Added collecpads check, disabled for now as check crashes for
6152         some reason.
6153
6154 2006-05-29  Wim Taymans  <wim@fluendo.com>
6155
6156         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
6157         Don't leak pads lists.
6158
6159 2006-05-29  Wim Taymans  <wim@fluendo.com>
6160
6161         * docs/libs/gstreamer-libs-sections.txt:
6162         * libs/gst/base/gstcollectpads.c:
6163         (gst_collect_pads_set_flushing_unlocked),
6164         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
6165         (gst_collect_pads_stop):
6166         * libs/gst/base/gstcollectpads.h:
6167         API: gst_collect_pads_set_flushing()
6168         Added api to set the pads to flushing, useful for seeking
6169         code in elements using collectpads.
6170         Clear segment when receiving a flush.
6171
6172 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
6173
6174         * gst/gst.c: (add_path_func), (init_post):
6175           Don't scan registry paths passed via --gst-plugin-path immediately
6176           (will crash, because absolutely nothing is set up and no types are
6177           registered etc.); do this later in init_post(). Fixes #343057.
6178
6179 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6180
6181         * gst/gst.c: (init_post):
6182           if we have fork, fork while reading/rebuilding the registry
6183           so the parent doesn't take the hit of having all plugins loaded
6184           in memory.  Fixes #342777.
6185         * configure.ac:
6186           Check if we have fork()
6187         * win32/common/config.h.in:
6188           no fork() on win32
6189
6190 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
6191
6192         * plugins/elements/gstelements.c:
6193         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
6194         (gst_file_src_init), (gst_file_src_set_property),
6195         (gst_file_src_get_property), (gst_file_src_start):
6196         * plugins/elements/gstfilesrc.h:
6197           API: GstFileSrc::use-mmap
6198
6199         Add a use-mmap property to enable easier testing of all code paths.
6200         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
6201         in the absence of gnomevfssrc. (Closes #340501)
6202
6203 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6204
6205         * tools/gst-inspect.c:
6206         Add missing include, removes warning of ngettext not being defined on
6207         some arches.
6208
6209 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
6210
6211         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6212         Handle NULL input and output pointers silently as a failed conversion,
6213         rather than g_warnings.
6214
6215 2006-05-25  Wim Taymans  <wim@fluendo.com>
6216
6217         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
6218         Initialize variable before using. Fixes #342820.
6219
6220 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
6221
6222         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
6223           Fix off-by-one bug that would only allow peeks of N-1 bytes
6224           from the start even if the buffer to typefind on contains
6225           in fact N bytes of data (makes vorbis typefinding from a
6226           vorbis identification header buffer work).
6227
6228         * tests/check/Makefile.am:
6229         * tests/check/libs/.cvsignore:
6230         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
6231         (gst_typefindhelper_suite), (main), (foobar_typefind),
6232         (plugin_init):
6233           Add very basic unit test for gst_type_find_helper_for_buffer()
6234           that checks for the problem fixed above.
6235
6236 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6237
6238         * tools/gst-inspect.c: (print_interfaces),
6239         (print_element_properties_info), (print_element_list), (main):
6240           add more translatable strings
6241
6242 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
6243
6244         Patch by: Julien Moutte  <julien at moutte net>
6245
6246         * docs/gst/gstreamer-sections.txt:
6247           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
6248           
6249         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
6250         (gst_fake_sink_preroll):
6251         * plugins/elements/gstfakesink.h:
6252           API: Add new GstFakeSink::preroll-handoff signal (#337100).
6253
6254 2006-05-23  Wim Taymans  <wim@fluendo.com>
6255
6256         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
6257         * gst/gstpad.h:
6258         Added _CUSTOM error and success GstFlowReturn that can be
6259         used be elements internally. 
6260         Added macro to check for SUCCESS flowreturns.
6261         API: GST_FLOW_CUSTOM_SUCCESS
6262         API: GST_FLOW_CUSTOM_ERROR
6263         API: GST_FLOW_IS_SUCCESS
6264
6265         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
6266         Added check for GstFlowReturn sanity.
6267
6268 2006-05-23  Wim Taymans  <wim@fluendo.com>
6269
6270         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
6271
6272         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
6273         (gst_collect_pads_event):
6274         clear/reset segment info in FLUSH_STOP.
6275         Fixes #336929.
6276
6277 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
6278
6279         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
6280         (gst_collect_pads_check_collected):
6281         Flush queued buffer on _stop(), fixes playing again (#342454)
6282
6283 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6284
6285         * tests/check/gst/gststructure.c: (GST_START_TEST),
6286         (gst_structure_suite):
6287           add a test for a complete structure
6288
6289 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
6290
6291         * docs/faq/developing.xml:
6292         * docs/faq/faq.xml:
6293         * docs/faq/troubleshooting.xml:
6294         * docs/faq/using.xml:
6295           Some minor FAQ updates that won't change the fact that
6296           our FAQ is badly structured, full of information hardly
6297           anyone new to GStreamer needs to know and lacking lots
6298           of information people constantly ask for.
6299           
6300 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
6301
6302         * gst/gstpad.c: (gst_pad_set_caps):
6303           Short-circuit gst_pad_set_caps if setting the existing
6304           caps pointer again, and avoid printing debug and 
6305           reffing/unreffing the caps.
6306
6307         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6308           There's actually no need to set the caps before pushing -
6309           the acceptcaps method will handle it anyway.
6310
6311 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
6312
6313         * docs/gst/gstreamer-sections.txt:
6314         * win32/common/libgstreamer.def:
6315         * gst/gstutils.c: (gst_element_seek_simple):
6316         * gst/gstutils.h:
6317           API: add gst_element_seek_simple() (#342238).
6318
6319 2006-05-18  Edward Hervey  <edward@fluendo.com>
6320
6321         * gst/gsttypefind.c: (gst_type_find_get_type):
6322         * gst/gsttypefind.h:
6323         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
6324         registered for GstTypeFind pointers. This allows wrapping the structure
6325         in bindings (i.e. gst-python).
6326
6327 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
6328
6329         * gst/gsttagsetter.c:
6330           Docs additions and fixes (see #339918).
6331
6332 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
6333
6334         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6335         The caps intersection algorithm can produce multiple copies of the
6336         caps. Until that is fixed, we need to simplify the result to be
6337         sure whether the allowed caps are fixed or not.
6338
6339         * plugins/elements/gstqueue.c: (gst_queue_init),
6340         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
6341         (gst_queue_push_one):
6342         Proxied buffer alloc should not set the caps on the source pad.
6343         When pushing buffers, we always accept the caps change that triggers.
6344         This prevents negotiation errors caused by caps changing mid-stream 
6345         and then being refused on our source pad (because upstream is now
6346         refusing those caps).
6347
6348 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
6349
6350         * tests/examples/helloworld/helloworld.c: (main):
6351           Must plug audioconvert and audioresample between decoder
6352           and audio sink.
6353
6354 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
6355
6356         * gst/gstregistryxml.c: (read_string), (load_pad_template),
6357         (load_feature), (load_plugin):
6358         Allow empty strings for some of the plugin fields so we don't 
6359         drop valid plugin entries that were written out correctly
6360         (Fixes #341479)
6361
6362 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
6363         
6364         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
6365           Use g_remove and g_rename instead of remove and rename that don't 
6366           handle utf8 characters. rename was failing for users who had specific
6367           characters in their name then the registry was built at each 
6368           gstreamer init.
6369         * win32/vs6/gst_inspect.dsp:
6370         * win32/vs6/gst_launch.dsp:
6371         * win32/vs6/libgstbase.dsp:
6372         * win32/vs6/libgstcoreelements.dsp:
6373         * win32/vs6/libgstreamer.dsp:
6374           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
6375           build of libgstreamer and clean unused libraries in projects link 
6376           settings.
6377
6378 2006-05-17  Edward Hervey  <edward@fluendo.com>
6379
6380         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6381         The queue is not responsible for pushing an EOS when receiving a fatal
6382         flow error. It's up to the real element driving the pipeline to do that.
6383
6384 2006-05-16  Edward Hervey  <edward@fluendo.com>
6385
6386         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6387         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
6388         buffer returned a fatal error. It should just send an EOS and stop
6389         its task.
6390         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
6391         when pushing buffers on the queue and will be able to handle the event.
6392
6393 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
6394
6395         * docs/manual/basics-bins.xml:
6396         * docs/manual/basics-init.xml:
6397           Fix typos and minor errors in sample code (#341856).
6398
6399 2006-05-16  Wim Taymans  <wim@fluendo.com>
6400
6401         * docs/design/part-qos.txt:
6402         Fix indexes in formulas to make more sense.
6403
6404 2006-05-15  Wim Taymans  <wim@fluendo.com>
6405
6406         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6407         Don't report POSITION based on clock time if sync is
6408         disabled in a sink.
6409
6410 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
6411
6412         * gst/gstobject.h:
6413           Add cast to make compiler happy - refcount variable was a gint
6414           in GstObject but is a guint in GObject and g_atomic_int_get()
6415           wants a gint *.
6416
6417 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6418
6419         * gst/parse/Makefile.am:
6420           chain commands using &&, which also makes parallel make work
6421
6422 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
6423
6424         * docs/gst/gstreamer-sections.txt:
6425         * gst/gstevent.c:
6426         * gst/gstevent.h:
6427         * gst/gstmessage.h:
6428           Minor docs fixes.
6429
6430 === release 0.10.6 ===
6431
6432 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
6433
6434         * configure.ac:
6435           releasing 0.10.6, "Take the cannoli"
6436
6437 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
6438
6439         * tools/gst-launch.c: (print_tag):
6440           Fix use of uninitialized variable in the hypothetical
6441           case that some broken plugin creates a GST_TAG_IMAGE
6442           tag containing a NULL buffer (#341667).
6443
6444 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
6445
6446         * tools/gst-launch.c: (print_tag):
6447           Print something more intelligible for image tags when
6448           using the -t switch (#341556).
6449
6450 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6451
6452         * Makefile.am:
6453           updates for win32
6454         * configure.ac:
6455           define GST_MAJORMINOR so we have it available in win32/common/config.h
6456           Possibly remove it from our Makefile.am files later
6457         * win32/common/config.h:
6458         * win32/common/config.h.in:
6459           added GST_MAJORMINOR
6460         * win32/common/gstenumtypes.c: (register_gst_resource_error):
6461         * win32/common/gstversion.h:
6462           updated
6463
6464 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
6465
6466         * win32/MANIFEST:
6467           Update win32 files listing.
6468         * win32/common/gstversion.h:
6469           Add GST_MAJORMINOR definition.
6470         * win32/common/libgstreamer.def:
6471           Add new exported functions.
6472           
6473 2006-05-12  Michael Smith  <msmith@fluendo.com>
6474
6475         * gst/gstplugin.c: (gst_plugin_load_file):
6476           If an so file has no plugin entry point, unload the module.
6477
6478 2006-05-11  Wim Taymans  <wim@fluendo.com>
6479
6480         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
6481         (gst_queue_set_property):
6482         Don't forget to signal the _chain or _loop function 
6483         when the queue size or thresholds change since that might
6484         cause them to make progres again.
6485
6486 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
6487
6488         * gst/gstclock.c: (gst_clock_class_init):
6489         * gst/gstindex.c: (gst_index_class_init):
6490         * gst/gstobject.c: (gst_object_class_init):
6491         * gst/gstpad.c: (gst_pad_class_init):
6492         * gst/gstpipeline.c: (gst_pipeline_class_init):
6493         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
6494         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
6495         * libs/gst/base/gstbasetransform.c:
6496         (gst_base_transform_class_init):
6497         * libs/gst/net/gstnetclientclock.c:
6498         (gst_net_client_clock_class_init):
6499         * libs/gst/net/gstnettimeprovider.c:
6500         (gst_net_time_provider_class_init):
6501         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
6502         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
6503         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
6504         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
6505         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
6506         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
6507         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
6508         * plugins/elements/gstidentity.c: (gst_identity_class_init):
6509         * plugins/elements/gsttee.c: (gst_tee_class_init):
6510         * tests/old/examples/plugins/example.c: (gst_example_class_init):
6511         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
6512           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
6513
6514 2006-05-11  Wim Taymans  <wim@fluendo.com>
6515
6516         * gst/gstbuffer.c: (_gst_buffer_initialize):
6517         Register subbufer along with the buffer type so that
6518         it does not accidentally gets registered from N
6519         different streaming threads in a non threadsafe way.
6520
6521 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
6522
6523         * gst/gstbuffer.h:
6524         * gst/gstevent.h:
6525         * gst/gstmessage.h:
6526           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
6527           gst_event_ref() and gst_message_ref() functions again
6528           (ugly hack, please do fix if there's a better way besides
6529           overrides.txt, which doesn't seem to work).
6530
6531 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6532
6533         * libs/gst/check/gstcheck.h:
6534           add an assert for setting state to avoid lots of repetitive code
6535           in the future
6536
6537 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6538
6539         * gst/gstvalue.c: (gst_value_serialize_flags):
6540           fix a leak if no flags are set
6541         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6542           fix leak in tests
6543
6544 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
6545
6546         * docs/manual/basics-pads.xml:
6547           Expand a bit on caps and filtered links and update
6548           examples that were still using the no longer existing
6549           gst_pad_link_filtered() (#338206).
6550
6551 2006-05-10  Wim Taymans  <wim@fluendo.com>
6552
6553         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6554         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
6555         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
6556         (gst_collect_pads_stop):
6557         * libs/gst/base/gstcollectpads.h:
6558         No need to call _stop in _finalize.
6559         Iterate the main pad list in _finalize.
6560         Added some more debug.
6561         Free lists and data in the right order.
6562         Also free data whem doing _remove_pad when stopped for
6563         backward compatibility protect ::started with PAD_LOCK as
6564         well.
6565
6566 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6567
6568         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
6569         (gst_structure_parse_value):
6570           add some comments
6571           rename a method so that it actually says what it does better
6572
6573 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6574
6575         * gst/gstevent.c: (_gst_event_initialize):
6576         * gst/gstformat.c: (_gst_format_initialize):
6577           make sure some essential types used by events are registered
6578           as part of gst_init()
6579         * gst/gstvalue.c: (gst_value_serialize_flags):
6580           if no flags are set, serialize them to a value that represents NONE
6581           so that deserializing them works
6582         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6583           add tests for serialization and deserialization of flags
6584
6585 2006-05-10  Wim Taymans  <wim@fluendo.com>
6586
6587         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
6588         (gst_collect_pads_collect_range), (gst_collect_pads_available),
6589         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
6590         (gst_collect_pads_event), (gst_collect_pads_chain):
6591         Update docs.
6592         Better debug info.
6593         Catch and return errors from the collect function
6594         Refuse data on eos pads.
6595
6596 2006-05-10  Edward Hervey  <edward@fluendo.com>
6597
6598         * gst/gstinterface.h:
6599         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
6600         GInterface type checking.
6601         They were previously using non-defined macros.
6602
6603 2006-05-09  Wim Taymans  <wim@fluendo.com>
6604
6605         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
6606         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
6607         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
6608         (gst_collect_pads_start), (gst_collect_pads_stop),
6609         (gst_collect_pads_peek), (gst_collect_pads_pop),
6610         (gst_collect_pads_available), (gst_collect_pads_read),
6611         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
6612         (gst_collect_pads_is_collected), (gst_collect_pads_event),
6613         (gst_collect_pads_chain):
6614         * libs/gst/base/gstcollectpads.h:
6615         Clean up the mess that is collectpads, add comments and
6616         FIXMEs where needed.
6617         Maintain a separate pad list so we can add pads while
6618         collecting the other ones. For this we need a new separate 
6619         lock (see comics).
6620         Fix memory leak in finalize.
6621         Refactor some weird code to set/unset pad flushing flags, mark
6622         with comments.
6623         Don't crash in _available, _read, _flush when we're EOS.
6624
6625         * tests/check/libs/.cvsignore:
6626         Ignore adapter check binary.
6627
6628 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6629
6630         * gst/gstindex.c: (gst_index_resolver_get_type):
6631         * plugins/elements/gstfakesink.c:
6632         (gst_fake_sink_state_error_get_type):
6633         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6634         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
6635         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
6636           Const-ify GEnumValue arrays.
6637
6638 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6639
6640         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
6641           Add test case for flags + gst_buffer_make_metadata_writable().
6642
6643 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6644
6645         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
6646           gst_buffer_make_metadata_writable() should maintain the
6647           buffer flags (those that make sense at least) (see #340859).
6648
6649 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6650
6651         * tools/gst-inspect.c:
6652         * tools/gst-launch.c:
6653         * tools/gst-typefind.c:
6654         * tools/gst-xmlinspect.c:
6655         * tools/tools.h:
6656           Fix up includes: need to include stdlib.h in tools.h for exit().
6657
6658 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6659
6660         * gst/gsttaglist.c: (_gst_tag_initialize):
6661         * gst/gsttaglist.h:
6662           API: add GST_TAG_IMAGE tag (#340721).
6663
6664 2006-05-08  Wim Taymans  <wim@fluendo.com>
6665
6666         * gst/gstquery.c:
6667         Added some docs for the segment query.
6668
6669 2006-05-08  Wim Taymans  <wim@fluendo.com>
6670
6671         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6672         (gst_base_src_loop), (gst_base_src_change_state):
6673         Always push non-flushing serialized events in the streaming 
6674         thread.
6675
6676 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6677
6678         * gst/gsterror.c: (_gst_stream_errors_init):
6679           Add a missing error string.
6680
6681 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
6682
6683         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
6684         Add applied_rate to the debug
6685
6686         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
6687         Copy applied_rate into the outgoing NEWSEGMENT event
6688
6689 2006-05-08  Wim Taymans  <wim@fluendo.com>
6690
6691         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
6692
6693         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
6694         (gst_base_sink_change_state):
6695         call ::unlock before taking the PREROLL_LOCK so we can safely
6696         handle elements that lock in ::render.
6697         Fixes #340174.
6698
6699 2006-05-08  Edward Hervey  <edward@fluendo.com>
6700
6701         * autogen.sh: (CONFIGURE_DEF_OPT): 
6702         Darwin's libtoolize is in fact called glibtoolize.
6703         Adding glibtoolize to the list of accepted names for libtoolize.
6704
6705 2006-05-08  Wim Taymans  <wim@fluendo.com>
6706
6707         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6708         Unify error handling, don't post an error message
6709         when a push() returns EOS but perform our normal EOS
6710         handling code. Fixes #340772.
6711
6712 2006-05-08  Wim Taymans  <wim@fluendo.com>
6713
6714         * docs/design/part-overview.txt:
6715         Make upsteam/downstream concepts more clear.
6716         Give an example of serialized/non-serialized events.
6717
6718         * docs/design/part-events.txt:
6719         * docs/design/part-streams.txt:
6720         Mention applied_rate.
6721
6722         * docs/design/part-trickmodes.txt:
6723         Mention applied rate, flesh out some more use cases.
6724
6725         * gst/gstevent.c: (gst_event_new_new_segment),
6726         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
6727         (gst_event_parse_new_segment_full), (gst_event_new_tag),
6728         (gst_event_parse_tag), (gst_event_new_buffer_size),
6729         (gst_event_parse_buffer_size), (gst_event_new_qos),
6730         (gst_event_parse_qos), (gst_event_parse_seek),
6731         (gst_event_new_navigation):
6732         * gst/gstevent.h:
6733         Add applied_rate field to NEWSEGMENT event.
6734         API: gst_event_new_new_segment_full()
6735         API: gst_event_parse_new_segment_full()
6736
6737         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
6738         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
6739         (gst_segment_to_stream_time), (gst_segment_to_running_time):
6740         * gst/gstsegment.h:
6741         Add applied_rate to GstSegment structure.
6742         Make calculation of stream_time and running_time more correct
6743         wrt rate/applied_rate.
6744         Add some more docs.
6745         API: GstSegment::applied_rate field
6746         API: gst_segment_set_newsegment_full();
6747
6748         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
6749         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
6750         * libs/gst/base/gstbasetransform.c:
6751         (gst_base_transform_sink_eventfunc),
6752         (gst_base_transform_handle_buffer):
6753         Parse and use applied_rate in the GstSegment field.
6754
6755         * tests/check/gst/gstevent.c: (GST_START_TEST):
6756         Add check for applied_rate field.
6757
6758         * tests/check/gst/gstsegment.c: (GST_START_TEST),
6759         (gstsegments_suite):
6760         Add more checks for various GstSegment operations.
6761
6762 2006-05-08  Wim Taymans  <wim@fluendo.com>
6763
6764         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6765         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
6766         (gst_base_sink_get_position), (gst_base_sink_change_state):
6767         Store the sync time of the buffer end position separatly in a
6768         new variable eos_rtime so we can properly sync the EOS event.
6769         Fixes #340697.
6770         Fix the docs for gst_base_sink_set_qos_enabled().
6771         Don't set segment start to invalid value when we receive a 
6772         non TIME newsegment.
6773         get closer to handling position reporting for negative rates 
6774         correctly.
6775
6776 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
6777
6778         * gst/gstcaps.c:
6779         Docs about how to print caps for debug purposes.
6780
6781         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
6782         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
6783
6784 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
6785
6786         * gst/gstelement.c:
6787           use full enum names and preprend a '%' in docs strings to make recent 
6788           gtk-doc turn that into a link
6789
6790 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6791
6792         * docs/manual/basics-bins.xml:
6793         * docs/manual/basics-bus.xml:
6794         * docs/manual/basics-pads.xml:
6795           Some typo fixes, some additions, some clarifications. 
6796
6797 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6798
6799         * tools/gst-inspect.c: (main):
6800         * tools/gst-launch.c: (main):
6801         * tools/gst-run.c: (main):
6802         * tools/gst-typefind.c: (main):
6803         * tools/gst-xmlinspect.c: (main):
6804           Use the string passed to g_option_context_new() for
6805           what it's intended for - the program name is already
6806           printed elsewhere.
6807
6808 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6809
6810         * tools/Makefile.am:
6811         * tools/gst-inspect.c: (main):
6812         * tools/gst-launch.c: (main):
6813         * tools/gst-xmlinspect.c: (main):
6814         * tools/tools.h:
6815           Add back --version command line option (#340460).
6816
6817         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
6818           Add --version option and use GOption for argument parsing; refactor a
6819           bit; accept directories as arguments and recurse into them; lastly,
6820           print a decent error message when things go wrong.
6821
6822 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6823
6824         * docs/manual/basics-bins.xml:
6825         Don't mention GstThread (#340611)
6826         * docs/manual/basics-elements.xml:
6827         Update link to GObject tutorial (#340607)
6828         
6829 2006-05-05  Wim Taymans  <wim@fluendo.com>
6830
6831         * gst/gstbuffer.h:
6832         * gst/gstminiobject.c:
6833         Add note about refcounting and miniobject/buffer writeability
6834         to docs. Fixes #340604
6835
6836         * gst/gstelementfactory.h:
6837         Added some explanation about @klass.
6838
6839 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6840
6841         * docs/manual/intro-motivation.xml:
6842         * docs/manual/manual.xml:
6843         Avoid CORBA & Bonobo references (#340598)
6844
6845 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6846
6847         * docs/manual/basics-bus.xml:
6848         * docs/manual/basics-pads.xml:
6849         Fix up some inaccuracies and omissions (#340609)
6850         
6851 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6852
6853         * gst/gstghostpad.c:
6854           Small typo in docs (#340625)
6855
6856 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6857
6858         * gst/parse/Makefile.am:
6859           Make 'make -j' proof (see #340698).
6860
6861 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6862
6863         * configure.ac:
6864           Require GLib-2.8 here as well.
6865
6866 2006-05-05  Wim Taymans  <wim@fluendo.com>
6867
6868         * gst/glib-compat.c:
6869         * gst/gst.c: (init_pre):
6870         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
6871         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
6872         (gst_object_dispatch_properties_changed):
6873         * gst/gstobject.h:
6874         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
6875         * gst/gststructure.c: (gst_structure_set_valist):
6876         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6877         Remove pre glib2.8 compatibility, fixes #340508
6878
6879 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6880
6881         * gst/gsttaglist.h:
6882           Mention type of tags in doc blurbs.
6883
6884 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
6885
6886         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6887         (gst_pad_configure_src), (gst_pad_push):
6888         Restore acceptcaps checking behaviour now that good plugins have
6889         been released.
6890
6891 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6892
6893         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
6894
6895         * gst/gst.c:
6896         * gst/gstbus.c:
6897         * gst/gstclock.c:
6898         * gst/gstevent.c:
6899         * gst/gstformat.c:
6900         * gst/gstmessage.c:
6901         * gst/gstparse.c:
6902         * gst/gstquery.c:
6903         * gst/gstutils.c:
6904         * gst/parse/Makefile.am:
6905         * libs/gst/base/gstadapter.c:
6906         * libs/gst/base/gstbasesrc.c:
6907         * libs/gst/base/gstpushsrc.c:
6908         * libs/gst/base/gsttypefindhelper.c:
6909         * plugins/elements/gstfakesrc.c:
6910         * plugins/elements/gstidentity.c:
6911           Make sure gstprivate.h and/or config.h are
6912           always included first, otherwise some of our
6913           defines (like _FILE_OFFSET_BITS) might be
6914           redefined in the system headers. Fixes build
6915           on opensolaris (#340016).
6916
6917 2006-05-04  Wim Taymans  <wim@fluendo.com>
6918
6919         * docs/libs/gstreamer-libs-sections.txt:
6920         API: addition: gst_adapter_take_buffer()
6921         
6922         * libs/gst/base/gstadapter.c: (gst_adapter_push),
6923         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
6924         (gst_adapter_available_fast):
6925         * libs/gst/base/gstadapter.h:
6926         Prepare for optimizing the hell out of this hugely inefficient
6927         piece of code. 
6928         Added gst_adapter_take_buffer() so we can at least start thinking
6929         about subbuffering and merging.
6930         Added some comments.
6931
6932         * tests/check/Makefile.am:
6933         * tests/check/libs/adapter.c: (GST_START_TEST),
6934         (gst_adapter_suite), (main):
6935         Added GstAdapter check.
6936
6937 2006-05-04  Wim Taymans  <wim@fluendo.com>
6938
6939         * docs/design/part-overview.txt:
6940         Fix some typos, add blurb about buffer flags.
6941
6942 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6943
6944         * docs/libs/gstreamer-libs-sections.txt:
6945           make sure GstBaseTransformClass shows up in the docs
6946         * libs/gst/base/gstbasetransform.c:
6947         * libs/gst/base/gstbasetransform.h:
6948           move docs so gtk-doc picks it up now
6949
6950 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
6951
6952         * docs/libs/gstreamer-libs-sections.txt:
6953           add missing symbols to docs
6954
6955 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
6956
6957         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6958           back out the newsegment handling change, see #340060 for ongoing
6959           discussion
6960
6961 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
6962
6963         * tools/gst-run.c: (get_candidates), (main):
6964           Fix wrong g_file_test() usage (see glib docs for why it doesn't
6965           work); fix typo in error message. Fixes #340079.
6966
6967 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6968
6969         * common/Makefile.am:
6970         * docs/Makefile.am:
6971         * docs/faq/Makefile.am:
6972         * docs/gst/Makefile.am:
6973         * docs/libs/Makefile.am:
6974         * docs/manual/Makefile.am:
6975         * docs/plugins/Makefile.am:
6976         * docs/pwg/Makefile.am:
6977         * docs/slides/Makefile.am:
6978         * docs/upload.mak:
6979         * common/upload.mak:
6980           move upload.mak to common
6981
6982 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6983
6984         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6985           add more asserts on refcounts
6986           do more cleanup at end of tests
6987           fix test leaks showing in FC5
6988
6989 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
6990
6991         * plugins/elements/gsttypefindelement.c:
6992         (gst_type_find_element_handle_event):
6993         reverted wrong change and reflowed code to avoid others falling into
6994         this trap
6995
6996 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6997
6998         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6999           fix changelog entry about last collectpads change,
7000           add notes about proper fix
7001
7002 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
7003
7004         * gst/gst.c:
7005         * gst/gstregistry.c: (gst_registry_scan_path_level),
7006         (gst_registry_scan_path):
7007         * gst/gstregistry.h:
7008           only write out registry if it has changed, fixes #338339
7009
7010 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
7011
7012         * gst/gstbin.c:
7013         * gst/gstpipeline.c:
7014         * plugins/elements/gstcapsfilter.c:
7015         * plugins/elements/gstfakesink.c:
7016         * plugins/elements/gstfakesrc.c:
7017         * plugins/elements/gstfdsink.c:
7018         * plugins/elements/gstfdsrc.c:
7019         * plugins/elements/gstfilesink.c:
7020         * plugins/elements/gstfilesrc.c:
7021         * plugins/elements/gstidentity.c:
7022         * plugins/elements/gstqueue.c:
7023         * plugins/elements/gsttee.c:
7024         * plugins/elements/gsttypefindelement.c:
7025         (gst_type_find_element_handle_event):
7026           make GstElementDetails const
7027
7028 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
7029
7030         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
7031         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
7032         (gst_collect_pads_is_collected), (gst_collect_pads_event):
7033           more detailed debug and formatting cleanup,
7034           forward newsegments to src-pad (so that e.g. adder not eats them)
7035
7036 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
7037
7038         * gst/gstutils.c: (gst_element_link_pads):
7039           cleanup double code
7040
7041 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
7042
7043         * libs/gst/controller/gstcontroller.c:
7044         (gst_controller_sync_values):
7045           some little tuning
7046         * tests/check/libs/controller.c: (GST_START_TEST),
7047         (gst_controller_suite):
7048           a new test for live value handling
7049
7050 2006-04-28  Wim Taymans  <wim@fluendo.com>
7051
7052         * gst/gstutils.c: (push_and_ref):
7053         Added some more docs.
7054         Fix refcount issue whith gst_element_found_tags() helper 
7055         function. Fixes #338335
7056
7057         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7058         Added testsuite for gst_element_found_tags().
7059
7060 2006-04-28  Michael Smith  <msmith@fluendo.com>
7061
7062         * gst/gstvalue.c: (gst_value_serialize_flags):
7063           Avoid NULL dereference when trying to serialize flags containing
7064           invalid values.
7065
7066 2006-04-28  Michael Smith  <msmith@fluendo.com>
7067
7068         * plugins/elements/gsttypefindelement.c:
7069         (gst_type_find_element_handle_event):
7070           If we get EOS before any data is accumulated, don't use
7071           uninitialised local variables.
7072
7073 2006-04-28  Michael Smith  <msmith@fluendo.com>
7074
7075         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
7076         (gst_dp_event_from_packet):
7077           Fixes in reading/writing events over GDP (not currently used?) - 
7078           dereferencing NULL events for unknown/invalid event types, memory
7079           leak, and change g_warning to GST_WARNING.
7080
7081 2006-04-28  Wim Taymans  <wim@fluendo.com>
7082
7083         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
7084         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
7085         (gst_base_sink_get_position), (gst_base_sink_change_state):
7086         When frame dropping is enabled, we should not ignore frames
7087         without a duration.
7088         Update some documentation.
7089
7090 2006-04-28  Wim Taymans  <wim@fluendo.com>
7091
7092         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7093         (gst_base_src_send_event), (gst_base_src_change_state):
7094         Documentation updates.
7095
7096 2006-04-28  Wim Taymans  <wim@fluendo.com>
7097
7098         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
7099         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
7100         handle EAGAIN, EINTR and short writes correctly. Also clean
7101         up some error cases, avoid a deadlock on bad file descriptors and
7102         use GST_DEBUG_OBJECT.
7103         Fixes #339843
7104
7105 2006-04-28  Wim Taymans  <wim@fluendo.com>
7106
7107         * gst/gstvalue.c: (gst_value_serialize_buffer),
7108         (gst_value_deserialize_buffer):
7109         Don't try to serialize a GValue with a NULL buffer. 
7110         Fixes #339821.
7111
7112         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7113         Added check for serialisation of NULL buffers.
7114
7115 2006-04-28  Wim Taymans  <wim@fluendo.com>
7116
7117         * gst/gstminiobject.c: (gst_value_take_mini_object):
7118         Taking a NULL miniobject is valid, fix the case where
7119         we try to unref the NULL miniobject.
7120
7121 2006-04-28  Wim Taymans  <wim@fluendo.com>
7122
7123         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
7124
7125         * gst/gstbin.c: (gst_bin_handle_message_func):
7126         Update docs.
7127         Don't leak bin refcount when a state recalc is
7128         in progress and we delay another one #339808.
7129
7130 2006-04-28  Wim Taymans  <wim@fluendo.com>
7131
7132         * docs/design/part-TODO.txt:
7133         Mention QoS as an ongoing work item.
7134
7135         * docs/design/part-buffering.txt:
7136         New doc about buffering that needs to be fleshed out
7137         at some point.
7138
7139         * docs/design/part-qos.txt:
7140         More QoS policy for decoders/demuxers/transforms
7141
7142         * docs/design/part-trickmodes.txt:
7143         Small update.
7144
7145 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7146
7147         * configure.ac:
7148           back to HEAD
7149
7150 === release 0.10.5 ===
7151
7152 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
7153
7154         * configure.ac:
7155           releasing 0.10.5, "Fogo"
7156
7157 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7158
7159         patch by: Wim Taymans
7160
7161         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
7162         (gst_pad_configure_src), (gst_pad_push):
7163         * gst/gstpipeline.c: (gst_pipeline_init):
7164           Fix internal data flow errors.  Fixes #338711.
7165
7166 2006-04-12  Wim Taymans  <wim@fluendo.com>
7167
7168         * tests/check/gst/gstelement.c: (GST_START_TEST):
7169         Don't leak the factory.
7170
7171 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7172
7173         * configure.ac:
7174         * win32/common/config.h:
7175           prerelease
7176
7177 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
7178
7179         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
7180         (gst_controller_unset_all):
7181           Free allocated GstTimedValues when freeing list nodes.
7182           Should fix leaks 'make check-valgrind' complains about.
7183
7184         * win32/common/libgstcontroller.def:
7185           Add gst_controller_unset_all.
7186
7187 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
7188
7189         * docs/libs/gstreamer-libs-sections.txt:
7190         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
7191         (gst_controller_unset_all):
7192         * libs/gst/controller/gstcontroller.h:
7193         API: Added new method gst_controller_unset_all()
7194         fixed gst_controller_unset()
7195         * tests/check/libs/controller.c: (GST_START_TEST),
7196         (gst_controller_suite):
7197         Added two testcases for new and fixed method
7198
7199 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
7200
7201         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
7202           MSG_DONTWAIT is not defined on Cygwin, so work
7203           around that (fixes #317048).
7204           
7205 2006-04-11  Wim Taymans  <wim@fluendo.com>
7206
7207         * gst/gstelementfactory.c: (gst_element_register),
7208         (gst_element_factory_create), (gst_element_factory_make):
7209         Some cleanups.
7210         Fixed a FIXME.
7211         Updated docs (Fixes #131079)
7212
7213         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
7214         Small cleanups.
7215
7216         * tests/check/gst/gstelement.c: (GST_START_TEST),
7217         (gst_element_suite):
7218         Added testcase for elementfactory class field.
7219
7220 2006-04-10  Wim Taymans  <wim@fluendo.com>
7221
7222         * gst/gstsegment.c:
7223         Added some more docs.
7224
7225         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
7226         (gst_base_sink_reset_qos):
7227         Calculate more accurate rate values.
7228
7229 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
7230
7231         * gst/gst_private.h:
7232           add a new #ifdef to use __declspec(dllimport) only for
7233           other modules and not for gstreamer core
7234         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
7235           use gst_guint64_to_gdouble for conversion
7236         * win32/common/libgstreamer.def:
7237           add new exported functions
7238         * win32/vs6/gst_inspect.dsp:
7239         * win32/vs6/gst_launch.dsp:
7240         * win32/vs6/libgstbase.dsp:
7241         * win32/vs6/libgstcontroller.dsp:
7242         * win32/vs6/libgstcoreelements.dsp:
7243         * win32/vs6/libgstdataprotocol.dsp:
7244         * win32/vs6/libgstnet.dsp:
7245           update project files
7246
7247 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
7248
7249         * gst/gstbuffer.c: (gst_subbuffer_class_init):
7250         * gst/gstclock.c: (gst_clock_class_init):
7251         * gst/gstelement.c: (gst_element_class_init):
7252         * gst/gstindex.c: (gst_index_class_init):
7253         * gst/gstindexfactory.c: (gst_index_factory_class_init):
7254         * gst/gstobject.c: (gst_object_class_init),
7255         (gst_signal_object_class_init):
7256         * gst/gstpad.c: (gst_pad_class_init):
7257         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
7258         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
7259         * gst/gstregistry.c: (gst_registry_class_init):
7260         * gst/gstsystemclock.c: (gst_system_clock_class_init):
7261         * gst/gsttask.c: (gst_task_class_init):
7262         * gst/gstxml.c: (gst_xml_class_init):
7263         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
7264         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7265         (gst_base_src_loop):
7266         * libs/gst/controller/gstcontroller.c:/
7267         (_gst_controller_class_init):
7268         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
7269         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
7270         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
7271         * tests/old/examples/plugins/example.c: (gst_example_class_init):
7272         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
7273         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
7274
7275 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
7276
7277         * gst/gstpad.c: (gst_pad_link):
7278           Must set peer pads before calling the link function, otherwise
7279           a task started from a link function might get a flow-not-linked
7280           result when trying to push because the other thread where the
7281           linking happens hasn't had a chance to set the peers yet. This
7282           might happen for example when a queue gets linked to a downstream
7283           element, as queue starts a streaming task when its source pad
7284           gets linked. Happens in real life when playing back flac/musepack
7285           files in playbin (#332390).
7286           
7287 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
7288
7289         * gst/gstindex.h:
7290         * gst/gstxml.h:
7291         * libs/gst/base/gstadapter.h:
7292         * libs/gst/base/gstbasesink.h:
7293         * libs/gst/base/gstbasesrc.h:
7294         * libs/gst/base/gstbasetransform.h:
7295         * libs/gst/base/gstcollectpads.h:
7296         * libs/gst/base/gstpushsrc.h:
7297         Fix broken GObject macros
7298
7299 2006-04-07  Wim Taymans  <wim@fluendo.com>
7300
7301         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7302         Initialize start and stop times, thanks valgrind.
7303
7304 2006-04-07  Wim Taymans  <wim@fluendo.com>
7305
7306         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7307         Be a bit nicer to badly behaving upstream elements that expect
7308         us to deal with non TIME segments and timestamps (such as fakesrc
7309         in the testsuite).
7310
7311 2006-04-07  Wim Taymans  <wim@fluendo.com>
7312
7313         * gst/gstbus.c:
7314         Small documentation clarification about the signal watch.
7315
7316         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
7317         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
7318         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7319         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
7320         (gst_base_sink_get_position_last),
7321         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
7322         Convert and store timestamps in stream time and running time, the
7323         raw timestamps are not useful, also document this better.
7324         Use different window sizes for good and bad QoS observations so
7325         we react to badness a little quicker.
7326         Keep track of the amount of rendered and dropped buffers.
7327         Send QoS timestamps in running time.
7328
7329         * libs/gst/base/gstbasetransform.c:
7330         (gst_base_transform_sink_eventfunc),
7331         (gst_base_transform_handle_buffer):
7332         Compare QoS timestamps against running time.
7333
7334 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
7335
7336         * gst/gstpad.c:
7337           Typo fixes in docs.
7338
7339 2006-04-06  Michael Smith  <msmith@fluendo.com>
7340
7341         * gst/gstpad.c: (gst_pad_set_property):
7342           Use g_value_get_object() instead of g_value_dup_gst_object(),
7343           to avoid double-reffing the pad template (which we then sink,
7344           so this worked previously if (and only if) the pad template
7345           was floating.
7346
7347         * gst/gstpadtemplate.c: (gst_pad_template_init),
7348         (gst_pad_template_pad_created):
7349           Never return floating references to pad templates, create
7350           them as initially-sunken.
7351
7352           Document an extra function (and make this stop sinking our
7353           pad template, since that is now guaranteed to do nothing,
7354           since we created it sunken).
7355
7356         * gst/gstghostpad.c:
7357           Fix docs typo.
7358
7359 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
7360
7361         * gst/gstinfo.c: (__gst_in_valgrind):
7362           Add some newlines.
7363
7364         * plugins/elements/gsttypefindelement.c:
7365         (gst_type_find_element_chain):
7366           Don't leak buffer caps.
7367
7368 2006-04-06  Michael Smith  <msmith@fluendo.com>
7369
7370         * gst/parse/grammar.y:
7371           Fix a leak in parse-launch for any source-or-sink named element 
7372           references used.
7373
7374         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
7375           Unref the pipeline if it exists after we've failed parsing.
7376
7377 2006-04-05  Michael Smith  <msmith@fluendo.com>
7378
7379         * gst/gstpipeline.c: (gst_pipeline_init):
7380           When we create a pipeline bus, initially create it in flushing mode.
7381           Fixes leaks in at least one test, and makes a new pipeline work the
7382           same as one that has gone to READY and then back to NULL.
7383
7384         * gst/gstelement.c:
7385           Typo fix in docs.
7386
7387 2006-04-05  Michael Smith  <msmith@fluendo.com>
7388
7389         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7390           Unref a pad we reffed.
7391         * tests/check/gst/gstutils.c: (GST_START_TEST):
7392           Unref bins
7393
7394 2006-04-05  Michael Smith  <msmith@fluendo.com>
7395
7396         * gst/gstquery.c: (gst_query_set_formats),
7397         (gst_query_set_formatsv):
7398           Fix leaking GValues in queries, as shown by valgrind/testsuite.
7399
7400 2006-04-05  Michael Smith  <msmith@fluendo.com>
7401
7402         * tests/check/generic/sinks.c: (GST_START_TEST):
7403           Fix a variety of memleaks in sinks check, which are only sometimes 
7404           shown by running the tests under valgrind (weird?).
7405
7406 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
7407
7408         * docs/version.entities.in:
7409           Fix the substituted entity name after thomas' changes on the
7410           weekend.
7411
7412 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7413
7414         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
7415         VALGRIND_PRINTF
7416         
7417 2006-04-05  Andy Wingo  <wingo@pobox.com>
7418
7419         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
7420
7421         * libs/gst/base/gstbasetransform.c
7422         (gst_base_transform_sink_eventfunc): When resetting our segment on
7423         FLUSH_STOP, also update the flag saying we haven't seen a
7424         newsegment.
7425
7426 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
7427
7428         Patch by: Paolo Borelli  <pborelli at katamail dot com>
7429
7430         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
7431         (gst_plugin_check_license):
7432           minor clean-ups: G_DEFINE_TYPE already takes care of the
7433           parent_class stuff, no need to do it twice. Mark array of
7434           license strings as constant. (#337103)
7435           
7436 2006-04-04  Michael Smith  <msmith@fluendo.com>
7437
7438         * tools/gst-inspect.c: (print_element_list):
7439           Free the right plugin list; fixes a memory leak.
7440
7441 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
7442
7443         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
7444
7445         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
7446           Don't error out on empty buffers (#336945).
7447           
7448 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
7449
7450         * docs/libs/gstreamer-libs-sections.txt:
7451         * gst/gsttaglist.c:
7452         * libs/gst/base/gstbasesink.c:
7453         * libs/gst/base/gstbasesink.h:
7454         * libs/gst/base/gstbasesrc.c:
7455         * libs/gst/base/gstbasesrc.h:
7456           Documentation updates. Make BaseSink and BaseSrc docs contain the
7457           class structure so that people can actually see the prototypes for
7458           virtual functions they're supposed to be overriding.
7459
7460 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
7461
7462         * plugins/elements/gsttypefindelement.c:
7463         (gst_type_find_element_chain):
7464           More debug info; when skipping typefinding, send cached
7465           events in all cases.
7466
7467 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7468
7469         * configure.ac:
7470           use new AS_VERSION and AS_NANO macros
7471         * gst/gst-i18n-lib.h:
7472         * gst/gst.c:
7473         * gst/gsterror.c:
7474         * gst/gstversion.h.in:
7475         * win32/common/config.h:
7476         * win32/common/config.h.in:
7477           update accordingly
7478
7479 2006-03-31  Michael Smith  <msmith@fluendo.com>
7480
7481         * plugins/elements/gsttypefindelement.c:
7482         (gst_type_find_element_chain):
7483           Do not typefind content if the buffers already have caps.
7484           Neccesary for icydemux (#333657), and the right thing to do anyway.
7485
7486 2006-03-30  Wim Taymans  <wim@fluendo.com>
7487
7488         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7489         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
7490         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
7491         (gst_base_sink_record_qos_observation),
7492         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7493         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
7494         (gst_base_sink_change_state):
7495         More QoS measurements as described in the design doc.
7496         Get rid of ringbuffer with observations, running average is
7497         more simple and equally good.
7498         Calculates valid proportion now.
7499         Added beginning of flood measurement.
7500
7501 2006-03-29  Wim Taymans  <wim@fluendo.com>
7502
7503         * docs/design/part-qos.txt:
7504         * gst/gstclock.c:
7505         Small documentation updates and additions.
7506
7507 2006-03-29  Wim Taymans  <wim@fluendo.com>
7508
7509         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
7510         (gst_base_src_send_event), (gst_base_src_loop),
7511         (gst_base_src_change_state):
7512         Perform the EOS logic when we reach the segment stop position.
7513         Fix compilation on gcc4.1
7514
7515 2006-03-29  Wim Taymans  <wim@fluendo.com>
7516
7517         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
7518
7519         * plugins/elements/gstqueue.c: (gst_queue_init),
7520         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
7521         (gst_queue_set_property):
7522         * plugins/elements/gstqueue.h:
7523         In queue, when EOS is received, if minimum threshold > max_size -
7524         current_level, there is chance that queue blocks forever in conditional
7525         item del wait. This is because the queue is not emptied completely due
7526         to minimum threshold.  Here is another approach. Instead of setting
7527         cur_levels to max in EOS, just zero all minimum threshold levels. This
7528         should make sure that queue gives out all data. When going to READY
7529         (stop) state, just reset the original minimum threshold levels.
7530         Fixes #336336.
7531
7532 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
7533
7534         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
7535         (gst_type_find_element_handle_event),
7536         (gst_type_find_element_send_cached_events),
7537         (gst_type_find_element_change_state):
7538         * plugins/elements/gsttypefindelement.h:
7539           When typefinding is done in push mode, we should cache
7540           events we receive during typefinding instead of just
7541           dropping them (e.g. newsegment, custom events from
7542           dvdreadsrc etc.) and then send them out once we've
7543           determined the type of the stream (and decodebin
7544           has had a chance to plug in a decoder/demuxer).
7545           
7546 2006-03-27  Wim Taymans  <wim@fluendo.com>
7547
7548         * docs/design/part-qos.txt:
7549         First QoS ideas.
7550
7551 2006-03-27  Wim Taymans  <wim@fluendo.com>
7552
7553         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
7554
7555         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
7556         (gst_base_src_send_event), (gst_base_src_change_state):
7557         Handle element seek correctly when we are streaming.
7558         Fixes #326998.
7559
7560 2006-03-24  Michael Smith  <msmith@fluendo.com>
7561
7562         * docs/faq/gst-uninstalled:
7563           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
7564           allow you to correctly run intalled applications built against old 
7565           core, using plugins that require updated core (e.g. running
7566           installed totem against a full uninstalled gstreamer stack)
7567
7568 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
7569
7570         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
7571         more debug details
7572
7573 2006-03-24  Wim Taymans  <wim@fluendo.com>
7574
7575         * docs/gst/gstreamer-sections.txt:
7576         Rearrange the order of the methods so that related methods
7577         are grouped together in sections.
7578
7579 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
7580
7581         * gst/gstelement.c:
7582           Little clarification in the docs
7583
7584 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
7585
7586         * docs/README:
7587         formatting fix
7588         * plugins/elements/gstidentity.c:
7589         * plugins/elements/gstqueue.c:
7590         * plugins/elements/gsttee.c:
7591         * plugins/elements/gsttypefindelement.c:
7592         GST_ELEMENT_DETAILS formatting
7593
7594 2006-03-24  Wim Taymans  <wim@fluendo.com>
7595
7596         * libs/gst/base/gstbasesink.h:
7597         Only add fields, not insert or we break ABI.
7598
7599 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
7600
7601         * win32/common/libgstbase.def:
7602         * win32/common/libgstreamer.def:
7603           Update, add recently added functions.
7604
7605 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
7606
7607         * docs/gst/gstreamer-sections.txt:
7608         * gst/gstutils.c: (gst_pad_query_peer_position),
7609         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
7610         * gst/gstutils.h:
7611           API: add some new utility functions:
7612            - gst_pad_query_peer_position()
7613            - gst_pad_query_peer_duration()
7614            - gst_pad_query_peer_convert()
7615           
7616 2006-03-23  Wim Taymans  <wim@fluendo.com>
7617
7618         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7619         (gst_base_sink_init), (gst_base_sink_finalize),
7620         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
7621         (gst_base_sink_set_property), (gst_base_sink_get_property),
7622         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
7623         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
7624         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
7625         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7626         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
7627         (gst_base_sink_preroll_object), (gst_base_sink_event),
7628         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
7629         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
7630         (gst_base_sink_query), (gst_base_sink_change_state):
7631         Decouple max-lateness and the fact that QoS messages are generated
7632         with a new property (qos).
7633         added API: GstBaseSink::async_play()
7634         Add vmethod so subclasses can be notified of ASYNC playing
7635         state changes.
7636         Collect timestamp start and stop to report better current
7637         position in EOS/PLAYING/PAUSED/READY/NULL.
7638         Refactor QoS/frame dropping and other measurements.
7639         API: GstBaseSrc::qos
7640         Fixes #326311
7641
7642         * libs/gst/base/gstbasesink.h:
7643         Added Private struct.
7644         API: gst_base_sink_set_qos_enabled()
7645         API: gst_base_sink_is_qos_enabled()
7646
7647 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
7648
7649         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
7650           If compiling against GLib-2.8 or newer, try to read the
7651           registry file using GMappedFile first before falling back
7652           to fopen() + fread() (#332151).
7653
7654 2006-03-22  Wim Taymans  <wim@fluendo.com>
7655
7656         * gst/gstinfo.c: (gst_debug_set_active),
7657         (gst_debug_category_set_threshold):
7658         Disable debugging unless explicitly activated.
7659         Fixes #335480.
7660
7661 2006-03-22  Wim Taymans  <wim@fluendo.com>
7662
7663         * gst/gstelement.c: (gst_element_set_locked_state),
7664         (gst_element_dispose):
7665         Cleanup the error case.
7666
7667         * gst/gstobject.c: (gst_object_dispose):
7668         print a critical when some object was disposed with
7669         a parent, also revive the object since it might
7670         crash the parent.
7671
7672 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
7673
7674         * tools/gst-launch.1.in:
7675           Fix another typo.
7676
7677 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7678
7679         * configure.ac:
7680         * tests/check/Makefile.am:
7681           disable some tests when we don't have a registry
7682         * tests/check/gst/gstutils.c: (gst_utils_suite):
7683           don't build the part that needs parsing
7684
7685 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7686
7687         * gst/Makefile.am
7688         * tests/examples/Makefile.am:
7689           fix --disable-parse build
7690
7691 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7692
7693         * tools/gst-feedback.1.in:
7694           Fix typo: s/feeback/feedback/ (#133494).
7695
7696 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7697
7698         * tools/Makefile.am:
7699         * tools/gst-launch.1.in:
7700           Add FILES section and correct entry about GST_REGISTRY_PATH
7701           environment variable (#133495; #133494).
7702
7703 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7704
7705         * tools/Makefile.am:
7706         * tools/gst-md5sum.1.in:
7707         * tools/gst-md5sum.c:
7708           Remove gst-md5sum and man page (the md5sink element
7709           required was removed ages ago)
7710
7711 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7712
7713         * gst/gststructure.c: (gst_structure_id_set_value):
7714           Make sure that string fields in structures/taglists
7715           contain valid UTF-8 - we don't want to pass rubbish to
7716           applications because of a buggy plugin (cp. #334167).
7717
7718 2006-03-21  Edward Hervey  <edward@fluendo.com>
7719
7720         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7721         (gst_bin_handle_message_func):
7722         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
7723         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
7724         (gst_element_set_bus_func):
7725         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
7726         * gst/gstminiobject.c: (gst_value_set_mini_object),
7727         (gst_value_take_mini_object):
7728         * gst/gstpad.c: (gst_pad_set_pad_template):
7729         * gst/gstpipeline.c: (gst_pipeline_dispose),
7730         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
7731         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
7732         (gst_collect_pads_chain):
7733         * libs/gst/net/gstnettimeprovider.c:
7734         (gst_net_time_provider_set_property):
7735         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
7736         It's in fact all issues with gst_*object_replace().
7737
7738 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7739
7740         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
7741         
7742         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7743         * pkgconfig/gstreamer-check.pc.in:
7744           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
7745
7746 2006-03-21  Edward Hervey  <edward@fluendo.com>
7747
7748         * gst/gstbuffer.h:
7749         * gst/gstevent.h:
7750         * gst/gstmessage.h:
7751         gst_[buffer|event|message]_ref() macros are replaced by a static
7752         inline functions because gcc-4.1 will about if the return value
7753         isn't used.
7754         * tests/check/gst/gstevent.c: (event_probe):
7755         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
7756
7757 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
7758
7759         * gst/gstutils.h:
7760         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
7761         the type' case. (Closes: #335195 for now). In the future, when we
7762         depend on GLib 2.10, we could also intern the type name using
7763         g_intern_static_string()
7764
7765 2006-03-20  Wim Taymans  <wim@fluendo.com>
7766
7767         * gst/gstbin.c: (gst_bin_handle_message_func),
7768         (bin_query_max_init), (bin_query_position_fold),
7769         (bin_query_position_done), (gst_bin_query):
7770         Position query should also take max of all streams.
7771
7772 2006-03-20  Wim Taymans  <wim@fluendo.com>
7773
7774         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7775         (gst_fake_src_finalize):
7776         Fix leaks in fakesrc.
7777
7778         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7779         Fix leaks in the testcase.
7780
7781 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
7782
7783         * gst/gst_private.h:
7784           add win32 specific import decoration(__declspec(dllimport)) 
7785           for all extern GstDebugCategory * variables
7786         * win32/common/libgstbase.def:
7787         * win32/common/libgstcontroller.def:
7788         * win32/common/libgstreamer.def:
7789           Add some exports, remove empty lines
7790         * win32/common/libgstdataprotocol.def:
7791         * win32/common/libgstdataprotocol.dsp:
7792         * win32/common/libgstnet.def:
7793         * win32/common/libgstnet.dsp:
7794           new project files and exportation files added
7795         
7796 2006-03-19  Wim Taymans  <wim@fluendo.com>
7797
7798         * tests/check/libs/basesrc.c: (eos_event_counter):
7799         Use proper return value for probe.
7800
7801 2006-03-17  Wim Taymans  <wim@fluendo.com>
7802
7803         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7804         (gst_pad_push):
7805         Don't leak buffers, caps and pads on negotiation errors.
7806
7807 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
7808
7809         * docs/faq/cvs.xml:
7810         * docs/faq/dependencies.xml:
7811         * docs/faq/developing.xml:
7812         * docs/faq/faq.xml:
7813         * docs/faq/general.xml:
7814         * docs/faq/getting.xml:
7815         * docs/faq/legal.xml:
7816         * docs/faq/troubleshooting.xml:
7817         * docs/faq/using.xml:
7818         Faq review and update.
7819
7820 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
7821
7822         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7823         (gst_pad_push):
7824         Don't pound the cpu to pieces by checking get_caps when accept_caps
7825         is called with the same caps as the pad already has.
7826         Use GST_DEBUG_OBJECT when outputting caps change information.
7827
7828 2006-03-15  Wim Taymans  <wim@fluendo.com>
7829
7830         * gst/gstclock.c: (gst_clock_class_init):
7831         Fix docs.
7832
7833 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
7834
7835         * gst/gstbuffer.h:
7836         Documentation fix.
7837
7838         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
7839         (gst_pad_accept_caps), (gst_pad_configure_sink),
7840         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
7841         Make the default acceptcaps behaviour be to check the requested 
7842         caps against the gst_pad_get_caps output. 
7843
7844         Ensure that gst_pad_accept_caps is used to check caps when a pad
7845         doesn't have a setcaps function, so that pads automatically refuse 
7846         caps that they don't allow in their pad template. (Fixes #332986)
7847
7848         When a buffer with attached caps is pushed, ensure that the source 
7849         pad receives those caps even if the element didn't call
7850         gst_pad_set_caps first.
7851
7852 2006-03-15  Wim Taymans  <wim@fluendo.com>
7853
7854         * libs/gst/base/gstadapter.c:
7855         Add some docs.
7856
7857 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
7858
7859         * win32/common/libgstbase.def:
7860         * win32/common/libgstcontroller.def:
7861         * win32/common/libgstreamer.def:
7862           Add a whole bunch of missing functions (#334434).
7863
7864 2006-03-14  Wim Taymans  <wim@fluendo.com>
7865
7866         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
7867         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
7868         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
7869         Better debug info when we receive a segment event.
7870         Reorganize a bit so we can pass the get_times() results around.
7871         Use the segment format when calculating the running time.
7872         Don't do QoS is sync is disabled or we have no clock or the
7873         element does not want us to sync to the clock.
7874         Don't drop buffers if QoS is disabled for now.
7875
7876 2006-03-14  Wim Taymans  <wim@fluendo.com>
7877
7878         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
7879         Marked the stats property as unimplemented so people don't get
7880         wild ideas.
7881         Add debug message when regression goes wrong.
7882         Added some more docs.
7883
7884 2006-03-14  Wim Taymans  <wim@fluendo.com>
7885
7886         * gst/gstsegment.c: (gst_segment_to_stream_time):
7887         Return correct return type in case of errors.
7888
7889 2006-03-14  Wim Taymans  <wim@fluendo.com>
7890
7891         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
7892           Don't segfault on invalid formats.
7893
7894 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7895
7896         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7897           Can't use gst_segment_to_running_time() when the segment
7898           is not in GST_TIME_FORMAT (like with filesink, for example).
7899           Stops flac encoding pipelines from spewing critical warnings
7900           at EOS (#331248).
7901           
7902 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7903
7904         * gst/gstpipeline.c: (gst_pipeline_class_init):
7905           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
7906
7907         * plugins/elements/gsttypefindelement.c:
7908         (gst_type_find_element_handle_event):
7909           Don't try to typefind empty streams.
7910
7911 2006-03-14  Wim Taymans  <wim@fluendo.com>
7912
7913         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
7914         (gst_base_sink_do_qos):
7915         Separate QoS calculation.
7916         Only drop buffers when lateness is bigger than the 
7917         duration of the buffer.
7918
7919 2006-03-13  Wim Taymans  <wim@fluendo.com>
7920
7921         * gst/gstpipeline.c: (gst_pipeline_set_property),
7922         (gst_pipeline_get_property), (do_pipeline_seek),
7923         (gst_pipeline_change_state), (gst_pipeline_set_delay),
7924         (gst_pipeline_get_delay):
7925         Don't deadlock when reading properties.
7926
7927 2006-03-13  Wim Taymans  <wim@fluendo.com>
7928
7929         * libs/gst/base/gstbasetransform.c:
7930         (gst_base_transform_class_init), (gst_base_transform_init),
7931         (gst_base_transform_sink_event),
7932         (gst_base_transform_sink_eventfunc),
7933         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
7934         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7935         (gst_base_transform_set_property),
7936         (gst_base_transform_get_property),
7937         (gst_base_transform_change_state), (gst_base_transform_update_qos),
7938         (gst_base_transform_set_qos_enabled),
7939         (gst_base_transform_is_qos_enabled):
7940         * libs/gst/base/gstbasetransform.h:
7941         Make basetransform virtual method for src events too.
7942         Handle QOS in basetransform.
7943         API: gst_base_transform_update_qos()
7944         API: gst_base_transform_set_qos_enabled()
7945         API: gst_base_transform_is_qos_enabled()
7946
7947 2006-03-13  Wim Taymans  <wim@fluendo.com>
7948
7949         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7950         (gst_base_sink_do_sync):
7951         Small cleanups.
7952         Use QOS debug category.
7953
7954 2006-03-13  Wim Taymans  <wim@fluendo.com>
7955
7956         * plugins/elements/gstqueue.c:
7957         Very small doc update.
7958
7959 2006-03-13  Wim Taymans  <wim@fluendo.com>
7960
7961         * gst/gst_private.h:
7962         * gst/gstinfo.c: (_gst_debug_init):
7963         Added QOS debug category
7964
7965 2006-03-13  Wim Taymans  <wim@fluendo.com>
7966
7967         * docs/gst/gstreamer-sections.txt:
7968         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
7969         * gst/gstbin.h:
7970         * gst/gstbus.c: (gst_bus_class_init):
7971         * gst/gstbus.h:
7972         * gst/gstclock.c:
7973         * gst/gstelement.c: (gst_element_set_locked_state):
7974         * gst/gstsegment.c:
7975         Documentation updates.
7976
7977         * gst/gstpipeline.c: (gst_pipeline_get_type),
7978         (gst_pipeline_class_init), (gst_pipeline_init),
7979         (gst_pipeline_dispose), (gst_pipeline_set_property),
7980         (gst_pipeline_get_property), (do_pipeline_seek),
7981         (gst_pipeline_send_event), (gst_pipeline_change_state),
7982         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
7983         (gst_pipeline_get_delay):
7984         * gst/gstpipeline.h:
7985         Added methods for setting the delay.
7986         API: gst_pipeline_set_delay()
7987         API: gst_pipeline_get_delay()
7988         Add pipeline debug category
7989         Various cleanups.
7990         Updated docs.
7991         Don't reset stream time when seek failed.
7992
7993 2006-03-13  Wim Taymans  <wim@fluendo.com>
7994
7995         * docs/design/draft-klass.txt:
7996         * docs/design/part-clocks.txt:
7997         * docs/design/part-events.txt:
7998         * docs/design/part-gstbin.txt:
7999         * docs/design/part-gstpipeline.txt:
8000         * docs/design/part-messages.txt:
8001         * docs/design/part-negotiation.txt:
8002         * docs/design/part-overview.txt:
8003         * docs/design/part-preroll.txt:
8004         * docs/design/part-seeking.txt:
8005         * docs/design/part-states.txt:
8006         * docs/design/part-streams.txt:
8007         Documentation updates.
8008
8009 2006-03-12  Julien MOUTTE  <julien@moutte.net>
8010
8011         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
8012         us to leak strings...
8013
8014 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8015
8016         * libs/gst/net/gstnettimeprovider.c:
8017           fix docs
8018         * win32/common/config.h:
8019           update
8020
8021 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
8022
8023         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
8024
8025         * configure.ac:
8026           Don't check for libgnomeui (leftover from old examples
8027           that aren't built or disted any longer) (#334303).
8028           
8029 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
8030
8031         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
8032         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
8033           Emit RESOURCE_NO_SPACE_LEFT error here as well when
8034           there's no space left on the device.
8035
8036 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
8037
8038         * gst/gstclock.h:
8039           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
8040           to cast the input to GstClockTime before comparing with
8041           another GstClockTime value.
8042
8043 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8044
8045         * configure.ac:
8046           back to trunk
8047
8048 === release 0.10.4 ===
8049
8050 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
8051
8052         * configure.ac:
8053           releasing 0.10.4, "Light"
8054
8055 2006-03-10  Michael Smith  <msmith@fluendo.com>
8056
8057         * libs/gst/dataprotocol/dataprotocol.c:
8058           Fix docs for dataprocotol to not get the return types completely
8059           wrong for a few functions.
8060
8061 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
8062
8063         * docs/gst/gstreamer-sections.txt:
8064         * gst/gstpipeline.c: (gst_pipeline_class_init),
8065         (gst_pipeline_init), (gst_pipeline_set_property),
8066         (gst_pipeline_get_property), (gst_pipeline_change_state),
8067         (gst_pipeline_set_auto_flush_bus),
8068         (gst_pipeline_get_auto_flush_bus):
8069         * gst/gstpipeline.h:
8070           Add new API: gst_pipeline_set_auto_flush_bus() and
8071           gst_pipeline_get_auto_flush_bus() to disable automatic
8072           flushing of the pipeline's GstBus when going from READY
8073           to NULL state (#332045).
8074
8075 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
8076
8077         * docs/gst/gstreamer-sections.txt:
8078         * gst/gsturi.c: (gst_uri_has_protocol):
8079         * gst/gsturi.h:
8080            Add new API: gst_uri_has_protocol() (#333779).
8081
8082 2006-03-09  Wim Taymans  <wim@fluendo.com>
8083
8084         * gst/gstclock.c: (gst_clock_entry_new),
8085         (gst_clock_id_compare_func), (gst_clock_id_wait),
8086         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
8087         (gst_clock_init), (gst_clock_get_internal_time),
8088         (gst_clock_set_master), (do_linear_regression),
8089         (gst_clock_add_observation), (gst_clock_set_property):
8090         * gst/gstclock.h:
8091         Review docs.
8092         Small cleanups.
8093         Fix a possible segfault when the window-size is made smaller.
8094         Calculate jitter before performing the clock wait. Ideally
8095         the clock implementation should calculate jitter but we need
8096         API breakage for that.
8097
8098         * gst/gstsystemclock.c: (gst_system_clock_init):
8099         Docs review.
8100         
8101         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8102         Remove leftover else
8103
8104         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
8105         (gst_systemclock_suite):
8106         Added check to test GST_CLOCK_DIFF.
8107
8108 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
8109
8110         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
8111         (gst_type_find_helper_get_range):
8112           If we are provided with the size, we should implement
8113           GstTypeFind::get_length, so that typefind functions who
8114           want to can actually peek at the middle of a file.
8115
8116 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
8117
8118         * docs/manual/advanced-dataaccess.xml:
8119           Add some very very basic error checking.
8120
8121         * docs/pwg/appendix-checklist.xml:
8122           Some updates to the list of things to check when writing an element.
8123
8124 2006-03-08  Wim Taymans  <wim@fluendo.com>
8125
8126         * docs/design/part-element-transform.txt:
8127         Added some docs about the design of tranform elements.
8128
8129         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
8130         (gst_base_src_loop), (gst_base_src_change_state):
8131         Mark buffers with the DISCONT flag.
8132
8133 2006-03-08  Michael Smith  <msmith@fluendo.com>
8134
8135         * gst/gstregistry.h:
8136         * gst/gstregistryxml.c: (gst_registry_save),
8137         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
8138         (gst_registry_xml_save_pad_template),
8139         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
8140         (gst_registry_xml_write_cache):
8141           Rewrite registry-saving to avoid race conditions and check for
8142           failed writes.
8143
8144 2006-03-08  Wim Taymans  <wim@fluendo.com>
8145
8146         * libs/gst/base/gstbasetransform.c:
8147         (gst_base_transform_transform_caps),
8148         (gst_base_transform_transform_size),
8149         (gst_base_transform_prepare_output_buffer),
8150         (gst_base_transform_get_unit_size),
8151         (gst_base_transform_buffer_alloc),
8152         (gst_base_transform_handle_buffer),
8153         (gst_base_transform_change_state):
8154         Cleanups, separate normal flow from errors, add sensible
8155         DEBUG lines.
8156         Don't try to renegotiate when allocating an output buffer.
8157         Also copy DISCONT buffer flag when copying a buffer.
8158         Reset the transform after we finish streaming, not during.
8159
8160 2006-03-08  Wim Taymans  <wim@fluendo.com>
8161
8162         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8163         Use last buffer timestamp in qos message.
8164
8165 2006-03-07  Wim Taymans  <wim@fluendo.com>
8166
8167         Patch by: Christophe Fergeau
8168
8169         * docs/pwg/advanced-tagging.xml:
8170         * docs/pwg/building-pads.xml:
8171           fixes #333416
8172
8173 2006-03-07  Wim Taymans  <wim@fluendo.com>
8174
8175         * docs/libs/gstreamer-libs-sections.txt:
8176         Added basesink new methods.
8177
8178         * gst/gstevent.c:
8179         * gst/gstevent.h:
8180         Docs updates. Flesh out the QoS docs.
8181
8182         * libs/gst/base/gstadapter.c:
8183         Small doc clarification about ownership and flushing.
8184
8185         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
8186         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
8187         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
8188         (gst_base_sink_get_property), (gst_base_sink_do_sync):
8189         * libs/gst/base/gstbasesink.h:
8190         API additions: 
8191         Added new methods to allow subclass to control max-lateness 
8192         and sync.
8193         Generate very basic QoS events based on last sync observation.
8194         Updated docs, fix typo, added some QoS blurb.
8195
8196         * libs/gst/base/gstbasesrc.c:
8197         Remove obsolete _get_state() calls from docs.
8198
8199 2006-03-07  Wim Taymans  <wim@fluendo.com>
8200
8201         * docs/libs/gstreamer-libs-sections.txt:
8202         * libs/gst/base/gstbasetransform.h:
8203         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
8204         Fix docs for GstBaseSrc.
8205
8206 2006-03-07  Wim Taymans  <wim@fluendo.com>
8207
8208         * docs/gst/gstreamer-sections.txt:
8209         * gst/gstbuffer.h:
8210         * gst/gstvalue.c:
8211         * libs/gst/base/gstbasetransform.h:
8212         Small documentation fixes.
8213
8214 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
8215
8216         * gst/gstvalue.c:
8217           Document thread-unsafety of gst_value_register_foo_func()
8218           when used at the same time as gst_value_foo() (#322628).
8219
8220 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
8221
8222         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
8223         (gst_push_src_check_get_range):
8224           Push sources don't support pull mode by default.
8225
8226 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
8227
8228         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8229         (gst_base_src_init), (gst_base_src_pad_check_get_range),
8230         (gst_base_src_default_check_get_range):
8231         * libs/gst/base/gstbasesrc.h:
8232           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
8233           provide default implementation, and rename
8234           gst_base_src_check_get_range() to
8235           gst_base_src_pad_check_get_range() for clarity.
8236
8237 2006-03-06  Wim Taymans  <wim@fluendo.com>
8238
8239         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
8240         Make property overridable.
8241
8242 2006-03-06  Wim Taymans  <wim@fluendo.com>
8243
8244         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
8245         (gst_base_sink_init), (gst_base_sink_set_property),
8246         (gst_base_sink_get_property), (gst_base_sink_do_sync):
8247         * libs/gst/base/gstbasesink.h:
8248         API addition: Make max-lateness a property.
8249
8250 2006-03-06  Wim Taymans  <wim@fluendo.com>
8251
8252         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
8253         (gst_base_sink_do_sync), (gst_base_sink_render_object):
8254         Don't ever draw a frame that is >10ms late.
8255
8256 2006-03-06  Michael Smith  <msmith@fluendo.com>
8257
8258         * gst/gstmessage.c: (_gst_message_copy):
8259           When copying a message, set the parent_refcount of the enclosed
8260           structure to point at the copy, not the original message.
8261
8262 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
8263
8264         Patch by: Christophe Fergeau
8265
8266         * gst/gstutils.h:
8267           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
8268           usable in c++ code (#333417)
8269
8270 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8271
8272         * gst/gstclock.h:
8273           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
8274
8275 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
8276
8277         * libs/gst/base/gstbasetransform.c:
8278         (gst_base_transform_transform_caps):
8279           Make sure caps are writable before passing them to
8280           gst_caps_append().
8281
8282 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
8283
8284         * gst/gsterror.h:
8285           Fix some minor docs errors.
8286
8287 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
8288
8289           Patch by: Ross Burton <ross at burtonini dot com>
8290
8291         * gst/gsterror.c: (_gst_resource_errors_init):
8292         * gst/gsterror.h:
8293           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
8294
8295 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
8296
8297         * gst/gst.c:
8298         Add a check and output a g_warning when GStreamer is built
8299         against GLib 2.6 but running against 2.8 or higher, and vice 
8300         versa. (Closes: #323542)
8301
8302 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
8303
8304         * gst/parse/parse.l:
8305           Commit patch for parse_launch syntax from #331255. Removes 
8306           support for quoted strings and mimetypes when writing filtered 
8307           caps. See the bug report for more details - I'm pretty sure this
8308           obscure feature is not in use by _anyone_ anywhere.
8309
8310           With this simple change, the size of the gstreamer.so here 
8311           drops from 2193KB to 1565KB.
8312
8313 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
8314
8315         * plugins/elements/gsttypefindelement.h:
8316         * plugins/elements/gsttypefindelement.c:
8317         (gst_type_find_element_src_event), (start_typefinding),
8318         (stop_typefinding), (gst_type_find_element_handle_event),
8319         (gst_type_find_element_chain),
8320         (gst_type_find_element_chain_do_typefinding):
8321           Use gst_type_find_helper_for_buffer() for chain-based
8322           typefinding.
8323
8324 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
8325
8326         * plugins/elements/gsttypefindelement.c:
8327         (gst_type_find_element_class_init),
8328         (gst_type_find_element_set_property),
8329         (gst_type_find_element_get_property):
8330           Deprecate "maximum" property (not only was it only taken into
8331           account for typefinding in push-mode anyway, it also was never
8332           actually possible to set it in the first place because the
8333           property was registered with the numeric property ID for the
8334           "minimum" property). Register "maximum" property correctly,
8335           for the sake of future copy'n'pasters. Remove some cruft
8336           from property get/set functions.
8337
8338 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
8339
8340         * plugins/elements/gsttypefindelement.c:
8341         (gst_type_find_element_activate):
8342           Use gst_type_find_helper_get_range() here, so we
8343           can honour the "minimum" property and also emit
8344           the signal with the correct probability of the found caps.
8345
8346 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
8347
8348         * docs/libs/gstreamer-libs-sections.txt:
8349         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
8350         (helper_find_suggest), (gst_type_find_helper_get_range),
8351         (gst_type_find_helper):
8352         * libs/gst/base/gsttypefindhelper.h:
8353           New API: gst_type_find_helper_get_range() (#333042).
8354
8355 2006-03-02  Michael Smith  <msmith@fluendo.com>
8356
8357         * gst/gstregistryxml.c: (load_feature):
8358           Asserting on a failure to read part of the registry is Not Cool.
8359           Just log a warning and return NULL (which is already handled)
8360
8361 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
8362
8363         * win32/common/libgstbase.def:
8364           added export of gst_type_find_helper_for_buffer
8365         * win32/common/libgstbase.def:
8366           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
8367           gst_ghost_pad_get_target
8368
8369 2006-02-28  Wim Taymans  <wim@fluendo.com>
8370
8371         * docs/design/draft-klass.txt:
8372         We use Filter now.
8373         Added Connector to mark elements that are only used to
8374         allow pipeline connections.
8375         Moved Debug to extra feature since most of them are 
8376         functionally something else.
8377
8378 2006-02-28  Wim Taymans  <wim@fluendo.com>
8379
8380         * docs/design/draft-klass.txt:
8381         Some updates and clarifications.
8382
8383 2006-02-28  Wim Taymans  <wim@fluendo.com>
8384
8385         * docs/design/draft-klass.txt:
8386         Proposal for klass field values.
8387
8388         * docs/design/part-streams.txt:
8389         Start of a doc describing stream anatomy.
8390
8391 2006-02-28  Wim Taymans  <wim@fluendo.com>
8392
8393         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
8394         Help the compiler a bit with type registration.
8395         Use existing forward cod path instead of duplicating it when 
8396         handling a message.
8397         
8398         * gst/gstbus.c: (gst_bus_get_type):
8399         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
8400         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
8401         * gst/gstclock.c: (gst_clock_get_type):
8402         * gst/gstelement.c: (gst_element_get_type),
8403         * gst/gstelementfactory.c: (gst_element_factory_get_type):
8404         * gst/gstindexfactory.c: (gst_index_factory_get_type):
8405         * gst/gstminiobject.c: (gst_mini_object_get_type):
8406         * gst/gstpad.c: (gst_pad_get_type):
8407         * gst/gstsegment.c: (gst_segment_get_type):
8408         * gst/gststructure.c: (gst_structure_get_type):
8409         * gst/gstsystemclock.c: (gst_system_clock_get_type):
8410         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
8411         * gst/gstvalue.c:
8412         Help compiler with type registration.
8413
8414         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8415         Small doc update.
8416
8417 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8418
8419         * plugins/elements/gsttypefindelement.c:
8420         (gst_type_find_element_handle_event):
8421           When we get an EOS event and have not found a type yet
8422           (most likely because we had not yet accumulated
8423           TYPE_FIND_MIN_SIZE of data yet), try to determine the
8424           type given the data we have so far. Fixes typefinding
8425           for very short streams again, most notably quicktime
8426           redirections as used on Apple's trailer site (#331701).
8427
8428 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8429
8430         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
8431         (gst_type_find_helper):
8432           Try typefinding factories with the highest rank first.
8433
8434 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8435
8436         * docs/libs/gstreamer-libs-docs.sgml:
8437         * docs/libs/gstreamer-libs-sections.txt:
8438         * libs/gst/base/gsttypefindhelper.c:
8439           Add section for typefind helper and add documentation
8440           for the old and the new function.
8441
8442 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8443
8444         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
8445         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
8446         (gst_type_find_helper_for_buffer):
8447         * libs/gst/base/gsttypefindhelper.h:
8448           New API: gst_type_find_helper_for_buffer() (#332723).
8449           
8450 2006-02-27  Michael Smith  <msmith@fluendo.com>
8451
8452         Patch by: Loïc Minier
8453
8454         * configure.ac:
8455         * docs/Makefile.am:
8456         * docs/slides/Makefile.am:
8457           prevent CVS directories getting disted.
8458
8459 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8460
8461         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
8462           Use the REFCOUNTING category for caps refcounting.
8463           
8464 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
8465
8466         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
8467           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
8468
8469 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
8470
8471         * plugins/elements/gsttypefindelement.c:
8472         (gst_type_find_element_activate):
8473           Use gst_pad_check_pull_range() before _activate_pull()
8474           to avoid unnecessary open/close (see #331690).
8475
8476 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
8477
8478         * gst/gstutils.c:
8479           Docs enhancement: make it crystal clear what the
8480           gst_pad_add_*_probe() callbacks should look like.
8481
8482 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
8483
8484         * libs/gst/base/gstbasesrc.c:
8485           Document how applications can stop recording from
8486           live sources (see #330996).
8487
8488 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8489
8490         * tests/check/Makefile.am:
8491         * tests/check/libs/basesrc.c: (eos_event_counter),
8492         (basesrc_eos_events_pull), (basesrc_eos_events_push),
8493         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
8494         (gst_basesrc_suite), (main):
8495           ... and add some tests for the base source EOS stuff.
8496
8497 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8498
8499         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
8500           Test case originally showed the problem fixed below,
8501           but was then amended. Add checks back at the place
8502           where they used to be.
8503
8504 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8505
8506         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8507         (gst_base_src_init), (gst_base_src_loop),
8508         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8509         (gst_base_src_change_state):
8510         * libs/gst/base/gstbasesrc.h:
8511           Don't unconditionally send EOS when going from PAUSED to
8512           READY state, esp. make sure we don't send two EOS events
8513           in some cases (e.g. one when reaching EOS and one when
8514           going from PAUSED to READY). Also, we don't want to send
8515           EOS events when operating in pull mode. However, we do
8516           want to send an EOS event when shutting down a live
8517           source explicitly, for example (fixes #330996).
8518           
8519 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8520
8521         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
8522           Update src->read_position after a seek when not using mmap.
8523           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
8524
8525 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
8526
8527         * gst/Makefile.am:
8528         * gst/gstparse.h:
8529         * gst/gstutils.c:
8530         * gst/gstutils.h:
8531         Make things work with --disable-parse as they do with 
8532         --disable-load-save - the symbols involved disappear, but the
8533         header is still installed and GST_DISABLE_PARSE is included via
8534         gstconfig.h
8535
8536 2006-02-20  Julien MOUTTE  <julien@moutte.net>
8537
8538         * libs/gst/base/gstbasetransform.c:
8539         (gst_base_transform_change_state): Fix a stupid bug. I was 
8540         sure I compiled that.
8541
8542 2006-02-20  Julien MOUTTE  <julien@moutte.net>
8543
8544         * gst/gstpad.c: (gst_pad_set_blocked_async):
8545         * gst/gstutils.c: (gst_pad_add_data_probe),
8546         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8547         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8548         (gst_pad_remove_buffer_probe): Make those function act on the
8549         ghostpad target when it's a ghostpad. (Closes #331727)
8550
8551 2006-02-20  Julien MOUTTE  <julien@moutte.net>
8552
8553         * libs/gst/base/gstbasetransform.c:
8554         (gst_base_transform_change_state): Make basetransform reusable.
8555         (Closes #331898)
8556
8557 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
8558
8559         * docs/random/release:
8560         Move the current documentation of how to do a release to the top
8561         of the file.
8562
8563         * gst/gstbin.c: (gst_bin_class_init),
8564         (gst_bin_handle_message_func):
8565         Allow multiple state-recalculation threads. (Closes #328873)
8566
8567 2006-02-19  Julien MOUTTE  <julien@moutte.net>
8568
8569         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
8570         * gst/gstpad.c: (gst_pad_set_event_function),
8571         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
8572         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
8573         2 strings. You can't use the STR_NULL macro on that.
8574
8575 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
8576
8577         * gst/gstpad.c: (gst_pad_set_event_function),
8578         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
8579         (gst_pad_set_getcaps_function)
8580         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
8581           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
8582           So now, we can use --gst-debug-level=5 on Windows
8583         * win32/common/libgstcontroller.def:
8584           Added export of gst_controller_init
8585         * win32/vs6/libgstcontroller.dsp:
8586           Fixed Release post build configuration
8587
8588 2006-02-17  Wim Taymans  <wim@fluendo.com>
8589
8590         * tests/check/gst/gstquery.c: (GST_START_TEST):
8591         Added another check.
8592
8593 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
8594
8595         * plugins/elements/gsttypefindelement.c: (find_peek):
8596           We can do peeks at non-zero offsets, as long as they
8597           fall within the buffer we have.
8598
8599 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
8600
8601         * tests/check/Makefile.am:
8602         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
8603         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
8604         (parse_suite), (main):
8605           Add testsuite for parse launch syntax
8606
8607 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
8608
8609         * plugins/elements/gsttypefindelement.c:
8610         (gst_type_find_element_chain):
8611           When typefinding is unsuccessful in the chain function, don't
8612           error out immediately. Only error out with NO_CAPS_FOUND if
8613           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
8614           otherwise simply wait for more data so we can try typefinding
8615           again with more data later. Also, don't attempt to typefind
8616           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
8617           this should improve typefinding from network sources where the
8618           size of the first buffer can be somewhat random.
8619
8620 2006-02-14  Wim Taymans  <wim@fluendo.com>
8621
8622         * docs/gst/gstreamer-sections.txt:
8623         * gst/gstpadtemplate.c:
8624         * gst/gstpadtemplate.h:
8625         Fix padtemplate docs, fixes #328805.
8626
8627 2006-02-14  Wim Taymans  <wim@fluendo.com>
8628
8629         * tools/gst-launch.c: (main):
8630         NO_PREROLL is not an ERROR so don't send confusing messages
8631         to the user.
8632
8633 2006-02-14  Wim Taymans  <wim@fluendo.com>
8634
8635         Patch by: Torsten Schoenfeld
8636
8637         * gst/gstregistry.c: (gst_registry_get_default),
8638         (_gst_registry_cleanup):
8639         Protect default registry with lock and ref/sink it.
8640         Fixes #324818
8641
8642 2006-02-14  Wim Taymans  <wim@fluendo.com>
8643
8644         * gst/gstbuffer.c:
8645         * gst/gstquery.c: (gst_query_list_add_format),
8646         (gst_query_set_formatsv), (gst_query_parse_formats_length),
8647         (gst_query_parse_formats_nth):
8648         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8649         Docs fixes.
8650
8651 2006-02-14  Wim Taymans  <wim@fluendo.com>
8652
8653         * docs/gst/gstreamer-sections.txt:
8654         Reworked query docs.
8655
8656         * gst/gstquery.c: (gst_query_new_formats),
8657         (gst_query_list_add_format), (gst_query_set_formats),
8658         (gst_query_set_formatsv), (gst_query_parse_formats_length),
8659         (gst_query_parse_formats_nth):
8660         * gst/gstquery.h:
8661         Flesh out formats query, added some new methods.
8662         Fix part of #324398.
8663
8664         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
8665         Added query creation tests.
8666
8667 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
8668
8669         * gst/gstpad.c: (fixate_value):
8670         Add a default fixation for fraction lists.
8671
8672 2006-02-13  Wim Taymans  <wim@fluendo.com>
8673
8674         * gst/gsttask.c: (gst_task_init), (gst_task_func),
8675         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
8676         (gst_task_join):
8677         * gst/gsttask.h:
8678         Detect and warn for obvious deadlocks. fixes #320340
8679         Fix error case where lock was not released.
8680
8681         * tests/check/Makefile.am:
8682         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
8683         (task_func), (gst_element_suite), (main):
8684         Add task check.
8685
8686 2006-02-13  Wim Taymans  <wim@fluendo.com>
8687
8688         * docs/gst/gstreamer-sections.txt:
8689         * gst/gstbus.c:
8690         Add new functions to docs.
8691
8692 2006-02-13  Wim Taymans  <wim@fluendo.com>
8693
8694         * docs/design/part-TODO.txt:
8695         Updated TODO list, basesrc supports seeking to non-bytes
8696         formats.
8697
8698         * docs/design/part-element-sink.txt:
8699         Update docs.
8700
8701         * gst/gstbin.c: (bin_replace_message),
8702         (gst_bin_handle_message_func):
8703         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
8704         * gst/gstevent.c: (gst_event_finalize):
8705         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8706         (gst_pad_send_event):
8707         Use shiny new _TYPE_NAME macros.
8708
8709         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8710         Move debug statement up.
8711
8712         * gst/gstelement.c: (gst_element_set_locked_state):
8713         Add some debugging.
8714
8715 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
8716
8717         * docs/gst/gstreamer-sections.txt:
8718         * gst/gstmessage.h:
8719         * gst/gstquery.h:
8720           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
8721           macros (#330906). Also, document the already existing
8722           GST_QUERY_TYPE macro.
8723
8724 2006-02-13  Wim Taymans  <wim@fluendo.com>
8725
8726         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
8727         (event_probe), (GST_START_TEST):
8728         Only events up to the pipeline EOS are counted, there are
8729         some more when going to NULL currently which we don't care
8730         about for now.
8731
8732 2006-02-13  Wim Taymans  <wim@fluendo.com>
8733
8734         * gst/gstpad.c: (gst_pad_send_event):
8735         Correctly check flushing and emit probes. fixes #330125
8736
8737 2006-02-10  Andy Wingo  <wingo@pobox.com>
8738
8739         * gst/gstbus.c (gst_bus_class_init): Declare our private data
8740         structure.
8741         (gst_bus_init): Cache the location of the private data in the
8742         instance structure.
8743         (gst_bus_enable_sync_message_emission) 
8744         (gst_bus_disable_sync_message_emission): Implement new public
8745         functions.
8746         (gst_bus_post): Emit the sync-message signal if the user asked for
8747         it. Fixes #330684.
8748
8749         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
8750         location of the bus-private structure.
8751         (gst_bus_enable_sync_message_emission)
8752         (gst_bus_disable_sync_message_emission): API addition
8753
8754 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
8755
8756         Patch by: Vincent Torri
8757
8758         * docs/pwg/building-boiler.xml:
8759         PWG patch from #326800
8760
8761 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
8762
8763         * configure.ac:
8764         * docs/Makefile.am:
8765         * docs/design/Makefile.am:
8766           Dist design docs.
8767
8768 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
8769
8770         * configure.ac:
8771           back to CVS
8772
8773 === release 0.10.3 ===
8774
8775 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
8776
8777         * configure.ac:
8778           releasing 0.10.3, "Like a virgin"
8779
8780 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
8781
8782         * configure.ac:
8783           2nd prerelease of 0.10.3
8784           Bump libtool versioning.
8785
8786 2006-02-07  Andy Wingo  <wingo@pobox.com>
8787
8788         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
8789         update last_stop if we're in TIME format and the timestamp is
8790         valid.
8791
8792         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
8793         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
8794         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
8795         If we get a new newsegment with a different format, adapt
8796         accordingly.
8797
8798         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
8799         of 0. Not a problem, really.
8800
8801         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
8802         warn if sync=true.
8803
8804 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
8805
8806         * configure.ac:
8807           Prelease of 0.10.3
8808
8809 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
8810
8811         * win32/vs7:
8812           project files updated to the default vs7 configuration
8813         * win32/common/libgstbase.def:
8814         * win32/common/libgstreamer.def:
8815           added new symbols,
8816           removed empty lines,
8817           sorted all exported symbols alphabetically
8818         * win32/common/dirent.c:
8819         * win32/common/dirent.h:
8820         * win32/common/gchar.h:
8821           use windows line end.
8822           
8823 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
8824
8825         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
8826           Send EOS event when stopping.
8827
8828 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
8829
8830         * docs/README:
8831           Tell folks what to do if the plugin-foobar.xml file
8832           hasn't been generated for a newly-added plugin.
8833
8834 2006-02-05  Julien MOUTTE  <julien@moutte.net>
8835
8836         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8837         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
8838         (gst_collect_pads_start), (gst_collect_pads_stop),
8839         (gst_collect_pads_event): Collectpads now holds a reference
8840         to the GstPad that was added. Indeed we don't want to look
8841         at pads that might just go away with no warning...
8842
8843 2006-02-05  Julien MOUTTE  <julien@moutte.net>
8844
8845         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8846         (gst_collect_pads_start), (gst_collect_pads_stop),
8847         (gst_collect_pads_event), (gst_collect_pads_chain):
8848         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
8849         Mark Nauwelaerts's patch on bug #328491.
8850
8851 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8852
8853         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
8854         (gst_utils_suite):
8855           Add some simple tests for gst_parse_bin_from_description() and
8856           gst_bin_find_unconnected_pad() (#329069).
8857
8858 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8859
8860         * tools/gst-launch.c: (event_loop), (main):
8861           Catch errors during preroll (#320084).
8862
8863 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
8864
8865         * plugins/elements/gsttypefindelement.c:
8866         (gst_type_find_element_activate):
8867           Post TYPE_NOT_FOUND error message when typefinding
8868           is unsuccessful in the activate function as well.
8869
8870 2006-02-02  Wim Taymans  <wim@fluendo.com>
8871
8872         * docs/design/part-element-sink.txt:
8873         Updated doc.
8874
8875 2006-02-02  Wim Taymans  <wim@fluendo.com>
8876
8877         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
8878         (gst_base_sink_render_object),
8879         (gst_base_sink_queue_object_unlocked):
8880         Only keep track of prerollable items when we are 
8881         prerolling.
8882         Before rendering after preroll, always check if we
8883         have queued items.
8884         Added some more debugging.
8885
8886 2006-02-02  Wim Taymans  <wim@fluendo.com>
8887
8888         * gst/gstelement.c: (gst_element_continue_state),
8889         (gst_element_set_state_func), (gst_element_change_state):
8890         Fixed #326576, been running this for quite some time with
8891         no regressions at all.
8892
8893 2006-02-02  Wim Taymans  <wim@fluendo.com>
8894
8895         * common/gst.supp:
8896         Added more suppressions
8897
8898 2006-02-02  Wim Taymans  <wim@fluendo.com>
8899
8900         * docs/design/part-element-sink.txt:
8901         Updated document.
8902
8903         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8904         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
8905         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
8906         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
8907         (gst_base_sink_do_sync), (gst_base_sink_render_object),
8908         (gst_base_sink_preroll_object),
8909         (gst_base_sink_queue_object_unlocked),
8910         (gst_base_sink_queue_object), (gst_base_sink_event),
8911         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
8912         (gst_base_sink_loop), (gst_base_sink_activate_pull),
8913         (gst_base_sink_get_position), (gst_base_sink_change_state):
8914         * libs/gst/base/gstbasesink.h:
8915         Totally refactored matching the design doc.
8916         Use two segments, one to clip incomming buffers and another to
8917         perform sync.
8918         Handle queueing correctly, bypass the queue when playing.
8919         Make EOS cancelable.
8920         Handle errors correctly when operating in pull based mode.
8921
8922         * tests/check/elements/fakesink.c: (GST_START_TEST),
8923         (fakesink_suite):
8924         Added new check for sinks.
8925
8926 2006-02-02  Wim Taymans  <wim@fluendo.com>
8927
8928         * gst/gstsegment.c: (gst_segment_clip):
8929         No reason to refuse to clip when start == -1
8930
8931 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
8932
8933         * docs/README:
8934         * docs/manual/intro-basics.xml:
8935         * docs/manual/intro-preface.xml:
8936         * docs/manual/manual.xml:
8937         * docs/pwg/advanced-dparams.xml:
8938         * docs/pwg/intro-basics.xml:
8939         * docs/pwg/intro-preface.xml:
8940         * docs/pwg/pwg.xml:
8941           describe dparams (controller) for plugins
8942           unify docs a little more
8943
8944 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
8945
8946         * docs/gst/gstreamer-sections.txt:
8947         * gst/gstutils.c: (element_find_unconnected_pad),
8948         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
8949         * gst/gstutils.h:
8950           Add new API: gst_parse_bin_from_description() and
8951           gst_bin_find_unconnected_pad() (#329069).
8952
8953 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
8954
8955         * docs/manual/README:
8956           uncover a nasty detail of the docs build
8957
8958 2006-01-31  Wim Taymans  <wim@fluendo.com>
8959
8960         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
8961         Don't cache duration messages if we're not going to use or
8962         free them.
8963
8964 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
8965
8966         * docs/manual/advanced-dparams.xml:
8967         * docs/pwg/advanced-dparams.xml:
8968           more dparam docs
8969         * gst/gstindex.c:
8970           fix docs
8971         * libs/gst/controller/lib.c: (gst_controller_init):
8972           init just once
8973
8974 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
8975
8976         * gst/gstelement.c: (gst_element_message_full):
8977           also show file/line/func if no additional debug was given
8978
8979 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
8980         
8981         * win32/vs7/grammar.vcproj:
8982           activate copy of autogenerated files for Release mode
8983
8984 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
8985         
8986         * win32/common/libgstreamer.def:
8987           export gst_value_compare
8988
8989 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
8990
8991         * plugins/elements/Makefile.am:
8992         * plugins/elements/gstelements.c:
8993         * plugins/elements/gstfdsink.c: (_do_init),
8994         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
8995         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
8996         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
8997         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
8998         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
8999         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
9000         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
9001         * plugins/elements/gstfdsink.h:
9002         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
9003
9004 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
9005
9006         * docs/manual/advanced-dparams.xml:
9007           describe controller
9008         * docs/manual/advanced-position.xml:
9009         * docs/manual/basics-init.xml:
9010         * docs/manual/manual.xml:
9011         * docs/manual/titlepage.xml:
9012         * docs/pwg/pwg.xml:
9013         * docs/pwg/titlepage.xml:
9014           cleanup xml (more to come)
9015         * libs/gst/controller/gstcontroller.c:
9016           fix typo
9017
9018 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
9019         
9020         * win32/vs6/grammar.dsp:
9021           add autogen of gstmarshal.c,h for Release mode
9022                 
9023 2006-01-30  Wim Taymans  <wim@fluendo.com>
9024
9025         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
9026         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
9027         (gst_base_sink_handle_object), (gst_base_sink_event),
9028         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
9029         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9030         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
9031         (gst_base_sink_deactivate), (gst_base_sink_activate),
9032         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
9033         (gst_base_sink_query), (gst_base_sink_change_state):
9034         Basesink cleanups, remove some old code.
9035         Handle the case where a subclass can preroll in the render
9036         method (mostly audiosinks).
9037         Handle more events.
9038         Remove some locks around variables that are now protected
9039         with the PREROLL_LOCK (clock_id, flushing, ..).
9040         Optimize position query some more, do correct locking.
9041         Remove old code to push queue in state change, this is not
9042         needed anymore since preroll blocks on all prerollable items 
9043         now.
9044         Almost implemented as described in design doc.
9045
9046 2006-01-30  Wim Taymans  <wim@fluendo.com>
9047
9048         * tests/check/gst/gstbin.c: (GST_START_TEST):
9049         Wait for refcount to settle down before checking.
9050
9051 2006-01-30  Wim Taymans  <wim@fluendo.com>
9052
9053         * docs/design/part-element-sink.txt:
9054         Pseudo code overview of desired sink behaviour regarding
9055         preroll.
9056
9057 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
9058         * win32/vs6/grammar.dsp:
9059           fix some bugs in Release mode for autogenerated files
9060                 
9061 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
9062         * win32/common/libgstbase.def:
9063         * win32/common/libgstreamer.def:
9064           export some new symbols: gst_base_src_set_format,
9065           gst_iterator_next, gst_structure_set_valist
9066
9067 2006-01-29  Julien MOUTTE  <julien@moutte.net>
9068
9069         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
9070         Set pad functions unconditionally. Fixes #329105.
9071
9072 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
9073         * win32/vs8:
9074           add vs8 project files created by Sergey Scobich
9075
9076 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
9077
9078         * gst/gstutils.c: (gst_element_unlink_pads):
9079         Don't leak pad references.
9080
9081         * tests/check/elements/fakesink.c: (GST_START_TEST):
9082         * tests/check/generic/sinks.c: (GST_START_TEST):
9083         * tests/check/generic/states.c: (GST_START_TEST):
9084         * tests/check/gst/gstbin.c: (GST_START_TEST):
9085         * tests/check/gst/gstcaps.c: (GST_START_TEST):
9086         * tests/check/gst/gstelement.c: (GST_START_TEST):
9087         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
9088         * tests/check/gst/gstiterator.c: (GST_START_TEST):
9089         * tests/check/gst/gstvalue.c: (GST_START_TEST):
9090         Fix a bunch of leaks. Make generic/sinks.c
9091         use a bit less cpu by slowing the buffer rate
9092         between fakesrc and fakesink.
9093         
9094 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
9095         * gst/gstcaps.c:
9096         * gst/gstelement.c: (gst_element_send_event):
9097         * gst/gstevent.c:
9098         * gst/gstinfo.c:
9099         * gst/gstiterator.c:
9100         * gst/gstiterator.h:
9101         * gst/gstpad.c: (gst_pad_send_event):
9102         * gst/gststructure.c:
9103         * gst/gsturi.c:
9104         * gst/gstutils.c:
9105         * gst/gstvalue.c:
9106         * libs/gst/base/gstadapter.c:
9107           doc fixes, to link to function, just write gst_cool_function(), don't
9108           prefix with '#'
9109
9110 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
9111
9112         * plugins/elements/gsttee.c: (gst_tee_do_push),
9113         (gst_tee_handle_buffer):
9114         Always prefer an actual return value from a src
9115         pad in place of NOT_LINKED. This means we return
9116         WRONG_STATE when all src pads are WRONG_STATE
9117         instead of NOT_LINKED.
9118
9119         Lock when replacing the last message to prevent
9120         racing with the get_property method.
9121
9122         Add debug output
9123
9124 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
9125
9126         * tests/check/Makefile.am:
9127         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
9128         (main):
9129         Add a very simple check that should have caught the memleak I fixed
9130         last night (if not for the slice allocator hiding it)
9131
9132 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
9133
9134         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
9135         (gst_bin_remove_func), (gst_bin_handle_message_func),
9136         (bin_query_duration_fold), (bin_query_generic_fold):
9137         Clean up references to the clock provider when disposed or when
9138         handling a clock-lost message from it.
9139
9140         Unref sinks when performing a query via gst_iterator_fold, as the
9141         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
9142
9143         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
9144         (gst_clock_set_master):
9145         Drop our reference to the master clock, if any, when we are disposed.
9146
9147         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
9148         Chain up in dispose. 
9149
9150 2006-01-26  Wim Taymans  <wim@fluendo.com>
9151
9152         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9153         Add some debugging.
9154
9155 2006-01-26  Julien MOUTTE  <julien@moutte.net>
9156
9157         * plugins/elements/gsttee.c: (gst_tee_do_push),
9158         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
9159         handles pad being NOT_LINKED or in WRONG_STATE.
9160
9161 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
9162
9163         * win32/MANIFEST:
9164           more updating
9165
9166 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
9167
9168         * win32/MANIFEST:
9169           remove obsolete entry
9170
9171 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
9172
9173         * docs/gst/gstreamer-sections.txt:
9174         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
9175         (gst_bin_iterate_sources), (gst_bin_send_event):
9176         * gst/gstbin.h:
9177         * gst/gstelement.c: (gst_element_send_event):
9178         * gst/gstevent.c:
9179         * gst/gstpad.c: (gst_pad_send_event):
9180           added code for downstream events, reviewed docs in gstevent.c
9181
9182 2006-01-25  Julien MOUTTE  <julien@moutte.net>
9183
9184         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9185         We only query position using the clock in the playing state.
9186         Query peer in the other cases.
9187         * win32/common/config.h: Updates.
9188
9189 2006-01-24  Wim Taymans  <wim@fluendo.com>
9190
9191         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
9192         A clock entry that is scheduled for the exact time of the
9193         clock is still in time.
9194
9195         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9196         (gst_base_sink_do_sync):
9197         Add some more debug info.
9198
9199 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
9200
9201         * win32/vs7:
9202           Add new vs7 project files and solution.
9203
9204 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
9205
9206         * win32/vs7:
9207           all files removed as they were out-dated.
9208
9209 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9210
9211         * docs/random/release:
9212           update notes
9213         * gst/gstbin.c: (gst_bin_init):
9214         * gst/gstbus.c: (gst_bus_new):
9215         * gst/gstbus.h:
9216         * gst/gstpipeline.c: (gst_pipeline_init):
9217           use gst_bus_new(), improve logging, fix docs
9218         * win32/common/config.h:
9219           update for cvs build
9220
9221 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9222
9223         * autogen.sh:
9224           up required version of automake to 1.7
9225
9226 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
9227
9228         * win32/common/libgstreamer.def:
9229           export gst_buffer_is_metadata_writable
9230
9231 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
9232
9233         * docs/gst/gstreamer-sections.txt:
9234         * gst/gstevent.h:
9235           Add gst_event_replace() (#327001)
9236
9237 2006-01-20  Wim Taymans  <wim@fluendo.com>
9238
9239         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9240         Make it actually compile too..
9241
9242 2006-01-20  Wim Taymans  <wim@fluendo.com>
9243
9244         * gst/gstcaps.c:
9245         Clarify behaviour of _is_equal() when passing NULL parameters.
9246
9247         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9248         (gst_pad_set_caps):
9249         Cleanups. Don't unref NULL caps.
9250         When setting the same caps, protect caps of the pad with
9251         proper lock.
9252         Use full functionality of _is_equal() when comparing caps.
9253
9254 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
9255
9256         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
9257         Don't loop infinitely if there are no buffers to present. Partially
9258         fixes #327197, but collectpads is just broken for reusing elements
9259         to do multiple encodes atm.
9260
9261 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
9262
9263         * tools/gst-inspect.c: (print_element_features):
9264         * tools/gst-xmlinspect.c: (main):
9265         URL_HANDLER is not a plugin feature we can search for in
9266         the registry.
9267
9268 2006-01-19  Edward Hervey  <edward@fluendo.com>
9269
9270         * gst/gstelement.c: (gst_element_pads_activate): 
9271         When activating, do src pads first, then sink pads.
9272         When de-activating, do sink pads first, then src pads.
9273
9274 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
9275
9276         * docs/gst/gstreamer-sections.txt:
9277         Add gst_index_add_associationv to the docs
9278
9279 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
9280
9281         * gst/gstevent.c:
9282           Fix docs typo
9283
9284         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
9285         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
9286           Do some refactoring. Doesn't actually change functionality,
9287           but makes landing the DRAIN event easier later.
9288
9289 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
9290
9291         * docs/pwg/advanced-scheduling.xml:
9292           Update from 0.9.x to 0.10 API and make example a bit
9293           clearer.
9294
9295 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
9296
9297         * docs/gst/gstreamer-sections.txt:
9298         Add gst_buffer_(is|make)_metadata_writable methods.
9299
9300 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
9301
9302         * docs/design/part-sparsestreams.txt:
9303         Update sparse streams doc, hopefully for greater clarity
9304
9305 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
9306
9307         * docs/design/part-events.txt:
9308         Remove mention of FILLER events.
9309         Add DRAIN event.
9310
9311         * docs/design/part-sparsestreams.txt:
9312         Write some things about using NEWSEGMENT to keep sparse streams
9313         flowing.
9314
9315 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
9316
9317         * gst/gstbin.c: (gst_bin_dispose):
9318           Guard gst_object_unref call against a NULL object (dispose
9319           can theoretically be called multiple times).
9320           
9321 2006-01-18  Wim Taymans  <wim@fluendo.com>
9322
9323         * gst/gstbin.c: (gst_bin_element_set_state):
9324         * gst/gstclock.c: (gst_clock_id_wait):
9325         Added some more debug info.
9326
9327         * libs/gst/base/gstadapter.c:
9328         Added more docs.
9329
9330         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9331         (gst_base_sink_do_sync), (gst_base_sink_chain):
9332         Added some comments.
9333
9334 2006-01-18  Wim Taymans  <wim@fluendo.com>
9335
9336         * tests/check/Makefile.am:
9337         * tests/check/elements/fakesink.c: (chain_async_buffer),
9338         (chain_async), (chain_async_return), (GST_START_TEST),
9339         (fakesink_suite), (main):
9340         Added fakesink test that checks prerolling and clipping
9341         behaviour.
9342
9343         * tests/check/gst/gstutils.c: (GST_START_TEST):
9344         Make check run faster so that buildbots don't timeout.
9345
9346 2006-01-18  Wim Taymans  <wim@fluendo.com>
9347
9348         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9349         (gst_base_sink_do_sync):
9350         Some cleanups.
9351         When the sink finishes blocking on the preroll buffer, it can
9352         immediatly render it instead of rendering when the next buffer
9353         arrives.
9354
9355 2006-01-18  Wim Taymans  <wim@fluendo.com>
9356
9357         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
9358         (gst_base_sink_get_property), (gst_base_sink_do_sync),
9359         (gst_base_sink_chain):
9360         Small cleanups.
9361         GST_ELEMENT_CLOCK and sync are protected with LOCK.
9362         Don't store _last_stop if the buffer is dropped.
9363
9364 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
9365
9366         * plugins/elements/gsttypefindelement.c:
9367         (gst_type_find_element_class_init):
9368           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
9369           object method handler that sets the caps on the pad and we want
9370           that to happen before we emit the signal (fixes e.g. feeding a
9371           plain text file to decodebin).
9372
9373 2006-01-18  Christian Schaller  <Christian@fluendo.com>
9374
9375         * gst/gstplugin.c: Add MPL and Proprietary as license options
9376
9377 2006-01-18  Andy Wingo  <wingo@pobox.com>
9378
9379         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
9380         symbol was exported before, it appears this was just an oversight.
9381         Fixes #168703.
9382         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
9383
9384         * gst/gstindex.c (gst_index_add_associationv): Changed int in
9385         prototype to gint. OK since this prototype was not in the header.
9386
9387 2006-01-17  Andy Wingo  <wingo@pobox.com>
9388
9389         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
9390         registry while we remove plugins.
9391
9392         * tools/gst-inspect.c (print_element_info): Don't unref the
9393         factory arg, that should be the responsibility of whatever code
9394         received the ref. Fixes a double-free when called from
9395         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
9396         (main): Unref the factory if we have one.
9397         (print_element_list): No change -- relies on the
9398         plugin_feature_list_free to free the list of features.
9399
9400 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
9401
9402         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
9403         (gst_buffer_make_metadata_writable):
9404         * gst/gstbuffer.h:
9405         * libs/gst/base/gstbasetransform.c:
9406         (gst_base_transform_prepare_output_buf):
9407         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9408         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9409           Replace gst_buffer_(make|is)_metadata_writable patch now
9410           that the release is out.
9411
9412 2006-01-17  Andy Wingo  <wingo@pobox.com>
9413
9414         * gst/gstregistry.c: Reflow design comment. Update so as to speak
9415         in the present tense without reference to versions.
9416
9417         * gst/gstregistry.c (gst_registry_add_plugin)
9418         (gst_registry_remove_plugin, gst_registry_remove_feature)
9419         (gst_registry_find_feature, gst_registry_get_feature_list)
9420         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
9421         (gst_registry_lookup, gst_registry_scan_path)
9422         (_gst_registry_remove_cache_plugins)
9423         (gst_registry_get_feature_list_by_plugin): Add argument
9424         validation.
9425
9426 === release 0.10.2 ===
9427
9428 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
9429
9430         * configure.ac:
9431           releasing 0.10.2, "If man is five"
9432
9433 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
9434
9435         * gst/gstbuffer.c:
9436         * gst/gstbuffer.h:
9437         * libs/gst/base/gstbasetransform.c:
9438         (gst_base_transform_prepare_output_buf):
9439         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9440         * tests/check/gst/gstbuffer.c: (gst_test_suite):
9441           Back out patch until after the release.
9442
9443 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
9444
9445         * gst/gstminiobject.c:
9446           Spelling fix in docs.
9447         * ChangeLog - remove conflict indicator
9448
9449 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
9450
9451         Reviewed By: Andy Wingo
9452
9453         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
9454         (gst_buffer_make_metadata_writable):
9455         * gst/gstbuffer.h:
9456           Add gst_buffer_(is|make)_metadata_writable as analogues of
9457           gst_buffer_(is|make)_writable.
9458
9459         * libs/gst/base/gstbasetransform.c:
9460         (gst_base_transform_prepare_output_buf):
9461         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9462           Use name gst_buffer_(is|make)_metadata_writable functions.
9463
9464         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9465           Test gst_buffer_(is|make)_metadata_writable
9466         
9467           (Closes: #324162)
9468
9469 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9470
9471         * docs/manual/Makefile.am:
9472           don't do parallel make
9473         * configure.ac:
9474           AC_SUBST HOST_CPU
9475         * win32/common/config.h.in:
9476           add generations for HOST_CPU and GST_MAJORMINOR
9477         * win32/common/config.h:
9478           commit generated result
9479
9480 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
9481
9482         * docs/manual/appendix-integration.xml:
9483           Update GNOME integration section to use gst_init_get_option_group()
9484           instead of the old popt stuff (#322911). Also, GNOME applications
9485           should  now use gconf*sink and gconf*src instead of the old gconf
9486           helper lib we had.
9487
9488 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
9489
9490
9491         * docs/gst/gstreamer-docs.sgml:
9492         * docs/gst/gstreamer-sections.txt:
9493         * docs/libs/gstreamer-libs-sections.txt:
9494           add new API entries to the docs
9495         * libs/gst/controller/Makefile.am:
9496         * libs/gst/controller/gstcontroller.c:
9497         * libs/gst/controller/gstcontroller.h:
9498         * libs/gst/controller/gstcontrollerprivate.h:
9499         * libs/gst/controller/gsthelper.c:
9500         * libs/gst/controller/gstinterpolation.c:
9501           move private structs to private header
9502         * po/README:
9503           gstreamer-0.7 -> gstreamer-0.10
9504         * tests/check/libs/struct_i386.h:
9505           remove private structs
9506
9507 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9508
9509         * plugins/indexers/Makefile.am:
9510           Fixes as part of #317048
9511
9512 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9513
9514         * plugins/indexers/Makefile.am:
9515           fix #316086 - compilation when mmap is missing
9516
9517 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
9518
9519         * libs/gst/base/gstbasesink.c:
9520           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
9521           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
9522         * win32/common/config.h:
9523           added some defines GST_MAJORMINOR and HOST_CPU
9524         * win32/common/libgstbase.def:
9525         * win32/common/libgstreamer.def:
9526           added some exported functions.
9527
9528 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
9529
9530         * libs/gst/controller/gstcontroller.c:
9531         (gst_controlled_property_set_interpolation_mode),
9532         (gst_controlled_property_new):
9533         * libs/gst/controller/gstcontroller.h:
9534         * libs/gst/controller/gstinterpolation.c:
9535         (interpolate_none_get_string_value_array):
9536           make G_TYPE_STRING controlable
9537
9538 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
9539
9540         * tools/README:
9541         * tools/gst-feedback.1.in:
9542         * tools/gst-inspect.1.in:
9543         * tools/gst-launch.1.in:
9544         * tools/gst-md5sum.1.in:
9545         * tools/gst-typefind.1.in:
9546         * tools/gst-xmlinspect.1.in:
9547         * tools/gst-xmllaunch.1.in:
9548           cleanup man-pages, remove reference to gst-register, document env-vars
9549
9550 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
9551
9552         * gst/gstbuffer.c: (gst_buffer_span):
9553           gst_buffer_span should copy the timestamp of the first buffer
9554           if they were both originally overlapping subbuffers of the 
9555           same parent, using the same logic as the 'slow copy' case.
9556
9557 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
9558
9559         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
9560           Need to awaken ALL the pads when we pop a buffer, otherwise
9561           collectpads only works when there is 2 input streams.
9562
9563 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
9564
9565         * docs/random/ensonic/media-device-daemon.txt:
9566           more ideas (dbus)
9567         * gst/gstbuffer.c:
9568           fix doc example, add clarification
9569         * tools/gst-launch.1.in:
9570           add initial info about GST_PLUGIN_PATH, needs more work
9571
9572 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
9573
9574         * docs/manual/basics-bins.xml:
9575         * docs/manual/basics-elements.xml:
9576         * docs/manual/intro-basics.xml:
9577           Some more minor docs additions and updates.
9578
9579 2006-01-11  Wim Taymans  <wim@fluendo.com>
9580
9581         * docs/manual/basics-bins.xml:
9582         * docs/manual/basics-elements.xml:
9583         Some small fixes as pointed out by Ser-ver on IRC.
9584
9585 2006-01-10  Edward Hervey  <edward@fluendo.com>
9586
9587         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9588         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
9589         the single-segment mode.
9590
9591 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
9592
9593         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9594
9595         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
9596         (gst_base_src_perform_seek), (gst_base_src_send_event),
9597         (gst_base_src_set_property), (gst_base_src_get_property),
9598         (gst_base_src_loop), (gst_base_src_start),
9599         (gst_base_src_activate_push):
9600         * libs/gst/base/gstbasesrc.h:
9601           Name (private) union; makes Sun's Forte compiler happy (#324900).
9602
9603 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
9604
9605         * README:
9606           gst-register is gone.
9607
9608 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9609
9610         * gst/gstvalue.c: (_gst_value_initialize):
9611           make the G_TYPE_DATE instantiation work if debug is disabled
9612
9613 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
9614
9615         * gst/gstmessage.c: (gst_message_parse_tag),
9616         (gst_message_parse_error), (gst_message_parse_warning):
9617           Don't crash when return location for error/warning debug
9618           string is NULL; add fact that return locations can be
9619           NULL to docs where appropriate.
9620
9621 2006-01-05  Wim Taymans  <wim@fluendo.com>
9622
9623         * gst/gstplugin.c: (gst_plugin_load_file):
9624         Replace strdup by g_strdup.
9625
9626 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9627
9628         * docs/pwg/advanced-types.xml:
9629           fix doc borkage
9630
9631 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9632
9633         submitted by: Abel Cheung
9634
9635         * po/LINGUAS:
9636         * po/zh_TW.po:
9637           Added Chinese (traditional) translation
9638
9639 2006-01-04  Wim Taymans  <wim@fluendo.com>
9640
9641         * docs/manual/basics-pads.xml:
9642         * docs/plugins/Makefile.am:
9643         * docs/plugins/gstreamer-plugins-docs.sgml:
9644         * docs/plugins/gstreamer-plugins-sections.txt:
9645         * docs/pwg/advanced-clock.xml:
9646         * docs/pwg/advanced-scheduling.xml:
9647         * docs/pwg/advanced-types.xml:
9648         * plugins/elements/gstfdsink.c:
9649         * plugins/elements/gstfdsrc.c:
9650         * plugins/elements/gstfdsrc.h:
9651         * plugins/elements/gstidentity.c: (gst_identity_class_init):
9652         * plugins/elements/gstidentity.h:
9653         * plugins/elements/gstqueue.h:
9654         * plugins/elements/gsttee.c:
9655         * plugins/elements/gsttee.h:
9656         * plugins/elements/gsttypefindelement.c:
9657         (gst_type_find_element_class_init):
9658         * plugins/elements/gsttypefindelement.h:
9659         Small updates to various docs.
9660         Added core plugins to docs.
9661
9662 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9663
9664         * common/gst.supp:
9665           add a suppression for liboil's uninitialized variable
9666
9667 2006-01-02  James Livingston  <jrl at ids dot org dot au>
9668
9669         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9670
9671         * gst/gstutils.h:
9672           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
9673           macro, so that gcc doesn't complain if the -Wmissing-prototypes
9674           compiler switch is being used (#325429).
9675
9676 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
9677
9678         * gst/gstbin.c: (gst_bin_query):
9679           Disable duration query caching in bins until it gets
9680           fixed (see #324807).
9681
9682 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
9683
9684         * tools/gst-inspect.c: (print_element_properties_info):
9685           Handle properties of POINTER and BOXED type.
9686
9687 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
9688
9689         * gst/gst.c: (init_post):
9690           Init tags stuff and some other things before loading
9691           any static plugins (there may be other static plugins
9692           than just the GStreamer ones, and they may want to
9693           register their own tags or formats or whatever, and
9694           preferably without segfaulting).
9695
9696         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
9697           Print at least a warning in the debug logs if we drop a
9698           query just because we don't know how to adjust the value
9699           in the particular format.
9700
9701 2005-12-24  David Schleef  <ds@schleef.org>
9702
9703         * tools/gstreamer-completion:
9704           Replacement for gst-complete written in sh and sed.  Only
9705           completes names of features, but that's 90% of what I want
9706           it for.  Properties are not available in registry.xml.  (Maybe
9707           they should be...)
9708
9709 === release 0.10.1 ===
9710
9711 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
9712
9713         * configure.ac:
9714           releasing 0.10.1, "Nollaig chridheil"
9715
9716 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
9717
9718         * docs/faq/cvs.xml:
9719           Add missing quote, should be make ERROR_CFLAGS="".
9720
9721 2005-12-20  Wim Taymans  <wim@fluendo.com>
9722
9723         * docs/design/part-trickmodes.txt:
9724         More documentation on trickmodes.
9725
9726 2005-12-20  Edward Hervey  <edward@fluendo.com>
9727
9728         * gst/gstcaps.c: (gst_static_caps_get_type):
9729         * gst/gstcaps.h:
9730           API addition: GST_TYPE_STATIC_CAPS
9731         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
9732         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
9733         * gst/gstpadtemplate.h:
9734           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
9735         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
9736         bindings.
9737
9738 2005-12-18  Wim Taymans  <wim@fluendo.com>
9739
9740         * libs/gst/base/gstadapter.c:
9741         * libs/gst/base/gstadapter.h:
9742         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9743         (gst_base_sink_get_position):
9744         * libs/gst/base/gstbasesink.h:
9745         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9746         (gst_base_src_default_query), (gst_base_src_default_do_seek),
9747         (gst_base_src_do_seek), (gst_base_src_perform_seek),
9748         (gst_base_src_send_event), (gst_base_src_update_length),
9749         (gst_base_src_get_range), (gst_base_src_loop),
9750         (gst_base_src_start):
9751         * libs/gst/base/gstbasesrc.h:
9752         * libs/gst/base/gstbasetransform.h:
9753         * libs/gst/base/gstcollectpads.h:
9754         * libs/gst/base/gstpushsrc.c:
9755         * libs/gst/base/gstpushsrc.h:
9756         * libs/gst/dataprotocol/dataprotocol.c:
9757         * libs/gst/dataprotocol/dataprotocol.h:
9758         * libs/gst/net/gstnetclientclock.h:
9759         * libs/gst/net/gstnettimeprovider.h:
9760         Documentation updates.
9761
9762 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
9763
9764         * docs/manual/basics-helloworld.xml:
9765           Remove superfluous closing bracket in helloworld example.
9766
9767 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
9768
9769         * tools/gst-launch.1.in:
9770           Update gst-launch man page; add a section with useful
9771           environment variables. Fixes #323882.
9772
9773 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
9774
9775         * gst/gst.c:
9776         * gst/gst_private.h:
9777           change some char* into char[]
9778
9779 2005-12-16  Wim Taymans  <wim@fluendo.com>
9780
9781         * gst/gstregistryxml.c: (load_feature):
9782         Cleanups.
9783         Don't use g_object_unref on GstObjects so that we avoid
9784         leaks on unsafe glibs.
9785
9786 2005-12-16  Wim Taymans  <wim@fluendo.com>
9787
9788         * gst/gstbin.c: (gst_bin_recalc_state):
9789         Small doc updates.
9790
9791 2005-12-16  Wim Taymans  <wim@fluendo.com>
9792
9793         * common/check.mak:
9794         Added make forever target for check.
9795
9796 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9797
9798         * gst/gst.c: (init_post):
9799           make the registry cache file HOST_CPU-dependent
9800
9801 2005-12-16  Andy Wingo  <wingo@pobox.com>
9802
9803         * plugins/elements/gstbufferstore.c
9804         (gst_buffer_store_cleared_func): Pay attention to g_list_append
9805         return value.
9806
9807         * tests/check/gst/gstobject.c
9808         (test_fake_object_name_threaded_unique): Pay attention to
9809         g_list_sort return value.
9810
9811 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
9812
9813         * tools/gst-feedback-m.m:
9814           Update for 0.9/0.10 (fixes #323870).
9815
9816 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
9817
9818         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
9819           Fix lcopy for mini objects, the mini object needs to be ref'ed.
9820           
9821         * tests/check/gst/gstminiobject.c: (my_foo_init),
9822         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
9823         (test_value_collection), (gst_mini_object_suite):
9824           Add test to ensure refcounts end up as expected when passing
9825           GstMiniObjects through g_object_get() and g_object_set().
9826
9827 2005-12-14  Julien MOUTTE  <julien@moutte.net>
9828
9829         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9830         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
9831         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
9832         of collectpads. This version removes a lot of races without
9833         touching API/ABI. Yay !
9834
9835 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
9836
9837         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
9838           Don't allow activation of a srcpad in pull_range if it has no
9839           getrange function.
9840           Change some debug statements to be a little clearer
9841
9842         * plugins/elements/gsttypefindelement.c:
9843         (gst_type_find_handle_src_query):
9844           Check that we have a peer before executing queries thereupon.
9845
9846         * tests/examples/metadata/read-metadata.c: (message_loop):
9847           Use gst_bus_pop instead of gst_bus_poll when we just want it to
9848           immediately return us any available message with 0 timeout.
9849
9850 2005-12-12  Michael Smith  <msmith@fluendo.com>
9851
9852         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
9853           Don't unref factories after calling them.
9854         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
9855         * plugins/elements/gsttypefindelement.c:
9856         (gst_type_find_element_chain):
9857           Free lists of factories after using them. Fixing typefinding memory
9858           leaks.
9859
9860 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9861
9862         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
9863         (gst_plugin_feature_load):
9864           more meaningful debug output
9865         * configure.ac:
9866         * tests/Makefile.am:
9867         * tests/old/examples/Makefile.am:
9868           make make distcheck happy again
9869
9870 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9871
9872         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
9873           Catch the special case where we are operating chain-based,
9874           but the downstream peer pad has no chain function. Emit a
9875           custom error message in this case instead of letting the
9876           core generate one implying that this is some sort of core
9877           bug. It's not, it just means that whatever got plugged
9878           into the pipeline downstream when we announced the type
9879           can only operate pull-based, while our source can only
9880           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
9881           Error string has not been marked for translation yet, as
9882           it probably needs some more work first.
9883
9884         (gst_type_find_element_get_best_possibility):
9885           Add helper function to find the best of all available
9886           found possibilities that qualify given the min. threshold.
9887
9888         (gst_type_find_element_handle_event):
9889           Fix the case where we get an EOS while still in TYPEFIND
9890           mode (we want to chose the best of all possible types,
9891           not just the first type that happens to be in our unsorted
9892           list of possible types).
9893
9894         (gst_type_find_element_chain):
9895           Make sure we return GST_FLOW_ERROR when we errored out
9896           in stop_typefinding(); also, don't just find the best of
9897           all found type entries and then use the last examined
9898           type entry, but actually use the best entry.
9899
9900 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9901
9902         * tests/examples/typefind/typefind.c: (type_found):
9903         * tests/examples/xml/runxml.c: (xml_loaded):
9904           More gcc4 fixes and a mem leak fix.
9905
9906 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9907
9908         * tests/examples/xml/createxml.c: (object_saved):
9909           gcc 4 fixes
9910
9911 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9912
9913         * tests/Makefile.am:
9914           enable the examples even more
9915
9916 2005-12-12  Andy Wingo  <wingo@pobox.com>
9917
9918         * libs/gst/net/gstnettimeprovider.c
9919         (gst_net_time_provider_class_init, gst_net_time_provider_init)
9920         (gst_net_time_provider_set_property)
9921         (gst_net_time_provider_get_property):
9922         API addition: Export "active" as a GObject property.
9923         (gst_net_time_provider_thread): Only respond to time queries if
9924         the time provider is active.
9925
9926         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
9927         NetTimeProvider, preserving binary compat.
9928
9929 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9930
9931         * tests/examples/controller/audio-example.c: (main):
9932         * tests/examples/launch/Makefile.am:
9933           convert comments again
9934
9935 2005-12-12  Wim Taymans  <wim@fluendo.com>
9936
9937         * libs/gst/base/gstpushsrc.c:
9938         Fix typo.
9939
9940 2005-12-12  Wim Taymans  <wim@fluendo.com>
9941
9942         * docs/libs/gstreamer-libs-sections.txt:
9943         Added new symbol to docs.
9944
9945         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9946         (gst_base_src_init), (gst_base_src_set_format),
9947         (gst_base_src_default_query), (gst_base_src_query),
9948         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
9949         (gst_base_src_perform_seek), (gst_base_src_send_event),
9950         (gst_base_src_default_event), (gst_base_src_event_handler),
9951         (gst_base_src_set_property), (gst_base_src_get_property),
9952         (gst_base_src_wait), (gst_base_src_do_sync),
9953         (gst_base_src_update_length), (gst_base_src_get_range),
9954         (gst_base_src_check_get_range), (gst_base_src_loop),
9955         (gst_base_src_default_negotiate), (gst_base_src_start),
9956         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9957         (gst_base_src_change_state):
9958         * libs/gst/base/gstbasesrc.h:
9959         Implement seeking to other formats than _BYTES.
9960         Implement more seeking methods correctly.
9961         Doc updates.
9962         Added query vmethod.
9963         Added do_seek vmethod to make life easier for subclasses
9964         when seeking.
9965         API addition: gst_base_src_set_format()
9966
9967 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9968
9969         * tests/examples/Makefile.am:
9970           added that too
9971
9972 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9973
9974         * configure.ac:
9975         * docs/random/ensonic/media-device-daemon.txt:
9976         * tests/examples/controller/.cvsignore:
9977         * tests/examples/controller/Makefile.am:
9978         * tests/examples/controller/audio-example.c: (main):
9979         * tests/examples/helloworld/.cvsignore:
9980         * tests/examples/helloworld/Makefile.am:
9981         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
9982         * tests/examples/launch/.cvsignore:
9983         * tests/examples/launch/Makefile.am:
9984         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
9985         * tests/examples/metadata/.cvsignore:
9986         * tests/examples/metadata/Makefile.am:
9987         * tests/examples/metadata/read-metadata.c: (message_loop),
9988         (make_pipeline), (print_tag), (main):
9989         * tests/examples/queue/.cvsignore:
9990         * tests/examples/queue/Makefile.am:
9991         * tests/examples/queue/queue.c: (event_loop), (main):
9992         * tests/examples/typefind/.cvsignore:
9993         * tests/examples/typefind/Makefile.am:
9994         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
9995         (main):
9996         * tests/examples/xml/.cvsignore:
9997         * tests/examples/xml/Makefile.am:
9998         * tests/examples/xml/createxml.c: (object_saved), (main):
9999         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
10000         * tests/old/examples/Makefile.am:
10001         * tests/old/examples/TODO:
10002         * tests/old/examples/controller/.cvsignore:
10003         * tests/old/examples/controller/Makefile.am:
10004         * tests/old/examples/controller/audio-example.c:
10005         * tests/old/examples/helloworld/.cvsignore:
10006         * tests/old/examples/helloworld/Makefile.am:
10007         * tests/old/examples/helloworld/helloworld.c:
10008         * tests/old/examples/launch/.cvsignore:
10009         * tests/old/examples/launch/Makefile.am:
10010         * tests/old/examples/launch/mp3parselaunch.c:
10011         * tests/old/examples/launch/mp3play:
10012         * tests/old/examples/manual/Makefile.am:
10013         * tests/old/examples/metadata/Makefile.am:
10014         * tests/old/examples/metadata/read-metadata.c:
10015         * tests/old/examples/queue/.cvsignore:
10016         * tests/old/examples/queue/Makefile.am:
10017         * tests/old/examples/queue/queue.c:
10018         * tests/old/examples/typefind/.cvsignore:
10019         * tests/old/examples/typefind/Makefile.am:
10020         * tests/old/examples/typefind/typefind.c:
10021         * tests/old/examples/xml/.cvsignore:
10022         * tests/old/examples/xml/Makefile.am:
10023         * tests/old/examples/xml/createxml.c:
10024         * tests/old/examples/xml/runxml.c:
10025           applied some simple fixing to some examples
10026           re-enabled the working examples
10027
10028 2005-12-12  Wim Taymans  <wim@fluendo.com>
10029
10030         * gst/gstsegment.c: (gst_segment_init),
10031         (gst_segment_set_last_stop), (gst_segment_set_seek),
10032         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
10033         (gst_segment_to_running_time):
10034         Added more documentation.
10035         Make sure the last_pos value is updated properly.
10036         Make sure to_stream_time and to_running_time don't
10037         operate on wrong values.
10038
10039         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10040         Update check.
10041
10042 2005-12-12  Michael Smith  <msmith@fluendo.com>
10043
10044         * plugins/elements/gsttypefindelement.c: (free_entry),
10045         (gst_type_find_element_chain):
10046           Now that we're not leaking factories, make sure we keep references
10047           to them while we need them.
10048
10049 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10050
10051         * tests/check/gst/struct_i386.h:
10052           ifdef out the XML structs
10053
10054 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10055
10056         * gst/gstvalue.c: (gst_value_transform_double_fraction):
10057           floor is not needed, F is always positive; this obviates the
10058           need for adding -lm when building without libxml
10059
10060 2005-12-12  Wim Taymans  <wim@fluendo.com>
10061
10062         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
10063         Take current playback rate into account when reporting
10064         the position.
10065
10066 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
10067
10068         * docs/manual/mime-world.fig:
10069           Let's try this again, this time with a file that is
10070           actually in XFig format.
10071
10072 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
10073
10074         * docs/manual/mime-world.fig:
10075           Add audioconvert element to diagram so that it
10076           matches the text and the code (fixes #319526).
10077
10078 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
10079
10080         * docs/pwg/building-chainfn.xml:
10081         * docs/pwg/building-pads.xml:
10082         * docs/pwg/building-state.xml:
10083         * docs/pwg/other-source.xml:
10084           Update state change stuff for 0.10 (fixes #322969).
10085
10086 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
10087
10088         * docs/manual/advanced-dataaccess.xml:
10089         * docs/manual/appendix-checklist.xml:
10090         * docs/manual/appendix-programs.xml:
10091         * docs/manual/basics-pads.xml:
10092         * docs/manual/highlevel-components.xml:
10093         * docs/manual/manual.xml:
10094           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
10095           add converters in front of pipelines; remove curly
10096           brackets for threads stuff, they no longer exist; use
10097           GST_TYPE_FRACTION for framerates; update some pieces of
10098           code to 0.10, but there's plenty more to do.
10099
10100         * docs/manual/appendix-porting.xml:
10101           Expand on asynchroneous state changes; s/0.9/0.10/;
10102           mention disappearance of gst_init_get_popt_table()
10103           (fixes #322916).
10104
10105 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
10106
10107         * docs/faq/using.xml:
10108           Spider no longer exists, and neither does gst-launch-ext.
10109           Update examples to use decodebin and playbin and put
10110           converters in front of sinks (fixes #323726).
10111
10112 2005-12-09  Michael Smith  <msmith@fluendo.com>
10113
10114         * plugins/elements/gsttypefindelement.c: (find_peek),
10115         (gst_type_find_element_chain):
10116           Fix leaking element factories in typefinding.
10117           Fix problem where we forgot about a probable type on non-seekable
10118           files, and thus later mis-typefound it.
10119
10120 2005-12-09  Michael Smith  <msmith@fluendo.com>
10121
10122         * common/m4/gst-makecontext.m4:
10123         * common/m4/gst-mcsc.m4:
10124         * configure.ac:
10125         * win32/common/config.h:
10126         * win32/common/config.h.in:
10127           Remove makecontext stuff; not used in 0.10 and causes problems on
10128           HPUX according to bug #322441
10129
10130 2005-12-07  Wim Taymans  <wim@fluendo.com>
10131
10132         * tests/check/Makefile.am:
10133         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
10134         (main):
10135         * tests/check/libs/struct_i386.h:
10136         Added ABI check for libs
10137
10138 2005-12-07  Wim Taymans  <wim@fluendo.com>
10139
10140         * tests/check/Makefile.am:
10141         And add the struct_i386.h to dist.
10142
10143 2005-12-07  Wim Taymans  <wim@fluendo.com>
10144
10145         * tests/check/Makefile.am:
10146         * tests/check/gst/.cvsignore:
10147         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
10148         (main):
10149         * tests/check/gst/struct_i386.h:
10150         Added check for ABI compatibility.
10151
10152 2005-12-07  Wim Taymans  <wim@fluendo.com>
10153
10154         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
10155         (gst_fake_src_get_times), (gst_fake_src_create):
10156         Fix broken sync option, fixes #323259
10157
10158 2005-12-07  Wim Taymans  <wim@fluendo.com>
10159
10160         * gst/gstbuffer.c:
10161         Small docs update.
10162
10163         * gst/gstcaps.c: (gst_caps_is_equal):
10164         Don't assert on NULL <--> X. Fixes #323260
10165
10166         * gst/gstminiobject.c: (gst_mini_object_replace):
10167         If we're doing atomic operations, we might just as well use
10168         the proper way to get an atomic pointer.
10169
10170         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
10171         Clean up debugging.
10172
10173 2005-12-07  Michael Smith  <msmith@fluendo.com>
10174
10175         * gst/parse/grammar.y:
10176           Remove handling of { } for threads.
10177
10178 2005-12-06  David Schleef  <ds@schleef.org>
10179
10180         * libs/gst/base/gstbasetransform.c: speling fix.
10181
10182 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10183
10184         * docs/libs/tmpl/gstdataprotocol.sgml:
10185         * docs/random/omega/testing/gstobject.c:
10186         * gst/gst.c:
10187         * gst/gstclock.c:
10188         * gst/gstelement.c:
10189         * gst/gstelementfactory.c:
10190         * gst/gsterror.c:
10191         * gst/gstevent.c:
10192         * gst/gstghostpad.c:
10193         * gst/gstinfo.c:
10194         * gst/gstpadtemplate.c:
10195         * gst/gstregistryxml.c:
10196         * gst/gsttaglist.c:
10197         * gst/gsttagsetter.c:
10198         * gst/gsttypefind.c:
10199         * gst/gstvalue.c:
10200         * libs/gst/base/gstbasesrc.c:
10201         * libs/gst/net/gstnetclientclock.c:
10202         * libs/gst/net/gstnettimeprovider.c:
10203         * plugins/elements/gstfakesrc.c:
10204         * plugins/elements/gstfdsrc.c:
10205         * plugins/elements/gstfilesrc.c:
10206         * plugins/elements/gstidentity.c:
10207         * plugins/elements/gstqueue.c:
10208         * plugins/elements/gsttypefindelement.c:
10209         * plugins/indexers/gstfileindex.c:
10210         * plugins/indexers/gstmemindex.c:
10211         * tests/check/gst/gsttag.c:
10212         * tests/old/examples/cutter/cutter.c:
10213         * tests/old/examples/mixer/mixer.c:
10214         * tests/old/examples/xml/runxml.c: (main):
10215         * tests/old/testsuite/caps/normalisation.c:
10216         * tests/old/testsuite/debug/global.c:
10217         * tests/old/testsuite/parse/parse1.c:
10218         * tools/gst-xmlinspect.c:
10219         * win32/common/dirent.c:
10220           expand tabs
10221
10222 === release 0.10.0 ===
10223
10224 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10225
10226         * configure.ac:
10227           releasing 0.10.0, "Maroilles"
10228
10229 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10230
10231         submitted by: Funda Wang <fundawang@linux.net.cn>
10232
10233         * po/LINGUAS:
10234         * po/zh_CN.po:
10235           added Chinese (Traditional) translation
10236
10237 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10238
10239         * docs/gst/gstreamer-sections.txt:
10240         * docs/libs/tmpl/gstdataprotocol.sgml:
10241         * docs/random/thomasvs/TODO:
10242         * gst/gstutils.c:
10243         * gst/gstutils.h:
10244           fix docs
10245
10246 2005-12-05  Andy Wingo  <wingo@pobox.com>
10247
10248         patch by: Wim Taymans <wim@fluendo.com>
10249
10250         * libs/gst/base/gstbasetransform.c
10251         (gst_base_transform_prepare_output_buf)
10252         (gst_base_transform_buffer_alloc):
10253         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
10254         alloc_buffer_and_set_caps.
10255
10256         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
10257         set_caps on the source pad.
10258         (gst_pad_alloc_buffer_and_set_caps): New function, does what
10259         alloc_buffer used to do. Fixes #322874.
10260
10261         * docs/gst/gstreamer-sections.txt: 
10262         * docs/design/part-negotiation.txt: 
10263         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
10264         changes.
10265
10266 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10267
10268         patch by: Sebastien Moutte
10269
10270         * win32/MANIFEST:
10271         * win32/common/config.h.in:
10272         * win32/vs6/libgstcontroller.dsp:
10273           win32 build fixes
10274
10275 2005-12-05  Wim Taymans  <wim@fluendo.com>
10276
10277         * gst/gstcaps.c: (gst_caps_is_equal):
10278         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
10279         (gst_fake_src_create):
10280         Back out previous code changes, leave doc updates, file bugs 
10281         instead. 
10282
10283 2005-12-05  Wim Taymans  <wim@fluendo.com>
10284
10285         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
10286         (gst_fake_src_get_times), (gst_fake_src_create):
10287         * plugins/elements/gstfakesrc.h:
10288         Fix broken sync code.
10289
10290 2005-12-05  Wim Taymans  <wim@fluendo.com>
10291
10292         * gst/gstcaps.c: (gst_caps_is_equal):
10293         Comparing NULL against !NULL yields different caps, not a
10294         failure.
10295
10296 2005-12-05  Wim Taymans  <wim@fluendo.com>
10297
10298         * gst/gstpipeline.c:
10299         Fix small typo in docs.
10300
10301 2005-12-05  Andy Wingo  <wingo@pobox.com>
10302
10303         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
10304
10305         * gst/gst.c (init_post): remove hard-coded 0.9 location for
10306         registries/plugins with a MAJORMINOR one.
10307         (plugin_desc): Rename library from gstcoreleements to
10308         staticelements. Fixes #323222.
10309
10310 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
10311
10312         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
10313           Change debug category to 'collectpads' from 'collect_pads'
10314           (fixes #323250).
10315
10316 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10317
10318         patch by: Sebastien Moutte
10319
10320         * libs/gst/controller/gstinterpolation.c:
10321           use convert function for uint64/double
10322         * win32/vs6/libgstcontroller.dsp:
10323           link to GLib
10324
10325 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10326
10327         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
10328         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
10329         * gst/gstutils.h:
10330         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10331           add tests that seem to show that the guint64/gdouble conversions
10332           are correct.
10333
10334 2005-12-02  Wim Taymans  <wim@fluendo.com>
10335
10336         * gst/gstregistry.c: (gst_registry_add_path):
10337         * gst/gstregistry.h:
10338         * gst/gstregistryxml.c:
10339         Fix docs again.
10340
10341 2005-12-02  Wim Taymans  <wim@fluendo.com>
10342
10343         * gst/gstutils.c: (gst_util_uint64_scale_int64),
10344         (gst_util_uint64_scale_int):
10345         Small cleanup.
10346
10347         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10348         Add debug log line.
10349
10350         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
10351         Add FIXME.
10352
10353 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10354
10355         * win32/MANIFEST:
10356         * win32/common/config.h:
10357         * win32/vs6/gstreamer.dsw:
10358         * win32/vs6/libgstcoreelements.dsp:
10359         * win32/vs6/libgstelements.dsp:
10360           renamed core elements plugin
10361
10362 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10363
10364         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
10365         (get_candidates):
10366           do piece-wise major/minor comparison so 0.9 < 0.10
10367           also allow .exe extensions for tools
10368
10369 2005-12-02  Michael Smith  <msmith@fluendo.com>
10370
10371         * gst/gst.c:
10372           Escape a % to make gtkdoc happier; bug 322958.
10373
10374 === release 0.9.7 ===
10375
10376 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10377
10378         * configure.ac:
10379           releasing 0.9.7, "My Dog Has No Nose"
10380
10381 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10382
10383         * common/gst-xmlinspect.py:
10384         * configure.ac:
10385         * docs/libs/tmpl/gstdataprotocol.sgml:
10386         * docs/random/release:
10387         * po/af.po:
10388         * po/az.po:
10389         * po/bg.po:
10390         * po/ca.po:
10391         * po/cs.po:
10392         * po/de.po:
10393         * po/en_GB.po:
10394         * po/fr.po:
10395         * po/it.po:
10396         * po/nb.po:
10397         * po/nl.po:
10398         * po/ru.po:
10399         * po/sq.po:
10400         * po/sr.po:
10401         * po/sv.po:
10402         * po/tr.po:
10403         * po/uk.po:
10404         * po/vi.po:
10405         * win32/common/config.h:
10406         * win32/common/config.h.in:
10407         * win32/vs6/gst_inspect.dsp:
10408         * win32/vs6/gst_launch.dsp:
10409         * win32/vs6/libgstbase.dsp:
10410         * win32/vs6/libgstelements.dsp:
10411         * win32/vs6/libgstreamer.dsp:
10412         * win32/vs7/GStreamer.vcproj:
10413         * win32/vs7/gst-inspect.vcproj:
10414         * win32/vs7/gst-launch.vcproj:
10415         * win32/vs7/libgstbase.vcproj:
10416           bump GST_MAJORMINOR to 0.10
10417           reset libtool version
10418
10419 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10420
10421         * po/LINGUAS:
10422         * po/bg.po:
10423           Added Bulgarian translation by (Alexander Shopov)
10424
10425 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10426
10427         * tests/check/gst/gstplugin.c:
10428           fix test
10429
10430 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10431
10432         * common/gst-xmlinspect.py:
10433         * common/gtk-doc-plugins.mak:
10434         * configure.ac:
10435         * docs/Makefile.am:
10436         * docs/gst/Makefile.am:
10437         * docs/gst/gstreamer-docs.sgml:
10438         * docs/gst/gstreamer-sections.txt:
10439         * docs/gst/gstreamer.types:
10440         * docs/gst/gstreamer.types.in:
10441         * docs/plugins/Makefile.am:
10442         * docs/plugins/gstreamer-plugins-docs.sgml:
10443         * docs/plugins/gstreamer-plugins-sections.txt:
10444         * docs/plugins/gstreamer-plugins.types:
10445         * docs/plugins/inspect.stamp:
10446         * docs/plugins/inspect/plugin-coreelements.xml:
10447         * docs/plugins/inspect/plugin-coreindexers.xml:
10448         * docs/plugins/scanobj-build.stamp:
10449         * gstreamer.spec.in:
10450         * plugins/elements/Makefile.am:
10451         * plugins/elements/gstelements.c:
10452         * plugins/elements/gstfakesink.c:
10453         * plugins/elements/gstfakesrc.c:
10454         * plugins/elements/gstfilesink.c:
10455         * plugins/elements/gstfilesrc.c:
10456         * plugins/elements/gstqueue.c:
10457         * plugins/indexers/Makefile.am:
10458         * plugins/indexers/gstindexers.c:
10459           document core plugins in a separate document just like all the
10460           others
10461           rename these plugins to something starting with core
10462
10463 2005-12-01  Andy Wingo  <wingo@pobox.com>
10464
10465         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
10466         padding here before, but it missed the commit.
10467
10468 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10469
10470         * libs/gst/controller/gstinterpolation.c:
10471           whitespace prices have crashed, we should feel free to use some now
10472           use gst_guint64_to_gdouble
10473
10474 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10475
10476         * libs/gst/controller/gstcontroller.c:
10477         * libs/gst/controller/gsthelper.c:
10478         * libs/gst/controller/gstinterpolation.c:
10479         * libs/gst/controller/lib.c:
10480           wrap config.h include
10481
10482 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10483
10484         * docs/gst/gstreamer-sections.txt:
10485           update docs
10486
10487 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10488
10489         * plugins/elements/gstelements.c:
10490         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
10491         (gst_fd_sink__class_init), (gst_fd_sink__init),
10492         (gst_fd_sink__chain), (gst_fd_sink__set_property),
10493         (gst_fd_sink__get_property):
10494         * plugins/elements/gstfdsink.h:
10495         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
10496         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
10497         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
10498         (gst_fd_src_unlock), (gst_fd_src_set_property),
10499         (gst_fd_src_get_property), (gst_fd_src_create),
10500         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
10501         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
10502         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
10503         (gst_fd_src_uri_handler_init):
10504         * plugins/elements/gstfdsrc.h:
10505         * plugins/elements/gstqueue.c: (gst_queue_get_type):
10506           more anal cleanup
10507
10508 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10509
10510         * docs/gst/Makefile.am:
10511         * docs/gst/gstreamer.types.in:
10512         * gst/Makefile.am:
10513           fix the docs build
10514
10515 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10516
10517         * configure.ac:
10518         * gst/Makefile.am:
10519         * gst/gst.c:
10520         * gst/gstplugin.h:
10521         * gst/gstregistry.h:
10522         * tests/benchmarks/complexity.c:
10523         * tests/benchmarks/mass-elements.c:
10524         * tests/check/Makefile.am:
10525         * tools/Makefile.am:
10526         * tools/gst-inspect.c:
10527         * tools/gst-xmlinspect.c:
10528           various fixes to make
10529           --disable-nls --disable-registry --disable-loadsave
10530           --disable-parse --disable-gst-debug
10531           work and get the core .so down to 360444 bytes after stripping
10532
10533 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10534
10535         * Makefile.am:
10536         * configure.ac:
10537           descend into tests
10538         * docs/random/thomasvs/TODO:
10539         * tests/Makefile.am:
10540         * tests/README:
10541           add a README
10542
10543 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10544
10545         * win32/GStreamer.vcproj:
10546         * win32/MANIFEST:
10547         * win32/Makefile:
10548         * win32/Makefile.inspect:
10549         * win32/Makefile.launch:
10550         * win32/Makefile.register:
10551         * win32/README.txt:
10552         * win32/gst-inspect.vcproj:
10553         * win32/gst-launch.vcproj:
10554         * win32/gst-register.vcproj:
10555         * win32/gstelements.vcproj:
10556         * win32/gstgetbits.def:
10557         * win32/gstgetbits.vcproj:
10558         * win32/gstreamer-dbg.def:
10559         * win32/gstreamer.def:
10560         * win32/libgstbase.def:
10561         * win32/libgstbase.vcproj:
10562         * win32/link_oldruntime.c:
10563         * win32/mman.c:
10564         * win32/mman.h:
10565         * win32/mman.inl:
10566         * win32/msvc71.sln:
10567           move even more stuff, win32/ is nice and clean now
10568
10569 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10570
10571         * libs/gst/control/.cvsignore:
10572         * win32/MANIFEST:
10573         * win32/config.h:
10574         * win32/dirent.c:
10575         * win32/dirent.h:
10576         * win32/gstbytestream.def:
10577         * win32/gstbytestream.vcproj:
10578         * win32/gstconfig.h:
10579         * win32/gstenumtypes.c:
10580         * win32/gstenumtypes.h:
10581         * win32/gstoptimalscheduler.vcproj:
10582         * win32/gstversion.h:
10583         * win32/gtchar.h:
10584         * win32/testsuite/bins.vcproj:
10585         * win32/testsuite/bytestream.vcproj:
10586         * win32/testsuite/caps.vcproj:
10587         * win32/testsuite/cleanup.vcproj:
10588         * win32/testsuite/clock.vcproj:
10589         * win32/testsuite/debug.vcproj:
10590         * win32/testsuite/dlopen.vcproj:
10591         * win32/testsuite/dynparams.vcproj:
10592         * win32/testsuite/elements.vcproj:
10593         * win32/testsuite/ghostpads.vcproj:
10594         * win32/testsuite/indexers.vcproj:
10595         * win32/testsuite/negotiation.vcproj:
10596         * win32/testsuite/parse.vcproj:
10597         * win32/testsuite/plugin.vcproj:
10598         * win32/testsuite/refcounting.vcproj:
10599         * win32/testsuite/schedulers.vcproj:
10600         * win32/testsuite/states.vcproj:
10601         * win32/testsuite/tags.vcproj:
10602         * win32/testsuite/threads.vcproj:
10603           remove old win32 stuff that isn't maintained and should be
10604           reorganized
10605
10606 2005-11-30  Andy Wingo  <wingo@pobox.com>
10607
10608         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
10609         loading the gst.interfaces python module bork.
10610
10611         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
10612         available since GLib 2.2. Fixes #318031.
10613
10614 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10615
10616         * Makefile.am:
10617         * check/.cvsignore:
10618         * check/Makefile.am:
10619         * check/elements/.cvsignore:
10620         * check/elements/fakesrc.c:
10621         * check/elements/fdsrc.c:
10622         * check/elements/identity.c:
10623         * check/generic/.cvsignore:
10624         * check/generic/states.c:
10625         * check/gst-libs/.cvsignore:
10626         * check/gst-libs/controller.c:
10627         * check/gst-libs/gdp.c:
10628         * check/gst/.cvsignore:
10629         * check/gst/capslist.h:
10630         * check/gst/gst.c:
10631         * check/gst/gstbin.c:
10632         * check/gst/gstbuffer.c:
10633         * check/gst/gstbus.c:
10634         * check/gst/gstcaps.c:
10635         * check/gst/gstelement.c:
10636         * check/gst/gstevent.c:
10637         * check/gst/gstghostpad.c:
10638         * check/gst/gstiterator.c:
10639         * check/gst/gstmessage.c:
10640         * check/gst/gstminiobject.c:
10641         * check/gst/gstobject.c:
10642         * check/gst/gstpad.c:
10643         * check/gst/gstpipeline.c:
10644         * check/gst/gstplugin.c:
10645         * check/gst/gstsegment.c:
10646         * check/gst/gststructure.c:
10647         * check/gst/gstsystemclock.c:
10648         * check/gst/gsttag.c:
10649         * check/gst/gstutils.c:
10650         * check/gst/gstvalue.c:
10651         * check/net/.cvsignore:
10652         * check/net/gstnetclientclock.c:
10653         * check/net/gstnettimeprovider.c:
10654         * check/pipelines/.cvsignore:
10655         * check/pipelines/cleanup.c:
10656         * check/pipelines/simple_launch_lines.c:
10657         * check/pipelines/stress.c:
10658         * check/states/.cvsignore:
10659         * check/states/sinks.c:
10660         * configure.ac:
10661         * examples/Makefile.am:
10662         * examples/appreader/.cvsignore:
10663         * examples/appreader/Makefile.am:
10664         * examples/appreader/appreader.c:
10665         * examples/controller/.cvsignore:
10666         * examples/controller/Makefile.am:
10667         * examples/controller/audio-example.c:
10668         * examples/cutter/.cvsignore:
10669         * examples/cutter/Makefile.am:
10670         * examples/cutter/cutter.c:
10671         * examples/cutter/cutter.h:
10672         * examples/events/Makefile.am:
10673         * examples/events/seek.c:
10674         * examples/helloworld/.cvsignore:
10675         * examples/helloworld/Makefile.am:
10676         * examples/helloworld/helloworld.c:
10677         * examples/helloworld2/.cvsignore:
10678         * examples/helloworld2/Makefile.am:
10679         * examples/helloworld2/helloworld2.c:
10680         * examples/launch/.cvsignore:
10681         * examples/launch/Makefile.am:
10682         * examples/launch/mp3parselaunch.c:
10683         * examples/launch/mp3play:
10684         * examples/manual/.cvsignore:
10685         * examples/manual/Makefile.am:
10686         * examples/manual/extract.pl:
10687         * examples/metadata/Makefile.am:
10688         * examples/metadata/read-metadata.c:
10689         * examples/mixer/.cvsignore:
10690         * examples/mixer/Makefile.am:
10691         * examples/mixer/mixer.c:
10692         * examples/mixer/mixer.h:
10693         * examples/pingpong/.cvsignore:
10694         * examples/pingpong/Makefile.am:
10695         * examples/pingpong/pingpong.c:
10696         * examples/plugins/.cvsignore:
10697         * examples/plugins/Makefile.am:
10698         * examples/plugins/example.c:
10699         * examples/plugins/example.h:
10700         * examples/pwg/.cvsignore:
10701         * examples/pwg/Makefile.am:
10702         * examples/pwg/extract.pl:
10703         * examples/queue/.cvsignore:
10704         * examples/queue/Makefile.am:
10705         * examples/queue/queue.c:
10706         * examples/queue2/.cvsignore:
10707         * examples/queue2/Makefile.am:
10708         * examples/queue2/queue2.c:
10709         * examples/queue3/.cvsignore:
10710         * examples/queue3/Makefile.am:
10711         * examples/queue3/queue3.c:
10712         * examples/queue4/.cvsignore:
10713         * examples/queue4/Makefile.am:
10714         * examples/queue4/queue4.c:
10715         * examples/retag/.cvsignore:
10716         * examples/retag/Makefile.am:
10717         * examples/retag/retag.c:
10718         * examples/retag/transcode.c:
10719         * examples/thread/.cvsignore:
10720         * examples/thread/Makefile.am:
10721         * examples/thread/thread.c:
10722         * examples/typefind/.cvsignore:
10723         * examples/typefind/Makefile.am:
10724         * examples/typefind/typefind.c:
10725         * examples/xml/.cvsignore:
10726         * examples/xml/Makefile.am:
10727         * examples/xml/createxml.c:
10728         * examples/xml/runxml.c:
10729         * tests/Makefile.am:
10730         * tests/check/Makefile.am:
10731         * testsuite/.cvsignore:
10732         * testsuite/Makefile.am:
10733         * testsuite/Rules:
10734         * testsuite/caps/.cvsignore:
10735         * testsuite/caps/Makefile.am:
10736         * testsuite/caps/app_fixate.c:
10737         * testsuite/caps/audioscale.c:
10738         * testsuite/caps/caps.c:
10739         * testsuite/caps/caps.h:
10740         * testsuite/caps/caps_strings:
10741         * testsuite/caps/compatibility.c:
10742         * testsuite/caps/deserialize.c:
10743         * testsuite/caps/enumcaps.c:
10744         * testsuite/caps/eratosthenes.c:
10745         * testsuite/caps/filtercaps.c:
10746         * testsuite/caps/fixed.c:
10747         * testsuite/caps/fraction-convert.c:
10748         * testsuite/caps/fraction-multiply-and-zero.c:
10749         * testsuite/caps/intersect2.c:
10750         * testsuite/caps/intersection.c:
10751         * testsuite/caps/normalisation.c:
10752         * testsuite/caps/random.c:
10753         * testsuite/caps/renegotiate.c:
10754         * testsuite/caps/sets.c:
10755         * testsuite/caps/simplify.c:
10756         * testsuite/caps/string-conversions.c:
10757         * testsuite/caps/structure.c:
10758         * testsuite/caps/subtract.c:
10759         * testsuite/caps/union.c:
10760         * testsuite/debug/.cvsignore:
10761         * testsuite/debug/Makefile.am:
10762         * testsuite/debug/category.c:
10763         * testsuite/debug/commandline.c:
10764         * testsuite/debug/global.c:
10765         * testsuite/debug/output.c:
10766         * testsuite/debug/printf_extension.c:
10767         * testsuite/dlopen/.cvsignore:
10768         * testsuite/dlopen/Makefile.am:
10769         * testsuite/dlopen/dlopen_gst.c:
10770         * testsuite/dlopen/loadgst.c:
10771         * testsuite/elements/.cvsignore:
10772         * testsuite/elements/Makefile.am:
10773         * testsuite/elements/gst-inspect-check.in:
10774         * testsuite/elements/struct_i386.h:
10775         * testsuite/elements/struct_size.c:
10776         * testsuite/indexers/.cvsignore:
10777         * testsuite/indexers/Makefile.am:
10778         * testsuite/indexers/cache1.c:
10779         * testsuite/indexers/indexdump.c:
10780         * testsuite/parse/.cvsignore:
10781         * testsuite/parse/Makefile.am:
10782         * testsuite/parse/parse1.c:
10783         * testsuite/parse/parse2.c:
10784         * testsuite/plugin/.cvsignore:
10785         * testsuite/plugin/Makefile.am:
10786         * testsuite/plugin/README:
10787         * testsuite/plugin/dynamic.c:
10788         * testsuite/plugin/linked.c:
10789         * testsuite/plugin/loading.c:
10790         * testsuite/plugin/registry.c:
10791         * testsuite/plugin/static.c:
10792         * testsuite/plugin/static2.c:
10793         * testsuite/plugin/testplugin.c:
10794         * testsuite/plugin/testplugin2.c:
10795         * testsuite/plugin/testplugin2_s.c:
10796         * testsuite/plugin/testplugin_s.c:
10797         * testsuite/refcounting/.cvsignore:
10798         * testsuite/refcounting/Makefile.am:
10799         * testsuite/refcounting/bin.c:
10800         * testsuite/refcounting/element.c:
10801         * testsuite/refcounting/element_pad.c:
10802         * testsuite/refcounting/mainloop.c:
10803         * testsuite/refcounting/mem.c:
10804         * testsuite/refcounting/mem.h:
10805         * testsuite/refcounting/object.c:
10806         * testsuite/refcounting/pad.c:
10807         * testsuite/refcounting/sched.c:
10808         * testsuite/refcounting/thread.c:
10809         * testsuite/states/.cvsignore:
10810         * testsuite/states/Makefile.am:
10811         * testsuite/states/bin.c:
10812         * testsuite/states/locked.c:
10813         * testsuite/states/parent.c:
10814         * testsuite/threads/.cvsignore:
10815         * testsuite/threads/159566.c:
10816         * testsuite/threads/159852.c:
10817         * testsuite/threads/Makefile.am:
10818         * testsuite/threads/queue.c:
10819         * testsuite/threads/signals.c:
10820         * testsuite/threads/staticrec.c:
10821         * testsuite/threads/thread.c:
10822         * testsuite/threads/threadb.c:
10823         * testsuite/threads/threadc.c:
10824         * testsuite/threads/threadd.c:
10825         * testsuite/threads/threade.c:
10826         * testsuite/threads/threadf.c:
10827         * testsuite/threads/threadg.c:
10828         * testsuite/threads/threadh.c:
10829         * testsuite/threads/threadi.c:
10830           move all of these under tests
10831
10832 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10833
10834         * configure.ac:
10835         * tests/Makefile.am:
10836           fix distcheck
10837
10838 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10839
10840         * docs/gst/gstreamer-sections.txt:
10841         * tests/sched/.cvsignore:
10842         * tests/sched/Makefile.am:
10843         * tests/sched/cases/(fs-fs).xml:
10844         * tests/sched/cases/(fs-i-fs).xml:
10845         * tests/sched/cases/(fs-i-i-fs).xml:
10846         * tests/sched/cases/(fs-i-q[i-fs]).xml:
10847         * tests/sched/dynamic-pipeline.c:
10848         * tests/sched/interrupt1.c:
10849         * tests/sched/interrupt2.c:
10850         * tests/sched/interrupt3.c:
10851         * tests/sched/runtestcases:
10852         * tests/sched/runxml.c:
10853         * tests/sched/sched-stress.c:
10854         * tests/sched/sort.c:
10855         * tests/sched/testcases:
10856         * tests/sched/testcases1.tc:
10857         * tests/seeking/.cvsignore:
10858         * tests/seeking/Makefile.am:
10859         * tests/seeking/seeking1.c:
10860         * tests/threadstate/.cvsignore:
10861         * tests/threadstate/Makefile.am:
10862         * tests/threadstate/test1.c:
10863         * tests/threadstate/test2.c:
10864         * tests/threadstate/threadstate1.c:
10865         * tests/threadstate/threadstate2.c:
10866         * tests/threadstate/threadstate3.c:
10867         * tests/threadstate/threadstate4.c:
10868         * tests/threadstate/threadstate5.c:
10869           remove obsolete tests
10870         * configure.ac:
10871         * tests/bench-complexity.scm:
10872         * tests/bench-mass_elements.scm:
10873         * tests/complexity.c:
10874         * tests/complexity.gnuplot:
10875         * tests/instantiate/.cvsignore:
10876         * tests/instantiate/Makefile.am:
10877         * tests/instantiate/caps.c:
10878         * tests/mass_elements.c:
10879         * tests/network-clock-utils.scm:
10880         * tests/network-clock.scm:
10881         * tests/plot-data:
10882         First pass at cleaning up tests/ dir before moving the rest
10883         Combined with CVS surgery
10884
10885 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10886
10887         * po/POTFILES.in:
10888           queue has moved, update
10889
10890 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10891
10892         * docs/gst/gstreamer-sections.txt:
10893           remove double entries from the docs
10894         * gst/gst_private.h:
10895         * gst/gstinfo.c: (_gst_debug_init):
10896           remove the THREAD debug category
10897         * gst/Makefile.am:
10898         * gst/gstqueue.c:
10899         * gst/gstqueue.h:
10900         * docs/gst/gstreamer.types:
10901         * plugins/elements/gstqueue.c: (gst_queue_get_type),
10902         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
10903           completely move queue and fix up debugging categories
10904
10905 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10906
10907         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10908           make initialization portable, using LL is not
10909
10910 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10911
10912         * win32/common/gstconfig.h:
10913           add large padding
10914
10915 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10916
10917         * win32/common/libgstreamer.def:
10918           rename symbols; sort base section
10919
10920 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10921
10922         * gst/gstclock.c: (do_linear_regression):
10923           remove crack non-portable handrolled DEBUG macro
10924
10925 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10926
10927         * docs/random/release:
10928           update notes
10929         * win32/common/gstenumtypes.c: (register_gst_object_flags),
10930         (gst_object_flags_get_type), (register_gst_bin_flags),
10931         (gst_bin_flags_get_type), (register_gst_buffer_flag),
10932         (gst_buffer_flag_get_type), (register_gst_bus_flags),
10933         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
10934         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
10935         (gst_caps_flags_get_type), (register_gst_clock_return),
10936         (gst_clock_return_get_type), (register_gst_clock_entry_type),
10937         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
10938         (gst_clock_flags_get_type), (register_gst_state),
10939         (gst_state_get_type), (register_gst_state_change_return),
10940         (gst_state_change_return_get_type), (register_gst_state_change),
10941         (gst_state_change_get_type), (register_gst_element_flags),
10942         (gst_element_flags_get_type), (register_gst_core_error),
10943         (gst_core_error_get_type), (register_gst_library_error),
10944         (gst_library_error_get_type), (register_gst_resource_error),
10945         (gst_resource_error_get_type), (register_gst_stream_error),
10946         (gst_stream_error_get_type), (register_gst_event_type_flags),
10947         (gst_event_type_flags_get_type), (register_gst_event_type),
10948         (gst_event_type_get_type), (register_gst_seek_type),
10949         (gst_seek_type_get_type), (register_gst_seek_flags),
10950         (gst_seek_flags_get_type), (register_gst_format),
10951         (gst_format_get_type), (register_gst_index_certainty),
10952         (gst_index_certainty_get_type), (register_gst_index_entry_type),
10953         (gst_index_entry_type_get_type),
10954         (register_gst_index_lookup_method),
10955         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
10956         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
10957         (gst_index_resolver_method_get_type), (register_gst_index_flags),
10958         (gst_index_flags_get_type), (register_gst_debug_level),
10959         (gst_debug_level_get_type), (register_gst_debug_color_flags),
10960         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
10961         (gst_iterator_result_get_type), (register_gst_iterator_item),
10962         (gst_iterator_item_get_type), (register_gst_message_type),
10963         (gst_message_type_get_type), (register_gst_mini_object_flags),
10964         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
10965         (gst_pad_link_return_get_type), (register_gst_flow_return),
10966         (gst_flow_return_get_type), (register_gst_activate_mode),
10967         (gst_activate_mode_get_type), (register_gst_pad_direction),
10968         (gst_pad_direction_get_type), (register_gst_pad_flags),
10969         (gst_pad_flags_get_type), (register_gst_pad_presence),
10970         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
10971         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
10972         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
10973         (gst_plugin_error_get_type), (register_gst_plugin_flags),
10974         (gst_plugin_flags_get_type), (register_gst_rank),
10975         (gst_rank_get_type), (register_gst_query_type),
10976         (gst_query_type_get_type), (register_gst_tag_merge_mode),
10977         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
10978         (gst_tag_flag_get_type), (register_gst_task_state),
10979         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
10980         (gst_alloc_trace_flags_get_type),
10981         (register_gst_type_find_probability),
10982         (gst_type_find_probability_get_type), (register_gst_uri_type),
10983         (gst_uri_type_get_type), (register_gst_parse_error),
10984         (gst_parse_error_get_type):
10985         * win32/common/gstenumtypes.h:
10986         * win32/common/gstversion.h:
10987           update visual studio generated files
10988
10989 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10990
10991         * win32/vs6/libgstbase.dsp:
10992         * win32/vs6/libgstelements.dsp:
10993           update project files for new locations
10994
10995 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10996
10997         * Makefile.am:
10998           remove some files
10999         * README:
11000           reinstate and update
11001         * DEVEL:
11002         * REQUIREMENTS:
11003           removed
11004         * LICENSE:
11005         * docs/random/LICENSE:
11006           moved to random
11007
11008 2005-11-30  Edward Hervey  <edward@fluendo.com>
11009
11010         * gst/gsttypefind.c: (gst_type_find_register):
11011         * gst/gsttypefind.h:
11012         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
11013         (gst_type_find_factory_dispose):
11014         * gst/gsttypefindfactory.h:
11015         Fix memory leak in GstTypeFindFactory.
11016
11017 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11018
11019         * gst/gst.c:
11020         * plugins/elements/Makefile.am:
11021         * plugins/elements/gstelements.c:
11022         * plugins/elements/gstqueue.c:
11023           move queue from core to the elements plugin
11024
11025 2005-11-29  Andy Wingo  <wingo@pobox.com>
11026
11027         * libs/gst/base/gstbasetransform.h: 
11028         * libs/gst/base/gstbasesrc.h: 
11029         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
11030
11031         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
11032         of pointers by which to pad very extensible base classes (like the
11033         ones in libs/gst/base).
11034
11035 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11036
11037         * docs/gst/gstreamer-docs.sgml:
11038         * docs/gst/gstreamer-sections.txt:
11039         * docs/libs/gstreamer-libs-docs.sgml:
11040         * docs/libs/gstreamer-libs-sections.txt:
11041           moving documentation from core to lib
11042
11043 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11044
11045         * check/Makefile.am:
11046         * configure.ac:
11047         * docs/gst/Makefile.am:
11048         * gst/Makefile.am:
11049         * gst/base/.cvsignore:
11050         * gst/base/Makefile.am:
11051         * gst/base/README:
11052         * gst/base/gstadapter.c:
11053         * gst/base/gstadapter.h:
11054         * gst/base/gstbasesink.c:
11055         * gst/base/gstbasesink.h:
11056         * gst/base/gstbasesrc.c:
11057         * gst/base/gstbasesrc.h:
11058         * gst/base/gstbasetransform.c:
11059         * gst/base/gstbasetransform.h:
11060         * gst/base/gstcollectpads.c:
11061         * gst/base/gstcollectpads.h:
11062         * gst/base/gstpushsrc.c:
11063         * gst/base/gstpushsrc.h:
11064         * gst/base/gsttypefindhelper.c:
11065         * gst/base/gsttypefindhelper.h:
11066         * gst/check/Makefile.am:
11067         * gst/check/gstcheck.c:
11068         * gst/check/gstcheck.h:
11069         * gst/net/Makefile.am:
11070         * gst/net/gstnet.h:
11071         * gst/net/gstnetclientclock.c:
11072         * gst/net/gstnetclientclock.h:
11073         * gst/net/gstnettimepacket.c:
11074         * gst/net/gstnettimepacket.h:
11075         * gst/net/gstnettimeprovider.c:
11076         * gst/net/gstnettimeprovider.h:
11077         * libs/gst/Makefile.am:
11078         * libs/gst/base/Makefile.am:
11079         * libs/gst/base/gstbasetransform.c:
11080         * libs/gst/check/Makefile.am:
11081         * plugins/elements/Makefile.am:
11082         * po/POTFILES.in:
11083           CVS surgery + support to move base, check, and net out of gst
11084           and into libs/gst
11085
11086 2005-11-29  Andy Wingo  <wingo@pobox.com>
11087
11088         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
11089
11090         * gst/gststructure.h (struct _GstStructure): Only one pointer of
11091         padding.
11092
11093         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
11094
11095         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
11096
11097         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
11098
11099         * gst/gstobject.h: (struct _GstObject): Only one pointer of
11100         padding; reduces object size by about 30%. We don't expect
11101         anything else to go into gstobject.
11102
11103         * gst/gstminiobject.h (struct _GstMiniObject)
11104         (struct _GstMiniObjectClass): Only one pointer of padding; the
11105         payload is only a pointer and two ints anyway. For the class there
11106         are only two methods as well.
11107         
11108         * gst/gstelement.h (struct _GstElementClass): Removed
11109         the state_changed signal callback, it is not used.
11110
11111 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11112
11113         * docs/gst/gstreamer.types:
11114           fix includes, though they are a little dinky
11115
11116 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11117
11118         * check/Makefile.am:
11119           look in the right place for elements, a lot more chance of
11120           success
11121         * gst/Makefile.am:
11122           remove indexers and elements subdirs
11123         * plugins/Makefile.am:
11124           make indexers conditional
11125
11126 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11127
11128         * Makefile.am:
11129         * configure.ac:
11130         * plugins/elements/Makefile.am:
11131         * plugins/elements/gstcapsfilter.c:
11132         * plugins/elements/gstfilesink.c:
11133         * plugins/elements/gstfilesrc.c:
11134         * plugins/elements/gstidentity.c:
11135         * plugins/indexers/Makefile.am:
11136           do CVS surgery and related build fixery to move elements
11137           and indexers in a new gstreamer/plugins directory, out of the
11138           gst/ directory
11139
11140 2005-11-29  Andy Wingo  <wingo@pobox.com>
11141
11142         * check/Makefile.am:
11143         * pkgconfig/gstreamer-net-uninstalled.pc.in:
11144         * pkgconfig/gstreamer-net.pc.in:
11145         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
11146         #322257.
11147
11148 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11149
11150         * tools/Makefile.am:
11151         * tools/gst-complete.1.in:
11152         * tools/gst-complete.c:
11153         * tools/gst-compprep.1.in:
11154         * tools/gst-compprep.c:
11155           removing -compprep and -complete
11156
11157 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11158
11159         * gst/gstevent.c: (gst_event_new_new_segment),
11160         (gst_event_parse_new_segment):
11161         * gst/gstevent.h:
11162           fix #320529 - clean up new_segment API and structure.
11163           Let's hope everyone was using the methods, and not the structure.
11164
11165 2005-11-29  Edward Hervey  <edward@fluendo.com>
11166
11167         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11168         (gst_base_sink_event), (gst_base_sink_do_sync),
11169         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
11170         Properly handle non GST_FORMAT_TIME segment
11171         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
11172         Properly handle non GST_FORMAT_TIME segment
11173         * gst/gstsegment.c:
11174         This function is valid if the accumulator is 0 and the format
11175         is different from the requested format.
11176         
11177 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
11178
11179         * docs/gst/gstreamer-sections.txt:
11180         Add gst_query_new_seeking and gst_query_parse_seeking to the
11181         docs.
11182
11183 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
11184
11185         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
11186           Treat a pad alloc with new caps the same as if we were not
11187           negotiated, in order to allow a changing upstream output
11188           to produce a new format of data.
11189
11190 2005-11-29  Edward Hervey  <edward@fluendo.com>
11191
11192         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11193         (gst_base_transform_event), (gst_base_transform_eventfunc):
11194         The event virtual method is now properly implemented, with a default
11195         handler
11196         Sub classes should call the parent_class event method. They should
11197         return FALSE if they had a problem handling the given event, or don't
11198         want GstBaseTransform to send that even downstream
11199         * gst/elements/gstidentity.c: (gst_identity_class_init),
11200         (gst_identity_init), (gst_identity_event),
11201         (gst_identity_transform_ip), (gst_identity_set_property),
11202         (gst_identity_get_property):
11203         * gst/elements/gstidentity.h:
11204         Added the single-segment boolean property.
11205         If set to TRUE, it will output a single segment of data, starting from
11206         0, will eat up all incoming newsegment, and modify the timestamp of the
11207         buffers accordingly
11208
11209 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
11210
11211         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
11212           Don't ref NULL target pad (#322751). Improve docs.
11213
11214 2005-11-29  Michael Smith  <msmith@fluendo.com>
11215
11216         * gst/gstregistryxml.c: (load_plugin):
11217           Don't crash if we failed to load a feature from a plugin. 
11218
11219 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11220
11221         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
11222         (GST_START_TEST):
11223           use more check API and less GLib API
11224
11225 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11226
11227         * Makefile.am:
11228           don't run checks if we don't have check
11229         * common/check.mak:
11230           remove the registry when running make torture
11231         * docs/gst/gstreamer-sections.txt:
11232           remove second multiply
11233         * gst/gstqueue.c: (gst_queue_loop):
11234           fix a compile warning when disabling debug
11235
11236 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
11237
11238         * gst/gstinfo.h:
11239         Hey! Let's print the pad name if the pointer != NULL instead
11240         of when it == NULL :-)
11241
11242 2005-11-28  Wim Taymans  <wim@fluendo.com>
11243
11244         * check/gst/gstutils.c: (GST_START_TEST):
11245         Updated check, add some scaling accuracy checking code.
11246
11247         * gst/gstutils.c: (gst_util_div128_64),
11248         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
11249         (gst_util_uint64_scale_int):
11250         Fix 6 times faster division code. Optimize for common 
11251         1/1 and less common X/1 cases.
11252
11253 2005-11-28  Wim Taymans  <wim@fluendo.com>
11254
11255         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11256         More checks.
11257
11258         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
11259         (do_linear_regression), (gst_clock_add_observation):
11260         Cleanups.
11261         Release lock when the clock cannot be slaved.
11262         Catch the case where the regression returned an invalid denominator.
11263
11264         * gst/gstutils.c: (gst_util_div128_64_iterate),
11265         (gst_util_div128_64), (gst_util_uint64_scale_int64),
11266         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
11267         Add protentially more performant non-iterative 128/64 divide function
11268         that unfortunatly does not work yet.
11269         Shortcut the trivial 0/X = 0 case.
11270         Remove the warnings on overflow.
11271
11272 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11273
11274         * gst/gstplugin.c: (gst_plugin_register_func):
11275           everything causing a plugin not to load should be at least a WARNING
11276
11277 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
11278
11279         * docs/random/ensonic/dparams.txt:
11280           some TODOs for the next dev cycle
11281         * libs/gst/controller/gstcontroller.c:
11282         (gst_controlled_property_set_interpolation_mode),
11283         (gst_controlled_property_new):
11284         * libs/gst/controller/gstcontroller.h:
11285           use base type to assign acccessor functions
11286
11287 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
11288
11289         * check/Makefile.am:
11290         Oops, that should have been top_srcdir
11291
11292 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
11293
11294         * check/Makefile.am:
11295         * check/elements/fdsrc.c: (GST_START_TEST):
11296         Use a cmdline define to specify the location of a file to use for
11297         testing, to avoid breaking distcheck.
11298
11299 2005-11-28  Andy Wingo  <wingo@pobox.com>
11300
11301         * gst/gstpad.c (fixate_value): Use array functions for arrays.
11302
11303 2005-11-28  Edward Hervey  <edward@fluendo.com>
11304
11305         * tools/gst-launch.c: (main):
11306         Clarify the output strings, makes it easier to translate.
11307         Fixes #322626
11308
11309 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11310
11311         * gst/Makefile.am:
11312           don't try and build net if we don't even have <sys/socket.h>
11313
11314 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
11315
11316         * check/Makefile.am:
11317         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
11318         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
11319           Add tests for fdsrc seekability
11320
11321         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11322         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
11323         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
11324         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
11325         * gst/elements/gstfdsrc.h:
11326           fdsrc should not be a 'live' source.
11327           Implement seeking on seekable fd's.
11328
11329         * gst/gstquery.c: (gst_query_new_seeking),
11330         (gst_query_parse_seeking):
11331         * gst/gstquery.h:
11332           Implement SEEKING query functions: 
11333             *_new_seeking and *_parse_seeking
11334
11335 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
11336
11337         * gst/gstelement.c: (gst_element_dispose):
11338           don't loop forever
11339
11340         * gst/gstiterator.c:
11341         * gst/gststructure.c:
11342           doc fixes
11343
11344         * libs/gst/controller/gstcontroller.c:
11345         (gst_controlled_property_set_interpolation_mode):
11346         * libs/gst/controller/gstcontroller.h:
11347         * libs/gst/controller/gstinterpolation.c:
11348         (interpolate_none_get_enum_value_array):
11349           support controlling enums
11350
11351 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
11352
11353         * gst/gstvalue.c:
11354           Improve documentation for gst_value_union().
11355
11356         * gst/gstvalue.h:
11357           Change return value for union, intersect and subtract functions
11358           from gint to gboolean.
11359
11360 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
11361
11362         * gst/gstvalue.c: (gst_value_serialize_any_list),
11363         (gst_value_transform_any_list_string),
11364         (gst_value_deserialize_list), (gst_value_deserialize_array),
11365         (gst_value_set_int_range), (gst_value_deserialize_int_range),
11366         (gst_value_set_double_range), (gst_value_deserialize_double_range),
11367         (gst_value_set_fraction_range_full),
11368         (gst_value_deserialize_fraction_range),
11369         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
11370         (gst_value_deserialize_boolean),
11371         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
11372         (gst_value_serialize_float), (gst_value_deserialize_float),
11373         (gst_string_wrap), (gst_value_deserialize_string),
11374         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
11375         (gst_value_union_int_range_int_range),
11376         (gst_value_intersect_int_range_int_range),
11377         (gst_value_intersect_double_range_double_range),
11378         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
11379         (gst_value_subtract_int_range_int_range),
11380         (gst_value_subtract_double_double_range),
11381         (gst_value_subtract_double_range_double_range),
11382         (gst_value_deserialize_fraction):
11383         * gst/gstvalue.h:
11384           Use gint, gdouble and gchar in our API instead of int, double and
11385           char (and make usage in gstvalue.c more consistent).
11386
11387 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11388
11389         * check/Makefile.am:
11390         * libs/gst/controller/Makefile.am:
11391         * libs/gst/dataprotocol/Makefile.am:
11392           fix up Makefile.am and remove GST_ENABLE_NEW
11393
11394 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11395
11396         * configure.ac:
11397         * gst/Makefile.am:
11398         * gst/base/Makefile.am:
11399         * gst/check/Makefile.am:
11400         * gst/elements/Makefile.am:
11401         * gst/net/Makefile.am:
11402           update LDFLAGS use some more
11403
11404 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11405
11406         * common/m4/gst-doc.m4:
11407           Fixes #312589
11408
11409 2005-11-26  Edward Hervey  <edward@fluendo.com>
11410
11411         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11412         This shouldn't issue a g_warning since it returns NULL if it
11413         couldn't find the plugin, and all functions using this behave
11414         properly on a NULL return. Switching to a GST_WARNING.
11415
11416 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
11417
11418         * gst/gstbin.c: (gst_bin_handle_message_func):
11419         Don't leak clock messages.
11420
11421 2005-11-25  Wim Taymans  <wim@fluendo.com>
11422
11423         * gst/gstutils.c: (gst_util_uint64_scale_int64),
11424         (gst_util_uint64_scale_int):
11425         Optimisations, remove unneeded vars.
11426
11427 2005-11-25  Wim Taymans  <wim@fluendo.com>
11428
11429         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11430         Added more checks for the high precision uint64 cases.
11431
11432         * gst/gstutils.c: (gst_util_uint64_scale_int64),
11433         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
11434         Implement high precision (guint64 * guint64) / guint64.
11435
11436 2005-11-24  Wim Taymans  <wim@fluendo.com>
11437
11438         * gst/base/gstbasesrc.c: (gst_base_src_query):
11439         Fix wrong percentage query.
11440
11441         * gst/gstutils.c: (gst_util_uint64_scale),
11442         (gst_util_uint64_scale_int):
11443         Add some more common cases that can be handled 
11444         efficiently to _scale.
11445
11446 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11447
11448         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
11449         (gst_mini_object_suite):
11450           don't use check calls from threads; check probably isn't
11451           threadsafe and using a lock to make it threadsafe would
11452           defeat the purpose of this check
11453         * gst/check/gstcheck.c:
11454         * gst/check/gstcheck.h:
11455           use GST_DEBUG some more
11456
11457 2005-11-24  Wim Taymans  <wim@fluendo.com>
11458
11459         * gst/gstutils.c: (gst_util_uint64_scale),
11460         (gst_util_uint64_scale_int):
11461         Chain trivial case to _scale_int.
11462
11463 2005-11-24  Wim Taymans  <wim@fluendo.com>
11464
11465         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11466         Added test for scaling.
11467
11468         * gst/gstclock.h:
11469         Small doc fix.
11470
11471         * gst/gstutils.c: (gst_util_uint64_scale_int):
11472         Implemented high precision scaling code.
11473
11474 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
11475
11476         * gst/gstinfo.h:
11477           do not crash on pad==NULL
11478
11479 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11480
11481         Patch by: Stefan Kost
11482
11483         * common/gtk-doc.mak:
11484         * docs/gst/Makefile.am:
11485         * docs/libs/Makefile.am:
11486           Fix distcheck issues for the libraries docs build
11487           Closes #319599.
11488
11489 2005-11-24  Michael Smith <msmith@fluendo.com>
11490
11491         * docs/manual/basics-helloworld.xml:
11492           Fix bug #315027: memory leak in example code in docs.
11493
11494 2005-11-24  Michael Smith <msmith@fluendo.com>
11495
11496         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11497           Unlock the PREROLL_LOCK in a failure case.
11498
11499 2005-11-24  Wim Taymans  <wim@fluendo.com>
11500
11501         * docs/gst/gstreamer-sections.txt:
11502         * gst/base/gstadapter.h:
11503         * gst/base/gstbasesink.h:
11504         * gst/base/gstbasesrc.h:
11505         * gst/base/gstbasetransform.h:
11506         * gst/base/gstpushsrc.h:
11507         * gst/elements/gstfakesink.h:
11508         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
11509         * gst/elements/gstfakesrc.h:
11510         * gst/elements/gstfilesink.h:
11511         * gst/elements/gstfilesrc.h:
11512         * gst/gst.c:
11513         * gst/gstbin.c:
11514         * gst/gstbuffer.c: (_gst_buffer_copy):
11515         * gst/gstbus.h:
11516         * gst/gstcaps.c:
11517         * gst/gstchildproxy.c:
11518         * gst/gstclock.c:
11519         * gst/gstelement.c:
11520         * gst/gstelementfactory.c:
11521         * gst/gstelementfactory.h:
11522         * gst/gstevent.c:
11523         * gst/gstghostpad.h:
11524         * gst/gstindex.h:
11525         * gst/gstinterface.h:
11526         * gst/gstminiobject.c:
11527         * gst/gstminiobject.h:
11528         * gst/gstpad.c:
11529         * gst/gstpad.h:
11530         * gst/gstpadtemplate.h:
11531         * gst/gstpipeline.h:
11532         * gst/gstpluginfeature.h:
11533         * gst/gstquery.h:
11534         * gst/gstqueue.h:
11535         * gst/gsttaglist.c:
11536         * gst/gsttaglist.h:
11537         * gst/gsttagsetter.c:
11538         * gst/gsttagsetter.h:
11539         * gst/gsttrace.c:
11540         * gst/gsttrace.h:
11541         * gst/gsttypefind.h:
11542         * gst/gsturi.h:
11543         * gst/gstvalue.c:
11544         * gst/net/gstnetclientclock.c:
11545         * gst/net/gstnetclientclock.h:
11546         * gst/net/gstnettimepacket.c:
11547         * gst/net/gstnettimeprovider.c:
11548         * gst/net/gstnettimeprovider.h:
11549         Doc fixes.
11550
11551 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11552
11553         * configure.ac: back to HEAD
11554
11555 === release 0.9.6 ===
11556
11557 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
11558
11559         * configure.ac:
11560           releasing 0.9.6, "Always On Time"
11561
11562 2005-11-23  Wim Taymans  <wim@fluendo.com>
11563
11564         * docs/gst/gstreamer-sections.txt:
11565         * gst/glib-compat.c:
11566         * gst/gsttagsetter.c:
11567         * gst/gstvalue.c:
11568         * gst/net/gstnetclientclock.c:
11569         * gst/net/gstnettimepacket.h:
11570         Doc updates.
11571
11572 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11573
11574         * docs/faq/using.xml:
11575         * docs/libs/tmpl/gstcontrol.sgml:
11576         * docs/manual/advanced-dparams.xml:
11577         * docs/manual/appendix-checklist.xml:
11578         * docs/manual/basics-elements.xml:
11579         * docs/pwg/other-source.xml:
11580         * docs/random/moving-plugins:
11581         * gst/gstpad.c:
11582         * tools/gst-launch.1.in:
11583           remove mentions of sinesrc
11584
11585 2005-11-23  Michael Smith <msmith@fluendo.com>
11586
11587         * docs/gst/gstreamer-sections.txt:
11588           Update for new API and API changes.
11589         * gst/gstobject.h:
11590           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
11591         * gst/gstvalue.c:
11592           Documentation typo fix.
11593         * gst/net/gstnettimepacket.c:
11594           Documentation fixes for arguments.
11595
11596 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
11597
11598         * gst/gststructure.c: (gst_structure_get_fraction),
11599         (gst_structure_parse_value),
11600         (gst_structure_fixate_field_nearest_fraction):
11601         * gst/gststructure.h:
11602         * gst/gstutils.c: (gst_util_uint64_scale_int):
11603         * gst/gstutils.h:
11604         * scripts/update-funcnames:
11605         API Changes. 
11606         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
11607         Make gst_structure_fixate_field_nearest_fraction take a numerator
11608         and denominator argument instead of a GValue
11609         add gst_structure_get_fraction helper function.
11610
11611 2005-11-23  Wim Taymans  <wim@fluendo.com>
11612
11613         * docs/design/part-TODO.txt:
11614         Update TODO.
11615
11616         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11617         * gst/net/gstnetclientclock.h:
11618         Use parent fields for timeout and window_size.
11619
11620 2005-11-23  Andy Wingo  <wingo@pobox.com>
11621
11622         * check/net/gstnetclientclock.c (test_functioning): Adjust to
11623         rate_num/rate_denom change.
11624
11625         * gst/net/gstnetclientclock.c
11626         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
11627         OBJECT_LOCK. Don't call add_observation with the lock.
11628
11629         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
11630         fraction.
11631         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
11632         rate fraction.
11633         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
11634         deal with rate as a fraction whose numerator and denominator are
11635         GstClockTime values.
11636         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
11637         master; the other fields are protected by the SLAVE_LOCK.
11638         (do_linear_regression): Note that this must be called with the
11639         SLAVE_LOCK.
11640         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
11641         OBJECT_LOCK. Call set_calibration instead of touching the
11642         variables directly.
11643         (gst_clock_set_property, gst_clock_get_property): Protect
11644         master/slave parameters with the SLAVE_LOCK.
11645
11646         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
11647         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
11648         note that all of the instance variables that add_observation and
11649         the set_master functions use are protected by that lock and not
11650         the OBJECT_LOCK.
11651         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
11652
11653         * gst/gstclock.c (gst_clock_add_observation): No longer requires
11654         the caller to take the object lock.
11655
11656 2005-11-23  Wim Taymans  <wim@fluendo.com>
11657
11658         * gst/gsterror.c: (_gst_core_errors_init):
11659         * gst/gsterror.h:
11660         Add error for clock stuff.
11661
11662         * gst/gstpipeline.c: (gst_pipeline_change_state),
11663         (gst_pipeline_set_clock):
11664         Post clock error when clock cannot be used in a pipeline.
11665
11666 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
11667
11668         * docs/gst/gstreamer-sections.txt:
11669           make two symbols from gstinfo private for the docs
11670         * gst/base/gstcollectpads.h:
11671         * gst/gstutils.c:
11672           fix doc typos, update docs
11673
11674 2005-11-22  Wim Taymans  <wim@fluendo.com>
11675
11676         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11677         (gst_base_sink_wait), (gst_base_sink_do_sync),
11678         (gst_base_sink_handle_event):
11679         * gst/base/gstbasesink.h:
11680         No need to store the clock, the parent element class already
11681         has it.
11682
11683         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
11684         Updates for clock_set returning a gboolean
11685
11686         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
11687         (gst_clock_id_wait_async), (gst_clock_class_init),
11688         (gst_clock_init), (gst_clock_finalize),
11689         (gst_clock_get_internal_time), (gst_clock_get_time),
11690         (gst_clock_slave_callback), (gst_clock_set_master),
11691         (gst_clock_get_master), (do_linear_regression),
11692         (gst_clock_add_observation), (gst_clock_set_property),
11693         (gst_clock_get_property):
11694         * gst/gstclock.h:
11695         Implement master/slave. When setting a clock as a slave, a
11696         periodic timeout is scheduled to sample master and slave times.
11697         Then the slave clock is recalibrated to match offset and rate
11698         of the master clock.
11699         Update logging a bit.
11700         Add flag so that a clock can state that is cannot be slaved to
11701         another clock.
11702
11703         * gst/gstelement.c: (gst_element_set_clock):
11704         * gst/gstelement.h:
11705         The set clock returns a gboolean for when an element cannot
11706         deal with the selected clock in the pipeline. 
11707
11708         * gst/gstpipeline.c: (gst_pipeline_change_state),
11709         (gst_pipeline_set_clock):
11710         * gst/gstpipeline.h:
11711         Handle the case where the selected clock cannot be set on
11712         the pipeline.
11713
11714         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
11715         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
11716         (gst_net_client_clock_set_property),
11717         (gst_net_client_clock_get_property),
11718         (gst_net_client_clock_observe_times):
11719         * gst/net/gstnetclientclock.h:
11720         Use regression code in GstClock parent, remove duplicated
11721         functionality.
11722
11723 2005-11-22  Michael Smith <msmith@fluendo.com>
11724
11725         * gst/gstutils.c: (gst_util_clock_time_scale):
11726         * gst/gstutils.h:
11727         * docs/gst/gstreamer-sections.txt:
11728           Rename method to have extra underscore.
11729
11730 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11731
11732         * gst/elements/Makefile.am:
11733         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
11734         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11735         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
11736         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
11737         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
11738         * gst/elements/gstfakesrc.h:
11739         * gst/gstqueue.c: (queue_leaky_get_type):
11740           correctly fix GEnumValues so that nick is the short lowercase
11741           dashed tag
11742         * tools/gst-inspect.c: (print_element_properties_info):
11743           also show the nick, since it's useful to use from parse_launch
11744           syntax
11745           Fixes #322139
11746
11747 2005-11-22  Michael Smith <msmith@fluendo.com>
11748
11749         * gst/gstutils.c: (gst_util_clocktime_scale):
11750         * gst/gstutils.h:
11751         * docs/gst/gstreamer-sections.txt:
11752           Add util method for scaling a clocktime by a fraction. Useful 
11753           implementation is left as an exercise for the reader.
11754
11755 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11756
11757         * gst/gstvalue.c: (gst_value_collect_fraction_range):
11758         If needed, allocate storage in the destination value during
11759         collection.
11760
11761 2005-11-22  Edward Hervey  <edward@fluendo.com>
11762
11763         * docs/gst/gstreamer-sections.txt:
11764         * gst/Makefile.am:
11765         * gst/gst.h:
11766         * gst/gsturitype.c:
11767         * gst/gsturitype.h:
11768         * gst/gstutils.c: (gst_util_set_object_arg):
11769         * tools/gst-compprep.c: (main):
11770         * tools/gst-inspect.c: (print_element_properties_info):
11771         Removed GstURI, closes bug #321061
11772
11773 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11774
11775         * check/gst/gststructure.c: (GST_START_TEST):
11776         * gst/gststructure.c: (gst_structure_parse_value):
11777           Oops, broke automatic string type parsing.
11778           Add a test to catch it in future.
11779
11780 2005-11-22  Andy Wingo  <wingo@pobox.com>
11781
11782         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
11783         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
11784         Actually rename the function implementations. Grr.
11785
11786 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11787
11788         * check/gst/capslist.h:
11789           Comment test cases
11790         * check/gst/gststructure.c: (GST_START_TEST),
11791         (gst_structure_suite):
11792           Test automatic value type detection in gst_structure_from_string.
11793         * gst/gststructure.c: (gst_structure_parse_value):
11794           Add fraction as a type we try and guess automatically in
11795           caps/structure strings.
11796
11797 2005-11-22  Andy Wingo  <wingo@pobox.com>
11798
11799         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
11800
11801         * gst/gsttagsetter.h:
11802         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
11803         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
11804         (gst_tag_setter_add_tag_valist)
11805         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
11806         _add_values, _add_valist, and _add_valist_values. Since this is an
11807         interface the function suffixes should be more explicit so
11808         language binding don't end up with element.add_valist ->
11809         gst_tag_setter_add_valist, for example. Fixes #322069.
11810
11811 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11812
11813         * check/gst/gstcaps.c: (GST_START_TEST):
11814           Extend caps string tests to check that a caps to string
11815           conversion is reversible and produces the same caps.
11816
11817         * gst/gststructure.c: (gst_structure_value_get_generic_type):
11818           Output "fraction" as the generic type fraction range, so caps
11819           serialisation and deserialisation works.
11820         * check/gst/capslist.h:
11821         * gst/gstvalue.c: (gst_value_deserialize_fraction):
11822           Support 'MIN' and 'MAX' for deserialising fractions.
11823
11824 2005-11-22  Andy Wingo  <wingo@pobox.com>
11825
11826         * gst/gstevent.h (gst_event_new_new_segment)
11827         (gst_event_parse_new_segment, gst_event_new_buffer_size)
11828         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
11829         Renamed from *_newsegment, *_buffersize, *_notarget.
11830
11831         * scripts/update-funcnames: New script, performs the changes
11832         listed above.
11833
11834 2005-11-22  Wim Taymans  <wim@fluendo.com>
11835
11836         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11837         Make sure the GstFlowReturn is returned.
11838
11839         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
11840         (gst_bus_add_signal_watch):
11841         * gst/gstbus.h:
11842         add gst_bus_add_signal_watch_full.
11843
11844         * gst/gstplugin.c: (gst_plugin_load_file):
11845         Small style cleanup.
11846
11847 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11848
11849         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
11850           Block the fakesrc srcpad when we send an event, to avoid
11851           contention on the stream_lock causing random test failures.
11852
11853 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11854
11855         * check/gst/gstvalue.c: (GST_START_TEST):
11856         * gst/gstvalue.c: (gst_value_fraction_subtract):
11857           Fix subtraction.
11858
11859 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
11860
11861         * gst/gst.h:
11862           include "gstchildproxy.h"
11863         * gst/gstchildproxy.h:
11864         * libs/gst/controller/gstcontroller.h:
11865           use G_GNUC_NULL_TERMINATED
11866
11867 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11868
11869         * check/gst/capslist.h:
11870         * check/gst/gstcaps.c: (GST_START_TEST):
11871         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11872         * gst/gststructure.c: (gst_structure_parse_range),
11873         (gst_structure_fixate_field_nearest_fraction):
11874         * gst/gststructure.h:
11875         * gst/gstvalue.c: (gst_value_init_fraction_range),
11876         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
11877         (gst_value_collect_fraction_range),
11878         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
11879         (gst_value_set_fraction_range_full),
11880         (gst_value_get_fraction_range_min),
11881         (gst_value_get_fraction_range_max),
11882         (gst_value_serialize_fraction_range),
11883         (gst_value_transform_fraction_range_string),
11884         (gst_value_compare_fraction_range),
11885         (gst_value_deserialize_fraction_range),
11886         (gst_value_intersect_fraction_fraction_range),
11887         (gst_value_intersect_fraction_range_fraction_range),
11888         (gst_value_subtract_fraction_fraction_range),
11889         (gst_value_subtract_fraction_range_fraction),
11890         (gst_value_subtract_fraction_range_fraction_range),
11891         (gst_value_collect_fraction), (gst_value_fraction_multiply),
11892         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
11893         (gst_value_transform_string_fraction), (_gst_value_initialize):
11894         * gst/gstvalue.h:
11895           Implement fraction ranges and extend GstFraction to support
11896           arithmetic subtraction, as well as deserialization from integer
11897           strings such as "100"
11898           Add a testsuite as for int and double range set operations
11899
11900 2005-11-21  Andy Wingo  <wingo@pobox.com>
11901
11902         * gst/gsttaglist.h: 
11903         * gst/gstcaps.h: 
11904         * gst/gststructure.h: Add glib-compat.h.
11905
11906 2005-11-21  Wim Taymans  <wim@fluendo.com>
11907
11908         * gst/gstbin.c: (gst_bin_change_state_func):
11909         Fix for #321595
11910
11911 2005-11-21  Wim Taymans  <wim@fluendo.com>
11912
11913         * gst/gstsegment.h:
11914         And add a nice define too.
11915
11916 2005-11-21  Wim Taymans  <wim@fluendo.com>
11917
11918         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
11919         (gst_segment_new), (gst_segment_free), (gst_segment_init),
11920         (gst_segment_set_duration), (gst_segment_set_last_stop),
11921         (gst_segment_set_seek), (gst_segment_set_newsegment),
11922         (gst_segment_to_stream_time), (gst_segment_to_running_time),
11923         (gst_segment_clip):
11924         * gst/gstsegment.h:
11925         Make binding friendly.
11926
11927 2005-11-21  Andy Wingo  <wingo@pobox.com>
11928
11929         * gst/gsttagsetter.h: 
11930         * gst/gsttaglist.h: 
11931         * gst/gststructure.h: 
11932         * gst/gstcaps.h: 
11933         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
11934         #319940.
11935
11936         * gst/gsterror.c (_gst_core_errors_init):
11937         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
11938         category.
11939
11940         * gst/Makefile.am (gst_headers): Add glib-compat.h.
11941         (noinst_HEADERS): noinst the -private.
11942
11943 2005-11-21  Michael Smith <msmith@fluendo.com>
11944
11945         * gst/gstplugin.h:
11946         * gst/gstregistry.h:
11947           Remove unimplemented declarations for which we can see no sensible
11948           use.
11949
11950 2005-11-21  Andy Wingo  <wingo@pobox.com>
11951
11952         * gst/gst.h: Include glib-compat.h.
11953
11954         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
11955
11956         * gst/glib-compat.c: Include the public and the private header.
11957
11958         * gst/glib-compat-private.h: Copied here from glib-compat.h.
11959
11960         * gst/gstvalue.c: 
11961         * gst/gstpad.c: 
11962         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
11963
11964         * check/gst/gstevent.c (create_custom_events): Check that
11965         FLUSH_STOP is serialized.
11966
11967         * check/elements/identity.c (event_func): 
11968         * check/elements/fakesrc.c (event_func): No stream lock, the core
11969         takes it.
11970
11971         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
11972         stream lock taking, yay.
11973
11974         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
11975         ensure that core takes the stream lock.
11976
11977         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
11978         lock name change.
11979
11980         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
11981         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
11982         it already. For the flush start we do take it though so we get the
11983         right preroll state change messages.
11984
11985         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
11986         the stream lock here, the core does it for us.
11987
11988         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
11989         GST_STREAM_GET_LOCK.
11990         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
11991         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
11992         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
11993         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
11994         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
11995         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
11996
11997         * gst/gstpad.c: Update for stream lock name change.
11998
11999         * gst/base/gstbasesink.c: Update for preroll lock name change.
12000
12001 2005-11-21  Wim Taymans  <wim@fluendo.com>
12002
12003         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
12004         (gst_clock_get_master):
12005         * gst/gstclock.h:
12006         * gst/gstsystemclock.c: (gst_system_clock_init):
12007         Convert Clock flags to object flags.
12008         Added methods to manage master/slave clocks.
12009
12010 2005-11-21  Wim Taymans  <wim@fluendo.com>
12011
12012         * check/gst/gstsegment.c: (GST_START_TEST):
12013         * docs/design/part-TODO.txt:
12014         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12015         (gst_base_sink_event), (gst_base_sink_do_sync),
12016         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
12017         (gst_base_sink_query), (gst_base_sink_change_state):
12018         * gst/base/gstbasesink.h:
12019         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
12020         (gst_base_src_default_newsegment),
12021         (gst_base_src_configure_segment), (gst_base_src_do_seek),
12022         (gst_base_src_get_range), (gst_base_src_loop),
12023         (gst_base_src_change_state):
12024         * gst/base/gstbasesrc.h:
12025         * gst/base/gstbasetransform.c:
12026         (gst_base_transform_prepare_output_buf),
12027         (gst_base_transform_event), (gst_base_transform_change_state):
12028         * gst/base/gstbasetransform.h:
12029         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
12030         (gst_collect_pads_event):
12031         * gst/base/gstcollectpads.h:
12032         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
12033         (gst_fake_src_create):
12034         * gst/elements/gstfakesrc.h:
12035         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
12036         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
12037         (gst_segment_set_last_stop), (gst_segment_set_seek),
12038         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
12039         (gst_segment_to_running_time), (gst_segment_clip):
12040         * gst/gstsegment.h:
12041         More segment updates, replace code in plugins with segment
12042         helper functions.
12043
12044 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
12045
12046         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
12047         Don't ignore sscanf results
12048
12049 2005-11-21  Andy Wingo  <wingo@pobox.com>
12050
12051         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
12052
12053         * *.h:
12054         * *.c: Ran scripts/update-macros. Oh yes.
12055
12056         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
12057         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
12058         GST_GET_LOCK, etc.
12059
12060         * scripts/update-macros: New script. Run it on your files to
12061         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
12062         well.
12063
12064 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
12065
12066         * docs/gst/Makefile.am:
12067         * docs/gst/gstreamer-docs.sgml:
12068         * docs/gst/gstreamer-sections.txt:
12069         * docs/gst/gstreamer.types:
12070         * gst/gstinfo.h:
12071           more docs fixes, add new api to the docs
12072
12073 2005-11-21  Andy Wingo  <wingo@pobox.com>
12074
12075         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
12076         state_broadcast call.
12077
12078         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
12079
12080 2005-11-21  Julien MOUTTE  <julien@moutte.net>
12081
12082         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
12083         function calls for arrays.
12084
12085 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
12086
12087         * docs/random/ensonic/media-device-daemon.txt:
12088           wild idea, can this be done?
12089         * docs/gst/gstreamer-sections.txt:
12090         * gst/gsterror.h:
12091         * gst/gstfilter.c:
12092         * gst/gstfilter.h:
12093         * gst/gstplugin.h:
12094         * gst/gstpluginfeature.c:
12095         * gst/gsttrace.c:
12096         * gst/gstvalue.c:
12097         * gst/gstvalue.h:
12098           doc fixes and additions
12099
12100 2005-11-21  Andy Wingo  <wingo@pobox.com>
12101
12102         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
12103         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
12104         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
12105         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
12106         private to the basesrc implementation.
12107
12108         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
12109         behalf of event function if necessary. It should no longer be
12110         necessary to take the stream lock in pad's event functions. Fixes
12111         #320299.
12112
12113 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
12114         * docs/gst/gstreamer-sections.txt:
12115         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
12116         (gst_structure_fixate_field_nearest_double),
12117         (gst_structure_fixate_field_boolean):
12118         * gst/gststructure.h:
12119         * win32/common/libgstreamer.def:
12120         * win32/gstreamer.def:
12121
12122         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
12123         (#322027)
12124
12125 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
12126
12127         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
12128         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
12129         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
12130         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
12131         (gst_fdsrc_uri_handler_init):
12132         * gst/elements/gstfdsrc.h:
12133           Port fd:// URI handler from 0.8 to fdsrc
12134
12135 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12136
12137         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
12138         (gst_value_serialize_fourcc):
12139         * gst/gstvalue.h:
12140           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
12141           consistent with our other format defines (#320324).
12142
12143 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12144
12145         * gst/gstvalue.c: (gst_value_is_fixed):
12146           Revert previous commit. Value lists are by definition
12147           not fixed, as they are a list of possible values.
12148
12149 2005-11-21  Andy Wingo  <wingo@pobox.com>
12150
12151         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
12152         during the stable series if we need it. Fixes #319178.
12153
12154         * gst/gstevent.c (gst_event_new_filler): Removed.
12155
12156         * check/gst/gstevent.c: Update comment about filler events.
12157
12158 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12159
12160         * gst/gstvalue.c: (gst_value_is_fixed):
12161           Should handle both value arrays and value lists.
12162
12163 2005-11-21  Andy Wingo  <wingo@pobox.com>
12164
12165         patch by: Alessandro Dessina <alessandro nnva org>
12166
12167         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
12168         functions to access arrays. Fixes #321962.
12169
12170 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12171
12172         * docs/gst/gstreamer.types:
12173           gst_collectpads_get_type => gst_collect_pads_get_type.
12174           
12175         * gst/base/gstbasetransform.c:
12176           Remove unused SIGNAL_HANDOFF enum.
12177
12178 2005-11-21  Andy Wingo  <wingo@pobox.com>
12179
12180         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
12181         the event type (upstream, downstream, serialized). Renamed
12182         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
12183         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
12184         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
12185
12186         * gst/gstevent.c: Update for new CUSTOM event names.
12187
12188         * check/gst/gstevent.c: Update check for new CUSTOM event names.
12189
12190         * gst/gstevent.h:
12191         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
12192         bug #319392.
12193
12194 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12195
12196         * docs/gst/gstreamer-sections.txt:
12197         * win32/common/libgstbase.def:
12198         * win32/libgstbase.def:
12199         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
12200         (gst_collect_pads_class_init), (gst_collect_pads_init),
12201         (gst_collect_pads_finalize), (gst_collect_pads_new),
12202         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
12203         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
12204         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
12205         (gst_collect_pads_start), (gst_collect_pads_stop),
12206         (gst_collect_pads_peek), (gst_collect_pads_pop),
12207         (gst_collect_pads_available), (gst_collect_pads_read),
12208         (gst_collect_pads_flush), (gst_collect_pads_event),
12209         (gst_collect_pads_chain):
12210         * gst/base/gstcollectpads.h:
12211           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
12212           unimplemented functions as unimplemented. Add padding to
12213           GstCollectData. (#320766, #320423)
12214
12215 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12216
12217         * gst/gstmessage.c:
12218           Improve docs for DURATION message (usage of duration parameter)
12219           (#320113)
12220
12221 2005-11-20  Wim Taymans  <wim@fluendo.com>
12222
12223         * check/Makefile.am:
12224         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
12225         (main):
12226         * gst/Makefile.am:
12227         * gst/gst.h:
12228         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
12229         (gst_segment_set_seek), (gst_segment_set_newsegment),
12230         (gst_segment_to_stream_time), (gst_segment_to_running_time),
12231         (gst_segment_clip):
12232         * gst/gstsegment.h:
12233         Added segment helper structure and methods. Not fully implemented
12234         yet.
12235         Added segment check.
12236
12237 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
12238
12239         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12240           Add a deserialisation test for fractions
12241         * examples/metadata/read-metadata.c: (message_loop),
12242         (make_pipeline), (main):
12243           Fix up metadata reading sample.
12244         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12245           Debug format fix
12246         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12247           Don't try and fixate empty caps
12248         * gst/gst_private.h:
12249           Wrap in G_BEGIN_DECLS/G_END_DECLS
12250         * gst/gstvalue.c: (gst_value_collect_fraction),
12251         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
12252         (gst_value_transform_string_fraction),
12253         (gst_value_compare_fraction):
12254           Add some extra guards to ensure that we don't end up 
12255           with an invalid denominator of 0 in a gstfraction and
12256           that fractions always get reduced.
12257
12258 2005-11-20  Wim Taymans  <wim@fluendo.com>
12259
12260         * docs/gst/gstreamer-sections.txt:
12261         * gst/gstbuffer.h:
12262         * gst/gstelement.c:
12263         * gst/gstformat.c:
12264         * gst/gstformat.h:
12265         * gst/gstindex.h:
12266         * gst/gstquery.c:
12267         * gst/gstquery.h:
12268         * gst/gstvalue.c:
12269         Doc fixes.
12270
12271 2005-11-20  Wim Taymans  <wim@fluendo.com>
12272
12273         * docs/design/part-TODO.txt:
12274         * gst/gstcaps.h:
12275         Make a proper enum of the flag.
12276
12277 2005-11-19  Wim Taymans  <wim@fluendo.com>
12278
12279         * docs/design/part-TODO.txt:
12280         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
12281         (gst_format_to_quark), (gst_format_register):
12282         * gst/gstformat.h:
12283         * gst/gstquery.c: (_gst_query_initialize),
12284         (gst_query_type_get_name), (gst_query_type_to_quark),
12285         (gst_query_type_register):
12286         * gst/gstquery.h:
12287         Add type to quark and type to string conversions.
12288
12289 2005-11-19  Andy Wingo  <wingo@pobox.com>
12290
12291         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
12292         #320097.
12293
12294 2005-11-19  Wim Taymans  <wim@fluendo.com>
12295
12296         * docs/design/part-TODO.txt:
12297         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
12298         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
12299         (gst_bin_handle_message_func):
12300         * gst/gstbin.h:
12301         Make message handling overridable.
12302
12303 2005-11-19  Andy Wingo  <wingo@pobox.com>
12304
12305         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
12306
12307         * gst/gstclock.h:
12308         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
12309         be a GstClockTime.
12310         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
12311         is a GstClockTime. Fixes #321710.
12312
12313         * gst/gstclock.h (GstClock): Remove offset property. Add
12314         internal_calibration and external_calibration. Fix padding. Pad
12315         also by GstClockTime so we don't run into problems.
12316
12317         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
12318         (gst_clock_get_rate_offset): Remove.
12319         (gst_clock_set_time_adjust): Remove. Fixes #321712.
12320
12321         * gst/gstutils.h:
12322         * gst/gstutils.c (g_static_rec_cond_wait)
12323         (g_static_rec_cond_timed_wait): Removed, no longer needed.
12324
12325         * gst/gstbin.c: Remove terrible continue_state prototype.
12326
12327         * gst/gstelement.h (gst_element_continue_state): Make public.
12328
12329         * gst/gstelement.h:
12330         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
12331         by continue_state. Fixes #319389.
12332
12333         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
12334         Really fixes #168438. However I don't see anywhere where the
12335         filter function is called... stupid GStreamer...
12336         
12337         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
12338         don't have a dispose function, so it won't get called when the
12339         object is unreffed, but oh well!
12340
12341         * gst/gstindex.c (gst_index_set_filter_full): New API function,
12342         allows a destroy function to be set so user_data can be freed.
12343         Fixes #168438.
12344         (gst_index_set_filter): Call gst_index_set_filter_full.
12345
12346         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
12347
12348         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
12349         string should produce an error, given the lack of a way to
12350         represent NULL strings. Fixes #165650.
12351         
12352         * gst/gstvalue.h: 
12353         * gst/gstvalue.c (gst_value_array_append_value) 
12354         (gst_value_array_prepend_value, gst_value_array_get_size) 
12355         (gst_value_array_get_value): New API, copied from
12356         gst_value_list_*, only operates on arrays.
12357         (gst_value_list_append_value, gst_value_list_prepend_value) 
12358         (gst_value_list_concat, gst_value_list_get_size) 
12359         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
12360
12361         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
12362         init_list, because it works on both.
12363         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
12364         (gst_value_copy_list_or_array): Renamed from copy_list.
12365         (gst_value_free_list_or_array): Renamed from free_list.
12366         (gst_value_collect_list_or_array): Renamed from collect_list.
12367         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
12368         (gst_value_list_or_array_peek_pointer): Renamed from
12369         list_peek_pointer.
12370         (_gst_value_array_value_table, _gst_value_list_value_table):
12371         Update value table functions.
12372         (gst_value_compare_list_or_array): Renamed from compare_list.
12373
12374         * gsttaglist.h: Whoops, foreach function returns void. Also fix
12375         some constness.
12376
12377         * gst/gsttaglist.c:
12378         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
12379         GstTagList*. Fixes #143472.
12380
12381         * gst/gststructure.h: Clarify what the foreach/map functions can
12382         or can't do to their arguments.
12383
12384 2005-11-18  Wim Taymans  <wim@fluendo.com>
12385
12386         * gst/gstclock.c: (gst_clock_set_calibration),
12387         (gst_clock_get_calibration):
12388         Doc and API fixes.
12389         Calibration can be set with internal time equal to current
12390         internal time too.
12391
12392 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12393
12394         * gst/gsterror.c:
12395         * gst/gsterror.h:
12396           document
12397
12398 2005-11-18  Andy Wingo  <wingo@pobox.com>
12399
12400         * configure.ac: 
12401         * pkgconfig/gstreamer-net.pc.in:
12402         * pkgconfig/gstreamer-net-uninstalled.pc.in:
12403         * pkgconfig/Makefile.am: Add net pkgconfig files.
12404
12405 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
12406
12407         * gst/gstcaps.c:
12408         * gst/gstghostpad.c:
12409         * gst/gsttrace.c:
12410         * gst/gstvalue.c:
12411         * gst/gstvalue.h:
12412           docs fixes
12413
12414 2005-11-18  Andy Wingo  <wingo@pobox.com>
12415
12416         * gst/net/gstnetclientclock.c: Turn off debugging.
12417
12418         * check/net/gstnetclientclock.c (test_functioning): Assert that the
12419         times connverge somewhat. Can't make a real test.
12420
12421         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
12422         integer arithmetic. Return the minimum of the domain, which can be
12423         set as "internal" for gst_clock_set_calibration.
12424         (gst_net_client_clock_observe_times): Call _set_calibration.
12425         (gst_net_client_clock_new): Call _set_calibration instead of
12426         rate_offset.
12427
12428         * check/net/gstnetclientclock.c (test_functioning): Use the right
12429         adjustment api.
12430
12431         * gst/gstclock.h:
12432         * gst/gstclock.c (gst_clock_get_calibration) 
12433         (gst_clock_set_calibration): New functions, obsolete the ones I
12434         added yesterday. Doh. Precision issues mean we have to extrapolate
12435         from a point in the more recent past than 1970.
12436         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
12437         obsolete.
12438         (gst_clock_adjust_unlocked): Use the right calibration data.
12439
12440 2005-11-18  Edward Hervey  <edward@fluendo.com>
12441
12442         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
12443         Also reset the ->current_* values in READY->PAUSED
12444
12445 2005-11-18  Andy Wingo  <wingo@pobox.com>
12446
12447         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
12448         Whoops, check the right fd. Also add some debugging.
12449         (gst_net_client_clock_observe_times): Adjust for int64 offset.
12450         (do_linear_regression): Add a crapload of debugging. Subtract off
12451         the minimum values from the input series to discard unneeded bits.
12452         Use only int arithmetic. There is still double arithmetic when
12453         calculating the intercept that needs fixing. Return boolean to
12454         indicate success; FALSE would mean the domain or range is too
12455         great. Still needs fixes.
12456
12457 2005-11-18  Wim Taymans  <wim@fluendo.com>
12458
12459         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
12460         For the current position in stream time, we need to subtract
12461         accumulated time.
12462         
12463         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
12464         Release lock before calling the callback function of async
12465         entries.
12466
12467 2005-11-18  Andy Wingo  <wingo@pobox.com>
12468
12469         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
12470         Port goes all the way to MAXUINT16.
12471
12472         * gst/net/gstnettimeprovider.c: Make the port range the same as
12473         for the kernel: 0 assigns, otherwise ports are less than
12474         MAXUINT16.
12475
12476         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
12477         port change.
12478
12479         * check/net/gstnetclientclock.c (test_functioning): Add the start
12480         of another test. 
12481
12482 2005-11-18  Wim Taymans  <wim@fluendo.com>
12483
12484         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
12485         (gst_bin_remove_func), (bin_bus_handler):
12486         * gst/gstbin.h:
12487         Removing a clock provider from a bin, triggers a clock lost message
12488         so that a new clock will be selected.
12489         Adding a clock to a bin triggers a clock provider message.
12490         Make sure we reselect a clock when we received a clock lost message.
12491         Keep a reference to the element that provided the clock.
12492
12493 2005-11-18  Andy Wingo  <wingo@pobox.com>
12494
12495         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
12496         the clock initially so it produces values around the base time.
12497         (gst_net_client_clock_class_init): Typo fix.
12498         (gst_net_client_clock_thread): Add note on when the socket gets
12499         closed.
12500
12501 2005-11-17  Wim Taymans  <wim@fluendo.com>
12502
12503         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
12504         Free remote and local time arrays.
12505
12506 2005-11-17  Wim Taymans  <wim@fluendo.com>
12507
12508         * gst/net/gstnetclientclock.c: (do_linear_regression),
12509         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
12510         Fix compilation, uninitialized vars and a forgotten continue.
12511
12512 2005-11-17  Andy Wingo  <wingo@pobox.com>
12513
12514         * check/Makefile.am (check_PROGRAMS): 
12515         * check/net/gstnetclientclock.c: Add a most minimal test for the
12516         net client clock. More to come later.
12517
12518         * gst/net/gstnet.h: 
12519         * gst/net/Makefile.am: Add netclientclock.
12520
12521         * gst/net/gstnetclientclock.h:
12522         * gst/net/gstnetclientclock.c: New files, implement an untested
12523         GstClock that takes its time from a network time provider.
12524         Implements the algorithm in network-clock.scm.
12525
12526         * tests/network-clock.scm (*window-size*): Rename from
12527         *queue-length*.
12528         * tests/network-clock.scm (network-time): 
12529         * tests/network-clock-utils.scm (q-push): Update callers.
12530
12531 2005-11-17  Wim Taymans  <wim@fluendo.com>
12532
12533         * gst/gstbin.c: (gst_bin_provide_clock_func),
12534         (gst_bin_sort_iterator_new):
12535         And unref the child too..
12536
12537 2005-11-17  Wim Taymans  <wim@fluendo.com>
12538
12539         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
12540         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
12541         Refactor the sort iterator so it can be used while holding the
12542         LOCK too.
12543         Make clock selection select a clock closest to the source.
12544
12545 2005-11-17  Michael Smith <msmith@fluendo.com>
12546
12547         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
12548         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
12549         * gst/gstclock.h:
12550           Anonymous structs are a gcc (and some other compilers) extension, so
12551           don't use them. Since this is only for ABI-compatibility, and our
12552           API/ABI freeze is over in a few days, this whole thing will only
12553           last a few days, so don't bother trying to think up a meaningful
12554           name for the struct.
12555
12556 2005-11-17  Andy Wingo  <wingo@pobox.com>
12557
12558         * gst/gstclock.h (GstClock): Add rate and offset properties,
12559         preserving ABI stability. Add rate/offset accessors. Will file bug
12560         for the freeze break.
12561
12562         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
12563         and offset, trying to keep precision and avoiding
12564         underflow/overflow.
12565         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
12566         functions. Make gst_clock_set_time_adjust obsolete.
12567         (gst_clock_set_time_adjust): Note that this function is obsolete.
12568         Will file bug soon.
12569
12570         * gst/base/gstbasetransform.h: Make the ABI-stability hack
12571         greppable by using GST_PADDING-1+1.
12572
12573 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
12574
12575         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12576
12577         * gst/gstmessage.c: (gst_message_parse_clock_lost):
12578           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
12579
12580         * gst/gstpadtemplate.h:
12581         * gst/gstpluginfeature.h:
12582           Don't use c++ style comments in headers (#321638).
12583
12584 2005-11-16  Andy Wingo  <wingo@pobox.com>
12585
12586         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
12587         buffer.
12588
12589         * check/net/gstnettimeprovider.c: Check to see that the time
12590         provider actually provides times. Works, yo!
12591
12592 2005-11-16  Wim Taymans  <wim@fluendo.com>
12593
12594         * check/Makefile.am:
12595         Enable more tests.
12596
12597         * check/elements/fakesrc.c: (GST_START_TEST):
12598         Set element to NULL before disposing it.
12599
12600 2005-11-16  Andy Wingo  <wingo@pobox.com>
12601
12602         * gst/net/Makefile.am:
12603         * gst/net/gstnet.h:
12604         * gst/net/gstnettimeprovider.c: 
12605         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
12606         provider, include it from gstnet.h, and add it to the build.
12607
12608         * gst/net/gstnettimepacket.h: 
12609         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
12610         sending and receiving.
12611
12612 2005-11-16  Wim Taymans  <wim@fluendo.com>
12613
12614         * check/Makefile.am:
12615         Enable valgrind check.
12616
12617         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
12618         (gst_fake_src_alloc_buffer):
12619         Fix memleak.
12620
12621 2005-11-16  Wim Taymans  <wim@fluendo.com>
12622
12623         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
12624         Call parent finalize too.
12625
12626 2005-11-16  Wim Taymans  <wim@fluendo.com>
12627
12628         * check/Makefile.am:
12629         Enable valgrind check that should work fine now.
12630
12631         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12632         * gst/gstqueue.c: (gst_queue_init):
12633         Fix memleaks in pad allocation.
12634
12635 2005-11-16  Andy Wingo  <wingo@pobox.com>
12636
12637         * gst/net/Makefile.am:
12638         * gst/net/gstnet.h: New part of core to hold network elements and
12639         objects. Put in core because it exposes API that applications want
12640         to use. The library is named libgstnet-tempname right now because
12641         of the existing libgstnet in gst-plugins-base. Solution is
12642         probably to rename the one in plugins-base; will file a bug for
12643         the freeze break.
12644
12645         * gst/net/gstnettimeprovider.c: 
12646         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
12647         get_time call over the network.
12648
12649         * configure.ac: 
12650         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
12651
12652         * check/Makefile.am:
12653         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
12654         get additions shortly.
12655
12656 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12657
12658         * gst/gstpad.c: (gst_pad_new_from_static_template):
12659         * gst/gstpad.h:
12660           add gst_pad_new_from_static_template functions
12661         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
12662         (gst_check_setup_sink_pad):
12663         * gst/elements/gsttee.c: (gst_tee_init):
12664           and use them
12665
12666 2005-11-16  Wim Taymans  <wim@fluendo.com>
12667
12668         * gst/gstpad.c: (gst_pad_pause_task):
12669         Removed warning, it's not really an error either.
12670
12671 2005-11-16  Wim Taymans  <wim@fluendo.com>
12672
12673         * gst/base/gstbasetransform.c:
12674         (gst_base_transform_prepare_output_buf),
12675         (gst_base_transform_event):
12676         Check if the caps are NULL, this can happen if the element
12677         is shutting down and the pad caps are set to NULL.
12678
12679 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12680
12681         * gst/elements/gsttee.c: (gst_tee_init):
12682           fix pad template leak in tee
12683
12684 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12685
12686         * gst/glib-compat.c: (g_value_dup_gst_object):
12687         * gst/glib-compat.h:
12688         * gst/gstpad.c: (gst_pad_set_property):
12689           use gst_object_ref when setting the pad template; this will
12690           trigger the pad template leaks on GLib 2.6 and the slaves
12691
12692 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12693
12694         * gst/glib-compat.c: (gst_flags_get_first_value):
12695         * gst/glib-compat.h:
12696         * gst/gstregistryxml.c:
12697           remove functions copied from GLib 2.6
12698
12699 2005-11-16  Michael Smith <msmith@fluendo.com>
12700
12701         * gst/Makefile.am:
12702           Don't link against VALGRIND_LIBS. That was always the wrong thing to
12703           do, but only breaks with newer valgrind versions. We're not a
12704           valgrind tool, we have no link-time dependencies on libcoregrind.
12705
12706 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12707
12708         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12709           some debug changes
12710         * gst/gstmessage.h:
12711           typo fixes
12712
12713 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12714
12715         * gst/base/gstbasesrc.c: (gst_base_src_init):
12716         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12717         * gst/gstqueue.c: (gst_queue_init):
12718         * gst/gstregistryxml.c: (load_feature):
12719           Revert all these unrefs, they don't even pass make check !
12720
12721 2005-11-15  Johan Dahlin  <johan@gnome.org>
12722
12723         * gst/base/gstbasesrc.c: (gst_base_src_init):
12724         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12725         * gst/gstqueue.c: (gst_queue_init): 
12726         Free pad templates, fixes a couple of leaks.
12727
12728 2005-11-15  Daniel Fischer  <dan at f3c dot com>
12729
12730         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12731
12732         * gst/gstpad.c: (gst_pad_get_property):
12733           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
12734           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
12735           (#321452)
12736
12737 2005-11-15  Wim Taymans  <wim@fluendo.com>
12738
12739         * gst/gstevent.c:
12740         Small doc update.
12741
12742 2005-11-15  Andy Wingo  <wingo@pobox.com>
12743
12744         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
12745
12746         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
12747         using GST_CLOCK_TIME_NONE to disable base time management.
12748         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
12749         time if it was NONE before.
12750         (gst_pipeline_change_state): Only munge the base time if
12751         stream_time != GST_CLOCK_TIME_NONE.
12752
12753         * check/gst/gstpipeline.c (test_base_time): Punt around the
12754         problem of the probe not being called, because that's not the
12755         issue I'm looking at. Add a check that setting stream_time to NONE
12756         disables base time management.
12757         
12758 2005-11-15  Wim Taymans  <wim@fluendo.com>
12759
12760         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
12761         segment_stop == -1 at startup.
12762
12763         * gst/base/gstbasetransform.c: (gst_base_transform_event),
12764         (gst_base_transform_change_state):
12765         Init segment values at start.
12766
12767 2005-11-15  Wim Taymans  <wim@fluendo.com>
12768
12769         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12770         0 segment values are 0 in any format.
12771
12772         * gst/base/gstbasetransform.c: (gst_base_transform_event):
12773         * gst/base/gstbasetransform.h:
12774         Parse newsegment correctly in basetransform
12775
12776         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
12777         Sync to clock using updated segment values.
12778
12779 2005-11-15  Andy Wingo  <wingo@pobox.com>
12780
12781         * check/gst/gstpipeline.c (test_base_time): Add check that the
12782         base time and stream time are reset correctly.
12783
12784 2005-11-15  Wim Taymans  <wim@fluendo.com>
12785
12786         * docs/design/part-TODO.txt:
12787         Some more TODO items.
12788
12789 2005-11-15  Andy Wingo  <wingo@pobox.com>
12790
12791         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
12792         error if the user selected "no clock" as the clocking method.
12793
12794         * check/gst/gstpipeline.c (test_base_time): New test for buffer
12795         timestamps with live capture.
12796
12797         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
12798         is 0 but we are a live source, timestamp the buffers using the
12799         element's clock.
12800
12801 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
12802
12803         * docs/gst/gstreamer-sections.txt:
12804         * gst/gsterror.c:
12805         * gst/gstghostpad.c:
12806         * gst/gstobject.h:
12807         * gst/gstxml.c:
12808           more section docs
12809
12810 2005-11-14  Wim Taymans  <wim@fluendo.com>
12811
12812         * common/gst.supp:
12813           add suppressions from Wim's Debian machine
12814
12815 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12816
12817         * common/gst.supp:
12818           add suppressions from Andy's AMD64 Ubuntu machine
12819
12820 2005-11-14  Andy Wingo  <wingo@pobox.com>
12821
12822         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
12823         STATE_LOCK not necessary. Fixes #311489.
12824
12825         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
12826         #305291.
12827
12828         * gst/gstindex.c (gst_index_add_object): Note in the docs that
12829         this function is not implemented.
12830
12831 2005-11-14  Julien MOUTTE  <julien@moutte.net>
12832
12833         * gst/base/gstbasetransform.c:
12834         (gst_base_transform_prepare_output_buf):
12835         Ref the source pad caps while we need them.
12836         Fixes (#321386)
12837
12838 2005-11-11  Wim Taymans  <wim@fluendo.com>
12839
12840         * docs/gst/gstreamer-sections.txt:
12841         Added some docs for GstCollectData.
12842
12843         * gst/base/gstadapter.c:
12844         Some small code example fix.
12845
12846         * gst/base/gstcollectpads.c:
12847         * gst/base/gstcollectpads.h:
12848         Document some more.
12849
12850 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12851
12852         * configure.ac: back to HEAD
12853
12854 === release 0.9.5 ===
12855
12856 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
12857
12858         * configure.ac:
12859           releasing 0.9.5, "Bike Lunch Day"
12860
12861 2005-11-11  Wim Taymans  <wim@fluendo.com>
12862
12863         * gst/gstbuffer.c: (_gst_buffer_copy):
12864         Copy more flags.
12865
12866         * gst/gstcaps.c: (gst_caps_is_equal):
12867         Fix some docs.
12868         Make _is_equal fast in the trivial cases.
12869
12870         * gst/gstminiobject.c:
12871         * gst/gstminiobject.h:
12872         More docs. Spifify .h file.
12873
12874         * gst/gstutils.c:
12875         Small doc update.
12876
12877 2005-11-11  Wim Taymans  <wim@fluendo.com>
12878
12879         * gst/base/gstbasetransform.c:
12880         (gst_base_transform_prepare_output_buf),
12881         (gst_base_transform_handle_buffer):
12882         Small cleanups.
12883         If we're processing a buffer and need to allocate an output
12884         buffer, we cannot accept a format change. If we did get a 
12885         format change, we have to alloc a buffer ourselves of the 
12886         right size.
12887
12888 2005-11-11  Wim Taymans  <wim@fluendo.com>
12889
12890         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
12891         While checking the flag for reentrancy in the gstcaps function
12892         is nice to detect recursive invocations, it also makes it 
12893         impossible to call getcaps from multiple threads, which must be
12894         possible. So, checking for recursive calls has to go.
12895
12896 2005-11-11  Michael Smith <msmith@fluendo.com>
12897
12898         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12899           Don't sync on buffers that fall partially outside our current
12900           segment. Prevents an assertion failure/abort playing some files.
12901
12902 2005-11-10  Andy Wingo  <wingo@pobox.com>
12903
12904         * check/gst/gstbin.c (test_message_state_changed_children): Style
12905         fix..
12906
12907         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
12908         gst_bus_poll with the signal watch. Ensures that poll and a signal
12909         watch see the same messages.
12910
12911         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
12912         a poll and a watch at the same time get the same messages.
12913
12914 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12915
12916         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
12917         * gst/gstcaps.c: (gst_caps_intersect):
12918           Don't call gst_caps_do_simplify - it doesn't respect order of caps
12919           and it's not needed.
12920
12921 2005-11-10  Wim Taymans  <wim@fluendo.com>
12922
12923         * docs/design/part-TODO.txt:
12924         Updated todo.
12925
12926 2005-11-10  Wim Taymans  <wim@fluendo.com>
12927
12928         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12929         * gst/base/gstbasesrc.c: (gst_base_src_wait),
12930         (gst_base_src_do_sync), (gst_base_src_get_range):
12931         Implement clock sync in base class.
12932
12933 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12934
12935         patch by: Tim-Philipp Müller <tim at centricular dot net>
12936
12937         * gst/gststructure.c: (gst_structure_parse_field),
12938         (gst_structure_from_string):
12939           Forward-port a 0.8 patch to handle escaped spaces in structure string,
12940           so that gst_parse_launch() can deal with spaces in filtered link
12941           caps (fixes #164479)
12942         * check/gst/capslist.h:
12943         * check/gst/gststructure.c: (GST_START_TEST):
12944           add unit tests for this change
12945
12946 2005-11-10  Wim Taymans  <wim@fluendo.com>
12947
12948         * docs/gst/gstreamer-sections.txt:
12949         * gst/gstelement.c:
12950         * gst/gstelement.h:
12951         Fix docs, move some STATE macros to private.
12952
12953 2005-11-10  Wim Taymans  <wim@fluendo.com>
12954
12955         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12956         Added check for bug #317341
12957
12958         * gst/gstbuffer.c:
12959         * gst/gstbuffer.h:
12960         Some more spiffifying.
12961
12962         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
12963         Call peer linkfunction if we are a source pad. Totally fixes
12964         #317341
12965
12966         * gst/gstpad.c:
12967         Update docs, source pads should call the peer linkfunction
12968         so they can atomically perform the pad link.
12969
12970 2005-11-09  Wim Taymans  <wim@fluendo.com>
12971
12972         * gst/gstbuffer.c:
12973         * gst/gstbuffer.h:
12974         Uber-spiffy-spiffify some more.
12975
12976 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
12977
12978         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
12979         * gst/elements/gstfilesink.c: (gst_file_sink_init):
12980         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12981         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
12982         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
12983         * gst/gstpad.c: (gst_pad_init):
12984           Use GST_DEBUG_FUNCPTR() more extensively.
12985
12986 2005-11-09  Wim Taymans  <wim@fluendo.com>
12987
12988         * gst/gstobject.c: (gst_object_class_init):
12989         * gst/gstobject.h:
12990         Documentation fixes.
12991
12992 2005-11-09  Edward Hervey  <edward@fluendo.com>
12993
12994         * gst/gsttypefindfactory.c:
12995         Fix docs.
12996         
12997 2005-11-09  Edward Hervey  <edward@fluendo.com>
12998
12999         * gst/base/gsttypefindhelper.c:
13000         * gst/gsttypefind.c:
13001         * gst/gsttypefind.h:
13002         Fix docs.
13003
13004 2005-11-09  Wim Taymans  <wim@fluendo.com>
13005
13006         * gst/gstiterator.c:
13007         Fix revision data.
13008
13009         * gst/gsttask.c:
13010         * gst/gsttask.h:
13011         Fix docs.
13012
13013 2005-11-09  Wim Taymans  <wim@fluendo.com>
13014
13015         * gst/gstevent.h:
13016         * gst/gsturi.h:
13017         Fix docs.
13018
13019 2005-11-09  Wim Taymans  <wim@fluendo.com>
13020
13021         * docs/gst/gstreamer-sections.txt:
13022         Moved the message async delivery private lock and cond
13023         to the private section.
13024
13025         * gst/gstmessage.c:
13026         * gst/gstmessage.h:
13027         Fixed docs.
13028
13029 2005-11-09  Edward Hervey  <edward@fluendo.com>
13030
13031         * docs/gst/gstreamer-sections.txt:
13032         * gst/gsturi.c:
13033         * gst/gsturi.h:
13034         Document GstURIHandler
13035
13036 2005-11-09  Wim Taymans  <wim@fluendo.com>
13037
13038         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
13039         (gst_iterator_find_custom):
13040         * gst/gstiterator.h:
13041         Fix iterator docs.
13042
13043 2005-11-09  Wim Taymans  <wim@fluendo.com>
13044
13045         * gst/gstbin.h:
13046         Document another field.
13047
13048         * gst/gststructure.c:
13049         * gst/gststructure.h:
13050         Document.
13051
13052 2005-11-09  Wim Taymans  <wim@fluendo.com>
13053
13054         * gst/gstbin.h:
13055         Documented structs.
13056
13057 2005-11-09  Wim Taymans  <wim@fluendo.com>
13058
13059         * docs/gst/gstreamer-sections.txt:
13060         Added some new macros.
13061
13062         * gst/gstclock.c:
13063         * gst/gstclock.h:
13064         * gst/gstobject.h:
13065         Docs updates.
13066
13067 2005-11-09  Wim Taymans  <wim@fluendo.com>
13068
13069         * docs/design/part-TODO.txt:
13070         Some more items for the TODO
13071
13072         * gst/gstcaps.c:
13073         * gst/gstcaps.h:
13074         Document GstCaps.
13075
13076 2005-11-09  Andy Wingo  <wingo@pobox.com>
13077
13078         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
13079         to work on something else now tho...
13080
13081         * gst/base/gstadapter.c: More adapter docs.
13082
13083         * gst/elements/gstfilesink.c (gst_file_sink_start) 
13084         (gst_file_sink_stop): New functions, replace the state change
13085         handler.
13086         (gst_file_sink_class_init): Hook up the start and stop functions.
13087         (gst_file_sink_base_init): Don't set the state change handler any
13088         more. It was a bit ugly too, being set from here...
13089         (gst_file_sink_get_property, gst_file_sink_set_property):
13090         Cleanups...
13091         (gst_file_sink_set_location): More robust check that doesn't call
13092         GST_STATE. Ugggggg.
13093
13094 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
13095
13096         * gst/base/gstbasetransform.c: (gst_base_transform_event):
13097           Hold STREAM_LOCK while pushing newsegment or tag events as well.
13098
13099 2005-11-08  Wim Taymans  <wim@fluendo.com>
13100
13101         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
13102         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
13103         (gst_base_sink_chain), (gst_base_sink_change_state):
13104         * gst/base/gstbasesink.h:
13105         * gst/base/gstbasesrc.h:
13106         * gst/gstelement.h:
13107         * gst/gstevent.h:
13108         Avoid excessive typechecking in macros.
13109
13110         * gst/gstminiobject.c: (gst_mini_object_get_type),
13111         (gst_mini_object_init), (gst_mini_object_new),
13112         (gst_mini_object_free):
13113         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13114         (gst_object_finalize):
13115         Remove cruft code, optimize alloc_trace.
13116
13117 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13118
13119         * docs/faq/gst-uninstalled:
13120           fix up PS1 for systems that try to reset it
13121
13122 2005-11-07  Wim Taymans  <wim@fluendo.com>
13123
13124         * gst/base/gstbasesrc.c: (gst_base_src_init),
13125         (gst_base_src_get_range):
13126         Set the segment_end to -1 initially. Fixed typefind.
13127
13128 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
13129
13130         * gst/base/gstadapter.c:
13131           Debug category should be 'adapter', not 'GstAdapter'.
13132           
13133         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
13134         (gst_collectpads_class_init), (gst_collectpads_init),
13135         (gst_collectpads_peek), (gst_collectpads_pop),
13136         (gst_collectpads_event), (gst_collectpads_chain):
13137           Add debug category and some debugging output. Use boilerplate
13138           macros. Remove some extraneous words from docs.
13139
13140 2005-11-05  Andy Wingo  <wingo@pobox.com>
13141
13142         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
13143         macro.
13144
13145 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
13146
13147         * docs/gst/gstreamer-sections.txt:
13148         * gst/gstcaps.h:
13149         * gst/gstinfo.c:
13150         * gst/gstminiobject.h:
13151         * gst/gstobject.h:
13152         * gst/gstutils.h:
13153           more docs added
13154
13155 2005-11-04  Wim Taymans  <wim@fluendo.com>
13156
13157         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13158         Small update to stop at the configured segment_end
13159         position.
13160
13161 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
13162
13163         * gst/gstregistry.c:
13164         * gst/gstregistry.h:
13165           added missing docs
13166
13167 2005-11-04  Edward Hervey  <edward@fluendo.com>
13168
13169         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13170         Check if we are doing a segment seek and have arrived at the
13171         end of that segment.
13172
13173 2005-11-04  Wim Taymans  <wim@fluendo.com>
13174
13175         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
13176         Don't leak a mutex unlock in case of an error.
13177
13178         * gst/gstbus.h:
13179         Doc fixes.
13180
13181 2005-11-04  Wim Taymans  <wim@fluendo.com>
13182
13183         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
13184         (gst_bus_post):
13185         Get the context to wake up only once.
13186
13187 2005-11-03  Wim Taymans  <wim@fluendo.com>
13188
13189         * check/states/sinks.c: (GST_START_TEST):
13190         Uncomment fixed check.
13191
13192         * docs/design/part-TODO.txt:
13193         Updated TODO.
13194
13195         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13196         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
13197         (gst_base_sink_get_position):
13198         If we are going to PLAYING, post the right pending state
13199         when we post the intermediate paused message.
13200
13201         * gst/gstelement.c: (gst_element_continue_state),
13202         (gst_element_set_state_func), (gst_element_change_state):
13203         Don't post state changes that were between the same state
13204         and were not ASYNC.
13205
13206 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
13207
13208         * docs/gst/gstreamer-sections.txt:
13209         * gst/gstcaps.h:
13210         * gst/gstinfo.c:
13211         * gst/gstminiobject.h:
13212         * gst/gstobject.h:
13213         * gst/gstutils.h:
13214           more docs and doc style fixes
13215
13216 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
13217
13218         * docs/gst/gstreamer-sections.txt:
13219         * gst/gstelement.c:
13220         * gst/gstminiobject.c:
13221         doc fixes
13222
13223 2005-11-03  Andy Wingo  <wingo@pobox.com>
13224
13225         * check/states/sinks.c (test_livesrc_sink): Add checks that the
13226         state-changed messages actually have the right order and the right
13227         values.
13228
13229 2005-11-03  Wim Taymans  <wim@fluendo.com>
13230
13231         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
13232         Added some more checks. Specifically the case where NO_PREROLL
13233         elements are in the pipeline.
13234
13235         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13236         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
13237         (gst_base_sink_get_position):
13238         Post READY->PAUSED state change messages too.
13239         Fix bug where VOID was posted as pending state...
13240
13241         * gst/gstbin.c: (gst_bin_recalc_state):
13242         use _element_continue_state() to continue the state change.
13243
13244         * gst/gstelement.c: (gst_element_continue_state),
13245         (gst_element_commit_state), (gst_element_set_state_func),
13246         (gst_element_change_state), (gst_element_change_state_func):
13247         Lots of state change cleanups, assign the STATE_RETURN in
13248         a new continue_state() function that also propagates the
13249         last return value from a state change to the app.
13250         Update some debug statements with proper category.
13251
13252 2005-11-03  Wim Taymans  <wim@fluendo.com>
13253
13254         * docs/design/part-events.txt:
13255         * docs/design/part-gstpipeline.txt:
13256         * docs/design/part-messages.txt:
13257         * docs/design/part-overview.txt:
13258         * docs/design/part-seeking.txt:
13259         * docs/design/part-states.txt:
13260         * docs/design/part-trickmodes.txt:
13261         * docs/manual/advanced-position.xml:
13262         Small docs updates.
13263
13264         * gst/gstobject.h:
13265         People think !! is ugly, this looks better.
13266
13267         * gst/gstpad.c: (gst_pad_set_blocked_async):
13268         Remove !! since it's fixed elsewhere now.
13269
13270 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
13271
13272         * gst/gstminiobject.h:
13273         * gst/gstobject.h:
13274           Add !! to _FLAG_IS_SET macros to make the result boolean.
13275
13276 2005-11-03  Edward Hervey  <edward@fluendo.com>
13277
13278         * gst/gstpad.c: (gst_pad_set_blocked_async):
13279         comparing a flag and a gboolean rarely returns coherent results...
13280         Added two characters (!!) to make that work correctly.
13281         
13282 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
13283
13284         * gst/gstbus.c: (gst_bus_class_init):
13285           Fix some typos.
13286           
13287         * gst/gstqueue.c: (gst_queue_loop):
13288           Don't assume a miniobject that isn't a buffer is an
13289           event (it could be that there is a refcounting
13290           problem somewhere and the pointer is stale and
13291           refers to an already destroyed miniobject).
13292
13293 2005-11-03  Julien MOUTTE  <julien@moutte.net>
13294
13295         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
13296
13297 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
13298
13299         * docs/manual/advanced-position.xml:
13300           Update seek example and explanations to current 0.9 API.
13301
13302         * gst/elements/gsttypefindelement.c:
13303         (gst_type_find_element_activate):
13304           Remove FIXME comment now that the found caps
13305           are unreffed.
13306
13307 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13308
13309         * gst/gstregistryxml.c: (load_feature):
13310           Add another GST_STR_NULL instance
13311
13312 2005-11-02  Edward Hervey  <edward@fluendo.com>
13313
13314         * gst/gstpad.c: (handle_pad_block):
13315         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
13316         
13317 2005-11-02  Wim Taymans  <wim@fluendo.com>
13318
13319         * gst/gstbin.c:
13320         Fix typo in docs.
13321
13322         * gst/gstelement.c: (gst_element_commit_state):
13323         Remove unused value.
13324
13325         * gst/gstiterator.c:
13326         Mention that the returned element is reffed in the docs.
13327
13328 2005-11-02  Wim Taymans  <wim@fluendo.com>
13329
13330         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
13331         (gst_pad_push), (gst_pad_push_event):
13332         Unlock blocked pads when they are flushed.
13333
13334 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13335
13336         * docs/README:
13337         * docs/gst/gstreamer-sections.txt:
13338         * gst/gstbin.c:
13339           doc updates
13340         * gst/gstregistry.c: (gst_registry_scan_path_level):
13341           fix for a nasty little missed situation where an installed plug-in
13342           which was in the cache did not get overridden by an uninstalled one
13343           which was earlier in the plugin path because the newly created plugin
13344           for the uninstalled one (not in the registry) didn't get its
13345           ->registered set to TRUE
13346
13347 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
13348
13349         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
13350         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
13351         (gst_collectpads_is_active), (gst_collectpads_collect),
13352         (gst_collectpads_collect_range), (gst_collectpads_start),
13353         (gst_collectpads_stop), (gst_collectpads_peek),
13354         (gst_collectpads_pop), (gst_collectpads_available),
13355         (gst_collectpads_read), (gst_collectpads_flush):
13356           Guard public API with assertions.
13357         
13358         * gst/gstpad.c:
13359           Fix docs for gst_pad_set_link_function().
13360
13361 2005-11-02  Johan Dahlin  <johan@gnome.org>
13362
13363         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
13364         Unref found_caps after we used it.
13365
13366 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
13367
13368         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
13369           Don't try to ref NULL.
13370
13371 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13372
13373         * win32/common/config.h.in:
13374           provide a GST_FUNCTION that just gives a string for now
13375
13376 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13377
13378         * win32/common/gstenumtypes.c: (register_gst_object_flags),
13379         (gst_object_flags_get_type), (register_gst_bin_flags),
13380         (gst_bin_flags_get_type), (register_gst_buffer_flag),
13381         (gst_buffer_flag_get_type), (register_gst_bus_flags),
13382         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
13383         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
13384         (gst_clock_return_get_type), (register_gst_clock_entry_type),
13385         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
13386         (gst_clock_flags_get_type), (register_gst_state),
13387         (gst_state_get_type), (register_gst_state_change_return),
13388         (gst_state_change_return_get_type), (register_gst_state_change),
13389         (gst_state_change_get_type), (register_gst_element_flags),
13390         (gst_element_flags_get_type), (register_gst_core_error),
13391         (gst_core_error_get_type), (register_gst_library_error),
13392         (gst_library_error_get_type), (register_gst_resource_error),
13393         (gst_resource_error_get_type), (register_gst_stream_error),
13394         (gst_stream_error_get_type), (register_gst_event_type),
13395         (gst_event_type_get_type), (register_gst_seek_type),
13396         (gst_seek_type_get_type), (register_gst_seek_flags),
13397         (gst_seek_flags_get_type), (register_gst_format),
13398         (gst_format_get_type), (register_gst_index_certainty),
13399         (gst_index_certainty_get_type), (register_gst_index_entry_type),
13400         (gst_index_entry_type_get_type),
13401         (register_gst_index_lookup_method),
13402         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
13403         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
13404         (gst_index_resolver_method_get_type), (register_gst_index_flags),
13405         (gst_index_flags_get_type), (register_gst_debug_level),
13406         (gst_debug_level_get_type), (register_gst_debug_color_flags),
13407         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
13408         (gst_iterator_result_get_type), (register_gst_iterator_item),
13409         (gst_iterator_item_get_type), (register_gst_message_type),
13410         (gst_message_type_get_type), (register_gst_mini_object_flags),
13411         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
13412         (gst_pad_link_return_get_type), (register_gst_flow_return),
13413         (gst_flow_return_get_type), (register_gst_activate_mode),
13414         (gst_activate_mode_get_type), (register_gst_pad_direction),
13415         (gst_pad_direction_get_type), (register_gst_pad_flags),
13416         (gst_pad_flags_get_type), (register_gst_pad_presence),
13417         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
13418         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
13419         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
13420         (gst_plugin_error_get_type), (register_gst_plugin_flags),
13421         (gst_plugin_flags_get_type), (register_gst_rank),
13422         (gst_rank_get_type), (register_gst_query_type),
13423         (gst_query_type_get_type), (register_gst_tag_merge_mode),
13424         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
13425         (gst_tag_flag_get_type), (register_gst_task_state),
13426         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
13427         (gst_alloc_trace_flags_get_type),
13428         (register_gst_type_find_probability),
13429         (gst_type_find_probability_get_type), (register_gst_uri_type),
13430         (gst_uri_type_get_type), (register_gst_parse_error),
13431         (gst_parse_error_get_type):
13432         * win32/common/gstversion.h:
13433           update win32 copies
13434
13435 2005-11-01  Luca Ognibene  <luogni@tin.it>
13436
13437         * gst/gst.c:
13438           fix docs. popt is dead, long live GOption.
13439
13440 2005-10-31  Wim Taymans  <wim@fluendo.com>
13441
13442         * gst/gstbuffer.h:
13443         Small doc fix.
13444
13445 2005-10-31  Andy Wingo  <wingo@pobox.com>
13446
13447         * Boo!
13448
13449         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
13450
13451         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
13452         need to serialize property notifications on GLib 2.8. GLib 2.6 has
13453         the possibility of deadlocks here if code calling notify() or
13454         set() has a lock that can be taken in another notify handler (ABBA
13455         with class lock and e.g. python GIL state lock).
13456
13457 2005-10-28  Julien MOUTTE  <julien@moutte.net>
13458
13459         * gst/gstbus.c: Doc updates.
13460
13461 2005-10-28  Wim Taymans  <wim@fluendo.com>
13462
13463         * docs/design/part-TODO.txt:
13464         * gst/gstiterator.c:
13465         * gst/gstsystemclock.c:
13466         * gst/gstsystemclock.h:
13467         Doc updates.
13468
13469 2005-10-28  Edward Hervey  <edward@fluendo.com>
13470
13471         * docs/gst/gstreamer-docs.sgml:
13472         * docs/gst/gstreamer-sections.txt:
13473         the GstURIType documentation page is private, it only defines GstURIType
13474         which should be defined in the GstURIHandler page
13475         
13476 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13477
13478         * gst/gstbin.c: (gst_bin_class_init):
13479         * gst/gstbin.h:
13480         * gst/gstutils.c:
13481         Documentation updates.
13482
13483 2005-10-28  Wim Taymans  <wim@fluendo.com>
13484
13485         * docs/gst/gstreamer-sections.txt:
13486         * gst/gstclock.c:
13487         * gst/gstclock.h:
13488         Documented the clocks.
13489
13490 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
13491
13492         * docs/gst/gstreamer-sections.txt:
13493           move some macros to private sections
13494         * gst/gstminiobject.c:
13495         * gst/gstminiobject.h:
13496           add descriptions provided by ds and some more
13497         * gst/gstpad.h:
13498           mark macro as to be removed
13499
13500 2005-10-28  Wim Taymans  <wim@fluendo.com>
13501
13502         * docs/design/part-TODO.txt:
13503         Add an item to TODO.
13504
13505         * gst/gstiterator.c: (gst_iterator_fold),
13506         (gst_iterator_find_custom):
13507         * gst/gstiterator.h:
13508         Add iterator docs.
13509
13510 2005-10-28  Wim Taymans  <wim@fluendo.com>
13511
13512         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13513         (gst_base_transform_init):
13514         Don't leak class.
13515
13516         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
13517         An EOS event marks the queue as completely filled.
13518
13519 2005-10-27  Wim Taymans  <wim@fluendo.com>
13520
13521         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13522         (gst_base_sink_do_sync), (gst_base_sink_get_position):
13523         Some more debugging.
13524
13525         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
13526         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
13527         (gst_base_transform_event), (gst_base_transform_getrange),
13528         (gst_base_transform_chain):
13529         * gst/base/gstbasetransform.h:
13530         Fix debugging,
13531         Protect transform and concurrent buffer alloc with a new lock.
13532         Try not to break ABI/API.
13533
13534 2005-10-27  Wim Taymans  <wim@fluendo.com>
13535
13536         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13537         (gst_base_src_init), (gst_base_src_query),
13538         (gst_base_src_default_newsegment),
13539         (gst_base_src_configure_segment), (gst_base_src_do_seek),
13540         (gst_base_src_send_event), (gst_base_src_event_handler),
13541         (gst_base_src_pad_get_range), (gst_base_src_loop),
13542         (gst_base_src_unlock), (gst_base_src_default_negotiate),
13543         (gst_base_src_start), (gst_base_src_deactivate),
13544         (gst_base_src_activate_push), (gst_base_src_change_state):
13545         Move some stuff around and cleanup things.
13546
13547 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
13548
13549         * gst/base/gstbasesrc.c: (gst_base_src_query):
13550           Add missing break statements.
13551
13552 2005-10-27  Wim Taymans  <wim@fluendo.com>
13553
13554         * check/gst/gstbin.c: (GST_START_TEST):
13555         An extra refcount is taken in basesrc.
13556
13557         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
13558         (gst_base_src_get_range), (gst_base_src_pad_get_range),
13559         (gst_base_src_loop):
13560         Small cleanups, check for flushing after being unlocked from the 
13561         LIVE_LOCK. take refcounts correctly (not yet everywhere).
13562         Don't send out EOS when going to READY.
13563
13564 2005-10-27  Wim Taymans  <wim@fluendo.com>
13565
13566         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13567         (gst_base_sink_get_position):
13568         Some more debug.
13569
13570         * gst/gstbin.c: (message_check), (bin_replace_message),
13571         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13572         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13573         (bin_query_duration_init), (bin_query_duration_fold),
13574         (bin_query_duration_done), (bin_query_generic_fold),
13575         (gst_bin_query):
13576         * tools/gst-launch.c: (main):
13577         Remove old option.
13578
13579 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
13580
13581         * examples/controller/audio-example.c: (main):
13582         * examples/queue/queue.c: (event_loop):
13583         * gst/base/gstbasetransform.h:
13584         * gst/gstelement.c: (gst_element_send_event):
13585         * gst/gstevent.h:
13586         * gst/gstpad.c: (gst_pad_send_event):
13587           fixing examples
13588           fixing docs typos
13589           changing log priority in error situations
13590
13591 2005-10-25  Wim Taymans  <wim@fluendo.com>
13592
13593         * gst/gstbin.c: (message_check), (bin_replace_message),
13594         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13595         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13596         (bin_query_duration_init), (bin_query_duration_fold),
13597         (bin_query_duration_done), (bin_query_generic_fold),
13598         (gst_bin_query):
13599         Some doc and debug updates.
13600         Cache previously requested query DURATION for speed. invalidate
13601         cached duration if element posts a DURATION message.
13602
13603 2005-10-25  Wim Taymans  <wim@fluendo.com>
13604
13605         * docs/design/part-TODO.txt:
13606         Update TODO.
13607
13608         * gst/gstbin.c: (message_check), (bin_replace_message),
13609         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13610         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13611         (bin_query_duration_init), (bin_query_duration_fold),
13612         (bin_query_duration_done), (bin_query_generic_fold),
13613         (gst_bin_query):
13614         Handle SEGMENT_START/DONE messages correctly.
13615         More evolved query algorithm that handles duration queries
13616         correctly.
13617
13618         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
13619         (gst_element_get_state_func), (gst_element_abort_state),
13620         (gst_element_commit_state), (gst_element_lost_state):
13621         Some more debugging.
13622
13623         * gst/gstmessage.h:
13624         Added doc.
13625
13626 2005-10-25  Wim Taymans  <wim@fluendo.com>
13627
13628         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
13629         Don't use invalid stream_time.
13630
13631         * gst/gstevent.c: (gst_event_new_newsegment):
13632         stream_time in newsegment cannot be undefined.
13633
13634 2005-10-24  Wim Taymans  <wim@fluendo.com>
13635
13636         * gst/gstbus.c:
13637         Doc fix.
13638
13639         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13640         (gst_queue_loop):
13641         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
13642
13643 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
13644
13645         * docs/libs/tmpl/gstdparam.sgml:
13646         * docs/libs/tmpl/gstdplinint.sgml:
13647         * docs/libs/tmpl/gstdpman.sgml:
13648         * docs/libs/tmpl/gstdpsmooth.sgml:
13649         * docs/libs/tmpl/gstunitconvert.sgml:
13650           these are obsolete
13651
13652 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13653
13654         * configure.ac:
13655           back to HEAD
13656
13657 === release 0.9.4 ===
13658
13659 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13660
13661         * configure.ac:
13662           releasing 0.9.4, "Tyrannosaurus Rex"
13663
13664 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
13665
13666         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
13667         (gst_file_sink_get_current_offset):
13668           Use fseeko() and ftello() if available. When falling back on
13669           lseek() to get the current offset, fflush() first to make sure
13670           everything is up-to-date and we get the right offset.
13671
13672 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13673
13674         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13675         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13676         * gst/gsterror.c: (_gst_stream_errors_init):
13677         * gst/gsterror.h:
13678         * gst/gstqueue.c: (gst_queue_loop):
13679         * po/POTFILES.in:
13680           remove prematurely added error category and clean up the instances
13681
13682 2005-10-21  Wim Taymans  <wim@fluendo.com>
13683
13684         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13685         (gst_base_sink_get_position), (gst_base_sink_query),
13686         (gst_base_sink_change_state):
13687         Simply set the right flag when going to playing, that's all
13688         we need to do instead of calling a function inside the object
13689         lock (that could take the lock as well and deadlock)
13690
13691 2005-10-21  Wim Taymans  <wim@fluendo.com>
13692
13693         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
13694         (gst_base_src_loop):
13695         Don't warn, the peer element knows what to do best when
13696         the seek failed, it might try something else.
13697
13698 2005-10-21  Wim Taymans  <wim@fluendo.com>
13699
13700         * gst/base/gstbasesrc.c: (gst_base_src_init),
13701         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13702         Fix seeking.
13703
13704 2005-10-21  Wim Taymans  <wim@fluendo.com>
13705
13706         * docs/design/part-segments.txt:
13707         More docs.
13708
13709         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13710         Correctly set caps, even on the subbufer.
13711
13712 2005-10-21  Wim Taymans  <wim@fluendo.com>
13713
13714         * docs/gst/gstreamer-docs.sgml:
13715         * docs/gst/gstreamer-sections.txt:
13716         * gst/gstelement.h:
13717         * gst/gstevent.c:
13718         * gst/gstevent.h:
13719         * gst/gstmessage.h:
13720         * gst/gstpad.h:
13721         * gst/gstparse.h:
13722         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
13723         * gst/gsttask.h:
13724         * gst/gstutils.c:
13725         * gst/gstutils.h:
13726         And 2% more doc coverage.
13727
13728 2005-10-21  Andy Wingo  <wingo@pobox.com>
13729
13730         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
13731         position reporting.
13732
13733 2005-10-20  Wim Taymans  <wim@fluendo.com>
13734
13735         * gst/gsterror.c: (gst_error_get_message):
13736         * gst/gstparse.h:
13737         * gst/gstquery.h:
13738         * gst/gststructure.c:
13739         * gst/gsttrace.c:
13740         * gst/gstutils.c:
13741         More docs.
13742
13743 2005-10-20  Wim Taymans  <wim@fluendo.com>
13744
13745         * gst/gstbuffer.h:
13746         * gst/gstpad.c:
13747         * gst/gstparse.c:
13748         Another 1% more coverage.
13749
13750 2005-10-20  Wim Taymans  <wim@fluendo.com>
13751
13752         * docs/gst/gstreamer-sections.txt:
13753         * gst/gstelement.c: (gst_element_get_state_func),
13754         (gst_element_abort_state), (gst_element_commit_state),
13755         (gst_element_lost_state):
13756         * gst/gstevent.h:
13757         * gst/gstquery.c: (gst_query_set_position),
13758         (gst_query_parse_position), (gst_query_set_duration),
13759         (gst_query_parse_duration), (gst_query_new_convert):
13760         * gst/gstutils.c:
13761         Yay! 1% more docs coverage.
13762
13763 2005-10-20  Wim Taymans  <wim@fluendo.com>
13764
13765         * gst/gstpad.h:
13766         * gst/gstquery.c: (gst_query_set_position),
13767         (gst_query_parse_position), (gst_query_set_duration),
13768         (gst_query_parse_duration), (gst_query_new_convert):
13769         * gst/gstquery.h:
13770         * gst/gstutils.c: (gst_element_query_convert):
13771         * gst/gstutils.h:
13772         Docs and consistency fixes.
13773
13774 2005-10-20  Wim Taymans  <wim@fluendo.com>
13775
13776         * gst/gsttask.c:
13777         * gst/gsttask.h:
13778         More docs.
13779
13780 2005-10-20  Wim Taymans  <wim@fluendo.com>
13781
13782         * gst/gstbin.c: (message_check), (bin_replace_message),
13783         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13784         (update_degree), (gst_bin_sort_iterator_next),
13785         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
13786         Reworked the message handling a bit, cache the messages instead of
13787         only the senders. alows us to do more in the future.
13788
13789 2005-10-20  Wim Taymans  <wim@fluendo.com>
13790
13791         * docs/design/part-TODO.txt:
13792         Update TODO
13793
13794         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13795         (gst_base_sink_query):
13796         Don't use clock time to report position when in EOS.
13797
13798 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
13799
13800         * tools/gst-inspect.c: (print_interfaces),
13801         (print_element_properties_info), (print_element_info):
13802           Fix interface output with gst-inspect -a; don't print
13803           newlines after double/float properties.
13804
13805 2005-10-20  Wim Taymans  <wim@fluendo.com>
13806
13807         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13808         (gst_base_sink_query):
13809         Speed up current position calculation.
13810
13811         * gst/base/gstbasesrc.c: (gst_base_src_query),
13812         (gst_base_src_default_newsegment):
13813         Correctly set stream position in newsegment.
13814
13815         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
13816         (update_degree), (gst_bin_sort_iterator_next),
13817         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
13818         * gst/gstmessage.c: (gst_message_new_custom):
13819         Clean up debugging info
13820
13821         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13822         (gst_queue_loop), (gst_queue_handle_src_query):
13823         Pause task faster.
13824
13825 2005-10-19  Wim Taymans  <wim@fluendo.com>
13826
13827         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13828         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13829         Fix query handling again.
13830
13831 2005-10-19  Wim Taymans  <wim@fluendo.com>
13832
13833         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13834         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13835         * gst/base/gstbasesrc.c: (gst_base_src_query):
13836         * gst/elements/gstfilesink.c: (gst_file_sink_query):
13837         * gst/elements/gsttypefindelement.c:
13838         (gst_type_find_handle_src_query), (find_element_get_length),
13839         (gst_type_find_element_activate):
13840         API change fix.
13841
13842         * gst/gstquery.c: (gst_query_new_position),
13843         (gst_query_set_position), (gst_query_parse_position),
13844         (gst_query_new_duration), (gst_query_set_duration),
13845         (gst_query_parse_duration), (gst_query_set_segment),
13846         (gst_query_parse_segment):
13847         * gst/gstquery.h:
13848         Bundling query position/duration is not a good idea since duration
13849         does not change much and we don't want to recalculate it for every
13850         position query, so they are separated again..
13851         Base value in segment query is not needed.
13852
13853         * gst/gstqueue.c: (gst_queue_handle_src_query):
13854         * gst/gstutils.c: (gst_element_query_position),
13855         (gst_element_query_duration), (gst_pad_query_position),
13856         (gst_pad_query_duration):
13857         * gst/gstutils.h:
13858         Updates for query API change.
13859         Added some docs here and there.
13860
13861 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13862
13863         * check/gst/gstbin.c: (GST_START_TEST):
13864         * check/gst/gstghostpad.c: (GST_START_TEST):
13865         * check/pipelines/cleanup.c: (GST_START_TEST):
13866           wait on thread to die so we can check refcount correctly
13867
13868 2005-10-18  Wim Taymans  <wim@fluendo.com>
13869
13870         * check/pipelines/stress.c: (GST_START_TEST):
13871         Make check a little more time consuming.
13872
13873 2005-10-18  Wim Taymans  <wim@fluendo.com>
13874
13875         * check/Makefile.am:
13876         * check/pipelines/stress.c: (GST_START_TEST),
13877         (simple_launch_lines_suite), (main):
13878         Small state change torture test.
13879
13880         * docs/design/part-states.txt:
13881         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13882         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
13883         (gst_base_sink_change_state):
13884         Never take state lock from streaming thread, clean up ugly
13885         hacks. Unfortunatly core does not yet support nice ways to
13886         async commit state.
13887         
13888         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
13889         (bin_bus_handler):
13890         Start state recalc if a STATE_DIRTY message is posted, but only
13891         on the toplevel bin.
13892
13893         * gst/gstelement.c: (gst_element_sync_state_with_parent),
13894         (gst_element_get_state_func), (gst_element_abort_state),
13895         (gst_element_commit_state), (gst_element_lost_state),
13896         (gst_element_set_state_func), (gst_element_change_state):
13897         * gst/gstelement.h:
13898         State variables are now protected with the LOCK, the state
13899         lock is only used to serialize _set_state().
13900
13901 2005-10-18  Wim Taymans  <wim@fluendo.com>
13902
13903         * check/gst/gstbin.c: (GST_START_TEST):
13904         * check/gst/gstmessage.c: (GST_START_TEST):
13905         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13906         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
13907         (bin_bus_handler):
13908         * gst/gstelement.c: (gst_element_abort_state),
13909         (gst_element_commit_state), (gst_element_lost_state):
13910         * gst/gstmessage.c: (gst_message_new_state_changed),
13911         (gst_message_new_state_dirty), (gst_message_new_segment_start),
13912         (gst_message_new_segment_done), (gst_message_new_duration),
13913         (gst_message_parse_state_changed),
13914         (gst_message_parse_segment_start),
13915         (gst_message_parse_segment_done), (gst_message_parse_duration):
13916         * gst/gstmessage.h:
13917         * tools/gst-launch.c: (event_loop):
13918         Seriously, this is better than a previous commit as we only need
13919         to notify the fact that an element changed state in a streaming
13920         thread, marking the state of the parents dirty, hence the 
13921         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
13922         message.
13923
13924 2005-10-18  Wim Taymans  <wim@fluendo.com>
13925
13926         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
13927         (gst_bin_recalc_func):
13928         * gst/gstelement.c: (gst_element_set_clock),
13929         (gst_element_abort_state), (gst_element_lost_state):
13930         Cleanups, prepare for state change fixes.
13931
13932 2005-10-18  Wim Taymans  <wim@fluendo.com>
13933
13934         * gst/gstbin.h:
13935         * gst/gstelement.c: (gst_element_class_init),
13936         (gst_element_set_state), (gst_element_set_state_func):
13937         * gst/gstelement.h:
13938         Pending ABI changes.
13939         GThreadPool in GstBinClass to monitor async state changes.
13940         state_cookie in GstElement to detect concurrent gst/set state.
13941         set_state is now virtual too in case a very complicated element
13942         has to be constructed.
13943
13944 2005-10-18  Wim Taymans  <wim@fluendo.com>
13945
13946         * check/gst/gstbin.c: (GST_START_TEST):
13947         * check/gst/gstmessage.c: (GST_START_TEST):
13948         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13949         * gst/gstbin.c: (bin_bus_handler):
13950         * gst/gstelement.c: (gst_element_commit_state),
13951         (gst_element_lost_state):
13952         * gst/gstmessage.c: (gst_message_new_state_changed),
13953         (gst_message_new_segment_start), (gst_message_new_segment_done),
13954         (gst_message_new_duration), (gst_message_parse_state_changed),
13955         (gst_message_parse_segment_start),
13956         (gst_message_parse_segment_done), (gst_message_parse_duration):
13957         * gst/gstmessage.h:
13958         * tools/gst-launch.c: (event_loop):
13959         Make messages future proof.
13960         state-change gets a flag if it was a message comming from the
13961         streaming thread.
13962         segment-start/stop can also be specified in other formats.
13963         A message to notify an app that a pipeline changed playback 
13964         duration.
13965         Also fix a GstMessage leak in -launch
13966
13967 2005-10-18  Andy Wingo  <wingo@pobox.com>
13968
13969         * gst/gstelement.c (gst_element_dispose): More helpful message.
13970
13971 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13972
13973         reviewed by: <delete if not using a buddy>
13974
13975         * common/gtk-doc.mak:
13976
13977 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13978
13979         * gst/gstregistry.c: (gst_registry_scan_path_level):
13980           unref a plug-in we get that was already initialized
13981
13982 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
13983
13984         * docs/gst/gstreamer-sections.txt:
13985         * docs/libs/gstreamer-libs-sections.txt:
13986         * gst/gstelement.h:
13987           add new api entries
13988           hide internal macro
13989
13990 2005-10-17  Andy Wingo  <wingo@pobox.com>
13991
13992         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
13993         cleanup.
13994
13995         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
13996
13997         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
13998
13999         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
14000         (gst_element_get_state_func): Better debug message.
14001         (gst_element_commit_state): s/INFO/DEBUG/.
14002         (gst_element_lost_state, gst_element_change_state): 
14003
14004         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
14005         (gst_message_new_custom): s/INFO/LOG/.
14006
14007 2005-10-17  Michael Smith <msmith@fluendo.com>
14008
14009         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
14010           Check if end time is valid using end time, not start time.
14011
14012 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
14013
14014         * check/gst-libs/controller.c: (GST_START_TEST),
14015         (gst_controller_suite):
14016         * libs/gst/controller/gstcontroller.c:
14017         (gst_controlled_property_set_interpolation_mode):
14018         * libs/gst/controller/gstcontroller.h:
14019         * libs/gst/controller/gstinterpolation.c:
14020         * testsuite/controller/.cvsignore:
14021         * testsuite/controller/Makefile.am:
14022         * testsuite/controller/interpolator.c:
14023           merge controller testsuites
14024           fix broken tests
14025           remove mem-chunk from docs
14026
14027 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
14028
14029         * gst/gstmemchunk.c:
14030         * gst/gstmemchunk.h:
14031         * gst/gsttrashstack.c:
14032         * gst/gsttrashstack.h:
14033           out.  get out.  you're fired.  to the Attic !
14034
14035 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
14036
14037         * gst/gstcaps.c: (gst_caps_intersect):
14038           fix signedness issues in a (hopefully) correct way
14039         * gst/gstelement.c: (gst_element_pads_activate):
14040           some debugging
14041         * gst/gstobject.c: (gst_object_set_parent):
14042           some debugging
14043
14044 2005-10-17  Julien MOUTTE  <julien@moutte.net>
14045
14046         * gst/gstvalue.h: Fix prototypes.
14047
14048 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14049
14050         * docs/gst/gstreamer-sections.txt:
14051         * gst/gst.c: (gst_version_string):
14052         * gst/gst.h:
14053         * gst/gstversion.h.in:
14054         * win32/common/libgstreamer.def:
14055           add gst_version_string ()
14056
14057 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14058
14059         * configure.ac:
14060           clean up further
14061         * gst/gst.c: (init_post):
14062         * win32/common/config.h.in:
14063           it's PLUGINDIR now
14064         * gst/gstcaps.c: (gst_caps_intersect):
14065           use gint64, the range could be bigger than a guint
14066
14067 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14068
14069         * gst/gstclock.h:
14070           document potential problem in 2038
14071
14072 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14073
14074         * gst/gstcaps.c: (gst_caps_intersect):
14075           Fix guint j diving under 0
14076
14077 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14078
14079         * configure.ac:
14080         * win32/common/config.h:
14081         * win32/common/config.h.in:
14082           check for process.h, declares getpid() on Windows
14083         * gst/gstinfo.c:
14084           include process.h if we have it
14085         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
14086         * gst/gstmemchunk.h:
14087           fix signedness issues
14088         * win32/common/libgstreamer.def:
14089           fix get_type's
14090
14091 2005-10-16  Julien MOUTTE  <julien@moutte.net>
14092
14093         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
14094         fix. Because of unsigned ints, caps intersection was going nuts and
14095         trying to access structures with G_MAXUINT index. That fixes
14096         videotestsrc ! ffmpegcolorspace ! fakesink
14097         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
14098         consistency.
14099
14100 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14101
14102         * configure.ac:
14103           use the gettext macro
14104         * gst/elements/gstelements.c:
14105         * gst/gst.c:
14106         * gst/indexers/gstindexers.c:
14107           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
14108         * win32/common/config.h:
14109           updated config.h
14110         * win32/common/config.h.in:
14111           add the template to generate config.h
14112         * win32/common/gstenumtypes.c:
14113         * win32/common/gstversion.h:
14114           updated copies
14115
14116 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14117
14118         * gst/gst.c: (gst_version):
14119         * gst/gstversion.h.in:
14120           add the nano
14121
14122 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
14123
14124         * gst/gstevent.h:
14125           Oops, add missing closing bracket.
14126
14127 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14128
14129         * configure.ac:
14130           use common m4's for argument checking
14131
14132 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
14133
14134         * docs/gst/gstreamer-sections.txt:
14135         * gst/gstevent.h:
14136           Add GST_EVENT_TYPE_NAME() macro.
14137
14138 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14139
14140         * gst/gstinfo.c:
14141         * gst/gstpluginfeature.c:
14142         * gst/gsttask.c:
14143           privatize more symbols
14144
14145 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14146
14147         * configure.ac:
14148           add srcdir, builddir includes to GST_ALL_CFLAGS, since
14149           everything that uses GStreamer API should have the includes
14150
14151 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14152
14153         * docs/gst/gstreamer-sections.txt:
14154         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
14155         * gst/gstvalue.h:
14156           give each value a _get_type, removes the DATA exports
14157
14158 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14159
14160         * gst/gst.c:
14161         * gst/gst.h:
14162           remove _gst_registry_auto_load, not used anymore
14163         * gst/gstbin.c: (gst_bin_get_type):
14164         * gst/gstbin.h:
14165         * gst/gstelement.c: (gst_element_get_type):
14166         * gst/gstelement.h:
14167         * gst/gstobject.c: (gst_object_get_type):
14168         * gst/gstobject.h:
14169         * gst/gstpad.c: (gst_pad_get_type):
14170         * gst/gstpad.h:
14171           make _get_type functions similar, fixes data export from library
14172
14173 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14174
14175         * configure.ac:
14176           correctly make conditionals
14177         * gst/elements/Makefile.am:
14178         * gst/elements/gstelements.c:
14179           fix typo causing fdsrc not to build
14180
14181 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14182
14183         * testsuite/Makefile.am:
14184         * testsuite/bytestream/.cvsignore:
14185         * testsuite/bytestream/Makefile.am:
14186         * testsuite/bytestream/filepadsink.c:
14187         * testsuite/bytestream/gstbstest.c:
14188         * testsuite/bytestream/test1.c:
14189         * testsuite/bytestream/testfile1:
14190         * testsuite/caps/normalisation.c:
14191         * testsuite/caps/random.c: (main):
14192         * testsuite/cleanup/.cvsignore:
14193         * testsuite/cleanup/Makefile.am:
14194         * testsuite/cleanup/cleanup1.c:
14195         * testsuite/cleanup/cleanup2.c:
14196         * testsuite/cleanup/cleanup3.c:
14197         * testsuite/cleanup/cleanup4.c:
14198         * testsuite/cleanup/cleanup5.c:
14199         * testsuite/controller/interpolator.c:
14200         * testsuite/debug/printf_extension.c: (main):
14201         * testsuite/elements/tee.c:
14202         * testsuite/negotiation/.cvsignore:
14203         * testsuite/negotiation/Makefile.am:
14204         * testsuite/negotiation/pad_link.c:
14205         * testsuite/pad/Makefile.am:
14206         * testsuite/pad/chainnopull.c:
14207         * testsuite/pad/getnopush.c:
14208         * testsuite/pad/link.c:
14209         * testsuite/refcounting/sched.c: (create_pipeline):
14210         * testsuite/registry/Makefile.am:
14211         * testsuite/registry/gst-print-formats.c:
14212         * testsuite/schedulers/.cvsignore:
14213         * testsuite/schedulers/142183-2.c:
14214         * testsuite/schedulers/142183.c:
14215         * testsuite/schedulers/143777-2.c:
14216         * testsuite/schedulers/143777.c:
14217         * testsuite/schedulers/147713.c:
14218         * testsuite/schedulers/147819.c:
14219         * testsuite/schedulers/147894-2.c:
14220         * testsuite/schedulers/147894.c:
14221         * testsuite/schedulers/Makefile.am:
14222         * testsuite/schedulers/group_link.c:
14223         * testsuite/schedulers/queue_link.c:
14224         * testsuite/schedulers/relink.c:
14225         * testsuite/schedulers/unlink.c:
14226         * testsuite/schedulers/unref.c:
14227         * testsuite/schedulers/useless_iteration.c:
14228         * testsuite/states/bin.c:
14229           clean out/remove some stuff from the testsuite directories
14230
14231 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14232
14233         * configure.ac:
14234           check for some headers
14235         * gst/elements/Makefile.am:
14236         * gst/elements/gstelements.c:
14237           don't compile fdsrc without sys/socket.h
14238         * gst/indexers/Makefile.am:
14239         * gst/indexers/gstindexers.c: (plugin_init):
14240           don't compile fileindex without mmap
14241
14242 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14243
14244         * configure.ac:
14245           reorganize
14246           clean up
14247           document more
14248           remove cruft
14249         * check/Makefile.am:
14250         * docs/gst/Makefile.am:
14251         * examples/helloworld/Makefile.am:
14252         * gst/Makefile.am:
14253         * gst/base/Makefile.am:
14254         * gst/check/Makefile.am:
14255         * gst/elements/Makefile.am:
14256         * gst/indexers/Makefile.am:
14257         * gst/parse/Makefile.am:
14258         * libs/gst/controller/Makefile.am:
14259         * libs/gst/dataprotocol/Makefile.am:
14260         * examples/helloworld/helloworld.c: (event_loop):
14261           compile fixes, though it's not being compiled currently
14262
14263 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
14264
14265         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
14266           Add some simple tests for the new taglist date API.
14267
14268 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
14269
14270         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
14271         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
14272           Beautify 'last-message' output: print 'none' for buffer timestamps
14273           and durations if none is set; improve alignment with next messages.
14274
14275 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
14276
14277         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
14278         * gst/gstpluginfeature.h:
14279         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
14280         * gst/gstregistry.h:
14281         * docs/gst/gstreamer-sections.txt:
14282           Add new API to check plugin feature version requirements.
14283
14284         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
14285           Some basic tests for the above.         
14286
14287 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14288
14289         * gst/gststructure.c: (gst_structure_to_string):
14290           guard against NULL printf - happens when for example
14291           a message structure with GstClock gets serialized
14292
14293 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
14294
14295         * gst/base/gstcollectpads.c: (gst_collectpads_event):
14296           Fix presumable copy'n'pasto.
14297
14298 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14299
14300         * gst/elements/gstfakesrc.h:
14301         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
14302         * gst/elements/gsttypefindelement.c:
14303           fix some signedness
14304         * gst/elements/gstfilesink.c: (gst_file_sink_render):
14305           I wonder if this could actually write +2GB files before
14306
14307 2005-10-13  Andy Wingo  <wingo@pobox.com>
14308
14309         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
14310         Fix Timmeke Waymans bug.
14311         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
14312         string of the proper length to gst_caps_from_string. There's a
14313         potential for, before this fix, that this could cause someone
14314         connecting over the network to cause a segfault if the payload is
14315         not NUL-terminated.
14316
14317 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
14318
14319         * docs/design/draft-push-pull.txt:
14320         * docs/design/part-overview.txt:
14321         * docs/random/TODO-pre-0.9:
14322         * docs/random/old/ChangeLog.gstreamer:
14323         * gst/base/gstpushsrc.c:
14324         * gst/gstclock.c:
14325           fixed typos
14326
14327 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14328
14329         * gst/glib-compat.c: (gst_flags_get_first_value):
14330         * gst/glib-compat.h:
14331         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
14332         (gst_value_compare_double), (gst_value_serialize_flags):
14333           GLib 2.6 g_flags_get_first_value has a bug that triggers an
14334           infinite loop
14335
14336 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14337
14338         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14339         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
14340           fix up debugging
14341         * tools/gst-launch.c: (event_loop):
14342           print out clock nicely
14343
14344 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
14345
14346         * docs/gst/gstreamer-sections.txt:
14347         * gst/gsttaglist.h:
14348         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
14349         (gst_tag_list_get_date_index):
14350           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
14351           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
14352
14353 2005-10-13  Julien MOUTTE  <julien@moutte.net>
14354
14355         * gst/base/gstcollectpads.c: (gst_collectpads_event),
14356         (gst_collectpads_chain):
14357         * gst/base/gstcollectpads.h: Handle newsegment and store informations
14358         in CollectData.
14359
14360 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
14361
14362         * docs/gst/gstreamer-sections.txt:
14363         * gst/gst.c:
14364         * gst/gsterror.h:
14365         * tools/gst-inspect.c: (main):
14366         * tools/gst-launch.c: (main):
14367         * tools/gst-run.c: (main):
14368         * tools/gst-xmlinspect.c: (main):
14369           fix GOption context leaks
14370           doc fixes
14371
14372 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14373
14374         * gst/gstbus.c:
14375           use HAVE_UNISTD_H
14376         * win32/common/config.h:
14377           update config
14378         * win32/vs6/grammar.dsp:
14379         * win32/vs6/libgstelements.dsp:
14380         * win32/vs6/libgstreamer.dsp:
14381           update vs6 files
14382
14383 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14384
14385         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14386         * gst/base/gstbasesrc.c: (gst_base_src_query):
14387           fix more guint64<->gdouble conversions
14388
14389 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14390
14391         * Makefile.am:
14392           add win32-update target
14393         * win32/common/gstconfig.h:
14394         * win32/common/gstenumtypes.c:
14395         * win32/common/gstenumtypes.h:
14396         * win32/common/gstversion.h:
14397           add files that visual studio can't generate
14398
14399 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14400
14401         * Makefile.am:
14402           add a win32-update target
14403         * configure.ac:
14404
14405 2005-10-12  Wim Taymans  <wim@fluendo.com>
14406
14407         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
14408         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
14409         * gst/gstelement.c: (gst_element_commit_state),
14410         (gst_element_set_state):
14411         Protect flags with proper lock.
14412         unref provided cached clock in dispose.
14413
14414 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
14415
14416         * gst/gst.c:
14417         * gst/gstminiobject.h:
14418         * gst/gstpad.h:
14419         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
14420           removed unused flags from miniobject
14421           doc fixes
14422
14423 2005-10-12  Wim Taymans  <wim@fluendo.com>
14424
14425         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
14426         (gst_file_sink_event), (gst_file_sink_render):
14427         Flush before seeking.
14428
14429 2005-10-12  Andy Wingo  <wingo@pobox.com>
14430
14431         * gst/gst.c (gst_init_check): Ignore unknown options, as has
14432         always been the case.
14433
14434 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
14435
14436         * check/gst/gstbin.c: (GST_START_TEST):
14437         * docs/gst/gstreamer-sections.txt:
14438         * gst/base/gstbasesink.c: (gst_base_sink_init):
14439         * gst/base/gstbasesrc.c: (gst_base_src_init),
14440         (gst_base_src_get_range), (gst_base_src_check_get_range),
14441         (gst_base_src_start), (gst_base_src_stop):
14442         * gst/base/gstbasesrc.h:
14443         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
14444         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
14445         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
14446         (bin_bus_handler):
14447         * gst/gstbin.h:
14448         * gst/gstbuffer.h:
14449         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
14450         * gst/gstbus.h:
14451         * gst/gstelement.c: (gst_element_is_locked_state),
14452         (gst_element_set_locked_state), (gst_element_commit_state),
14453         (gst_element_set_state):
14454         * gst/gstelement.h:
14455         * gst/gstindex.c: (gst_index_init):
14456         * gst/gstindex.h:
14457         * gst/gstminiobject.h:
14458         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
14459         (gst_object_set_parent):
14460         * gst/gstobject.h:
14461         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
14462         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
14463         * gst/gstpad.h:
14464         * gst/gstpadtemplate.h:
14465         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
14466         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
14467         * gst/gstpipeline.h:
14468         * gst/indexers/gstfileindex.c: (gst_file_index_load),
14469         (gst_file_index_commit):
14470         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
14471         * testsuite/pad/link.c: (gst_test_src_init),
14472         (gst_test_filter_init), (gst_test_sink_init):
14473         * testsuite/states/locked.c: (main):
14474           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
14475           moved bitshift from macro to enum definition
14476
14477 2005-10-12  Wim Taymans  <wim@fluendo.com>
14478
14479         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
14480         * gst/elements/gstfilesink.c: (gst_file_sink_event),
14481         (gst_file_sink_render):
14482         Some more debugging info.
14483
14484 2005-10-12  Wim Taymans  <wim@fluendo.com>
14485
14486         * docs/design/part-states.txt:
14487         * tools/gst-launch.c: (main):
14488         Some doc updates.
14489         Revert non-intentional change.
14490
14491 2005-10-12  Wim Taymans  <wim@fluendo.com>
14492
14493         * check/gst/gstbin.c: (GST_START_TEST):
14494         * check/gst/gstelement.c: (GST_START_TEST):
14495         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
14496         * check/gst/gstghostpad.c: (GST_START_TEST):
14497         * check/gst/gstpipeline.c: (GST_START_TEST):
14498         * check/pipelines/simple_launch_lines.c: (run_pipeline):
14499         * check/states/sinks.c: (GST_START_TEST):
14500         * gst/elements/gsttypefindelement.c: (stop_typefinding):
14501         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
14502         (gst_bin_remove_func), (gst_bin_get_state_func),
14503         (gst_bin_recalc_state), (gst_bin_change_state_func),
14504         (bin_bus_handler):
14505         * gst/gstelement.c: (gst_element_get_state_func),
14506         (gst_element_get_state), (gst_element_abort_state),
14507         (gst_element_commit_state), (gst_element_set_state),
14508         (gst_element_change_state), (gst_element_change_state_func):
14509         * gst/gstelement.h:
14510         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
14511         (gst_pipeline_provide_clock_func):
14512         * gst/gstutils.c: (gst_element_link_pads_filtered):
14513         * tools/gst-launch.c: (main):
14514         * tools/gst-typefind.c: (main):
14515         Use GstClockTime in _get_state() instead of GTimeVal.
14516         Remove old code in gstutils.c
14517
14518 2005-10-12  Andy Wingo  <wingo@pobox.com>
14519
14520         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
14521         removed.
14522
14523         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
14524         there is no task. Shouldn't affect any code, as nothing in our
14525         plugins checks this return value.
14526         (gst_pad_stop_task): Also take the stream lock if the pad has no
14527         task. Docs updated.
14528
14529 2005-10-12  Wim Taymans  <wim@fluendo.com>
14530
14531         * gst/gstpad.c: (pre_activate), (post_activate),
14532         (gst_pad_activate_pull), (gst_pad_activate_push):
14533         Cleanup activation code. Reset old state if
14534         activation failed.
14535
14536 2005-10-12  Wim Taymans  <wim@fluendo.com>
14537
14538         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14539         (gst_base_sink_change_state):
14540         No need to prerol after receiving EOS.
14541
14542         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
14543         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
14544         * gst/elements/gstidentity.c: (gst_identity_event):
14545         Print events more verbosely.
14546
14547 2005-10-12  Wim Taymans  <wim@fluendo.com>
14548
14549         * check/Makefile.am:
14550         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
14551         * check/states/sinks2.c:
14552         Moved sinks2 testcode in sinks check.
14553
14554         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
14555         (gst_bin_remove_func), (gst_bin_recalc_state),
14556         (gst_bin_change_state_func), (bin_bus_handler):
14557         Fix potential race condition when _get_state() iterated over an
14558         ASYNC element right before it posted a state completion.
14559
14560         * gst/gstclock.h:
14561         Do proper cast here.
14562
14563         * gst/gstevent.c: (gst_event_new_newsegment),
14564         (gst_event_parse_newsegment):
14565         A playback rate of 0.0 is not allowed.
14566
14567 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14568
14569         * win32/common/config.h:
14570         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
14571         (_trewinddir), (_ttelldir), (_tseekdir):
14572         * win32/common/dirent.h:
14573         * win32/common/gtchar.h:
14574         * win32/common/libgstbase.def:
14575         * win32/common/libgstreamer.def:
14576         * win32/vs6/grammar.dsp:
14577         * win32/vs6/gst_inspect.dsp:
14578         * win32/vs6/gst_launch.dsp:
14579         * win32/vs6/gstreamer.dsw:
14580         * win32/vs6/libgstbase.dsp:
14581         * win32/vs6/libgstelements.dsp:
14582         * win32/vs6/libgstreamer.dsp:
14583           Visual Studio 6 project files, and a new common directory.
14584           Phear.
14585
14586 2005-10-11  Wim Taymans  <wim@fluendo.com>
14587
14588         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14589         (gst_base_sink_do_sync), (gst_base_sink_query),
14590         (gst_base_sink_change_state):
14591         * gst/base/gstbasesink.h:
14592         Correctly parse newsegment info.
14593
14594 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14595
14596         * gst/gst.c: (init_post):
14597           split plugin paths correctly
14598
14599 2005-10-11  Wim Taymans  <wim@fluendo.com>
14600
14601         * check/gst/gstevent.c: (GST_START_TEST):
14602         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14603         (gst_base_sink_change_state):
14604         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
14605         * gst/base/gstbasetransform.c: (gst_base_transform_event):
14606         * gst/elements/gstfilesink.c: (gst_file_sink_event):
14607         * gst/gstevent.c: (gst_event_new_newsegment),
14608         (gst_event_parse_newsegment):
14609         * gst/gstevent.h:
14610         Added extra flag to newsegment for future API freeze.
14611         Updated check and base elements.
14612
14613 2005-10-11  Julien MOUTTE  <julien@moutte.net>
14614
14615         * gst/base/gstcollectpads.c: (gst_collectpads_init),
14616         (gst_collectpads_add_pad), (gst_collectpads_pop),
14617         (gst_collectpads_event), (gst_collectpads_chain):
14618         * gst/base/gstcollectpads.h: Handle EOS correctly.
14619
14620 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14621
14622         * tools/gst-launch.c: (main):
14623           more null protecting
14624
14625 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14626
14627         * gst/gst-i18n-lib.h:
14628           check for ENABLE_NLS, not GETTEXT_PACKAGE
14629         * gst/gstregistry.c: (gst_registry_add_plugin),
14630         (gst_registry_scan_path_level),
14631         (_gst_registry_remove_cache_plugins):
14632           protect possibly NULL strings
14633         * gst/parse/types.h:
14634           config.h already included before
14635         * tools/gst-inspect.c: (main):
14636           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
14637           check for ENABLE_NLS, not GETTEXT_PACKAGE
14638         * tools/gst-launch.c: (main):
14639           check for ENABLE_NLS, not GETTEXT_PACKAGE
14640
14641 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14642
14643         * configure.ac:
14644           if we don't have glib, fail before testing 2.8
14645         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
14646           fix a leak, should fix plugins-base testsuite
14647
14648 2005-10-11  Andy Wingo  <wingo@pobox.com>
14649
14650         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
14651         take the mode we're going to as an arg. Go head and set the mode
14652         and flushing flags now, so that if the activate function starts a
14653         thread all the flags will be in the right state.
14654         (post_activate): Renamed also. Just handle making sure streaming
14655         finishes for the deactivation case, and setting the deactivated
14656         mode.
14657         (gst_pad_set_active): Complain loudly if deactivation fails.
14658         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
14659         (gst_pad_activate_push): Adapt to pre/post_activate changes,
14660         remove the terrible hack.
14661
14662 2005-10-11  Wim Taymans  <wim@fluendo.com>
14663
14664         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
14665         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
14666         (gst_bin_recalc_state), (gst_bin_change_state_func),
14667         (gst_bin_dispose), (bin_bus_handler):
14668         * gst/gstbin.h:
14669         Prepare to make current EOS message queue more generic.
14670         Fix some typos.
14671
14672         * gst/gstevent.c: (gst_event_new_newsegment),
14673         (gst_event_parse_newsegment):
14674         * gst/gstevent.h:
14675         Rename base to stream_time.
14676
14677         * gst/gstmessage.h:
14678         Fix typo in docs.
14679
14680 2005-10-11  Wim Taymans  <wim@fluendo.com>
14681
14682         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
14683         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
14684         (gst_bin_change_state_func), (bin_bus_handler):
14685         * gst/gstbin.h:
14686         Work on proper clock selection.
14687
14688 2005-10-11  Edward Hervey  <edward@fluendo.com>
14689
14690         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
14691         * libs/gst/controller/gstcontroller.h:
14692         Added GList* version of _remove_properties() in order to be able to wrap
14693         it in bindings.
14694
14695 2005-10-11  Wim Taymans  <wim@fluendo.com>
14696
14697         * docs/design/part-states.txt:
14698         Some more docs.
14699
14700         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
14701         (gst_bin_change_state_func), (bin_bus_handler):
14702         Doc updates. Don't distribute the same clock over and over again.
14703
14704         * gst/gstclock.c:
14705         * gst/gstclock.h:
14706         Doc updates.
14707
14708         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
14709         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
14710         (gst_pad_send_event):
14711         * gst/gstpad.h:
14712         Make probe emission threadsafe again.
14713         Register quarks and move _get_name() from utils.
14714         Doc updates.
14715
14716         * gst/gstpipeline.c: (gst_pipeline_class_init),
14717         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14718         Only redistribute the clock of it changed.
14719
14720         * gst/gstsystemclock.h:
14721         Doc updates. 
14722
14723         * gst/gstutils.c:
14724         * gst/gstutils.h:
14725         Moved the _flow_get_name() to GstPad.
14726
14727 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14728
14729         * check/gst-libs/gdp.c: (GST_START_TEST):
14730         * check/gst/gstcaps.c: (GST_START_TEST):
14731         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
14732         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
14733         (gst_dp_packet_from_caps):
14734           fix more valgrind warnings before turning up the heat
14735
14736 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14737
14738         * gst/parse/grammar.y:
14739           some cleanup before the hacking
14740
14741 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14742
14743         * gst/base/gstbasesrc.c: (gst_base_src_query):
14744           use conversions
14745         * gst/gstutils.c: (gst_guint64_to_gdouble),
14746         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
14747         * gst/gstutils.h:
14748           externalize, basesrc uses it
14749           obviously the implementation needs testing
14750
14751 2005-10-10  Wim Taymans  <wim@fluendo.com>
14752
14753         * tests/sched/Makefile.am:
14754         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
14755         (make_pipeline3), (make_pipeline4), (print_elem), (main):
14756
14757 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14758
14759         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
14760           apparently converting from guint64 to double is not implemented
14761           on MSVC
14762
14763 2005-10-10  Wim Taymans  <wim@fluendo.com>
14764
14765         * check/Makefile.am:
14766         * check/generic/states.c: (GST_START_TEST):
14767         * check/gst/gstbin.c: (GST_START_TEST):
14768         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
14769         * check/states/sinks.c: (GST_START_TEST):
14770         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
14771         (main):
14772         Check fixes, use API as stated in design docs, remove hacks.
14773
14774         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14775         (gst_base_sink_change_state):
14776         Catch stopping our task while we're shutting down.
14777
14778         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
14779         (gst_bin_remove_func), (gst_bin_get_state_func),
14780         (gst_bin_recalc_state), (gst_bin_change_state_func),
14781         (bin_bus_handler):
14782         * gst/gstbin.h:
14783         * gst/gstelement.c: (gst_element_init),
14784         (gst_element_get_state_func), (gst_element_abort_state),
14785         (gst_element_commit_state), (gst_element_lost_state),
14786         (gst_element_set_state), (gst_element_change_state),
14787         (gst_element_change_state_func):
14788         * gst/gstelement.h:
14789         New state change algorithm (see #318116)
14790
14791         * gst/gstpipeline.c: (gst_pipeline_class_init),
14792         (gst_pipeline_init), (gst_pipeline_set_property),
14793         (gst_pipeline_get_property), (do_pipeline_seek),
14794         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14795         * gst/gstpipeline.h:
14796         Remove crude state change hacks.
14797
14798         * gst/gstutils.h:
14799         Remove crude hacks.
14800
14801         * tools/gst-launch.c: (main):
14802         Fixes for state change. Needs some more work to fully use the
14803         new stuff.
14804
14805 2005-10-10  Andy Wingo  <wingo@pobox.com>
14806
14807         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
14808
14809         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
14810         this flag, but it's not even in GLib 2.6. Odd. Hack around the
14811         issue.
14812
14813 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14814
14815         * gst/gstiterator.c: (gst_iterator_new):
14816           Fix my previous commit: GTypes passed to gst_iterator_new()
14817           can be fundamental types.
14818
14819 2005-10-10  Wim Taymans  <wim@fluendo.com>
14820
14821         * gst/gstelement.c: (gst_element_iterate_pad_list),
14822         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
14823         (gst_element_iterate_sink_pads):
14824         Use src/sink pads lists for the respective iterators instead
14825         of filtering.
14826
14827 2005-10-10  Andy Wingo  <wingo@pobox.com>
14828
14829         Merged in popt removal + GOption addition patch from Ronald, bug
14830         #169772.
14831
14832         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
14833         GstElement macros around, remove popt-related symbols, add goption
14834         stuff.
14835
14836         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
14837         
14838         * docs/gst/Makefile.am:
14839         * docs/libs/Makefile.am: No POPT_CFLAGS.
14840         
14841         * examples/manual/Makefile.am:
14842         * docs/manual/basics-init.xml: Doc updates with an example.
14843         
14844         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
14845         (gst_init), (parse_one_option), (parse_goption_arg):
14846         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
14847         bit of hand merging and debugging to get the GOption stuff working
14848         tho.
14849         
14850         * tests/Makefile.am:
14851         * tools/Makefile.am:
14852         * tools/gst-inspect.c: (main):
14853         * tools/gst-launch.c: (main):
14854         * tools/gst-run.c: (main):
14855         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
14856
14857 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14858
14859         * gst/gstiterator.c: (gst_iterator_new):
14860           Add assertions to make sure passed GType is likely to really
14861           be a GType (as the compiler won't catch it if the size and
14862           GType arguments get mixed up, see #318447).
14863
14864 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
14865
14866         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14867
14868         * gst/gstbin.c: (gst_bin_iterate_sorted):
14869           Pass GType and size arguments to gst_iterator_new() in the right
14870           order (maybe we should make _new() take the GType as first argument
14871           just like _new_list()?) (#318447).
14872           
14873
14874 2005-10-10  Wim Taymans  <wim@fluendo.com>
14875
14876         * gst/gstelement.c: (gst_element_finalize):
14877         And free the GStaticRecMutex too
14878
14879 2005-10-10  Andy Wingo  <wingo@pobox.com>
14880
14881         * gst/gstelement.c (gst_element_init, gst_element_finalize):
14882         Allocate and free the mutex properly.
14883
14884         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
14885         New macros.
14886         (GstElement): The state_lock is now recursive. Rebuild your
14887         plugins, suckers. Old macros adapted.
14888
14889         * docs/gst/gstreamer-sections.txt: Doc updates.
14890
14891         * gst/gstutils.h:
14892         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
14893         (g_static_rec_cond_wait): Ported from state changes patch, while
14894         we wait on bug #317802 to be solved in a well-distributed GLib.
14895
14896         * gst/gstelement.c (gst_element_change_state_func): Renamed from
14897         gst_element_change_state, variable name changes.
14898         (gst_element_change_state): Split out of gst_element_set_state in
14899         preparation for the state change merge. Doesn't pay attention to
14900         the 'transition' argument.
14901         (gst_element_set_state): Updates, hopefully purely cosmetic.
14902         (gst_element_sync_state_with_parent): MT-safety. Ported from the
14903         state change patch.
14904         (gst_element_get_state_func): Renamed from get_state, cosmetic
14905         changes.
14906
14907 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14908
14909         * gst/elements/gstelements.c:
14910         * win32/GStreamer.vcproj:
14911         * win32/config.h:
14912         * win32/dirent.c: (_tseekdir):
14913         * win32/gst-inspect.vcproj:
14914         * win32/gst-launch.vcproj:
14915         * win32/gstconfig.h:
14916         * win32/gstelements.vcproj:
14917         * win32/gstenumtypes.c: (gst_object_flags_get_type):
14918         * win32/gstreamer.def:
14919         * win32/msvc71.sln:
14920           updates for the win32 build (patch from Sebastien Moutte)
14921
14922 2005-10-10  Andy Wingo  <wingo@pobox.com>
14923
14924         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
14925         gst_bin_get_state, cleaned up (but no logic changes).
14926         (bin_element_is_sink): Comment updates.
14927         (sink_iterator_filter): Remove needless cast.
14928         (gst_bin_iterate_sinks): Doc update.
14929         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
14930         cleaned up (but no logic changes).
14931
14932         * check/states/sinks.c (test_src_sink): Cleanups from the state
14933         change patch.
14934         (test_livesrc_sink): Sync on the state.
14935
14936         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
14937         the state change patch.
14938
14939         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
14940         change patch.
14941
14942         * check/gst/gstbin.c: Merge in some style fixes and additional
14943         checks from Wim's state change patch.
14944
14945 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14946
14947         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14948         (gst_type_find_helper):
14949           Check whether we have the requested data already in our list of
14950           cached buffers before pulling a new buffer; also make the buffer
14951           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
14952
14953 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14954
14955         * gst/gstcaps.c:
14956         * gst/gstevent.c:
14957           doc updates
14958         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14959           don't use long long, it's not portable.  Replacing with
14960           gint64 seems to work; let's hope no skeletons fall out of the closet.
14961
14962 2005-10-10  Andy Wingo  <wingo@pobox.com>
14963
14964         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
14965
14966 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
14967
14968         * docs/gst/gstreamer-sections.txt:
14969         * gst/gstevent.c:
14970         * gst/gstevent.h:
14971         * gst/gstinfo.c:
14972         * gst/gstinfo.h:
14973         * gst/gstmessage.c: (gst_message_parse_state_changed):
14974         * gst/gstpad.c:
14975         * gst/gstpad.h:
14976           more docs, fix compilation
14977
14978 2005-10-09  Philippe Khalaf <burger@speedy.org>
14979         * gst/gstmessage.c:
14980           Fixed a few forgotten variables on previous commit
14981
14982 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
14983
14984         * gst/base/gsttypefindhelper.c: (helper_find_peek):
14985           Fix evil typefind crasher: getrange() might return a short
14986           buffer at the end of a file, but gst_type_find_peek() must
14987           either return the full data as requested or NULL, but
14988           never a short buffer.
14989
14990 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14991
14992         * gst/gstmessage.c: (gst_message_new_state_changed),
14993         (gst_message_parse_state_changed):
14994         * gst/gstmessage.h:
14995           don't use "new", it's a C++ keyword
14996
14997 2005-10-08  Wim Taymans  <wim@fluendo.com>
14998
14999         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
15000         * gst/gstelement.c: (gst_element_post_message):
15001         * gst/gstpipeline.c: (gst_pipeline_change_state):
15002         Small docs and debug updates.
15003
15004 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
15005
15006         * docs/gst/gstreamer-sections.txt:
15007         * gst/gstelementfactory.c:
15008         * gst/gstevent.c:
15009         * gst/gsttaglist.c:
15010           more docs
15011
15012 2005-10-08  Wim Taymans  <wim@fluendo.com>
15013
15014         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
15015         (gst_bin_dispose), (bin_bus_handler):
15016         Fix typos, add comments.
15017         Clear EOS list when going to PAUSED from any direction and do it
15018         in a threadsafe way.
15019         Get base time in a threadsafe way too.
15020         Fix confusing debug in the change_state function.
15021         Various other small cleanups.
15022         
15023         * gst/gstelement.c: (gst_element_post_message):
15024         Fix very verbose bus posting code.
15025
15026         * gst/gstpipeline.c: (gst_pipeline_class_init),
15027         (gst_pipeline_set_property), (gst_pipeline_get_property),
15028         (gst_pipeline_change_state):
15029         Small ARG_ -> PROP_ cleanup
15030
15031 2005-10-08  Wim Taymans  <wim@fluendo.com>
15032
15033         * gst/gstbin.c: (is_eos), (bin_bus_handler):
15034         Do a less CPU demanding EOS check because we can.
15035
15036 2005-10-08  Wim Taymans  <wim@fluendo.com>
15037
15038         * libs/gst/dataprotocol/dataprotocol.c:
15039         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
15040         (gst_dp_packet_from_event):
15041         * libs/gst/dataprotocol/dataprotocol.h:
15042         * libs/gst/dataprotocol/dp-private.h:
15043         It's about time we bump the version number.
15044         Since event types don't fit in the guint8 anymore describing
15045         the payload type, make payload type 16 bits wide.
15046
15047 2005-10-08  Wim Taymans  <wim@fluendo.com>
15048
15049         * docs/design/part-TODO.txt:
15050         * docs/design/part-clocks.txt:
15051         * docs/design/part-events.txt:
15052         * docs/design/part-gstbin.txt:
15053         * docs/design/part-gstelement.txt:
15054         * docs/design/part-gstpipeline.txt:
15055         * docs/design/part-live-source.txt:
15056         * docs/design/part-messages.txt:
15057         * docs/design/part-overview.txt:
15058         * docs/design/part-states.txt:
15059         Many doc updates.
15060
15061 2005-10-08  Wim Taymans  <wim@fluendo.com>
15062
15063         * gst/gstevent.c:
15064         * gst/gstevent.h:
15065         Fix event quark registration.
15066         Add some space between events so we can insert them in the
15067         right groups.
15068
15069 2005-10-08  Wim Taymans  <wim@fluendo.com>
15070
15071         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15072         (gst_base_sink_handle_buffer):
15073         Better log message.
15074
15075         * gst/gstbus.h:
15076         * gst/gstelement.h:
15077         More docs.
15078
15079         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
15080         (gst_queue_set_property), (gst_queue_get_property):
15081         * gst/gstqueue.h:
15082         Remove old unused properties.
15083
15084 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
15085         * docs/gst/gstreamer-sections.txt:
15086         * gst/gstmessage.c:
15087         * gst/gstmessage.h:
15088         * gst/gstminiobject.c:
15089         * gst/gstminiobject.h:
15090         * gst/gstobject.h:
15091         * gst/gstpad.h:
15092         * gst/gstutils.h:
15093           lots of new docs and doc fixes
15094
15095 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15096
15097         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
15098         * gst/gstplugin.h:
15099         * gst/gstregistry.c: (gst_registry_lookup_locked),
15100         (gst_registry_scan_path_level):
15101         * gst/gstregistryxml.c: (load_plugin):
15102           Only ever load one plugin for a given plugin basename.
15103           This ensures correct overriding of GST_PLUGIN_PATH over
15104           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
15105           system installed plugins.
15106
15107 2005-10-08  Wim Taymans  <wim@fluendo.com>
15108
15109         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15110         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
15111         Prepare for doing QOS.
15112
15113 2005-10-08  Wim Taymans  <wim@fluendo.com>
15114
15115         * check/gst/gstbin.c: (GST_START_TEST):
15116         * check/pipelines/cleanup.c: (GST_START_TEST):
15117         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
15118         Allow new clock message too.
15119
15120 2005-10-08  Wim Taymans  <wim@fluendo.com>
15121
15122         * gst/gstmessage.c: (gst_message_new_error),
15123         (gst_message_new_warning), (gst_message_new_tag),
15124         (gst_message_new_state_changed), (gst_message_new_clock_provide),
15125         (gst_message_new_clock_lost), (gst_message_new_new_clock),
15126         (gst_message_new_segment_start), (gst_message_new_segment_done),
15127         (gst_message_parse_state_changed),
15128         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
15129         (gst_message_parse_new_clock):
15130         * gst/gstmessage.h:
15131         Also carry the clock in question.
15132
15133 2005-10-08  Wim Taymans  <wim@fluendo.com>
15134
15135         * gst/gstmessage.c: (gst_message_new_custom),
15136         (gst_message_new_eos), (gst_message_new_error),
15137         (gst_message_new_warning), (gst_message_new_tag),
15138         (gst_message_new_state_changed), (gst_message_new_clock_provide),
15139         (gst_message_new_new_clock), (gst_message_new_segment_start),
15140         (gst_message_new_segment_done), (gst_message_parse_state_changed),
15141         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
15142         * gst/gstmessage.h:
15143         Clean up.
15144         Added clock related messages.
15145
15146         * gst/gstpipeline.c: (gst_pipeline_change_state):
15147         Post message when the clock changed.
15148
15149         * tools/gst-launch.c: (event_loop):
15150         Print new clock.
15151
15152 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
15153
15154         * tools/gst-inspect.c: (print_element_properties_info):
15155           Can't pass NULL strings to g_print() on windows.
15156
15157 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15158
15159         * docs/Makefile.am:
15160         * docs/gst/Makefile.am:
15161         * docs/gst/gstreamer-docs.sgml:
15162         * docs/gst/running.xml:
15163         * docs/version.entities.in:
15164           add a chapter on running GStreamer.
15165           document GST_DEBUG and GST_PLUGIN* env vars
15166
15167 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15168
15169         * Makefile.am:
15170           remove include dir
15171         * configure.ac:
15172           remove PLUGINS_BUILDDIR stuff
15173         * gst/gst.c: (init_post):
15174           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
15175         * idiottest.mak:
15176           remove, it was condescending and not needed
15177
15178 2005-10-08  Wim Taymans  <wim@fluendo.com>
15179
15180         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
15181         (gst_base_sink_handle_object), (gst_base_sink_event),
15182         (gst_base_sink_wait), (gst_base_sink_handle_event),
15183         (gst_base_sink_change_state):
15184         * gst/base/gstbasesink.h:
15185         Repost EOS message while going to PLAYING if still EOS.
15186         Make sure that when receiving a FLUSH_START we don't attempt
15187         to sync on the clock anymore.
15188
15189 2005-10-08  Wim Taymans  <wim@fluendo.com>
15190
15191         * tools/gst-launch.c: (event_loop):
15192         Better message printout.
15193
15194 2005-10-08  Wim Taymans  <wim@fluendo.com>
15195
15196         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
15197         (gst_bin_child_proxy_get_children_count):
15198         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
15199         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
15200         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
15201         (gst_child_proxy_set_valist):
15202         * gst/parse/grammar.y:
15203         Make ChildProxy threadsafe and fix mem leaks.
15204
15205 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15206
15207         * gst/gst.c: (init_post):
15208           debug the GST_PLUGIN_ env vars
15209
15210 2005-10-08  Wim Taymans  <wim@fluendo.com>
15211
15212         * check/gst/gstbin.c: (GST_START_TEST):
15213         * check/gst/gstmessage.c: (GST_START_TEST):
15214         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
15215         * gst/gstelement.c: (gst_element_commit_state),
15216         (gst_element_lost_state):
15217         * gst/gstmessage.c: (gst_message_new_state_changed),
15218         (gst_message_parse_state_changed):
15219         * gst/gstmessage.h:
15220         * tools/gst-launch.c: (event_loop):
15221         Added extra field to STATE_CHANGE message with the pending
15222         state, which will be different from the new state soon.
15223
15224 2005-10-08  Wim Taymans  <wim@fluendo.com>
15225
15226         * gst/gstbus.c: (gst_bus_pop):
15227         * gst/gstclock.c:
15228         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
15229         Small cleanups and doc updates.
15230
15231 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15232
15233         * gst/gst.c: (init_pre):
15234         * gst/gstbin.c: (gst_bin_add_func):
15235           log distributing clocks and base time
15236         * gst/gstregistry.c: (gst_registry_add_plugin),
15237         (gst_registry_scan_path_level), (gst_registry_scan_path):
15238           clean up the debugging output a little
15239         * gst/gstutils.c: (gst_element_state_get_name):
15240           warn about a memleak (I've actually seen this be used, though
15241           it was probably a bug)
15242
15243 2005-10-07  Wim Taymans  <wim@fluendo.com>
15244
15245         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15246         (gst_base_src_init), (gst_base_src_default_newsegment),
15247         (gst_base_src_newsegment), (gst_base_src_do_seek),
15248         (gst_base_src_loop), (gst_base_src_start):
15249         * gst/base/gstbasesrc.h:
15250         Make the newsegment event customizable by subclasses.
15251
15252 2005-10-07  Wim Taymans  <wim@fluendo.com>
15253
15254         * gst/gstevent.c: (gst_event_new_buffersize),
15255         (gst_event_parse_buffersize):
15256         * gst/gstevent.h:
15257         New event for future idea.
15258
15259 2005-10-07  Andy Wingo  <wingo@pobox.com>
15260
15261         * gst/gstelement.c (gst_element_post_message): Doc update.
15262
15263         * docs/gst/gstreamer-sections.txt: Update.
15264
15265         * gst/gstmessage.c (gst_message_new_application): Made into a
15266         function like honest API calls.
15267         (gst_message_new_element): New message type.
15268
15269         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
15270
15271         * check/elements/fakesrc.c (test_no_preroll): New check, checks
15272         that setting a live fakesrc to PAUSED returns NO_PREROLL both
15273         times.
15274
15275         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
15276         NO_PREROLL from gst_element_change_state to fall through.
15277
15278 2005-10-07  Wim Taymans  <wim@fluendo.com>
15279
15280         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
15281         (gst_ghost_pad_do_activate_push):
15282         Activating a ghostpad with no internal pad in push mode
15283         is ok.
15284
15285 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15286
15287         * gst/gstobject.h:
15288           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
15289           Fixes compilation on Windows.
15290
15291 2005-10-07  Michael Smith <msmith@fluendo.com>
15292
15293         * tools/gst-inspect.c:
15294           Print out feature and plugin count at the end when printing out
15295           all features.
15296
15297 2005-10-04  Michael Smith <msmith@fluendo.com>
15298
15299         * gst/gsterror.c: (_gst_stream_errors_init):
15300           Add another error string used in a few existing plugins.
15301
15302         * gst/gstplugin.c:
15303         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15304         * tools/gst-inspect.c: (print_element_info):
15305           When a feature disappears from a plugin (and the feature exists in
15306           the cached registry file), things went horribly wrong. This isn't a
15307           complete fix, we should actually be removing the 'missing' features
15308           from the features list when we load the actual plugin. That's not
15309           yet implemented. 
15310
15311 2005-10-04  Johan Dahlin  <johan@gnome.org>
15312
15313         * check/gst/gstiterator.c: (GST_START_TEST):
15314         * gst/gstbin.c: (gst_bin_iterate_elements),
15315         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
15316         * gst/gstelement.c: (gst_element_iterate_pads):
15317         * gst/gstformat.c: (gst_format_iterate_definitions):
15318         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
15319         (gst_iterator_new_list), (gst_iterator_filter):
15320         * gst/gstiterator.h:
15321         * gst/gstquery.c: (gst_query_type_iterate_definitions):
15322         Add a GType to GstIterator, update callsites and tests.
15323
15324 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15325
15326         * gst/gstpad.c: (gst_pad_event_default_dispatch):
15327           give events a chance to be handled by event probes when the pad
15328           is not linked
15329
15330 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15331
15332         * gst/gstevent.c: (gst_event_type_get_name),
15333         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
15334         * gst/gstevent.h:
15335           add string representations for event types
15336
15337 2005-10-06  Wim Taymans  <wim@fluendo.com>
15338
15339         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
15340         Don't use NULL pointers.
15341
15342 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15343
15344         * gst/gst_private.h:
15345         * gst/gstbus.c:
15346         * gst/gstelement.c:
15347         * gst/gstinfo.c:
15348         * gst/gstpluginfeature.c:
15349           widen the debug category in output to fit the biggest one we have
15350           add a bus category and use it
15351           play with the colors
15352           fix up some categories
15353
15354 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15355
15356         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
15357           add push activation of sink ghost pads.
15358           Andye, please verify
15359
15360 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15361
15362         * gst/gstutils.c: (gst_element_link_pads):
15363           fix a bug in the case where neither element has a pad
15364         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
15365           add a test for that case
15366
15367 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15368
15369         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
15370           emit have-data before checking for peers.  This allows
15371           for probe handlers to connect elements.  This helps autopluggers.
15372         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
15373         (gst_pad_suite):
15374           add six checks, linked/unlinked with no/true/false probe
15375
15376 2005-10-04  Wim Taymans  <wim@fluendo.com>
15377
15378         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
15379         (gst_fake_sink_event), (gst_fake_sink_preroll),
15380         (gst_fake_sink_render), (gst_fake_sink_change_state):
15381         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
15382         (gst_fake_src_get_property), (gst_fake_src_create),
15383         (gst_fake_src_stop):
15384         * gst/elements/gstidentity.c: (gst_identity_stop):
15385         Protect last_message with lock.
15386
15387 2005-10-04  Edward Hervey  <edward@fluendo.com>
15388
15389         * gst/gstformat.h: 
15390         Added precision in the comments for GST_FORMAT_DEFAULT
15391
15392 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
15393
15394         * tools/gst-launch.c: (main):
15395           Don't try to run erroneous pipelines.
15396
15397 2005-10-04  Julien MOUTTE  <julien@moutte.net>
15398
15399         * gst/gstbus.c: We don't need this header.
15400
15401 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15402
15403         * configure.ac:
15404           back to development
15405
15406 === release 0.9.3 ===
15407
15408 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15409
15410         * README:
15411         * configure.ac:
15412           Releasing 0.9.3, "Unregistered"
15413
15414 2005-10-03  Andy Wingo  <wingo@pobox.com>
15415
15416         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
15417         whereby calling a pad's activatepush() function can start a thread
15418         that starts to push or pull before the pad gets the FLUSHING flag
15419         unset. Hack around it by holding the stream lock until the flag is
15420         set. Need to replace this with a proper solution. Together with
15421         the ghost pad fixes, this fixes mp3 playing/tagreading.
15422
15423         * docs/design/part-gstghostpad.txt: Add a note about activation of
15424         proxy pads outside of ghost pads.
15425
15426         * gst/gstghostpad.c: Implement the ghost pad activation design.
15427
15428 2005-10-02  Andy Wingo  <wingo@pobox.com>
15429
15430         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
15431         It is volatile, after all.
15432
15433         * docs/design/part-gstghostpad.txt: Flesh out activation with
15434         ghost pads.
15435
15436         * gst/base/gstbasesrc.c (gst_base_src_init): Use
15437         GST_DEBUG_FUNCPTR.
15438
15439 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
15440
15441         * configure.ac:
15442           Fix (unused) AM_CONDITIONAL tests.
15443
15444 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
15445
15446         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15447
15448         * gst/gstutils.c: (gst_pad_query_convert):
15449           Add assertion that makes sure src_val is >=0, just like
15450           gst_query_new_convert() has. (#315895)
15451
15452 2005-09-30  Edward Hervey  <edward@fluendo.com>
15453
15454         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
15455         Let's not iterate pads we're not interested in, it avoids getting 
15456         sky-high refcounts on sinkpad.
15457
15458 2005-09-30  Wim Taymans  <wim@fluendo.com>
15459
15460         * gst/gstelement.c: (gst_element_set_state),
15461         (gst_element_change_state):
15462         Small tweak, element in ASYNC remains ASYNC.
15463
15464 2005-09-30  Wim Taymans  <wim@fluendo.com>
15465
15466         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
15467         Only error is an error.
15468
15469         * gst/gstbin.c: (gst_bin_change_state):
15470         Better debugging.
15471
15472         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
15473         Also call pad_block in pad alloc.
15474
15475         * gst/gstutils.c: (gst_flow_get_name):
15476         Better debugging.
15477
15478 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15479
15480         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15481         (gst_base_src_get_range):
15482           Fix documentation typos. Add some more debug info.
15483
15484 2005-09-29  David Schleef  <ds@schleef.org>
15485
15486         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
15487           more end-user friendly.
15488         * tools/gst-inspect.c: (main): Check if command-line argument is
15489           a file and attempt to load that file as a plugin.
15490
15491 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15492
15493         * check/gst/gstbin.c:
15494         * check/states/sinks.c:
15495           fix tests for the new warning
15496         * check/gst/gstpipeline.c:
15497           add a test for pipeline and bus interaction
15498         * gst/gstelement.c:
15499           elements should be NULL if they get disposed; add a warning if not
15500
15501 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15502
15503         * gst/gstobject.c:
15504           for 2.6 refcounting, make debug log more correct by printing
15505           the actual refcounts at the time of swap (Wim)
15506
15507 2005-09-29  Andy Wingo  <wingo@pobox.com>
15508
15509         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
15510         removes signal watches previously added via
15511         gst_bus_add_signal_watch.
15512         (gst_bus_add_signal_watch): Don't return the source id, just store
15513         it on the bus if there wasn't an id already.
15514
15515         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
15516         add_signal_watch and remove_signal_watch.
15517
15518 2005-09-29  Edward Hervey  <edward@fluendo.com>
15519
15520         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
15521         Better if we actually iterate the list :)
15522
15523 2005-09-29  Wim Taymans  <wim@fluendo.com>
15524
15525         * check/gst/gstbin.c: (GST_START_TEST):
15526         Change for new bus API.
15527
15528         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
15529         (send_messages), (GST_START_TEST), (gstbus_suite):
15530         Change for new bus signal API.
15531
15532         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
15533         (gst_bus_source_prepare), (gst_bus_source_check),
15534         (gst_bus_create_watch), (gst_bus_add_watch_full),
15535         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
15536         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
15537         * gst/gstbus.h:
15538         Remove support for multiple GSources operating on different
15539         message types as it is too complex and unneeded when using
15540         signals.
15541         Added support for receiving signals from the bus.
15542
15543 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15544
15545         * docs/libs/tmpl/gstdataprotocol.sgml:
15546         * docs/manual/advanced-dataaccess.xml:
15547         * gst/elements/gstcapsfilter.c:
15548         * gst/gstutils.c:
15549           rename filter-caps to caps property
15550
15551 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15552
15553         * gst/gstvalue.c: (gst_value_deserialize_fraction):
15554           More robust fraction string parsing.
15555
15556         * docs/pwg/appendix-porting.xml:
15557           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
15558
15559 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15560
15561         * gst/gstcaps.c: (gst_caps_do_simplify):
15562           Thou shalt not free a structure and then continue using it
15563           in the next loop iteration.
15564
15565         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
15566         (gst_caps_suite):
15567           Add test case for caps simplification.
15568
15569 2005-09-29  Wim Taymans  <wim@fluendo.com>
15570
15571         * check/gst/gstbin.c: (GST_START_TEST):
15572         Oops.
15573
15574 2005-09-29  Wim Taymans  <wim@fluendo.com>
15575
15576         * check/gst/gstbin.c: (GST_START_TEST):
15577         Add bus to bin.
15578
15579         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
15580         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
15581         (find_element), (gst_bin_sort_iterator_next),
15582         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15583         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15584         (gst_bin_change_state), (gst_bin_dispose):
15585         A bin does not have a bus, it gets the bus from the parent.
15586
15587         * gst/gstelement.c: (gst_element_requires_clock),
15588         (gst_element_provides_clock), (gst_element_is_indexable),
15589         (gst_element_is_locked_state), (gst_element_change_state),
15590         (gst_element_set_bus_func):
15591         Small cleanups.
15592
15593         * gst/gstpipeline.c: (gst_pipeline_class_init),
15594         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
15595         The pipeline provides a bus.
15596
15597 2005-09-28  Johan Dahlin  <johan@gnome.org>
15598
15599         * gst/gstmessage.c (gst_message_parse_state_changed): Use
15600         gst_structure_get_enum instead of gst_structure_get_int
15601
15602         * gst/gststructure.c (gst_structure_get_enum): Impl.
15603
15604         * gst/gststructure.h (gst_structure_get_enum): Add
15605
15606         * docs/gst/gstreamer-sections.txt: Ditto
15607
15608         * gst/gstmessage.c (gst_message_new_state_changed): Use
15609         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
15610         which does introspection.
15611         Reviewed by Christian Schaller
15612
15613 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
15614
15615         * gst/gstinfo.c: (gst_debug_log_default):
15616           don't do dummy g_strdup()s
15617         * libs/gst/controller/gstcontroller.c:
15618         (on_object_controlled_property_changed),
15619         (gst_controlled_property_new), (gst_controller_new_valist),
15620         (gst_controller_new_list),
15621         (gst_controller_remove_properties_valist), (gst_controller_set),
15622         (gst_controller_get), (gst_controller_sync_values),
15623         (gst_controller_get_value_array), (_gst_controller_class_init),
15624         (gst_controller_get_type):
15625         * libs/gst/controller/gstcontroller.h:
15626         * libs/gst/controller/gstinterpolation.c:
15627         (gst_controlled_property_find_timed_value_node):
15628           convert // to /**/ comments
15629
15630 2005-09-28  Wim Taymans  <wim@fluendo.com>
15631
15632         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
15633         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
15634         (gst_bus_sync_signal_handler):
15635         * gst/gstbus.h:
15636         Added async-message and sync-message signals to the bus.
15637         Added helper BusFunc to emit signals for all posted messages.
15638
15639         * gst/gstmessage.c: (gst_message_type_get_name),
15640         (gst_message_type_to_quark), (gst_message_get_type):
15641         * gst/gstmessage.h:
15642         Register quarks for message names.
15643
15644 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
15645
15646         * docs/libs/gstreamer-libs-sections.txt:
15647         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
15648         (gst_controller_new_list):
15649         * libs/gst/controller/gstcontroller.h:
15650           added another constructor for language bindings
15651
15652 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15653
15654         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
15655           add another check
15656         * gst/gstbus.c:
15657           add some doc
15658         * gst/gstinfo.c: (_gst_debug_init):
15659           slightly more readable color for refcount debugging
15660
15661 2005-09-28  Wim Taymans  <wim@fluendo.com>
15662
15663         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
15664         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
15665         (find_element), (gst_bin_sort_iterator_next),
15666         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15667         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15668         (gst_bin_change_state), (gst_bin_dispose):
15669         Small doc fixes. get_clock -> provide_clock.
15670
15671         * gst/gstelement.c: (gst_element_class_init),
15672         (gst_element_provides_clock), (gst_element_provide_clock),
15673         (gst_element_get_clock), (gst_element_commit_state),
15674         (gst_element_lost_state):
15675         * gst/gstelement.h:
15676         Make get/set_clock() symetric. Add provide_clock vmethod since
15677         that is actually what this function does.
15678
15679         * gst/gstpipeline.c: (gst_pipeline_class_init),
15680         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
15681         (gst_pipeline_get_clock):
15682         get_clock -> provide_clock.
15683
15684 2005-09-28  Andy Wingo  <wingo@pobox.com>
15685
15686         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
15687         lieu of real docs...
15688
15689         * gst/elements/gstfdsrc.c: Cleaned up a bit.
15690
15691 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
15692
15693         * gst/elements/gstcapsfilter.c:
15694         * gst/elements/gstfakesink.c:
15695         * gst/elements/gstfakesrc.c:
15696         * gst/elements/gstfdsink.c:
15697         * gst/elements/gstfdsrc.c:
15698         * gst/elements/gstfilesink.c:
15699         * gst/elements/gstfilesrc.c:
15700         * gst/elements/gstidentity.c:
15701         * gst/elements/gsttee.c:
15702         * gst/elements/gsttypefindelement.c:
15703           Make element details static.
15704
15705 2005-09-28  Wim Taymans  <wim@fluendo.com>
15706
15707         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15708         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15709         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15710         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15711         (gst_bin_change_state), (gst_bin_dispose):
15712         Some documentation updates.
15713         Clean up dispose handlers.
15714
15715         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
15716         * gst/gstpad.c: (gst_pad_dispose):
15717         Clean up dispose handler.
15718
15719         * gst/gstpipeline.c: (gst_pipeline_change_state):
15720         Removed spurious UNLOCK.
15721
15722 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
15723
15724         * docs/gst/gstreamer-sections.txt:
15725         * gst/base/gstbasesrc.h:
15726         * gst/gstelement.h:
15727         * gst/gstevent.h:
15728         * gst/gstobject.h:
15729         * gst/gstpad.h:
15730         * gst/gstpipeline.c:
15731         * gst/gstpipeline.h:
15732         * gst/gstutils.h:
15733         * gst/gstxml.h:
15734           added two new functions to the docs
15735                 documents all undocumented GstXXXFlags
15736                 completed some incomplete docs 
15737
15738 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15739
15740         * gst/gstbin.c: (gst_bin_dispose):
15741         * gst/gstelement.c: (gst_element_dispose):
15742           remove now useless and leaky resurrection code in dispose
15743         * gst/base/gstbasesrc.c: (gst_base_src_init):
15744         * gst/gstelementfactory.c: (gst_element_factory_create):
15745         * gst/gstobject.c: (gst_object_set_parent):
15746           add some debugging
15747
15748 2005-09-27  Wim Taymans  <wim@fluendo.com>
15749
15750         * docs/design/part-TODO.txt:
15751         Update TODO.
15752
15753         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15754         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15755         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15756         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15757         (gst_bin_change_state):
15758         * gst/gstelement.h:
15759         Remove element variable, we keep element info in the iterator now.
15760
15761 2005-09-27  Andy Wingo  <wingo@pobox.com>
15762
15763         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
15764         values.
15765
15766 2005-09-27  Wim Taymans  <wim@fluendo.com>
15767
15768         * check/gst/gstbin.c: (GST_START_TEST):
15769         Enable check that works now.
15770
15771         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15772         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15773         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15774         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15775         (gst_bin_change_state):
15776         * gst/gstbin.h:
15777         Redid the state change algorithm using a topological sort algo.
15778         Handles all cases correctly.
15779         Exposed iterator for state change order.
15780
15781         * gst/gstelement.h:
15782         Temp storage for state changes. Need to get rid of this soon.
15783
15784 2005-09-27  Wim Taymans  <wim@fluendo.com>
15785
15786         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
15787         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
15788         (link_fold_func), (gst_pad_proxy_setcaps):
15789         Leak fixes, the fold functions need to unref the passed object and
15790         _get_parent_*() returns ref to parent.
15791
15792 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15793
15794         * check/gst/gstbuffer.c: (test_make_writable):
15795           Plug leak in test case and fix 'make check-valgrind'
15796
15797 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15798
15799         * gst/gstbuffer.c: (gst_subbuffer_init):
15800           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
15801           works correctly in all circumstances (we could have just copied
15802           the parent buffer's readonly flag, but conceptually it seems
15803           cleaner to mark all subbuffers as read-only). (based on patch
15804           by Alessandro Decina, #314710).
15805         
15806         * check/gst/gstbuffer.c: (create_read_only_buffer),
15807         (test_make_writable), (test_subbuffer_make_writable),
15808         (gst_test_suite):
15809           Add some tests for gst_buffer_make_writable().
15810
15811 2005-09-27  Wim Taymans  <wim@fluendo.com>
15812
15813         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
15814         use gst_object_has_ancestor().
15815
15816         * gst/gstobject.c: (gst_object_has_ancestor):
15817         * gst/gstobject.h:
15818         gst_object_has_ancestor() copied from gstbin.c as it is a
15819         useful function.
15820
15821         * tests/instantiate/create.c: (create_all_elements):
15822         * tests/lat.c: (handoff_src), (handoff_sink):
15823         * tests/sched/runxml.c: (main):
15824         * tests/seeking/seeking1.c: (main):
15825         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15826         (main):
15827         Fix compilation of some tests.
15828
15829 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15830
15831         * gst/gsterror.h:
15832           Remove comment. GST_TYPE_G_ERROR is here to stay,
15833           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
15834           (#316961, #300610).
15835
15836 2005-09-26  Wim Taymans  <wim@fluendo.com>
15837
15838         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15839         Added check that shows error in state change order.
15840
15841 2005-09-26  Wim Taymans  <wim@fluendo.com>
15842
15843         * gst/gstbin.c: (gst_bin_change_state):
15844         Make state change function use 3 queues again, we were
15845         adding elements in the wrong order.
15846
15847         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
15848         Some debug info,
15849
15850         * gst/gstpad.c: (gst_pad_dispose):
15851         Added some debug info first.
15852
15853 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
15854
15855         * docs/design/draft-push-pull.txt:
15856         * docs/design/part-events.txt:
15857         * docs/design/part-overview.txt:
15858         * docs/design/part-scheduling.txt:
15859           Replace all _pull_region() with _pull_range()
15860           
15861 2005-09-26  Andy Wingo  <wingo@pobox.com>
15862
15863         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
15864
15865         * check/gst-libs/controller.c: Update for controller api change.
15866
15867         * configure.ac: 
15868         * tests/Makefile.am:
15869         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
15870         over by GLib bug 118439.
15871         
15872         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
15873         routines to a function.
15874
15875         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
15876
15877         * libs/gst/controller/gsthelper.c:
15878         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
15879         (gst_object_sync_values): Renamed from sink_values. Ugh.
15880
15881         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
15882
15883         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
15884         Renamed from controller_key, as it is exported.
15885
15886         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
15887
15888 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
15889
15890         * gst/Makefile.am:
15891         * gst/gst.h:
15892         * gst/gstpad.h:
15893         * gst/gstpadtemplate.h:
15894         * gst/gstquery.c:
15895         * gst/gstquery.h:
15896         * gst/gstqueryutils.c:
15897         * gst/gstqueryutils.h:
15898           remove queryutils headers after moving the two used functions
15899           to gstquery.  also fixes build problem for gstsiddec
15900
15901 2005-09-26  Michael Smith <msmith@fluendo.com>
15902
15903         * tools/gst-launch.1.in:
15904         Correct documentation in manpage of debug syntax
15905
15906 2005-09-26  Wim Taymans  <wim@fluendo.com>
15907
15908         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
15909         (gst_base_src_is_seekable), (gst_base_src_change_state):
15910         Some more debugging info.
15911
15912 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15913
15914         * docs/gst/gstreamer-sections.txt:
15915         * gst/base/gstbasetransform.h:
15916         * gst/gstindex.h:
15917           added more docs
15918
15919 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15920
15921         * docs/gst/.cvsignore:
15922         * docs/gst/tmpl/.cvsignore:
15923         * docs/gst/tmpl/gstpipeline.sgml:
15924         * docs/gst/tmpl/gstplugin.sgml:
15925         * gst/gstpipeline.c:
15926         * gst/gstplugin.c:
15927         * gst/gstplugin.h:
15928           inlined the last two docs files
15929           removed the tmpl directory from cvs (no more conflicts here!)
15930
15931 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15932
15933         * docs/gst/gstreamer-sections.txt:
15934         * docs/gst/tmpl/.cvsignore:
15935         * docs/gst/tmpl/gstpad.sgml:
15936         * docs/gst/tmpl/gstpadtemplate.sgml:
15937         * gst/Makefile.am:
15938         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
15939         (gst_pad_finalize), (gst_pad_set_pad_template):
15940         * gst/gstpad.h:
15941         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
15942         (gst_pad_template_class_init), (gst_pad_template_init),
15943         (gst_pad_template_dispose), (name_is_valid),
15944         (gst_static_pad_template_get), (gst_pad_template_new),
15945         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
15946         (gst_pad_template_pad_created):
15947         * gst/gstpadtemplate.h:
15948           inlined two more docs
15949           factored gstpadtemplate out of gstpad
15950
15951 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
15952
15953         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15954         (test_children_state_change_order_semi_sink):
15955           Fix test case: we can't rely on a fixed state change order when
15956           going from READY => PAUSED because the sink might commit its 
15957           new state first when the first buffer created by the source 
15958           reaches the sink before the source has finished its change state.
15959           (Test case still fails at times, see #316856, comment 5 onwards)
15960
15961 2005-09-24  Wim Taymans  <wim@fluendo.com>
15962
15963         * docs/design/part-events.txt:
15964         * docs/design/part-gstbus.txt:
15965         * docs/design/part-gstpipeline.txt:
15966         * docs/design/part-messages.txt:
15967         * docs/design/part-overview.txt:
15968         * docs/design/part-segments.txt:
15969         * gst/gstbin.c:
15970         * gst/gstbuffer.c:
15971         * gst/gstclock.c:
15972         * gst/gstelement.c:
15973         * gst/gstevent.c:
15974         * gst/gstfilter.c:
15975         * gst/gstiterator.c:
15976         Various documentation updates.
15977
15978 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15979
15980         * gst/gstclock.h:
15981           Well, that's embarassing.  Luckily we weren't using
15982           GST_CLOCK_DIFF anywhere.
15983
15984 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15985
15986         * common/gtk-doc.mak:
15987           don't fail on building XML, FC4 slave shows a bunch of doc
15988           missing bits that I don't get
15989         * gst/gstpad.c:
15990         * gst/gstpipeline.c:
15991         * gst/gststructure.c:
15992           some doc updates
15993
15994 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
15995
15996         * docs/design/part-gstbin.txt:
15997         * docs/design/part-gstbus.txt:
15998         * gst/gstbus.c:
15999           Add blurb about how the bus goes into flushing mode and
16000           drops all messages when its bin goes from READY into NULL 
16001           state.
16002
16003 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16004
16005         * docs/gst/gstreamer-sections.txt:
16006         * gst/gststructure.c: (gst_structure_get_clock_time):
16007         * gst/gststructure.h:
16008           add a method to get a GstClockTime out of a structure
16009
16010 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
16011
16012         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
16013         (test_children_state_change_order_semi_sink), (gst_bin_suite):
16014           Added test to check state change order in bins (can still be made
16015           to fail here under heavy disk load; bails out with 'Push on pad
16016           fakesink:sink0, but it was not activated in push mode').
16017
16018         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
16019           Fix state change order when there is only a semi sink (#316856)
16020
16021         * gst/gstbus.c: (gst_bus_class_init):
16022           Use _class_peek_parent(), not _class_ref(); fix docs to say
16023           'default main context' instead of 'mainloop' where that is
16024           what's meant.
16025
16026         * gst/gstelement.c: (gst_element_commit_state),
16027         (gst_element_set_state):
16028           Fix typos in debug messages
16029
16030 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16031
16032         * docs/README:
16033         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
16034         * gst/gstpluginfeature.c:
16035         * gst/gstutils.c:
16036           various doc updates
16037         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16038           change an assert into an error until it gets fixed properly
16039
16040 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
16041
16042         * docs/gst/gstreamer-sections.txt:
16043         * docs/gst/tmpl/.cvsignore:
16044         * docs/gst/tmpl/gstelement.sgml:
16045         * docs/gst/tmpl/gstinfo.sgml:
16046         * docs/gst/tmpl/gstobject.sgml:
16047         * gst/gstelement.c:
16048         * gst/gstelement.h:
16049         * gst/gstinfo.c:
16050         * gst/gstinfo.h:
16051         * gst/gstobject.c: (gst_object_class_init):
16052         * gst/gstobject.h:
16053           inlined 3 more biiiig doc files and added some missing docs on the fly
16054
16055 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16056
16057         * check/gst/.cvsignore:
16058         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
16059         * gst/gstregistryxml.c: (load_plugin),
16060         (gst_registry_xml_save_plugin):
16061           put back source in registry.  add checks for find_plugin.
16062         * testsuite/states/bin.c: (assert_state), (empty_bin),
16063         (test_adding_one_element), (main):
16064         * testsuite/states/locked.c: (main):
16065           some compile/run fixes
16066
16067 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16068
16069         * check/gst/gstvalue.c: (GST_START_TEST):
16070           fix leaks in the test itself
16071
16072 2005-09-22  Wim Taymans  <wim@fluendo.com>
16073
16074         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
16075         (gst_base_sink_send_event), (gst_base_sink_peer_query),
16076         (gst_base_sink_query):
16077         Prepare for more accurate position reporting and query
16078         handling.
16079
16080         * gst/gstelement.c: (gst_element_send_event),
16081         (gst_element_set_state):
16082         Add some comment.
16083
16084 2005-09-22  Wim Taymans  <wim@fluendo.com>
16085
16086         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
16087         (gst_query_parse_segment):
16088         * gst/gstquery.h:
16089         More documentation.
16090         Add segment query for future use.
16091
16092 2005-09-22  Wim Taymans  <wim@fluendo.com>
16093
16094         * gst/gstbin.c: (gst_bin_add_func):
16095         Some more debug info.
16096
16097         * gst/gstelement.c: (gst_element_send_event):
16098         Simplify send_event
16099
16100         * gst/gstelement.h:
16101         Don't know how flags got broken.
16102
16103         * gst/gstquery.h:
16104         Added new query.
16105
16106 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
16107
16108         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
16109           Add simplistic test suite for GST_TYPE_DATE serialisation and
16110           deserialisation.
16111
16112 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
16113
16114         * docs/gst/gstreamer-sections.txt:
16115         * gst/gststructure.c: (gst_structure_set_valist),
16116         (gst_structure_get_date):
16117         * gst/gststructure.h:
16118         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
16119         (gst_date_copy), (gst_value_compare_date),
16120         (gst_value_serialize_date), (gst_value_deserialize_date),
16121         (gst_value_transform_date_string),
16122         (gst_value_transform_string_date), (_gst_value_initialize):
16123         * gst/gstvalue.h:
16124           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
16125           bunch of utility functions along with a hack that checks that
16126           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
16127           is required. Part of the grand scheme in #170777.
16128
16129 2005-09-22  Andy Wingo  <wingo@pobox.com>
16130
16131         * gst/gstconfig.h.in: Psych out gtk-doc.
16132
16133         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
16134
16135         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
16136
16137         * tools/gst-inspect.c (print_element_list): Plug some
16138         inconsequential leaks.
16139
16140         * gst/gstregistry.c (gst_registry_get_default): Doc.
16141
16142         * check/gst/gstplugin.c: 
16143         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
16144         * gst/gstelementfactory.c (gst_element_factory_create): 
16145         * gst/gstindexfactory.c (gst_index_factory_create): Update for
16146         refcount changes.
16147
16148         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
16149         (gst_plugin_feature_load): Doc, don't eat refs.
16150
16151         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
16152         (gst_plugin_list_free): Doc.
16153         (gst_plugin_load_file): Doc updates.
16154
16155         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
16156         accessors returning refcounted objects, return a ref.
16157
16158         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
16159         accessor for caps. IDEMPOTENCE. Oh yes.
16160
16161 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
16162
16163         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
16164
16165         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
16166         (_gst_debug_register_funcptr):
16167           Add mutex to serialise access to the hash table with
16168           the function pointer => function name string mapping;
16169           make that hash table static scope (#316809).
16170
16171         * gst/registries/.cvsignore:
16172           Remove left-over file.
16173
16174 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
16175
16176         * docs/pwg/appendix-porting.xml:
16177           And something about newsegment events and caps-on-buffers to
16178           the porting guide (feel free to improve).
16179
16180 2005-09-21  Andy Wingo  <wingo@pobox.com>
16181
16182         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
16183         data and event probes on the same pad.
16184         (test_buffer_probe_once): Test that removing probes from within
16185         the probe functions works.
16186
16187 2005-09-21  Andy Wingo  <wingo@pobox.com>
16188
16189         * check/gst/gstutils.c: New file.
16190         (test_buffer_probe_n_times): A simple buffer probe test. More to
16191         come, foolios.
16192
16193         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
16194         have-data::buffer, not have-data.
16195         (gst_pad_add_event_probe): Likewise for have-data::event.
16196         (gst_pad_add_data_probe): More docs. The part about 'resolving the
16197         peer' isn't quite right yet though.
16198         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
16199         (gst_pad_remove_data_probe): Change to take the guint handler_id
16200         as their arg, not the function+data, which is more glib-like.
16201
16202         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
16203         the signal emission to indicate if the data is a buffer or an
16204         event.
16205         (gst_pad_get_type): Initialize buffer and event quarks.
16206         (gst_pad_class_init): have-data is now a detailed signal, yes it
16207         is.
16208
16209 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
16210
16211         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
16212         * gst/gstutils.c: (gst_util_set_value_from_string),
16213         (gst_util_set_object_arg):
16214           Don't put functional code in g_return_if_fail() or
16215           g_return_val_if_fail() statements, otherwise things will 
16216           break when G_DISABLE_CHECKS is defined during compilation.
16217
16218 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
16219
16220         * docs/gst/tmpl/.cvsignore:
16221         * docs/gst/tmpl/gstvalue.sgml:
16222         * gst/gstvalue.c:
16223         * gst/gstvalue.h:
16224           inlied another one and added  some obvious docs
16225
16226 2005-09-21  Wim Taymans  <wim@fluendo.com>
16227
16228         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
16229         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
16230         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
16231         (gst_fdsrc_get_property), (gst_fdsrc_create):
16232         * gst/elements/gstfdsrc.h:
16233         Properly implement fdsrc. Removed signal and timeout,
16234         better implemented somewhere else.
16235
16236 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
16237
16238         * docs/gst/tmpl/.cvsignore:
16239         * docs/gst/tmpl/gstimplementsinterface.sgml:
16240         * gst/gstinterface.c:
16241           inlined more docs
16242
16243 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
16244
16245         * docs/gst/gstreamer-sections.txt:
16246         * docs/gst/tmpl/.cvsignore:
16247         * docs/gst/tmpl/gstenumtypes.sgml:
16248           remove obsolete doc file
16249
16250 2005-09-21  David Schleef  <ds@schleef.org>
16251
16252         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
16253         little beer, fix a little leak.
16254
16255 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
16256
16257         * docs/gst/gstreamer-docs.sgml:
16258         * docs/gst/gstreamer-sections.txt:
16259         * docs/gst/tmpl/.cvsignore:
16260         * gst/Makefile.am:
16261         * gst/gst.h:
16262         * gst/gstbin.c:
16263         * gst/gstelement.h:
16264         * gst/gstindex.c: (gst_index_class_init):
16265         * gst/gstindex.h:
16266         * gst/gstindexfactory.c: (gst_index_factory_get_type),
16267         (gst_index_factory_class_init), (gst_index_factory_init),
16268         (gst_index_factory_finalize), (gst_index_factory_new),
16269         (gst_index_factory_destroy), (gst_index_factory_find),
16270         (gst_index_factory_create), (gst_index_factory_make):
16271         * gst/gstindexfactory.h:
16272         * gst/gstpluginfeature.c:
16273         * gst/gstpluginfeature.h:
16274         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
16275           more docs inlined, splitted gstindex.{c,h}
16276
16277 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16278
16279         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
16280           fix a leak
16281
16282 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
16283
16284         * gst/elements/gstfilesink.c: (gst_file_sink_init):
16285           Set sync to FALSE by default.
16286
16287 2005-09-20  Wim Taymans  <wim@fluendo.com>
16288
16289         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
16290         (gst_base_sink_init):
16291         Make sync property settable from subclass.
16292
16293         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
16294         (gst_fake_sink_change_state):
16295         Set sync to FALSE by default.
16296
16297 2005-09-20  Wim Taymans  <wim@fluendo.com>
16298
16299         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
16300         * tools/gst-launch.c: (main):
16301         The timeout handler should have lower priority than the source
16302         so we don't timeout before popping a message with 0 timeout.
16303         Dump error messages after failed state change.
16304
16305 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
16306
16307         * tools/gst-inspect.c: (print_element_properties_info):
16308           Fix two typos.
16309
16310 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16311
16312         * check/gst/gstevent.c:
16313         * gst/elements/gstfakesink.c:
16314         * gst/elements/gstfakesink.h:
16315           remove the sync property from fakesink.
16316           has the side effect of setting sync TRUE
16317           for fakesink, which is a change.  Anyone who knows how
16318           to fix this nicely in a GObject-y way, feel free.
16319
16320 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16321
16322         * docs/gst/gstreamer-docs.sgml:
16323           remove probe refsection
16324
16325 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16326
16327         * check/Makefile.am:
16328           disable valgrinding the controller test again
16329         * docs/gst/gstreamer-sections.txt:
16330           update for api-changes
16331
16332 2005-09-20  Wim Taymans  <wim@fluendo.com>
16333
16334         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
16335         (gst_base_sink_set_property), (gst_base_sink_get_property),
16336         (gst_base_sink_do_sync):
16337         * gst/base/gstbasesink.h:
16338         Added sync property to basesink to disable clock sync.
16339
16340 2005-09-20  Andy Wingo  <wingo@pobox.com>
16341
16342         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
16343         eating the caller's refcount.
16344
16345         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
16346         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
16347         refcount.
16348
16349         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
16350         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
16351         of GLib 2.8 public, so we can know which refcount to check in
16352         tests.
16353
16354         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
16355         (gst_object_init): Only set the gst refcount if we're going ahead
16356         with the refcount hack.
16357
16358 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16359
16360         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
16361         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
16362           more leaks plumbed, added more debug-logging
16363         * gst/gstmacros.h:
16364           whitespace fix
16365
16366 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16367
16368         * gst/gstmessage.c:
16369           remove include of gstmemchunk.h
16370
16371 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16372
16373         * gst/gstclock.c: (_gst_clock_id_free):
16374           Commit from the Political Party For More Atomic CVS Commits,
16375           so that people don't waste too much of their day fishing
16376           out obvious leaks out of massive commits.
16377           Oh, and fix a pretty damn obvious leak in the memchunk
16378           removal code.
16379
16380 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16381
16382         * check/Makefile.am:
16383         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
16384           plug mem-leak, re-add to valgrindable tests
16385
16386 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16387
16388         * gst/gstplugin.h:
16389           unbreak the build for those who have chronic arthritis
16390           and typing "make check" is just too taxing on the hands
16391
16392 2005-09-20  Andy Wingo  <wingo@pobox.com>
16393
16394         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
16395         really want it out, you should fix plugins at the same time.
16396
16397 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
16398
16399         * configure.ac:
16400         * docs/gst/gstreamer-sections.txt:
16401         * gst/gstobject.c:
16402           added missing symbols to api docs
16403           disable ref-count hack if we have glib >= 2.8
16404
16405 2005-09-19  David Schleef  <ds@schleef.org>
16406
16407         * docs/gst/Makefile.am: Ignore a few more internal headers
16408         * docs/gst/gstreamer-docs.sgml: Remove old sections
16409         * docs/gst/gstreamer-sections.txt: Remove old sections
16410         * docs/gst/tmpl/gstobject.sgml: update
16411         * docs/gst/tmpl/gstplugin.sgml: update
16412         * docs/gst/tmpl/gstpluginfeature.sgml: update
16413         * docs/random/ds/0.9-suggested-changes: update.
16414         * gst/Makefile.am: remove memchunk and trashstack, since they're
16415           not used.
16416         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
16417         * gst/gst.h: don't include some headers
16418         * gst/gstchildproxy.c: add gstmarshal.h
16419         * gst/gstclock.c: Don't use memchunks
16420         * gst/gstminiobject.c: Add some docs
16421         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
16422         * gst/gstobject.h: same
16423         * gst/gstplugin.c: include gstmacros.h
16424         * gst/gstplugin.h: don't include gstmacros.h, since it's private
16425         * gst/gstquery.c: don't use memchunks
16426         * gst/gstregistry.c: rename gst_registry_deinit()
16427         * gst/gstregistry.h: same
16428
16429 2005-09-19  David Schleef  <ds@schleef.org>
16430
16431         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
16432         * docs/libs/gstreamer-libs-sections.txt:
16433         * docs/libs/tmpl/gstgetbits.sgml:
16434         * docs/libs/tmpl/gstputbits.sgml:
16435
16436 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
16437
16438         * win32/gstenumtypes.c:
16439         * win32/gstenumtypes.h:
16440           Update.
16441
16442 2005-09-19  Wim Taymans  <wim@fluendo.com>
16443
16444         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
16445         Automatically PAUSE and RESUME a pipeline when a flushing seek
16446         is performed.
16447
16448 2005-09-19  Andy Wingo  <wingo@pobox.com>
16449
16450         * gst/gstregistry.h: Spacing fixen.
16451
16452 2005-09-19  Wim Taymans  <wim@fluendo.com>
16453
16454         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
16455         Handle state change failure more correctly.
16456
16457 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16458
16459         * check/Makefile.am:
16460         * check/pipelines/cleanup.c: (run_pipeline):
16461         * check/pipelines/simple_launch_lines.c: (run_pipeline),
16462         (GST_START_TEST):
16463           enable cleanup again after fixing the leak
16464         * docs/README:
16465           some more info on docs
16466
16467 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16468
16469         * check/Makefile.am:
16470           re-enable tests now that leaks are plugged
16471         * check/gst/gst.c:
16472         * check/gst/gstbin.c:
16473         * check/gst/gstpipeline.c:
16474           add some more tests while fixing leaks
16475         * common/check.mak:
16476           make sure binaries are uptodate when valgrinding/gdbing
16477         * gst/gst.c:
16478         * gst/gstelementfactory.c:
16479           remove a ref too many, and add a FIXME for when we get
16480           round to disposing of classes
16481         * gst/gstplugin.c:
16482           fix the refcounting when loading a plugin from a file and
16483           the code pretends that the pointer is the same even though
16484           of course it can change
16485         * gst/gstpluginfeature.c:
16486           unref plugins marked cached (a bit confusing as a name)
16487           as the docs state should be done
16488           various doc additions to explain refcounting
16489         * gst/gstregistry.c:
16490         * gst/gstregistryxml.c:
16491           debugging
16492
16493 2005-09-19  Wim Taymans  <wim@fluendo.com>
16494
16495         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
16496         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
16497         (send_messages), (GST_START_TEST), (gstbus_suite):
16498         * check/gst/gstpipeline.c: (GST_START_TEST):
16499         * check/pipelines/cleanup.c: (run_pipeline):
16500         * check/pipelines/simple_launch_lines.c: (run_pipeline),
16501         (GST_START_TEST):
16502         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
16503         (gst_bus_source_check), (gst_bus_source_dispatch),
16504         (gst_bus_create_watch), (gst_bus_add_watch_full),
16505         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
16506         * gst/gstbus.h:
16507         * tools/gst-launch.c: (event_loop):
16508         * tools/gst-md5sum.c: (event_loop):
16509         GstBusHandler -> GstBusFunc, return value has the same meaning as
16510         any other GSource (FALSE == remove source).
16511         _add_watch() and _add_watch_full() now take a MessageType mask to
16512         only handle specific types of messages.
16513         _poll() returns the GstMessage instead of the message type to avoid
16514         race conditions.
16515         _have_pending() takes a MessageType mask now too.
16516         Added testsuite for multiple bus watches.
16517         Fix testsuites and applications for new bus API.
16518
16519 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16520
16521         * check/Makefile.am:
16522           mark a bunch of the tests as to fix until we fix them
16523
16524 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16525
16526         * common/check.mak:
16527           use GST_PLUGIN settings for valgrind tests as well, so we're
16528           valgrinding the correct thing
16529         * gst/gst.c: (init_post):
16530           plug another leak
16531
16532 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16533
16534         * gst/gst.c: (init_post), (gst_deinit):
16535         * gst/gstelementfactory.c: (gst_element_factory_class_init),
16536         (gst_element_factory_finalize), (gst_element_factory_cleanup):
16537         * gst/gstindex.c: (gst_index_factory_class_init),
16538         (gst_index_factory_finalize):
16539         * gst/gstobject.c: (gst_object_dispose):
16540         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
16541         (gst_plugin_load_file), (gst_plugin_desc_free):
16542         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
16543         (gst_plugin_feature_finalize):
16544         * gst/gstregistry.c: (gst_registry_class_init),
16545         (gst_registry_init), (gst_registry_finalize),
16546         (gst_registry_get_default), (gst_registry_deinit):
16547         * gst/gstregistry.h:
16548         * gst/gstregistryxml.c: (load_feature), (load_plugin):
16549           various cleanups and memleak plugging.  make valgrind is happy now.
16550
16551 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16552
16553         * common/check.mak:
16554           add a check-valgrind target
16555
16556 2005-09-18  David Schleef  <ds@schleef.org>
16557
16558         * tools/gst-inspect.c: Revert the GOption code.
16559
16560 2005-09-17  David Schleef  <ds@schleef.org>
16561
16562         * check/Makefile.am: Fix environment variables.
16563         * check/gst/gstplugin.c: Fix for API changes.
16564         * tools/gst-inspect.c: Fix for API changes.
16565         * tools/gst-xmlinspect.c: Fix for API changes.
16566         * gst/gstelementfactory.c:
16567         * gst/gstplugin.c:
16568         * gst/gstplugin.h:
16569         * gst/gstpluginfeature.c:
16570         * gst/gstpluginfeature.h:
16571         * gst/gstregistry.c:
16572         * gst/gstregistry.h:
16573         * gst/gstregistryxml.c:
16574         * gst/gsttypefind.c:
16575         * gst/gsttypefindfactory.c:
16576         * gst/indexers/gstfileindex.c:
16577         * gst/indexers/gstmemindex.c:
16578         * gst/schedulers/Makefile.am:
16579           Change registry to keep track of both plugins and features,
16580           removing the feature tracking from plugins themselves.
16581
16582 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16583
16584         * check/Makefile.am:
16585         * tools/gst-register.1.in:
16586           remove gst-register
16587
16588 2005-09-15  David Schleef  <ds@schleef.org>
16589
16590         * check/gst/gstplugin.c:
16591         * gst/gstelementfactory.c:
16592         * gst/gstplugin.c:
16593         * gst/gstpluginfeature.c:
16594         * gst/gstregistry.c:
16595           Getting tired of debugging.  Disabled all the unreffing of
16596           plugins and features, which fixes the segfaults, but of
16597           course leaks like crazy.  At least playbin works.
16598
16599 2005-09-15  David Schleef  <ds@schleef.org>
16600
16601         * check/gst/gstplugin.c: (register_check_elements),
16602         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
16603         More testing
16604         * gst/elements/gsttypefindelement.c: Fix refcounting.
16605         * gst/gsttypefind.c:
16606         * gst/gsttypefindfactory.c:
16607         * gst/gsttypefindfactory.h:
16608
16609 2005-09-15  David Schleef  <ds@schleef.org>
16610
16611         * gst/gstindex.c: get refcounting correct.
16612         * gst/gstregistry.c: Handle the case where a feature/plugin is
16613           not found.
16614
16615 2005-09-15  David Schleef  <ds@schleef.org>
16616
16617         * check/Makefile.am:
16618         * check/gst/gstplugin.c: Add test
16619         * gst/gstplugin.c: Fix problems noticed by testsuite
16620         * gst/gstplugin.h:
16621         * gst/gstregistry.c: 
16622         * gst/gstregistry.h:
16623
16624 2005-09-15  David Schleef  <ds@schleef.org>
16625
16626         * gst/gstplugin.c: Implement semi-decent recounting and locking
16627           in plugins and plugin features.
16628         * gst/gstplugin.h:
16629         * gst/gstpluginfeature.c:
16630         * gst/gstpluginfeature.h:
16631         * gst/gstregistry.c:
16632
16633 2005-09-15  Michael Smith <msmith@fluendo.com>
16634
16635         * gst/gstregistry.c: (gst_registry_get_feature_list):
16636           Implement this. Makes oggdemux work; decodebin still broken.
16637
16638 2005-09-14  David Schleef  <ds@schleef.org>
16639
16640         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
16641           #316076)
16642         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
16643         * gst/check/Makefile.am:
16644         * libs/gst/controller/Makefile.am:
16645         * libs/gst/dataprotocol/Makefile.am:
16646
16647 2005-09-14  David Schleef  <ds@schleef.org>
16648
16649         * configure.ac: Remove getbits library.  Nothing uses it, and
16650           it should be in something like liboil if someone did want
16651           to use it.
16652         * libs/gst/Makefile.am:
16653         * libs/gst/getbits/Makefile.am:
16654         * libs/gst/getbits/gbtest.c:
16655         * libs/gst/getbits/getbits.c:
16656         * libs/gst/getbits/getbits.h:
16657         * libs/gst/getbits/gstgetbits_generic.c:
16658         * libs/gst/getbits/gstgetbits_i386.s:
16659         * libs/gst/getbits/gstgetbits_inl.h:
16660
16661 2005-09-14  David Schleef  <ds@schleef.org>
16662
16663         * gst/Makefile.am: Dist glib-compat.h
16664
16665 2005-09-14  David Schleef  <ds@schleef.org>
16666
16667         * configure.ac: Remove gst/registries, since it's no longer used.
16668         * gst/registries/Makefile.am:
16669         * gst/registries/gstlibxmlregistry.c:
16670         * gst/registries/gstlibxmlregistry.h:
16671         * gst/registries/gstxmlregistry.c:
16672         * gst/registries/gstxmlregistry.h:
16673         * gst/registries/registrytest.c:
16674
16675 2005-09-14  David Schleef  <ds@schleef.org>
16676
16677         * gst/glib-compat.h:
16678         * gst/gstregistryxml.c:
16679           Convergence is near.  Seriously.
16680
16681 2005-09-14  David Schleef  <ds@schleef.org>
16682
16683         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16684         * gst/glib-compat.h:
16685           Attempt #4 to appease the buildbots.
16686
16687 2005-09-14  David Schleef  <ds@schleef.org>
16688
16689         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16690           Attempt #3.
16691
16692 2005-09-14  David Schleef  <ds@schleef.org>
16693
16694         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16695         Attempt #2.
16696
16697 2005-09-14  David Schleef  <ds@schleef.org>
16698
16699         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
16700           the new functions.
16701
16702 2005-09-14  David Schleef  <ds@schleef.org>
16703
16704         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16705         * gst/glib-compat.h: Add some functions that are in newer versions
16706           of glib than we care to require.
16707         * gst/gstregistryxml.c: Use them.
16708
16709 2005-09-14  David Schleef  <ds@schleef.org>
16710
16711         * po/POTFILES.in: remove gst-register.c
16712
16713 2005-09-14  David Schleef  <ds@schleef.org>
16714
16715         * docs/gst/gstreamer-docs.sgml:
16716         * docs/gst/gstreamer-sections.txt:
16717         * docs/gst/gstreamer.types:
16718         * docs/gst/tmpl/gstelement.sgml:
16719         * docs/gst/tmpl/gstplugin.sgml:
16720         * docs/gst/tmpl/gstpluginfeature.sgml:
16721           Documentation updates for registry changes.
16722
16723 2005-09-14  David Schleef  <ds@schleef.org>
16724
16725         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
16726           because we don't require glib-2.8.
16727
16728 2005-09-14  David Schleef  <ds@schleef.org>
16729
16730         * gst/gstregistryxml.c: Added.  Essentially moved out of the
16731           registries directory.
16732
16733 2005-09-14  David Schleef  <ds@schleef.org>
16734
16735         * check/Makefile.am:
16736         * check/generic/states.c:
16737         * gst/Makefile.am:
16738         * gst/gst.c:
16739         * gst/gst.h:
16740         * gst/gst_private.h:
16741         * gst/gstelementfactory.c:
16742         * gst/gstindex.c:
16743         * gst/gstinfo.c:
16744         * gst/gstplugin.c:
16745         * gst/gstplugin.h:
16746         * gst/gstpluginfeature.c:
16747         * gst/gstpluginfeature.h:
16748         * gst/gstregistry.c:
16749         * gst/gstregistry.h:
16750         * gst/gstregistrypool.c: remove
16751         * gst/gstregistrypool.h: remove
16752         * gst/gsttypefind.c:
16753         * gst/gsttypefindfactory.c:
16754         * gst/gsturi.c:
16755         * tools/Makefile.am:
16756         * tools/gst-compprep.c:
16757         * tools/gst-inspect.c:
16758         * tools/gst-register.c: remove
16759         * tools/gst-xmlinspect.c:
16760           Registry rewrite.  Changes registry from being a file created
16761           by a tool into a simple cache file created automatically by 
16762           libgstreamer.  Removed gst-register (because it's no longer
16763           needed).  Remove registry pools, because we only have one
16764           registry implementation (XML).  Fix up other subsystems as
16765           necessary.
16766
16767 2005-09-13  Michael Smith <msmith@fluendo.com>
16768
16769         * gst/gstconfig.h.in:
16770           Don't Use windows linking attributes for MinGW. Fixes #316157
16771
16772 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16773
16774         * gst/gstutils.c: (set_state_async_thread_func),
16775         (gst_element_set_state_async):
16776           Apparently people think it's better if this function doesn't
16777           try to set the state to whatever state was asked for on the first
16778           call to this function for any object.  Seriously.
16779
16780 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16781
16782         * check/gst/gstpipeline.c: (GST_START_TEST):
16783         * docs/gst/gstreamer-sections.txt:
16784         * gst/gstutils.c: (set_state_async_thread_func),
16785         (gst_element_set_state_async):
16786         * gst/gstutils.h:
16787           add a "gst_element_set_state_async" method that
16788           sets the state and starts a thread to make sure the state
16789           change completes as best as it can
16790
16791 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16792
16793         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
16794           codify design+behaviour in testsuite after discussion
16795
16796 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16797
16798         * docs/gst/tmpl/gstelement.sgml:
16799         * docs/manual/appendix-quotes.xml:
16800           add a quote
16801         * gst/gstelement.c: (gst_element_set_state):
16802           add some debug
16803
16804 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
16805
16806         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16807         (gst_base_transform_prepare_output_buf),
16808         (gst_base_transform_handle_buffer):
16809         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
16810         (gst_capsfilter_prepare_buf):
16811           Remove the requirement for sub-classes to call the parent
16812           implementation of prepare_output_buffer with a wrapper function.
16813           
16814         * gst/gsttaglist.h:
16815         * gst/gsttagsetter.h:
16816           Fix #define wrapper
16817
16818 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
16819
16820         * docs/gst/gstreamer-sections.txt:
16821           more doc cleanups
16822
16823 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16824
16825         * docs/gst/gstreamer-sections.txt:
16826         * docs/gst/tmpl/gstelement.sgml:
16827         * docs/gst/tmpl/gstplugin.sgml:
16828         * gst/gstminiobject.c:
16829         * gst/gstvalue.h:
16830           docs now stop throwing warnings
16831
16832 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16833
16834         * docs/gst/gstreamer-sections.txt:
16835         * docs/gst/gstreamer.types:
16836         * docs/gst/tmpl/gstpad.sgml:
16837         * docs/gst/tmpl/gsttypes.sgml:
16838         * gst/base/gstadapter.h:
16839         * gst/base/gstbasesink.h:
16840         * gst/base/gstbasesrc.h:
16841         * gst/gstbin.h:
16842         * gst/gstbuffer.h:
16843         * gst/gstbus.h:
16844         * gst/gstcaps.h:
16845         * gst/gstclock.h:
16846         * gst/gstelement.h:
16847         * gst/gstevent.h:
16848         * gst/gstmessage.h:
16849         * gst/gstpad.h:
16850         * gst/gststructure.c:
16851         * gst/registries/gstlibxmlregistry.h:
16852           various documentation fixes
16853
16854 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16855
16856         * docs/gst/gstreamer-sections.txt:
16857         * docs/gst/tmpl/gstvalue.sgml:
16858           rearrange gstvalue section
16859         * gst/gstutils.c: (gst_element_state_get_name):
16860           NONE -> VOID
16861         * gst/gstvalue.c: (_gst_value_initialize):
16862         * gst/gstvalue.h:
16863           doc updates
16864
16865 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
16866
16867         * check/gst-libs/controller.c:
16868           Header include fix.
16869         * gst/base/gstbasetransform.c:
16870         (gst_base_transform_default_prepare_buf),
16871         (gst_base_transform_handle_buffer):
16872         * gst/base/gstbasetransform.h:
16873           Some more basetransform changes and fixes to enable sub-classes
16874           that modify buffer metadata only.
16875         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
16876         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
16877         (gst_capsfilter_prepare_buf):
16878           If the output pad has fixed allowed caps and input buffers 
16879           don't have any, set the fixed caps on outgoing buffers.
16880
16881 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
16882         * check/elements/identity.c: (GST_START_TEST):
16883           Make the error a little clearer when the test fails because
16884           identity made a copy of the buffer.
16885         * docs/gst/gstreamer-sections.txt:
16886           New symbols in gstbasetransform.h
16887         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16888         (gst_base_transform_init), (gst_base_transform_transform_size),
16889         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16890         (gst_base_transform_default_prepare_buf),
16891         (gst_base_transform_get_unit_size),
16892         (gst_base_transform_buffer_alloc),
16893         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16894         (gst_base_transform_change_state),
16895         (gst_base_transform_set_passthrough),
16896         (gst_base_transform_set_in_place),
16897         (gst_base_transform_is_in_place):
16898         * gst/base/gstbasetransform.h:
16899           Change BaseTransform to separate in_place operate from same_caps
16900           output. in_place implies that the element can perform the transform
16901           on incoming buffers in-place, even if the caps on the output are
16902           different.
16903           Sub-class elements can now implement special buffer allocation
16904           methods for outgoing buffers if they wish to.
16905           Big documentation addition.
16906         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
16907         * gst/elements/gstelements.c:
16908           Changes for basetransform modifications.
16909         * gst/elements/Makefile.am:
16910         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
16911           Compile fix. Extra debug output.
16912
16913 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16914
16915         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
16916         (gst_pad_suite):
16917           add tests for valid pad naming
16918         * gst/check/gstcheck.c: (gst_check_log_message_func),
16919         (gst_check_log_critical_func):
16920           add ASSERT_WARNING
16921           remove printing of code, it is fragile when the code contains
16922           % and the line number is enough info
16923         * gst/check/gstcheck.h:
16924         * gst/gstpad.c: (gst_pad_template_new):
16925           fix memleaks
16926
16927 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16928
16929         * configure.ac:
16930           say what CHECK flags we use
16931         * docs/libs/gstreamer-libs.types:
16932         * libs/gst/controller/Makefile.am:
16933         * libs/gst/controller/gst-controller.c:
16934         * libs/gst/controller/gst-controller.h:
16935         * libs/gst/controller/gst-helper.c:
16936         * libs/gst/controller/gst-interpolation.c:
16937         * libs/gst/controller/gstcontroller.c:
16938         * libs/gst/controller/gsthelper.c:
16939         * libs/gst/controller/gstinterpolation.c:
16940         * tools/gst-inspect.c: (print_plugin_info):
16941           we don't use dashes in header names
16942
16943 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16944
16945         * check/Makefile.am:
16946         * check/gst/.cvsignore:
16947         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
16948         (gst_pipeline_suite), (main):
16949           adding a test for pipelines and state changes
16950         * gst/gstutils.c: (get_state_func):
16951           add some debugging
16952         * gstreamer.spec.in:
16953           fix up spec file
16954
16955 2005-09-08  Michael Smith <msmith@fluendo.com>
16956
16957         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
16958         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
16959         (gst_file_src_is_seekable), (gst_file_src_get_size),
16960         (gst_file_src_start):
16961         * gst/elements/gstfilesrc.h:
16962           Various fixes for unseekable, unmmapable, and non-normal files, so
16963           that fallback to read() rather than mmap() works.
16964         * gst/gstevent.c: (gst_event_new_newsegment):
16965           Allow newsegment events with segment_start == segment_end, as will
16966           correctly happen if you use filesrc on a zero-size file, for
16967           example.
16968
16969 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
16970
16971         * gst/gstplugin.c: (gst_plugin_load_file):
16972           Call g_module_close when we don't load the module
16973
16974         * gst/registries/gstlibxmlregistry.c:
16975         (gst_xml_registry_get_property):
16976           Port leak fix from 0.8
16977
16978 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16979
16980         * docs/gst/gstreamer-docs.sgml:
16981         * docs/gst/tmpl/.cvsignore:
16982         * docs/gst/tmpl/gsttrace.sgml:
16983         * docs/gst/tmpl/gsttrashstack.sgml:
16984         * gst/Makefile.am:
16985         * gst/gst.h:
16986         * gst/gstelement.h:
16987         * gst/gstevent.h:
16988         * gst/gstmessage.c:
16989         * gst/gstmessage.h:
16990         * gst/gsttag.c:
16991         * gst/gsttag.h:
16992         * gst/gsttaginterface.c:
16993         * gst/gsttaginterface.h:
16994         * gst/gsttaglist.c:
16995         * gst/gsttaglist.h:
16996         * gst/gsttagsetter.c:
16997         * gst/gsttagsetter.h:
16998         * gst/gsttrace.c:
16999         * gst/gsttrace.h:
17000         * gst/gsttrashstack.c:
17001           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
17002           inlined docs for gsttrace, gsttrashstack
17003
17004 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
17005
17006         * gst/Makefile.am:
17007         * gst/elements/gstbufferstore.h:
17008         * gst/elements/gsttypefindelement.c:
17009         * gst/elements/gsttypefindelement.h:
17010         * gst/gst.h:
17011         * gst/gsttypefind.c:
17012         * gst/gsttypefind.h:
17013         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
17014         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
17015         (gst_type_find_factory_dispose),
17016         (gst_type_find_factory_unload_thyself),
17017         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
17018         (gst_type_find_factory_get_caps),
17019         (gst_type_find_factory_get_extensions),
17020         (gst_type_find_factory_call_function):
17021         * gst/gsttypefindfactory.h:
17022         * gst/registries/gstlibxmlregistry.c:
17023         * gst/registries/gstxmlregistry.c:
17024           splitted gsttypefind into gsttypefind, gsttypefindfactory
17025
17026 2005-09-07  Andy Wingo  <wingo@pobox.com>
17027
17028         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
17029         condition whereby the pad's task function is entered before the
17030         pad_mode variable was set.
17031
17032 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
17033
17034         * gst/gstpad.c: (gst_pad_alloc_buffer):
17035           Catch misbehaving pad_alloc functions that don't
17036           set up caps and do it for them.
17037
17038 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
17039
17040         * check/pipelines/simple_launch_lines.c: (run_pipeline):
17041           test for pipe!=NULL
17042         * docs/gst/tmpl/.cvsignore:
17043         * docs/gst/tmpl/gstmemchunk.sgml:
17044         * docs/gst/tmpl/gstparse.sgml:
17045         * docs/gst/tmpl/gsttaglist.sgml:
17046         * docs/gst/tmpl/gsttagsetter.sgml:
17047         * docs/gst/tmpl/gsttypefind.sgml:
17048         * docs/gst/tmpl/gsttypefindfactory.sgml:
17049         * gst/gstmemchunk.c:
17050         * gst/gstparse.c:
17051         * gst/gsttag.c:
17052         * gst/gsttaginterface.c:
17053         * gst/gsttypefind.c:
17054         * gst/gsttypefind.h:
17055           inlined more docs
17056
17057 === release 0.9.2 ===
17058
17059 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17060
17061         * NEWS:
17062         * RELEASE:
17063         * configure.ac:
17064           releasing 0.9.2, "South"
17065
17066 2005-09-05  Andy Wingo  <wingo@pobox.com>
17067
17068         * gst/registries/gstxmlregistry.h:
17069         * gst/registries/gstxmlregistry.c: Um... resurrect...
17070         
17071         * gst/registries/gstxmlregistry.h:
17072         * gst/registries/gstxmlregistry.c: and update to newer API.
17073         Incidentally they should be a bit faster now that they don't have
17074         to parse the caps.
17075         
17076 2005-09-05  Andy Wingo  <wingo@pobox.com>
17077
17078         * gst/registries/gstxmlregistry.h:
17079         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
17080         replaced by the libxml registry a while back
17081
17082 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17083
17084         * docs/gst/tmpl/gstplugin.sgml:
17085         * gst/elements/gstelements.c:
17086         * gst/gst.c:
17087         * gst/gstplugin.c: (gst_plugin_register_func),
17088         (gst_plugin_desc_copy), (gst_plugin_desc_free),
17089         (gst_plugin_get_source):
17090         * gst/gstplugin.h:
17091         * gst/registries/gstlibxmlregistry.c: (load_plugin),
17092         (gst_xml_registry_save_plugin):
17093         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
17094         (gst_xml_registry_save_plugin):
17095         * tools/gst-inspect.c: (print_plugin_info):
17096           add a "source" plugin description field, to represent the source
17097           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
17098           will set it to PACKAGE, which is automake's idea of the name of
17099           the source project.
17100
17101 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17102
17103         * Makefile.am:
17104         * autogen.sh:
17105         * configure.ac:
17106         * docs/Makefile.am:
17107         * docs/faq/Makefile.am:
17108         * docs/gst/tmpl/gstelement.sgml:
17109         * docs/gst/tmpl/gsttypes.sgml:
17110         * docs/htmlinstall.mak:
17111         * docs/manual/Makefile.am:
17112         * docs/pwg/Makefile.am:
17113           reorganize doc build a little
17114           split out docbook and gtk-doc stuff
17115           have two separate --enable's and enable them through autogen
17116           but disable by default in configure (to be similar to other
17117           projects)
17118         * gstreamer.spec.in:
17119           clean up docs install
17120         * po/af.po:
17121         * po/az.po:
17122         * po/ca.po:
17123         * po/cs.po:
17124         * po/de.po:
17125         * po/en_GB.po:
17126         * po/fr.po:
17127         * po/it.po:
17128         * po/nb.po:
17129         * po/nl.po:
17130         * po/ru.po:
17131         * po/sq.po:
17132         * po/sr.po:
17133         * po/sv.po:
17134         * po/tr.po:
17135         * po/uk.po:
17136         * po/vi.po:
17137           translation updates
17138
17139 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
17140
17141         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
17142           Add comment.
17143           
17144         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
17145         (gst_fake_sink_change_state):
17146           Make state change function thread-safe.
17147           
17148         * gst/gstpad.c: (gst_pad_alloc_buffer):
17149           Set offset on generic buffer allocated by fallback.
17150
17151 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
17152
17153         * docs/gst/gstreamer-sections.txt:
17154         * docs/gst/tmpl/gstelement.sgml:
17155         * gst/gstpad.c:
17156         * libs/gst/controller/gst-controller.c:
17157         (gst_controlled_property_set_interpolation_mode),
17158         (gst_controlled_property_new),
17159         (gst_controller_find_controlled_property):
17160          run the wingo-magic script against the docs
17161
17162 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
17163
17164         * docs/gst/gstreamer-docs.sgml:
17165         * docs/gst/gstreamer-sections.txt:
17166         * docs/gst/tmpl/.cvsignore:
17167         * docs/gst/tmpl/gstelementdetails.sgml:
17168         * docs/gst/tmpl/gstelementfactory.sgml:
17169         * gst/gst.c:
17170         * gst/gstbus.c:
17171         * gst/gstelementfactory.c:
17172         * gst/gstelementfactory.h:
17173           merged elementdetails docs into elementfactory docs
17174           inlined both
17175
17176 2005-09-02  Andy Wingo  <wingo@pobox.com>
17177
17178         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
17179         consider this enum an enum and not a flags.
17180
17181 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
17182
17183         * docs/gst/gstreamer-docs.sgml:
17184         * docs/gst/tmpl/.cvsignore:
17185         * docs/gst/tmpl/gstghostpad.sgml:
17186         * docs/gst/tmpl/gstiterator.sgml:
17187         * docs/gst/tmpl/gstmacros.sgml:
17188         * docs/gst/tmpl/gstrealpad.sgml:
17189         * docs/gst/tmpl/gstregistry.sgml:
17190         * docs/gst/tmpl/gstregistrypool.sgml:
17191         * docs/gst/tmpl/gststructure.sgml:
17192         * docs/gst/tmpl/gstsystemclock.sgml:
17193         * docs/gst/tmpl/gsttrace.sgml:
17194         * gst/gstghostpad.c:
17195         * gst/gstmacros.h:
17196         * gst/gstmemchunk.c:
17197         * gst/gstmemchunk.h:
17198         * gst/gstqueue.c:
17199         * gst/gstregistry.c:
17200         * gst/gstregistrypool.c:
17201         * gst/gststructure.c:
17202         * gst/gstsystemclock.c:
17203           more docs inlined
17204
17205 2005-09-02  Andy Wingo  <wingo@pobox.com>
17206
17207         * gst/gstelement.h (GstState): Renamed from GstElementState,
17208         changed to be a normal enum instead of flags.
17209         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
17210         munged to be GST_STATE_CHANGE_*.
17211         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
17212         work with the new state representation.
17213         (GstStateChange): New enumeration of possible state transitions.
17214         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
17215         (GstElementClass::change_state): Pass the GstStateChange along as
17216         an argument. Helps language bindings, so they don't have to use
17217         tricky lock-needing macros like GST_STATE_CHANGE ().
17218
17219         * scripts/update-states (file): New script. Run it on a file to
17220         update it for state naming and API changes. Updates files in
17221         place.
17222
17223         * All files updated for the new API.
17224
17225 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17226
17227         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
17228         * gst/gstutils.c: (gst_util_set_value_from_string),
17229         (gst_util_set_object_arg):
17230           fix a bunch of unchecked return values
17231         * tools/gst-complete.c: (main):
17232         * gstreamer.spec.in:
17233           clean up a little
17234
17235 2005-09-01  Wim Taymans  <wim@fluendo.com>
17236
17237         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17238         (gst_base_sink_event), (gst_base_sink_do_sync),
17239         (gst_base_sink_handle_event):
17240         * gst/base/gstbasesink.h:
17241         Handle newsegments more correctly.
17242
17243         * gst/gstbus.c:
17244         Fix docs.
17245
17246         * gst/gstevent.c: (gst_event_new_newsegment):
17247         A newsegment cannot have a start_time of -1
17248
17249 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
17250
17251         * win32/gstenumtypes.c:
17252         * win32/gstenumtypes.h:
17253           Update
17254
17255 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
17256
17257         * libs/gst/controller/gst-controller.c:
17258         (gst_controlled_property_set_interpolation_mode),
17259         (gst_controlled_property_new):
17260          fixed boolean again
17261
17262 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
17263
17264         * docs/faq/gst-uninstalled:
17265           add -good
17266         * gst/gstevent.c:
17267         * gst/gstevent.h:
17268           remove wrong docs
17269         * gst/gstutils.c: (gst_element_link_filtered):
17270         * gst/gstutils.h:
17271           add gst_element_link_filtered
17272
17273 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
17274
17275         * docs/gst/gstreamer-docs.sgml:
17276         * docs/gst/gstreamer-sections.txt:
17277         * docs/gst/tmpl/.cvsignore:
17278         * docs/gst/tmpl/gsterror.sgml:
17279         * docs/gst/tmpl/gstfilter.sgml:
17280         * docs/gst/tmpl/gsturihandler.sgml:
17281         * docs/gst/tmpl/gsturitype.sgml:
17282         * docs/gst/tmpl/gstutils.sgml:
17283         * docs/gst/tmpl/gstxml.sgml:
17284         * gst/gsterror.c:
17285         * gst/gsterror.h:
17286         * gst/gstfilter.c:
17287         * gst/gsturi.c:
17288         * gst/gsturitype.c:
17289         * gst/gstutils.c:
17290         * gst/gstxml.c:
17291           inlined more docs, fixed double id-ref
17292
17293 2005-08-31  Wim Taymans  <wim@fluendo.com>
17294
17295         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
17296         (gst_base_transform_handle_buffer):
17297         Passthrough elements don't need the caps as they don't care.
17298
17299 2005-08-31  Wim Taymans  <wim@fluendo.com>
17300
17301         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
17302         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
17303         Don't leak refcounts on buffers.
17304
17305 2005-08-31  Wim Taymans  <wim@fluendo.com>
17306
17307         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
17308         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
17309         (gst_base_transform_chain), (gst_base_transform_change_state):
17310         * gst/base/gstbasetransform.h:
17311         Handle the case where we are not negotiated more gracefully.
17312
17313 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
17314
17315         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
17316         (gst_file_src_map_region):
17317           Set READONLY flag on mmap'ed buffers, otherwise
17318           gst_buffer_make_writable() won't work properly (#314708).
17319
17320 2005-08-31  Wim Taymans  <wim@fluendo.com>
17321
17322         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
17323         passthrough elements can even do inplace on non writable
17324         buffers (as they don't touch them).
17325
17326 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
17327
17328         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
17329         (gst_test_mono_source_set_property),
17330         (gst_test_mono_source_class_init), (GST_START_TEST),
17331         (gst_controller_suite):
17332           more tests (hehe I have the most)
17333         * gst/gstbus.c:
17334           describe popping messages whenusing mulltiple sources
17335         * libs/gst/controller/gst-controller.c:
17336         (gst_controlled_property_set_interpolation_mode),
17337         (gst_controlled_property_new):
17338         * libs/gst/controller/gst-controller.h:
17339         * libs/gst/controller/gst-interpolation.c:
17340           implement boolean properties
17341
17342 2005-08-31  Wim Taymans  <wim@fluendo.com>
17343
17344         * gst/gstminiobject.c: (gst_mini_object_ref):
17345         Cannot assert that the refcount has to be positive
17346         since a disposed object can be resurrected.
17347
17348 2005-08-31  Wim Taymans  <wim@fluendo.com>
17349
17350         * gst/gstpad.c: (gst_pad_init):
17351         Revert change, need to first fix badly behaving 
17352         apps.
17353
17354 2005-08-30  Wim Taymans  <wim@fluendo.com>
17355
17356         * check/elements/fakesrc.c: (setup_fakesrc):
17357         * check/elements/identity.c: (setup_identity):
17358         Activate pads before using them.
17359
17360 2005-08-30  Wim Taymans  <wim@fluendo.com>
17361
17362         * gst/base/gstadapter.c: (gst_adapter_flush):
17363         Flushing out 0 bytes is ok for this function.
17364
17365         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17366         no newsegment gives a warning and sets the start/stop to 
17367         invalid.
17368
17369         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
17370         (gst_base_transform_set_passthrough):
17371         Some debug info.
17372
17373         * gst/gstminiobject.c: (gst_mini_object_ref):
17374         Check refcount here too.
17375
17376         * gst/gstpad.c: (gst_pad_init):
17377         Pads are initially flushing and refusing data.
17378
17379         * gst/gstutils.c: (gst_element_link_pads_filtered):
17380         When adding a capsfilter element make sure it has the
17381         same state as the parent bin.
17382
17383 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17384
17385         * docs/gst/tmpl/.cvsignore:
17386         * docs/gst/tmpl/gstformat.sgml:
17387         * docs/gst/tmpl/gstversion.sgml:
17388         * gst/gstbus.h:
17389         * gst/gstformat.c:
17390         * gst/gstformat.h:
17391         * gst/gstversion.h.in:
17392           more docs and two more inlined
17393
17394 2005-08-30  Wim Taymans  <wim@fluendo.com>
17395
17396         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
17397         Don't sync to clock.
17398
17399 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17400
17401         * docs/gst/gstreamer-sections.txt:
17402           ultral33t func10ns deserve to appear in the docs actually
17403         * docs/gst/tmpl/.cvsignore:
17404         * docs/gst/tmpl/gstcompat.sgml:
17405         * docs/gst/tmpl/gstconfig.sgml:
17406         * gst/check/gstcheck.c:
17407         * gst/gstcompat.h:
17408         * gst/gstconfig.h.in:
17409           inlined more docs
17410
17411 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17412
17413         * docs/gst/tmpl/.cvsignore:
17414         * docs/gst/tmpl/gstquery.sgml:
17415         * docs/gst/tmpl/gstutils.sgml:
17416         * gst/gstquery.c:
17417         * gst/gstquery.h:
17418           inlined and extended docs
17419
17420 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17421
17422         * check/gst-libs/controller.c: (GST_START_TEST),
17423         (gst_controller_suite):
17424           more tests
17425         * docs/gst/tmpl/gstutils.sgml:
17426         * docs/libs/gstreamer-libs-sections.txt:
17427         * docs/libs/tmpl/gstdataprotocol.sgml:
17428           include path fixes
17429         * examples/controller/audio-example.c: (main):
17430           controller example works now
17431         * gst/gstclock.h:
17432           doc fixes
17433         * tools/gst-inspect.c: (print_element_properties_info):
17434           show param spec flags
17435
17436 2005-08-29  Andy Wingo  <wingo@pobox.com>
17437
17438         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
17439
17440 2005-08-28  Andy Wingo  <wingo@pobox.com>
17441
17442         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
17443         as having two arguments instead of just one. Allows superclasses
17444         to access information on subclasses -- see the terrible for() loop
17445         in gtype.c:g_type_create_instance for the reason why. All callers
17446         changed.
17447
17448 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
17449
17450         * docs/design/part-messages.txt:
17451           update info
17452         * docs/gst/tmpl/.cvsignore:
17453         * docs/gst/tmpl/gstcaps.sgml:
17454         * docs/gst/tmpl/gstclock.sgml:
17455         * gst/gstbus.c:
17456         * gst/gstcaps.c:
17457         * gst/gstcaps.h:
17458         * gst/gstclock.c:
17459         * gst/gstclock.h:
17460         * gst/gstmessage.c:
17461           added descriptions for bus and message
17462           inline caps and clock docs
17463
17464 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
17465
17466         * gst/gstmessage.c:
17467         * gst/gstmessage.h:
17468           doc fixes
17469
17470 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
17471
17472         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
17473           fix div-by-zero
17474
17475 2005-08-26  Andy Wingo  <wingo@pobox.com>
17476
17477         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
17478         element_set_state's return val.
17479         (test_2_elements): Add test that's been disabled for months.
17480
17481         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
17482         can-activate-pull properties.
17483
17484         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
17485         can-activate-pull properties. Implement is_seekable so fakesrc can
17486         operate in pull mode.
17487
17488         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
17489         properties.
17490         (gst_base_sink_activate, gst_base_sink_activate_pull)
17491         (gst_base_sink_activate_push): Make activation mode choosing work.
17492         Cleanups.
17493         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
17494         is right. Make pull mode work. Post an eos before pausing in pull
17495         mode.
17496         (gst_base_sink_change_state): Pay attention to the core's
17497         change_state() return val.
17498         
17499         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
17500         has-getrange properties. Cleanups.
17501         
17502         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
17503         has_getrange and replace with can_activate_pull and
17504         can_activate_push.
17505
17506         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
17507         locking comments. Remove has_loop, has_chain and replace with
17508         can_activate_pull and can_activate_push.
17509
17510 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
17511
17512         * configure.ac:
17513         * examples/Makefile.am:
17514         * examples/metadata/Makefile.am:
17515         * examples/metadata/read-metadata.c: (message_loop),
17516         (have_pad_handler), (make_pipeline), (print_tag), (main):
17517           Add metadata reading example that loops over a list of filenames,
17518           dumping any tags found.
17519
17520         * gst/gstbus.c: (gst_bus_dispose):
17521         * gst/gstelement.c: (gst_element_dispose):
17522           Release a few potentially-held references in dispose.
17523
17524 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17525
17526         * docs/gst/tmpl/gstminiobject.sgml:
17527           do *not* add tmpl/*.sgml files to CVS!
17528
17529 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17530
17531         * libs/gst/bytestream/.cvsignore:
17532         * libs/gst/bytestream/Makefile.am:
17533         * libs/gst/bytestream/adapter.c:
17534         * libs/gst/bytestream/adapter.h:
17535         * libs/gst/bytestream/bytestream.c:
17536         * libs/gst/bytestream/bytestream.h:
17537         * libs/gst/bytestream/filepad.c:
17538         * libs/gst/bytestream/filepad.h:
17539           removing obsolete files
17540
17541 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17542
17543         * docs/gst/gstreamer-docs.sgml:
17544         * docs/libs/gstreamer-libs-docs.sgml:
17545           disabed additional index entries again, as this makes docs-gen just
17546           slow and they aren't useful yet
17547         * docs/libs/gstreamer-libs-sections.txt:
17548           little -section.txt cleanup for libs
17549
17550 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
17551
17552         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17553         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
17554           fix up some debugging
17555         (gst_base_transform_get_unit_size),
17556         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
17557         (gst_base_transform_handle_buffer):
17558         * gst/base/gstbasetransform.h:
17559           handle and store timed NEWSEGMENT events so that subclasses that
17560           calculate time by counting samples have a segment_start time they
17561           need to add to their timestamps - see audioresample
17562
17563 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17564
17565         * gst/gstbin.h:
17566           removed ';' from the end of macro defs
17567         * docs/gst/gstreamer-docs.sgml:
17568         * docs/gst/gstreamer-sections.txt:
17569         * docs/gst/tmpl/.cvsignore:
17570         * gst/gstbus.h:
17571         * gst/gstelement.c: (gst_element_class_init),
17572         (gst_element_set_state), (activate_pads),
17573         (gst_element_save_thyself):
17574         * gst/gstevent.c: (gst_event_new_newsegment):
17575         * gst/gstevent.h:
17576         * gst/gstiterator.c:
17577         * gst/gstiterator.h:
17578         * gst/gstpad.c:
17579         * gst/gstprobe.h:
17580         * gst/gstutils.c: (gst_pad_query_convert):
17581         * gst/gstutils.h:
17582           fixed parameter name mismatches between source, header and docs
17583           added some more docs, resolved the last batch of unused elements in
17584           docs (now someone needs to doc them)
17585
17586 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17587
17588         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
17589         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
17590           don't walk through the plugins backwards.  Where is all this
17591           reversed logic coming from ?
17592
17593 2005-08-25  Wim Taymans  <wim@fluendo.com>
17594
17595         * gst/base/gstbasetransform.c: (gst_base_transform_init),
17596         (gst_base_transform_transform_size),
17597         (gst_base_transform_configure_caps),
17598         (gst_base_transform_get_unit_size),
17599         (gst_base_transform_buffer_alloc),
17600         (gst_base_transform_change_state):
17601         * gst/base/gstbasetransform.h:
17602         Cache caps unit_size.
17603         Make sure we cannot negotiate up and downstream at the
17604         same time.
17605
17606 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17607
17608         * gst/gst.c: (init_pre), (init_post):
17609           register the installed plugin path after the env var
17610         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
17611         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
17612           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
17613           directories, so the tests can prefer uninstalled over installed
17614
17615 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17616
17617         * gst/base/gstbasetransform.h:
17618           comment
17619         * gst/gstpad.c:
17620           add to docs
17621
17622 2005-08-25  Wim Taymans  <wim@fluendo.com>
17623
17624         * gst/gstbin.c: (bin_bus_handler):
17625         Be a bit more conservative about the posted message.
17626         
17627         * gst/gstbus.c: (gst_bus_post):
17628         Some cleanups, warn wrong return values.
17629
17630 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
17631
17632         * check/gst/gstbin.c: (GST_START_TEST):
17633         * gst/gstbin.c: (bin_bus_handler):
17634         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
17635         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17636         (gst_message_new_warning), (gst_message_new_tag),
17637         (gst_message_new_state_changed), (gst_message_new_segment_start),
17638         (gst_message_new_segment_done), (gst_message_new_custom):
17639         * gst/gstmessage.h:
17640         * tools/gst-launch.c: (event_loop):
17641         * tools/gst-md5sum.c: (event_loop):
17642           Revert unpopular change for GST_MESSAGE_SRC to GObject.
17643
17644 2005-08-25  Wim Taymans  <wim@fluendo.com>
17645
17646         * check/generic/states.c: (GST_START_TEST):
17647         Cleanup can be done at the end.
17648
17649         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
17650         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
17651         (gst_task_get_state), (gst_task_start), (gst_task_pause):
17652         Oh boy.. Thanks for finding this, Thomas. 
17653
17654 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
17655
17656         * docs/gst/gstreamer.types:
17657           added missing types
17658
17659 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
17660
17661         * docs/gst/gstreamer-docs.sgml:
17662         * docs/gst/gstreamer-sections.txt:
17663         * docs/gst/tmpl/.cvsignore:
17664         * gst/gstbin.c:
17665         * gst/gstiterator.c:
17666         * gst/gstutils.c:
17667         * gst/registries/gstxmlregistry.h:
17668           added missing classes and symbols (123 more to go)
17669           removed removed symbols from section file
17670           fixed many doc-comments
17671
17672 2005-08-24  Wim Taymans  <wim@fluendo.com>
17673
17674         * check/generic/states.c: (GST_START_TEST):
17675         Make sure all tasks are stopped.
17676
17677         * check/gst/gstbin.c: (GST_START_TEST):
17678         Unref after usage for proper valgrinding.
17679
17680         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
17681         Really wait for the task to stop before destroying the
17682         mutex.
17683
17684         * gst/gstqueue.c: (gst_queue_sink_activate_push),
17685         (gst_queue_src_activate_push):
17686         Small cleanups. Don't stop the task when we did not start
17687         it.
17688
17689         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
17690         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
17691         (gst_task_get_state), (gst_task_start), (gst_task_pause),
17692         (gst_task_join):
17693         * gst/gsttask.h:
17694         Protect the stream lock with the object lock.
17695         Disallow setting the stream lock when running.
17696         Add cleanup_all to wait for the threadpool to finish.
17697         Remove code to autoallocate a mutex if none was provided.
17698         Add _join() to wait for a task to stop.
17699         Protect the thread pool with a global lock.
17700
17701 2005-08-24  Wim Taymans  <wim@fluendo.com>
17702
17703         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17704         (gst_base_sink_get_times), (gst_base_sink_do_sync),
17705         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
17706         * gst/base/gstbasesink.h:
17707         Handle newsegment events correctly.
17708         Drop buffers out of the segment range.
17709
17710 2005-08-22  Andy Wingo  <wingo@pobox.com>
17711
17712         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
17713         macro, implements an interface and gstimplementsinterface for a
17714         new type.
17715
17716 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17717
17718         * check/Makefile.am:
17719         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
17720           add a test that does a bunch of state changes on elements
17721           needs some fixing for valgrind
17722         * check/states/sinks.c: (gst_object_suite):
17723           whitespace
17724         * gst/gstcaps.h:
17725           add prototype for gst_caps_is_equal_fixed
17726         * gst/gstplugin.c:
17727         * gst/gstregistrypool.c:
17728           doc fixes
17729
17730 2005-08-24  Andy Wingo  <wingo@pobox.com>
17731
17732         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
17733         convert a negative value. Doesn't make much sense. Mostly this is
17734         here to force callers to ensure -1 maps to -1.
17735
17736 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
17737
17738         * docs/pwg/advanced-types.xml:
17739           Well done to Michael for catching my deliberate introduction
17740           of this spelling mistake. 
17741         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
17742         * gst/gstelement.h:
17743           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
17744           unlink pads before removing the element from the bin.
17745
17746 2005-08-24  Andy Wingo  <wingo@pobox.com>
17747
17748         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
17749         the same thing as GST_DEBUG=*:4.
17750         (parse_debug_level, parse_debug_category): New helper parsers.
17751
17752 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17753
17754         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17755         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
17756         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
17757         (gst_base_transform_buffer_alloc),
17758         (gst_base_transform_handle_buffer):
17759           use gboolean return values and pointers to size so we can use the
17760           full GST_BUFFER_SIZE range (guint) for buffer sizes
17761           use GstPadDirection for transform_caps
17762         * gst/base/gstbasetransform.h:
17763           rename get_size to get_unit_size since that's what it is
17764         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
17765           use GstPadDirection for transform_caps
17766         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17767         * gst/gstutils.h:
17768           cleanup and debugging
17769
17770 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
17771
17772         * gst/gstelement.c: (gst_element_class_init),
17773         (gst_element_set_state), (activate_pads),
17774         (gst_element_save_thyself):
17775         * tools/gst-compprep.c: (main):
17776         * tools/gst-inspect.c: (print_element_properties_info):
17777         * tools/gst-xmlinspect.c: (print_element_properties):
17778           Fixed long standing mem-leak
17779
17780 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
17781
17782         * check/gst/gstbin.c: (GST_START_TEST):
17783         * gst/gstbin.c: (bin_bus_handler):
17784         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
17785         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17786         (gst_message_new_warning), (gst_message_new_tag),
17787         (gst_message_new_state_changed), (gst_message_new_segment_start),
17788         (gst_message_new_segment_done), (gst_message_new_custom):
17789         * gst/gstmessage.h:
17790         * tools/gst-launch.c: (event_loop):
17791         * tools/gst-md5sum.c: (event_loop):
17792           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
17793           that applications can sensibly post custom messages with references
17794           to their own objects.
17795
17796 2005-08-24  Andy Wingo  <wingo@pobox.com>
17797
17798         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
17799         already.
17800
17801 2005-08-24  Wim Taymans  <wim@fluendo.com>
17802
17803         * gst/base/gstbasetransform.c: (gst_base_transform_init),
17804         (gst_base_transform_transform_caps),
17805         (gst_base_transform_transform_size),
17806         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
17807         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
17808         (gst_base_transform_handle_buffer):
17809         * gst/base/gstbasetransform.h:
17810         Many fixes and new features added by Thomas. Can now also do
17811         transforms with variable sizes and a custom fixate_caps function.
17812
17813 2005-08-24  Wim Taymans  <wim@fluendo.com>
17814
17815         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17816         Some debugging.
17817
17818         * gst/gstclock.h:
17819         Cast to ClockTime before formatting to time.
17820
17821         * gst/gstutils.h:
17822         Cleanups.
17823
17824 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
17825
17826         * check/gst-libs/controller.c: (GST_START_TEST),
17827         (gst_controller_suite):
17828         * docs/gst/tmpl/gstcaps.sgml:
17829         * docs/gst/tmpl/gstghostpad.sgml:
17830         * docs/gst/tmpl/gstquery.sgml:
17831         * docs/gst/tmpl/gstutils.sgml:
17832         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
17833         (gst_object_sink_values), (gst_object_get_value_arrays),
17834         (gst_object_get_value_array):
17835           gracefully handle helper method calls to objects that are not beeing
17836           controlled, added test case for that          
17837
17838 2005-08-23  Wim Taymans  <wim@fluendo.com>
17839
17840         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
17841         (gst_event_new_newsegment), (gst_event_parse_newsegment),
17842         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
17843         (gst_event_parse_qos), (gst_event_new_seek),
17844         (gst_event_parse_seek):
17845         * gst/gstevent.h:
17846         Some more debugging output and doc cleanups.
17847
17848         * gst/gstqueue.c: (gst_queue_handle_sink_event):
17849         Fix possible deadlock.
17850
17851 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17852
17853         * docs/gst/gstreamer-docs.sgml:
17854         * docs/gst/gstreamer-sections.txt:
17855         * docs/gst/gstreamer.types:
17856         * docs/gst/tmpl/.cvsignore:
17857         * gst/gstbin.h:
17858         * gst/gstbus.c:
17859         * gst/gstelement.c:
17860         * gst/gstevent.h:
17861           added 100 symbols from gstreamer-unused.txt to the right sections
17862           fixed more broken comments
17863           added GstBus to docs
17864
17865 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17866
17867         * docs/gst/gstreamer-sections.txt:
17868         * docs/gst/tmpl/.cvsignore:
17869         * docs/gst/tmpl/gstbin.sgml:
17870         * docs/gst/tmpl/gstbuffer.sgml:
17871         * gst/base/gstbasesrc.c:
17872         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
17873         * gst/gstbuffer.c:
17874         * gst/gstbuffer.h:
17875         * tools/gst-launch.1.in:
17876           inlined more doc comments, added missing comments and fixed comments
17877           fixed typos
17878
17879 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17880
17881         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17882           some debugging
17883         * gst/gstcaps.h:
17884           whitespace fixes
17885         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
17886           more debugging
17887         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
17888         * gst/gststructure.h:
17889           add a fixate function for booleans; add a FIXME that these func
17890           names should probably be gst_structure_fixate_*
17891
17892 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17893
17894         * docs/gst/gstreamer-docs.sgml:
17895         * docs/gst/gstreamer-sections.txt:
17896         * gst/Makefile.am:
17897         * gst/gstbin.c: (gst_bin_get_type),
17898         (gst_bin_child_proxy_get_child_by_index),
17899         (gst_bin_child_proxy_get_children_count),
17900         (gst_bin_child_proxy_init):
17901         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
17902         (gst_child_proxy_get_child_by_index),
17903         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
17904         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
17905         (gst_child_proxy_get), (gst_child_proxy_set_property),
17906         (gst_child_proxy_set_valist), (gst_child_proxy_set),
17907         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
17908         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
17909         * gst/gstchildproxy.h:
17910         * gst/parse/grammar.y:
17911         * tools/gst-inspect.c: (print_interfaces),
17912         (print_element_properties_info), (print_element_info):
17913           ported gstchildproxy over from 0.8
17914           ported gst-inspect fixes and enhancements over from 0.8
17915
17916 2005-08-22  Wim Taymans  <wim@fluendo.com>
17917
17918         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17919         (gst_base_transform_handle_buffer):
17920         Also call the transform function if we have ANY caps.
17921
17922         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
17923         Fix debug info.
17924
17925 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
17926
17927         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
17928           Don't pretend to handle seek events if the source is not seekable
17929
17930 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
17931
17932         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17933           Remove extra parameter to debug output
17934
17935         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17936         (gst_base_src_do_seek), (gst_base_src_activate_push):
17937           Fix seek event handling.
17938
17939         * gst/gstpipeline.c: (gst_pipeline_change_state):
17940         * gst/gstqueue.c: (gst_queue_handle_sink_event),
17941         (gst_queue_src_activate_push):
17942           Don't start the src pad task on FLUSH_STOP if the pad
17943           isn't linked.
17944           Debug changes.
17945
17946 2005-08-22  Wim Taymans  <wim@fluendo.com>
17947
17948         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
17949         Added check for gst_static_caps_get() refcounting.
17950
17951 2005-08-22  Wim Taymans  <wim@fluendo.com>
17952
17953         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
17954         Make _static_caps_get() refcounting sane.
17955         
17956         * gst/gstelement.c: (gst_element_set_state):
17957         Add g_return_val_if_fail() to protect against segfaults.
17958
17959 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
17960
17961         * docs/gst/tmpl/gstevent.sgml:
17962         * gst/gstevent.c:
17963         * gst/gstevent.h:
17964           inlined remaining docs, added missing doc comments
17965
17966 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17967
17968         * check/gst/gstbin.c: (GST_START_TEST):
17969           since we don't know when preroll is done, use refcount range
17970           check for the sink
17971         * gst/check/gstcheck.h:
17972           add macro for checking refcount range
17973
17974 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17975
17976         * check/Makefile.am:
17977           clean up environment for when registry gets built versus
17978           when actual tests are run; valgrind seems to not report
17979           leaks if GST_PLUGIN_PATH is set to some specific values
17980         * check/gst/gstbin.c: (GST_START_TEST):
17981           add more refcounting checks; maybe this exposes a
17982           preroll lock bug ?
17983         * common/check.mak:
17984         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17985         * gst/check/gstcheck.h:
17986         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
17987         (gst_bin_change_state):
17988         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
17989           add/fix debugging/whitespace
17990
17991 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
17992
17993         * check/gst/gstevent.c: (event_probe), (test_event),
17994         (GST_START_TEST):
17995          Er, don't call gst_bin_watch_for_state_change you idiot.
17996
17997 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
17998
17999         * check/Makefile.am:
18000           Use CHECK_CFLAGS and CHECK_LIBS
18001         * check/gst/gstevent.c: (event_probe), (test_event),
18002         (GST_START_TEST):
18003           Don't leak events.
18004         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18005         (gst_base_src_start), (gst_base_src_stop),
18006         (gst_base_src_activate_push), (gst_base_src_activate_pull),
18007         (gst_base_src_change_state):
18008           Sprinkle gst_base_src_stop liberally around error paths to fix
18009           problems reusing a source after failed state changes.
18010         * gst/base/gsttypefindhelper.c: (helper_find_peek),
18011         (helper_find_suggest), (gst_type_find_helper):
18012           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
18013         * gst/gstevent.h:
18014         * docs/gst/tmpl/gstevent.sgml:
18015           Migrate part of the docs from the SGML file. Wait for ensonic to
18016           tell me how I did it wrong ;)
18017         * tools/gst-typefind.c: (main):
18018           Extra robustness to state changes between files.
18019
18020 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
18021
18022         * check/Makefile.am:
18023           don't valgrind the controller test - it's leaking - Stefan, HELP
18024         * gst/check/gstcheck.c: (gst_check_message_error),
18025         (gst_check_chain_func), (gst_check_setup_element),
18026         (gst_check_teardown_element), (gst_check_setup_src_pad),
18027         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
18028         (gst_check_teardown_sink_pad):
18029         * gst/check/gstcheck.h:
18030           add a bunch of methods to set up elements, and src and sink pads
18031         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
18032         * check/elements/identity.c: (setup_identity), (cleanup_identity),
18033         (GST_START_TEST):
18034           use them
18035         * gst/gstmessage.c:
18036         * gst/gsttag.h:
18037           whitespace/doc fixes
18038
18039 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18040
18041         * gst/gstelement.h:
18042           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
18043           be handled by the application and not always printed as well
18044
18045 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18046
18047         * check/Makefile.am:
18048           set GST_TOOLS_DIR
18049         * gst/check/gstcheck.c: (gst_check_message_error):
18050         * gst/check/gstcheck.h:
18051           add a fail_unless_equals_int
18052           add fail_unless for error messages
18053
18054 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18055
18056         * check/Makefile.am:
18057         * check/gst.supp:
18058         * common/Makefile.am:
18059         * common/check.mak:
18060         * common/gst.supp:
18061           factor out some of the common stuff so we can use it
18062
18063 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18064
18065         * check/Makefile.am:
18066         * check/gst/gstiterator.c: (GST_START_TEST):
18067         * check/gst/gstsystemclock.c: (GST_START_TEST),
18068         (gst_systemclock_suite):
18069         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
18070         * gst/gstclock.c:
18071           valgrind more tests
18072
18073 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18074
18075         * check/elements/.cvsignore:
18076         * check/elements/gstfakesrc.c:
18077           rename to name of element
18078         * check/elements/identity.c: (chain_func), (event_func),
18079         (setup_identity), (cleanup_identity), (GST_START_TEST),
18080         (identity_suite), (main):
18081           add a test for identity
18082         * check/Makefile.am:
18083         * pkgconfig/Makefile.am:
18084         * pkgconfig/gstreamer-check.pc.in:
18085         * pkgconfig/gstreamer-check-uninstalled.pc.in:
18086         * gst/check:
18087         * gst/Makefile.am:
18088         * configure.ac:
18089           move the check stuff to a library that gets installed
18090         * check/gst-libs/controller.c: (GST_START_TEST):
18091         * check/gst-libs/gdp.c:
18092         * check/gst/gst.c: (GST_START_TEST):
18093         * check/gst/gstbin.c:
18094         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18095         * check/gst/gstbus.c:
18096         * check/gst/gstcaps.c: (GST_START_TEST):
18097         * check/gst/gstelement.c:
18098         * check/gst/gstghostpad.c:
18099         * check/gst/gstiterator.c:
18100         * check/gst/gstmessage.c:
18101         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
18102         * check/gst/gstobject.c:
18103         * check/gst/gstpad.c: (GST_START_TEST):
18104         * check/gst/gststructure.c: (GST_START_TEST):
18105         * check/gst/gstsystemclock.c: (GST_START_TEST),
18106         (gst_systemclock_suite):
18107         * check/gst/gsttag.c: (gst_tag_suite):
18108         * check/gst/gstvalue.c:
18109         * check/pipelines/cleanup.c:
18110         * check/pipelines/simple_launch_lines.c:
18111         * check/states/sinks.c:
18112           change include statement
18113
18114         * docs/gst/gstreamer-sections.txt:
18115         * docs/gst/tmpl/gstpad.sgml:
18116           document more pad stuff
18117         * gst/gstminiobject.c: (gst_mini_object_ref),
18118         (gst_mini_object_unref):
18119           debug refcounting
18120
18121 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
18122
18123         * docs/gst/tmpl/gst.sgml:
18124         * gst/gst.c:
18125           eliminate another tmpl file, fix spelling in the long-description
18126
18127 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
18128
18129         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
18130         (test_event), (timediff), (gstevents_suite):
18131           Should fix build on 64-bit arch's
18132
18133 2005-08-18  Andy Wingo  <wingo@pobox.com>
18134
18135         Make sure that when a pipeline goes to PLAYING, that data has
18136         actually hit the sink.
18137
18138         * check/states/sinks.c (test_sink): A sink that doesn't get any
18139         data shouldn't return SUCCESS for going to either PLAYING or
18140         PAUSED. Test also the return values on the way back down.
18141
18142         * gst/gstelement.c (gst_element_set_state): When changing the
18143         state of an element currently changing state asynchronously, go to
18144         lost-state after commiting the pending state. Makes future calls
18145         to get_state continue to return ASYNC.
18146
18147         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
18148         ASYNC when going to PLAYING if we still don't have preroll, as can
18149         happen with live sources.
18150
18151 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
18152
18153         * docs/pwg/advanced-types.xml:
18154           Hack long paragraph into 2 chunks as a workaround for buggy
18155           jadetex version in sid and breezy that loops infinitely and
18156           eats all RAM.
18157
18158 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
18159
18160         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
18161         (test_event), (timediff), (gstevents_suite):
18162           Provide more error margin in clock measurements to allow for 
18163           g_get_current_time inaccuracies.
18164
18165 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
18166
18167         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
18168         (test_event), (timediff), (gstevents_suite):
18169            Fix error message output so I might be able to tell why the
18170            test works here but fails on the build farm.
18171
18172 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
18173
18174         * check/Makefile.am:
18175         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
18176         (test_event), (timediff), (gstevents_suite), (main):
18177           I wrote a test!
18178
18179         * docs/design/part-seeking.txt:
18180           Spelling correction
18181
18182         * docs/gst/tmpl/gstevent.sgml:
18183         * docs/gst/tmpl/gstfakesrc.sgml:
18184           Docs updates.
18185
18186         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18187           Treat a buffer-without-newsegment the same as a receiving 
18188           a newsegment not in time format, and disable syncing to the clock
18189           with a warning.
18190
18191         * gst/gstbus.c: (gst_bus_set_sync_handler):
18192           Assert if anyone tries to replace the existing sync_handler for bus, 
18193           as only the owner should be setting it.
18194
18195         * gst/gstevent.h:
18196           Have a fixed set of custom event enums with events identified by
18197           their structure name (as in 0.8), rather than a free-for-all
18198           allowing collisions between enum values from different plugins.
18199
18200         * gst/gstpad.c: (gst_pad_class_init):
18201           Docs change.
18202           
18203         * gst/gstqueue.c: (gst_queue_handle_sink_event):
18204           Handle out-of-band downstream events from the sending thread.
18205
18206 2005-08-17  Andy Wingo  <wingo@pobox.com>
18207
18208         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
18209         play-timeout==0 to mean no timeout at all. In that case, don't
18210         bother with a get_state or a warning, just return directly, even
18211         if it's ASYNC.
18212
18213         * gst/base/gstbasetransform.c: Debug changes.
18214
18215         * gst/gstutils.h:
18216         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
18217         ensure bins post state change messages. A bit of a hack but I can't
18218         think of a way to avoid it.
18219
18220         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
18221
18222 2005-08-16  Andy Wingo  <wingo@pobox.com>
18223
18224         * gst/base/gstadapter.h:
18225         * gst/base/gstadapter.c (gst_adapter_take): New function, like
18226         peek() but you own the data. Not terribly efficient atm.
18227
18228 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18229
18230         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
18231         (gst_element_found_tags):
18232         * gst/gstutils.h:
18233           Add two utility functions for tag handling.
18234
18235 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18236
18237         * docs/manual/advanced-dataaccess.xml:
18238         * docs/manual/basics-helloworld.xml:
18239           Fix docs to use _bin_add() before _link(), which fixes the examples
18240           with recent core versions (reported by Madhan Raj M
18241           <raj_madan@rediffmail.com>, #313199).
18242
18243 2005-08-16  Wim Taymans  <wim@fluendo.com>
18244
18245         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
18246         Added subtract checks.
18247
18248         * docs/design/part-events.txt:
18249         Some more docs about newsegment
18250
18251         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
18252         Fix FIXME
18253
18254         * gst/gstcaps.c: (gst_caps_to_string):
18255         Add comments, cleanups.
18256         
18257         * gst/gstelement.c: (gst_element_save_thyself):
18258         cleanups
18259         
18260         * gst/gstvalue.c: (gst_value_collect_int_range),
18261         (gst_string_unwrap), (gst_value_union_int_int_range),
18262         (gst_value_union_int_range_int_range),
18263         (gst_value_intersect_int_int_range),
18264         (gst_value_intersect_int_range_int_range),
18265         (gst_value_intersect_double_double_range),
18266         (gst_value_intersect_double_range_double_range),
18267         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
18268         (gst_value_subtract_int_range_int),
18269         (gst_value_subtract_double_range_double),
18270         (gst_value_subtract_double_range_double_range),
18271         (gst_value_subtract_from_list), (gst_value_subtract_list),
18272         (gst_value_can_compare), (gst_value_compare_fraction):
18273         Cleanups, add comments, remove unneeded asserts.
18274
18275 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18276
18277         * tools/gst-launch.c: (event_loop):
18278           don't convert NULL structures to strings
18279
18280 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
18281
18282         * docs/gst/gstreamer-sections.txt:
18283           made some defines private
18284         * docs/gst/tmpl/gstconfig.sgml:
18285         * docs/gst/tmpl/gstqueue.sgml:
18286         * docs/gst/tmpl/gsttaglist.sgml:
18287         * docs/gst/tmpl/gsttypes.sgml:
18288         * docs/gst/tmpl/gstutils.sgml:
18289         * docs/pwg/appendix-porting.xml:
18290         * gst/base/gstbasesink.h:
18291         * gst/base/gstbasesrc.c:
18292         * gst/base/gstbasesrc.h:
18293         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
18294         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
18295         * gst/gstelement.c: (gst_element_class_init):
18296         * gst/gstpad.c: (gst_pad_class_init):
18297         * gst/gstqueue.c: (gst_queue_class_init):
18298         * gst/gstxml.c: (gst_xml_class_init):
18299           documented all undocumented signal inline
18300         * libs/gst/controller/gst-controller.h:
18301           added padding
18302
18303 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18304
18305         * docs/pwg/appendix-porting.xml:
18306           Document _set_link_function -> _set_setcaps_function.
18307
18308 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18309
18310         * check/Makefile.am:
18311           add a .check target for running the check
18312         * check/gst-libs/controller.c: (GST_START_TEST):
18313           cosmetic fixups
18314         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18315           complete checks for gstbuffer; would be nice if I could get the
18316           gcov stuff to work so I can see if I actually completed gstbuffer.c
18317         * check/gstcheck.h:
18318           add ASSERT_BUFFER_REFCOUNT
18319
18320 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
18321
18322         * docs/gst/gstreamer-sections.txt:
18323         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
18324         * gst/gsttag.h:
18325           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
18326           spew out a warning if a tag that is already registered
18327           is re-registered, unless it is re-registered with a 
18328           different type (#308438).
18329
18330 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
18331
18332         * docs/pwg/appendix-porting.xml:
18333         * docs/pwg/building-state.xml:
18334           Add some paragraphs about state changes in 0.9 to the PWG
18335           and the porting guide, in particular about the new meaning
18336           of GST_STATE_PAUSED and how to write state change functions
18337           with concurrent access by multiple threads in mind.
18338
18339 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
18340
18341         * docs/gst/gstreamer-docs.sgml:
18342         * docs/libs/gstreamer-libs-docs.sgml:
18343           added deprecation and since indexes
18344         * libs/gst/controller/gst-controller.c:
18345         * libs/gst/controller/gst-helper.c:
18346           added since tags
18347
18348
18349 2005-08-11  Wim Taymans  <wim@fluendo.com>
18350
18351         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
18352         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
18353         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
18354         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
18355         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
18356         (gst_ghost_pad_set_target):
18357         Actually implement (re)setting the target on a ghostpad
18358         as described in the docs.
18359
18360 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
18361
18362         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
18363           Check whether GST_DEBUG_NO_COLOR environment variable is
18364           set and disable coloured debug output if that is the case.
18365
18366 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
18367
18368         * gst/base/gsttypefindhelper.c: (helper_find_peek),
18369         (gst_type_find_helper):
18370           The memory returned by gst_type_find_peek() needs to
18371           stay valid until the end of a typefind function, and
18372           typefind functions may keep results from different 
18373           offsets around, so we can't just unref the buffer from
18374           the previous _peek(), but have to save all buffers 
18375           returned by _peek() until typefinding is done and only
18376           free them then.
18377
18378 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
18379
18380         * docs/gst/gstreamer-sections.txt:
18381         * gst/gstutils.h:
18382           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
18383
18384 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18385
18386         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
18387           Fix a pretty good memleak.
18388
18389 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
18390
18391         * gst/gstiterator.h:
18392           Fix wrong include and 'make distcheck'.
18393
18394 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18395
18396         * gst/gstbin.c: (bin_bus_handler):
18397           Use gst_element_post_message() instead.
18398
18399 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
18400
18401         * gst/base/gstadapter.h:
18402         * gst/base/gstbasesink.h:
18403         * gst/base/gstbasesrc.h:
18404         * gst/base/gstbasetransform.h:
18405         * gst/base/gstcollectpads.h:
18406         * gst/base/gstpushsrc.h:
18407         * gst/gstiterator.h:
18408           Add padding to our base elements' class and instance structs and
18409           to GstIterator (you will need to rebuild all plugins and apps!)
18410
18411 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18412
18413         * gst/gstbin.c: (bin_bus_handler):
18414           Make default message forwarding from child->bus to bin->bus
18415           threadsafe and make it not emit warnings if the parent has no bus.
18416
18417 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18418
18419         * gst/gstelement.c: (activate_pads):
18420           On paused->ready, set pad->caps to NULL, as is the documented
18421           behaviour in this state change. Fixes playback of series of
18422           media files when visualization is enabled in Totem.
18423
18424 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18425
18426         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
18427           Allow NULL as filter-caps (which means "any").
18428
18429 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
18430
18431         * docs/libs/gstreamer-libs-sections.txt:
18432         * libs/gst/controller/gst-controller.c:
18433         * libs/gst/controller/gst-controller.h:
18434         * libs/gst/controller/gst-helper.c:
18435           adding more entries to the docs and fix small doc-bugs
18436
18437 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
18438
18439         * docs/gst/gstreamer-docs.sgml:
18440         * docs/gst/gstreamer-sections.txt:
18441         * docs/gst/gstreamer.types:
18442         * docs/gst/tmpl/gstbasesink.sgml:
18443         * docs/gst/tmpl/gstbasesrc.sgml:
18444         * docs/gst/tmpl/gstbasetransform.sgml:
18445         * docs/gst/tmpl/gstfakesrc.sgml:
18446         * gst/base/gstcollectpads.c:
18447         * gst/base/gstcollectpads.h:
18448         * libs/gst/controller/gst-controller.c:
18449         * libs/gst/controller/gst-controller.h:
18450         * libs/gst/controller/gst-helper.c:
18451         * libs/gst/controller/gst-interpolation.c:
18452         * libs/gst/controller/lib.c:
18453           added long/short desc for controller docs
18454           added collectpads base class docs
18455           added correct includes to base-class docs
18456
18457 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
18458
18459         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
18460         (gst_test_mono_source_set_property),
18461         (gst_test_mono_source_class_init), (GST_START_TEST),
18462         (gst_controller_suite):
18463         * docs/gst/gstreamer-docs.sgml:
18464         * docs/gst/gstreamer-sections.txt:
18465         * docs/gst/gstreamer.types:
18466         * docs/libs/gstreamer-libs-docs.sgml:
18467         * docs/libs/gstreamer-libs-sections.txt:
18468         * gst/base/gstadapter.c:
18469         * libs/gst/controller/gst-controller.c:
18470         (gst_controlled_property_new), (gst_controlled_property_free),
18471         (gst_controller_new_valist),
18472         (gst_controller_remove_properties_valist),
18473         (gst_controller_sink_values), (_gst_controller_finalize):
18474         * libs/gst/controller/gst-controller.h:
18475         * libs/gst/controller/gst-helper.c:
18476         (gst_object_control_properties), (gst_object_uncontrol_properties),
18477         (gst_object_get_controller), (gst_object_set_controller),
18478         (gst_object_sink_values), (gst_object_get_value_arrays),
18479         (gst_object_get_value_array):
18480           more tests (and fixes) for the controller
18481           more docs for the controller
18482           integrated companies docs for the adapter 
18483
18484 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18485
18486         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
18487         (GST_START_TEST), (fakesrc_suite):
18488           add tests for sizetype
18489
18490 2005-08-04  Andy Wingo  <wingo@pobox.com>
18491
18492         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
18493         fixes buffer_alloc proxying among other things.
18494
18495         * gst/base/gstbasetransform.c:
18496         * gst/base/gstbasetransform.h:
18497         Revert patch to gstbasetransform from 7-28 removing
18498         delay_configure.
18499
18500         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
18501         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
18502         Semantics changed, should return not the size of the output buffer
18503         but the byte size of a buffer with a given caps.
18504
18505         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
18506         debug object.
18507         (gst_base_transform_configure_caps): Don't set out_size here: (in,
18508         out) are not the pad caps until setcaps finishes.
18509         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
18510         not-in-place case as well. Deal with changing from in-place to
18511         not-in-place within calling pad_alloc_buffer. Still a bit
18512         concerned about the overhead here...
18513
18514 2005-08-03  Andy Wingo  <wingo@pobox.com>
18515
18516         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
18517         fixating is an error.
18518
18519 2005-08-04  Edward Hervey  <edward@fluendo.com>
18520
18521         * gst/base/gstadapter.h: 
18522         Added gst_adapter_get_type() to the header
18523
18524 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
18525
18526         * check/Makefile.am:
18527         * check/gst-libs/controller.c:
18528         * libs/gst/controller/gst-controller.c:
18529         (gst_controller_new_valist):
18530           added check test suite for the controller
18531         * gst/base/gstpushsrc.c:
18532           fixed a doc typo
18533
18534 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
18535
18536         * docs/gst/Makefile.am:
18537         * docs/gst/gstreamer-docs.sgml:
18538         * docs/gst/gstreamer-sections.txt:
18539         * docs/gst/gstreamer.types:
18540         * docs/gst/tmpl/gstfakesrc.sgml:
18541         * gst/base/README:
18542         * gst/base/gstbasesink.c:
18543         * gst/base/gstbasesink.h:
18544         * gst/base/gstbasesrc.c:
18545         * gst/base/gstbasesrc.h:
18546         * gst/base/gstbasetransform.c:
18547         * gst/base/gstpushsrc.c:
18548         * gst/base/gstpushsrc.h:
18549           add short/long description docs to base classes
18550           add pushsrc to the docs
18551           remove consolidated doc fragments
18552
18553 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
18554
18555         * configure.ac:
18556         * docs/libs/Makefile.am:
18557         * docs/libs/gstreamer-libs-docs.sgml:
18558         * docs/libs/gstreamer-libs-sections.txt:
18559         * docs/libs/gstreamer-libs.types:
18560         * examples/Makefile.am:
18561         * examples/controller/.cvsignore:
18562         * examples/controller/Makefile.am:
18563         * examples/controller/audio-example.c: (main):
18564         * libs/gst/Makefile.am:
18565         * libs/gst/controller/.cvsignore:
18566         * libs/gst/controller/Makefile.am:
18567         * libs/gst/controller/gst-controller.c:
18568         (on_object_controlled_property_changed), (gst_timed_value_compare),
18569         (gst_timed_value_find),
18570         (gst_controlled_property_set_interpolation_mode),
18571         (gst_controlled_property_new), (gst_controlled_property_free),
18572         (gst_controller_find_controlled_property),
18573         (gst_controller_new_valist), (gst_controller_new),
18574         (gst_controller_remove_properties_valist),
18575         (gst_controller_remove_properties), (gst_controller_set),
18576         (gst_controller_set_from_list), (gst_controller_unset),
18577         (gst_controller_get), (gst_controller_get_all),
18578         (gst_controller_sink_values), (gst_controller_get_value_arrays),
18579         (gst_controller_get_value_array),
18580         (gst_controller_set_interpolation_mode),
18581         (_gst_controller_finalize), (_gst_controller_init),
18582         (_gst_controller_class_init), (gst_controller_get_type):
18583         * libs/gst/controller/gst-controller.h:
18584         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
18585         (g_object_uncontrol_properties), (g_object_get_controller),
18586         (g_object_set_controller), (g_object_sink_values),
18587         (g_object_get_value_arrays), (g_object_get_value_array):
18588         * libs/gst/controller/gst-interpolation.c:
18589         (gst_controlled_property_find_timed_value_node),
18590         (interpolate_none_get), (interpolate_trigger_get),
18591         (interpolate_trigger_get_value_array):
18592         * libs/gst/controller/lib.c: (gst_controller_init):
18593         * pkgconfig/Makefile.am:
18594         * pkgconfig/gstreamer-control-uninstalled.pc.in:
18595         * pkgconfig/gstreamer-control.pc.in:
18596         * testsuite/Makefile.am:
18597         * testsuite/controller/.cvsignore:
18598         * testsuite/controller/Makefile.am:
18599         * testsuite/controller/interpolator.c: (main):
18600           added controller code
18601           removed dparam pc files
18602
18603 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
18604         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
18605         (gst_collectpads_stop):
18606           Broadcast the condition when shutting down, to make sure we wake all
18607           threads up. Shut down pads on finalize, for safety.
18608
18609 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
18610         * gst/base/gstbasetransform.c: (gst_base_transform_init),
18611         (gst_base_transform_handle_buffer),
18612         (gst_base_transform_change_state):
18613           Handle PAUSED->READY->PAUSED transition after negotiation
18614           occurred already.
18615         * gst/gstmessage.c: (gst_message_init):
18616           Extra piece of debug for new messages.
18617
18618 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
18619
18620         * configure.ac:
18621         * docs/gst/tmpl/gstbasesrc.sgml:
18622         * docs/gst/tmpl/gstelement.sgml:
18623         * docs/gst/tmpl/gstevent.sgml:
18624         * docs/gst/tmpl/gstfakesrc.sgml:
18625         * docs/gst/tmpl/gstformat.sgml:
18626         * docs/gst/tmpl/gstghostpad.sgml:
18627         * docs/gst/tmpl/gstpad.sgml:
18628         * docs/gst/tmpl/gstquery.sgml:
18629         * docs/gst/tmpl/gststructure.sgml:
18630         * docs/gst/tmpl/gsttaglist.sgml:
18631         * docs/gst/tmpl/gstvalue.sgml:
18632         * docs/libs/gstreamer-libs-docs.sgml:
18633         * docs/libs/gstreamer-libs-sections.txt:
18634         * docs/libs/gstreamer-libs.types:
18635         * libs/gst/Makefile.am:
18636         * libs/gst/control/.cvsignore:
18637         * libs/gst/control/Makefile.am:
18638         * libs/gst/control/control.c:
18639         * libs/gst/control/control.h:
18640         * libs/gst/control/dparam.c:
18641         * libs/gst/control/dparam.h:
18642         * libs/gst/control/dparam_smooth.c:
18643         * libs/gst/control/dparam_smooth.h:
18644         * libs/gst/control/dparamcommon.h:
18645         * libs/gst/control/dparammanager.c:
18646         * libs/gst/control/dparammanager.h:
18647         * libs/gst/control/dplinearinterp.c:
18648         * libs/gst/control/dplinearinterp.h:
18649         * libs/gst/control/unitconvert.c:
18650         * libs/gst/control/unitconvert.h:
18651         * testsuite/Makefile.am:
18652         * testsuite/dynparams/.cvsignore:
18653         * testsuite/dynparams/Makefile.am:
18654         * testsuite/dynparams/dparamstest.c:
18655         * tools/Makefile.am:
18656         * tools/gst-inspect.c: (print_element_info), (main):
18657         * tools/gst-xmlinspect.c: (print_element_info), (main):
18658           deactivate and remove dparams (libgstcontrol)
18659
18660 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18661
18662         * gst/elements/gsttypefindelement.c:
18663         (gst_type_find_element_have_type), (gst_type_find_element_init),
18664         (stop_typefinding), (gst_type_find_element_handle_event),
18665         (gst_type_find_element_chain), (gst_type_find_element_getrange):
18666         * gst/elements/gsttypefindelement.h:
18667           Set caps on all outgoing buffers, not just the first one.
18668
18669 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18670
18671         * gst/elements/gsttypefindelement.c:
18672         (gst_type_find_element_have_type),
18673         (gst_type_find_element_check_set_buffer_caps),
18674         (gst_type_find_element_init), (stop_typefinding),
18675         (gst_type_find_element_handle_event),
18676         (gst_type_find_element_chain), (gst_type_find_element_getrange):
18677         * gst/elements/gsttypefindelement.h:
18678           Set caps on first outgoing buffer when we've found the type.
18679
18680 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18681
18682         * docs/gst/gstreamer-docs.sgml:
18683         * docs/gst/gstreamer-sections.txt:
18684         * docs/gst/tmpl/gstscheduler.sgml:
18685         * docs/gst/tmpl/gstschedulerfactory.sgml:
18686           Remove some old cruft from docs.
18687
18688 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
18689
18690         * gst/gstpad.h:
18691           Fix inline docs for GstPadLinkReturn.
18692           
18693         * gst/gststructure.c: (gst_structure_has_name):
18694         * gst/gststructure.h:
18695         * docs/gst/gstreamer-sections.txt:
18696           New API: gst_structure_has_name().
18697
18698 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
18699
18700         * configure.ac:
18701           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
18702           and _LARGEFILE_SOURCE in config.h as required. Do not 
18703           export those flags in our .pc files any longer (#142209).
18704
18705           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
18706
18707         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
18708         (gst_file_sink_do_seek), (gst_file_sink_event),
18709         (gst_file_sink_get_current_offset), (gst_file_sink_render):
18710           Redo seek/tell calls with large file support in mind; add some
18711           debugging messages; add log message that tells us when large
18712           file support is unavailable or not enabled for some reason.
18713
18714         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
18715           Add log message that tells us when large file support 
18716           is unavailable or not enabled for some reason.
18717
18718 2005-07-29  Wim Taymans  <wim@fluendo.com>
18719
18720         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18721         Added test for removing an element with ghostpad from a bin.
18722         Fixed test as current implementation does the right thing.
18723
18724         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
18725         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
18726         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
18727         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
18728         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
18729         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
18730         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
18731         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
18732         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
18733         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
18734         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
18735         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
18736         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
18737         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
18738         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
18739         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
18740         * gst/gstghostpad.h:
18741         Clean up ghostpads, remove properties for internal stuff.
18742         Make threadsafe.
18743         Fix refcounting.
18744         Prepare for switching targets, not all use cases work yet.
18745
18746 2005-07-29  Wim Taymans  <wim@fluendo.com>
18747
18748         * docs/design/part-gstghostpad.txt:
18749         Small update.
18750
18751         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18752         (gst_bin_remove_func):
18753         Unlinking pads while holding the bin LOCK is not a good
18754         idea.
18755
18756         * gst/gstpad.c: (gst_pad_class_init),
18757         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
18758         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
18759         No prob setting template after creating the pad.
18760
18761 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
18762
18763         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
18764         (gst_bus_peek), (gst_bus_source_dispatch),
18765         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
18766         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
18767           gst_bus_poll may be called from other threads. Handle
18768           this nicely by not making poll_data disappear off the
18769           stack once gst_bus_poll returns.
18770           gst_bus_peek now increments the refcount on the returned
18771           message.
18772
18773 2005-07-29  Wim Taymans  <wim@fluendo.com>
18774
18775         * docs/design/part-gstghostpad.txt:
18776         Overview of current GhostPad datastructures and use
18777         cases for changing the target.
18778
18779 2005-07-28  Wim Taymans  <wim@fluendo.com>
18780
18781         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
18782         Added checks for hierarchy consistency whan adding linked
18783         elements to bins.
18784
18785         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
18786         Added check to test element scheduling without bin/pipeline.
18787
18788         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
18789         First add elements to bin, then link.
18790         
18791         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18792         (gst_bin_remove_func):
18793         Unlink pads from elements added/removed from bin to maintain
18794         hierarchy consistency.
18795
18796 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18797
18798         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
18799         (gst_base_transform_handle_buffer):
18800         * gst/base/gstbasetransform.h:
18801           Remove broken delay_configure (fixes renegotiation of software
18802           scaling pipelines); remove some leftover printf()s.
18803
18804 2005-07-28  Wim Taymans  <wim@fluendo.com>
18805
18806         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18807         Added some more tests for wrong hierarchy
18808
18809         * docs/design/part-overview.txt:
18810         Some updates.
18811
18812         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
18813         Cleanups.
18814
18815         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
18816         (gst_element_dispose):
18817         Some more cleanups.
18818
18819         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
18820         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
18821         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18822         (gst_pad_set_caps), (gst_pad_send_event):
18823         Check for correct hierarchy when linking pads. Moving to
18824         strict requirement for ghostpads when linking elements in
18825         different bins.
18826
18827         * gst/gstpad.h:
18828         Clean ups. Added WRONG_HIERARCHY return value.
18829
18830 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18831
18832         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
18833           Better debug if no transform is possible.
18834
18835 2005-07-27  Wim Taymans  <wim@fluendo.com>
18836
18837         * docs/random/wtay/network-transp:
18838         Some old doc I had.
18839
18840 2005-07-27  Wim Taymans  <wim@fluendo.com>
18841
18842         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18843         (gst_dp_event_from_packet):
18844         Fix serialization of seek events.
18845
18846 2005-07-27  Wim Taymans  <wim@fluendo.com>
18847
18848         * check/gst-libs/gdp.c: (GST_START_TEST):
18849         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18850         Fix compilation and fix event serialization.
18851
18852 2005-07-27  Wim Taymans  <wim@fluendo.com>
18853
18854         * CHANGES-0.9:
18855         * docs/design/part-TODO.txt:
18856         * docs/design/part-events.txt:
18857         Some docs updates
18858
18859         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18860         (gst_base_sink_event), (gst_base_sink_do_sync),
18861         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18862         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18863         (gst_base_src_do_seek), (gst_base_src_event_handler),
18864         (gst_base_src_loop):
18865         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18866         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18867         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18868         (gst_base_transform_event), (gst_base_transform_handle_buffer),
18869         (gst_base_transform_set_passthrough),
18870         (gst_base_transform_is_passthrough):
18871         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18872         * gst/elements/gstfilesink.c: (gst_file_sink_event):
18873         Event updates.
18874
18875         * gst/gstbuffer.h:
18876         Use faster casts.
18877
18878         * gst/gstelement.c: (gst_element_seek):
18879         * gst/gstelement.h:
18880         Update gst_element_seek.
18881
18882         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
18883         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
18884         (gst_event_new_flush_start), (gst_event_new_flush_stop),
18885         (gst_event_new_eos), (gst_event_new_newsegment),
18886         (gst_event_parse_newsegment), (gst_event_new_tag),
18887         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
18888         (gst_event_parse_qos), (gst_event_new_seek),
18889         (gst_event_parse_seek), (gst_event_new_navigation):
18890         * gst/gstevent.h:
18891         Make GstEvent use GstStructure. Add parsing code, make sure the
18892         API is sufficiently generic.
18893         Mark possible directions of events and serialization.
18894
18895         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
18896         (_gst_message_copy), (gst_message_new_segment_start),
18897         (gst_message_new_segment_done), (gst_message_new_custom),
18898         (gst_message_parse_segment_start),
18899         (gst_message_parse_segment_done):
18900         Small cleanups.
18901
18902         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18903         (gst_pad_set_caps), (gst_pad_send_event):
18904         Update for new events. 
18905         Catch events sent in wrong directions.
18906
18907         * gst/gstqueue.c: (gst_queue_link_src),
18908         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
18909         (gst_queue_handle_src_query):
18910         Event updates.
18911
18912         * gst/gsttag.c:
18913         * gst/gsttag.h:
18914         Remove event code from this file.
18915
18916         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18917         (gst_dp_event_from_packet):
18918         Event updates.
18919
18920 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18921
18922         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
18923         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18924         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
18925           Make debugging actually useful.
18926
18927 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18928
18929         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
18930         (gst_pad_fixate_caps):
18931           Implement default fixation once again, so that gst_pad_fixate()
18932           actually does anything at all. This probably needs to be some
18933           sort of a last resort, and use profile-based fixation first, but
18934           since that doesn't exist yet, this is the best we have. Fixes
18935           visualization in Totem.
18936
18937 2005-07-22  Wim Taymans  <wim@fluendo.com>
18938
18939         * docs/design/part-events.txt:
18940         Small update.
18941
18942         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18943         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
18944         (gst_base_sink_activate_pull):
18945         Some more comments.
18946
18947         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
18948         (gst_fake_src_create):
18949         Fix handoff marshall.
18950
18951         * gst/elements/gstidentity.c: (gst_identity_class_init),
18952         (gst_identity_transform_ip):
18953         We're a real inplace element.
18954
18955         * gst/gstbus.c: (gst_bus_post):
18956         Added some comments.
18957
18958         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
18959         * tests/muxing/case1.c: (main):
18960         * tests/sched/dynamic-pipeline.c: (main):
18961         * tests/sched/interrupt1.c: (main):
18962         * tests/sched/interrupt2.c: (main):
18963         * tests/sched/interrupt3.c: (main):
18964         * tests/sched/runxml.c: (main):
18965         * tests/sched/sched-stress.c: (main):
18966         * tests/seeking/seeking1.c: (event_received), (main):
18967         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
18968         (main):
18969         * tests/threadstate/threadstate3.c: (main):
18970         * tests/threadstate/threadstate4.c: (main):
18971         * tests/threadstate/threadstate5.c: (main):
18972         Fix the tests.
18973
18974 2005-07-21  Wim Taymans  <wim@fluendo.com>
18975
18976         * docs/design/part-seeking.txt:
18977         Some small additions.
18978
18979         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18980         (gst_base_sink_get_times), (gst_base_sink_do_sync),
18981         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18982         * gst/base/gstbasesink.h:
18983         discont values are gint64, handle the math correctly.
18984
18985         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18986         Make the basesrc report error if the source pad is not linked.
18987
18988         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
18989         (gst_queue_loop), (gst_queue_handle_src_query),
18990         (gst_queue_src_activate_push):
18991         Make queue collect data even if the srcpad is not linked.
18992         Start pushing out data as soon as it is linked.
18993
18994         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
18995         * gst/gstutils.h:
18996         Added gst_flow_get_name() to ease error reporting.
18997
18998 2005-07-20  Wim Taymans  <wim@fluendo.com>
18999
19000         * gst/gstmessage.c: (gst_message_new_segment_start),
19001         (gst_message_new_segment_done), (gst_message_parse_segment_start),
19002         (gst_message_parse_segment_done):
19003         * gst/gstmessage.h:
19004         Added a bunch of messages for advanced seeking.
19005
19006         * gst/parse/grammar.y:
19007         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
19008         (gst_dpman_state_changed):
19009         Fix some new-pad -> pad-added signals
19010
19011 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19012
19013         * docs/manual/appendix-porting.xml:
19014         * docs/pwg/appendix-porting.xml:
19015           Document new-pad/state-change signal renames and the FixedList
19016           type rename.
19017
19018 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19019
19020         * docs/manual/advanced-autoplugging.xml:
19021         * docs/manual/basics-helloworld.xml:
19022         * docs/manual/basics-pads.xml:
19023         * docs/random/ds/0.9-suggested-changes:
19024         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
19025         * gst/gstelement.h:
19026         * gst/gstevent.h:
19027         * gst/gstformat.h:
19028         * gst/gstquery.h:
19029         * gst/gststructure.c: (gst_structure_value_get_generic_type),
19030         (gst_structure_parse_array), (gst_structure_parse_value):
19031         * gst/gstvalue.c: (gst_type_is_fixed),
19032         (gst_value_list_prepend_value), (gst_value_list_append_value),
19033         (gst_value_list_get_size), (gst_value_list_get_value),
19034         (gst_value_transform_array_string), (gst_value_serialize_array),
19035         (gst_value_deserialize_array), (gst_value_intersect_array),
19036         (gst_value_is_fixed), (_gst_value_initialize):
19037         * gst/gstvalue.h:
19038           GstElement::new-pad -> pad-added, GstElement::state-change ->
19039           state-changed, GstValueFixedList -> GstValueArray, add format and
19040           flags as their own arguments in gst_element_seek() (should improve
19041           "bindeability"), remove function generators since they don't work
19042           under a whole bunch of compilers (they were deprecated already
19043           anyway).
19044
19045 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19046
19047         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
19048         (_gst_debug_register_funcptr):
19049         * gst/gstinfo.h:
19050           Fix illegal cast on some platforms (#309253).
19051
19052 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19053
19054         * gst/gstmessage.c: (gst_message_new_custom):
19055         * gst/gstmessage.h:
19056           Add _new_custom, make _new_application a macro to _new_custom.
19057
19058 2005-07-20  Wim Taymans  <wim@fluendo.com>
19059
19060         * gst/base/gstbasesrc.c: (gst_base_src_init),
19061         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
19062         * gst/base/gstbasesrc.h:
19063         Add a gboolean to decide when to push out a discont.
19064
19065         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
19066         (gst_queue_loop), (gst_queue_handle_src_query),
19067         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
19068         (gst_queue_set_property), (gst_queue_get_property):
19069         Some cleanups.
19070
19071         * tests/threadstate/threadstate1.c: (main):
19072         Make a thread test compile and run... very silly..
19073
19074
19075 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19076
19077         * docs/manual/appendix-porting.xml:
19078           Mention removal of libgstgconf-0.9.la and existence of gconf
19079           elements.
19080
19081 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19082
19083         * docs/pwg/advanced-clock.xml:
19084         * docs/pwg/appendix-porting.xml:
19085         * docs/pwg/intro-preface.xml:
19086         * docs/pwg/other-base.xml:
19087         * docs/pwg/other-manager.xml:
19088         * docs/pwg/other-nton.xml:
19089         * docs/pwg/other-ntoone.xml:
19090         * docs/pwg/other-oneton.xml:
19091         * docs/pwg/pwg.xml:
19092           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
19093           demuxer), remove n-to-n (was never written), fix some code examples
19094           and links and update the porting section to include all this.
19095
19096 2005-07-19  Wim Taymans  <wim@fluendo.com>
19097
19098         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
19099         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
19100         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
19101         (gst_queue_src_activate_push), (gst_queue_change_state),
19102         (gst_queue_get_property):
19103         * gst/gstqueue.h:
19104         Propagate GstFlowReturn more intelligently upstream and output
19105         an ERROR/EOS when streaming stopped due to fatal error.
19106
19107 2005-07-19  Wim Taymans  <wim@fluendo.com>
19108
19109         * tools/gst-launch.c: (check_intr), (event_loop), (main):
19110         Don't block forever for the state change to complete, the
19111         pipeline already did with a sensible timeout.
19112
19113 2005-07-19  Wim Taymans  <wim@fluendo.com>
19114
19115         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
19116         Make sure we never call the create function is we
19117         got deactivated.
19118
19119 2005-07-19  Andy Wingo  <wingo@pobox.com>
19120
19121         * gst/parse/parse.l: Attempt to solve bug #172815.
19122
19123 2005-07-19  Wim Taymans  <wim@fluendo.com>
19124
19125         * docs/design/part-clocks.txt:
19126         * docs/design/part-events.txt:
19127         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
19128         Small docs updates.
19129         Only update the seeking values when we are not
19130         busy streaming.
19131
19132 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
19133
19134         * gst/base/gstbasesrc.c: (gst_base_src_loop):
19135           Oops, ignore the result of gst_pad_push_event here.
19136
19137 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
19138
19139         * gst/base/gstbasesrc.c: (gst_base_src_loop),
19140         (gst_base_src_activate_push):
19141           Send discont event from the loop function, as pads
19142           aren't activated yet in the activate_push handler.
19143
19144         * gst/gstbin.c: (bin_bus_handler):
19145           Don't leak element name.
19146
19147 2005-07-18  Andy Wingo  <wingo@pobox.com>
19148
19149         * configure.ac: Use AS_LIBTOOL_TAGS.
19150
19151 2005-07-18  Wim Taymans  <wim@fluendo.com>
19152
19153         * docs/gst/gstreamer.types:
19154         Remove deleted types.
19155
19156 2005-07-18  Wim Taymans  <wim@fluendo.com>
19157
19158         * check/elements/gstfakesrc.c: (GST_START_TEST):
19159         * configure.ac:
19160         * gst/Makefile.am:
19161         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
19162         (init_popt_callback):
19163         * gst/gst.h:
19164         * gst/gst_private.h:
19165         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
19166         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
19167         * gst/gstbin.h:
19168         * gst/gstbus.h:
19169         * gst/gstconfig.h.in:
19170         * gst/gstelement.c: (gst_element_class_init),
19171         (gst_element_set_base_time), (gst_element_get_base_time),
19172         (iterator_fold_with_resync), (gst_element_change_state),
19173         (gst_element_dispose), (gst_element_get_bus):
19174         * gst/gstelement.h:
19175         * gst/gstelementfactory.h:
19176         * gst/gsterror.c: (_gst_core_errors_init):
19177         * gst/gsterror.h:
19178         * gst/gstevent.h:
19179         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
19180         * gst/gstindex.c:
19181         * gst/gstinfo.c: (_gst_debug_init):
19182         * gst/gstmessage.c: (_gst_message_copy):
19183         * gst/gstmessage.h:
19184         * gst/gstminiobject.h:
19185         * gst/gstobject.c:
19186         * gst/gstobject.h:
19187         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
19188         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
19189         * gst/gstpad.h:
19190         * gst/gstparse.h:
19191         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
19192         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
19193         (gst_pipeline_get_last_stream_time):
19194         * gst/gstpipeline.h:
19195         * gst/gstpluginfeature.h:
19196         * gst/gstquery.h:
19197         * gst/gstscheduler.c:
19198         * gst/gstscheduler.h:
19199         * gst/gststructure.h:
19200         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
19201         (gst_task_finalize), (gst_task_func), (gst_task_create),
19202         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
19203         (gst_task_stop), (gst_task_pause):
19204         * gst/gsttask.h:
19205         * gst/gsttypefind.h:
19206         * gst/gsttypes.h:
19207         * gst/registries/gstlibxmlregistry.c: (load_feature),
19208         (gst_xml_registry_load), (gst_xml_registry_save_feature):
19209         * gst/registries/gstxmlregistry.c:
19210         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
19211         * gst/schedulers/threadscheduler.c:
19212         * libs/gst/control/dparammanager.h:
19213         * tools/gst-inspect.c: (print_element_list),
19214         (print_plugin_features), (print_element_features):
19215         * tools/gst-xmlinspect.c: (print_element_list),
19216         (print_plugin_info), (main):
19217         Removed plugable schedulers.
19218         Removed Scheduler/Manager from elements.
19219         Removed gsttypes.h, rearranged includes.
19220         Removed dependency pad<->element, element<>pipeline, and
19221         various others,  fix includes.
19222         implement gst_pad_get_parent() with gst_object_get_parent()
19223         Make GstTask sefcontained.
19224         Fix _get_state() on GstBin, it did not return ASYNC with a 0
19225         timeout.
19226         Fix endless loop in iterator_fold_with_resync.
19227
19228
19229 2005-07-18  Wim Taymans  <wim@fluendo.com>
19230
19231         * gst/Makefile.am:
19232         * gst/gstarch.h:
19233         Remove old file.
19234
19235 2005-07-18  Wim Taymans  <wim@fluendo.com>
19236
19237         * gst/Makefile.am:
19238         No more cothreads.h
19239
19240 2005-07-18  Wim Taymans  <wim@fluendo.com>
19241
19242         * gst/cothreads.c:
19243         * gst/cothreads.h:
19244         Let's remove these.
19245
19246 2005-07-18  Wim Taymans  <wim@fluendo.com>
19247
19248         * docs/design/part-dynamic.txt:
19249         * docs/design/part-events.txt:
19250         * docs/design/part-seeking.txt:
19251         Some more docs in the works.
19252
19253         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
19254         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
19255         (gst_base_transform_setcaps), (gst_base_transform_get_size),
19256         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
19257         (gst_base_transform_handle_buffer),
19258         (gst_base_transform_sink_activate_push),
19259         (gst_base_transform_src_activate_pull),
19260         (gst_base_transform_set_passthrough),
19261         (gst_base_transform_is_passthrough):
19262         Refcounting fixes.
19263
19264         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
19265         Cleanups.
19266
19267         * gst/gstevent.c: (gst_event_finalize):
19268         Set SRC to NULL.
19269
19270         * gst/gstutils.c: (gst_element_unlink),
19271         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
19272         (gst_pad_proxy_setcaps):
19273         * gst/gstutils.h:
19274         Add _get_parent_element() to get a pads parent as an element.
19275
19276 2005-07-18  Wim Taymans  <wim@fluendo.com>
19277
19278         * check/gst/gstbin.c: (GST_START_TEST):
19279         Remove bogus test.
19280
19281 2005-07-18  Wim Taymans  <wim@fluendo.com>
19282
19283         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
19284         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
19285         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
19286         (gst_base_sink_event), (gst_base_sink_do_sync),
19287         (gst_base_sink_chain), (gst_base_sink_loop),
19288         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
19289         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19290         Refcounting fixes.
19291         Fix logic for returning ASYNC when not prerolled.
19292
19293 2005-07-18  Wim Taymans  <wim@fluendo.com>
19294
19295         * gst/gstqueue.c: (gst_queue_handle_sink_event):
19296         Fix nasty refcount bug.
19297
19298 2005-07-16 Philippe Khalaf <burger@speedy.org>
19299
19300         * gst/elements/gstfdsrc.c:
19301         * gst/elements/gstfdsrc.h:
19302         * gst/elements/gstelements.c:
19303         * gst/elements/Makefile.am:
19304         Ported fdsrc to 0.9.
19305
19306 2005-07-16  Wim Taymans  <wim@fluendo.com>
19307
19308         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19309         (gst_base_sink_do_sync):
19310         Fix compile error.
19311
19312 2005-07-16  Wim Taymans  <wim@fluendo.com>
19313
19314         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19315         (gst_base_sink_event), (gst_base_sink_get_times),
19316         (gst_base_sink_do_sync), (gst_base_sink_change_state):
19317         * gst/base/gstbasesink.h:
19318         Store and use discont values when syncing buffers as described
19319         in design docs.
19320         
19321         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
19322         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
19323         (gst_base_src_activate_push):
19324         Push discont event when starting.
19325
19326         * gst/elements/gstidentity.c: (gst_identity_transform):
19327         Small cleanups.
19328
19329         * gst/gstbin.c: (gst_bin_change_state):
19330         Small cleanups in base_time  distribution.
19331
19332         * gst/gstelement.c: (gst_element_set_base_time),
19333         (gst_element_get_base_time), (gst_element_change_state):
19334         * gst/gstelement.h:
19335         Added methods for the base_time of the element.
19336         Some MT fixes.
19337
19338         * gst/gstpipeline.c: (gst_pipeline_send_event),
19339         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
19340         (gst_pipeline_get_last_stream_time):
19341         * gst/gstpipeline.h:
19342         MT fixes.
19343         Handle seeking as described in design doc, remove stream_time
19344         hack.
19345         Cleanups clock and stream_time selection code. Added accessors
19346         for the stream_time.
19347         
19348
19349 2005-07-16  Andy Wingo  <wingo@pobox.com>
19350
19351         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
19352         (#305291).
19353
19354 2005-07-16  Wim Taymans  <wim@fluendo.com>
19355
19356         * check/gst/gstbin.c: (GST_START_TEST):
19357         Make elements silent as the deep_notify refs the
19358         parent, which might make the test fail.
19359
19360         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
19361         Don't hold the lock for too long.
19362
19363 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
19364
19365         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
19366           Don't unref the caps we passed to gst_caps_make_writable() after
19367           passing them. gst_caps_make_writable() will do that for us.
19368
19369 2005-07-15  Andy Wingo  <wingo@pobox.com>
19370
19371         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
19372         (#157311).
19373
19374         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
19375         own marshalling function for the handoff signal. Properly type the
19376         buffer as a buffer. Fixes some warnings. Should do a more general
19377         solution.
19378         (gst_identity_class_init): Plug into the right marshaller.
19379
19380 2005-07-15  Wim Taymans  <wim@fluendo.com>
19381
19382         * docs/design/part-TODO.txt:
19383         * docs/design/part-clocks.txt:
19384         * docs/design/part-element-sink.txt:
19385         * docs/design/part-events.txt:
19386         * docs/design/part-gstpipeline.txt:
19387         Updated docs, mostly DISCONT related.
19388
19389 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
19390
19391         * docs/pwg/building-pads.xml:
19392           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
19393
19394 2005-07-15  Andy Wingo  <wingo@pobox.com>
19395
19396         * tools/gst-typefind.c: Update, add copyright block.
19397
19398         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
19399         Normalize and truncate caps before fixation.
19400
19401         * gst/gstcaps.h:
19402         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
19403         discards all but the first structure from its argument.
19404
19405 2005-07-15  Wim Taymans  <wim@fluendo.com>
19406
19407         * gst/base/gstbasetransform.c: (gst_base_transform_init),
19408         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
19409         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19410         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
19411         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
19412         (gst_base_transform_chain), (gst_base_transform_change_state),
19413         (gst_base_transform_set_passthrough),
19414         (gst_base_transform_is_passthrough):
19415         * gst/base/gstbasetransform.h:
19416         Make passthrough work using the bufferpools.
19417         Changed API a bit, subclasses have to write into a buffer
19418         provided by the base class.
19419         More debug info in nego functions.
19420         
19421         * gst/elements/gstidentity.c: (gst_identity_init),
19422         (gst_identity_transform):
19423         Port to new base class.
19424
19425 2005-07-15  Wim Taymans  <wim@fluendo.com>
19426
19427         * gst/gstmessage.c: (gst_message_new_state_changed):
19428         * tools/gst-launch.c: (event_loop), (main):
19429         Totally dump messages in -launch with the -m option.
19430         Fix message name for State messages,
19431
19432 2005-07-14  Wim Taymans  <wim@fluendo.com>
19433
19434         * gst/base/gstbasesrc.c: (gst_base_src_loop):
19435         Post error messages on errors.
19436
19437 2005-07-14  Wim Taymans  <wim@fluendo.com>
19438
19439         * gst/gstcaps.c: (gst_caps_do_simplify):
19440         Remove debug info.
19441
19442         * gst/gsterror.h:
19443         Define error for stream stopped.
19444
19445         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19446         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
19447         Do proper return values.
19448
19449         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
19450         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
19451         (gst_pad_get_range):
19452         Better return values.
19453
19454         * gst/gstpad.h:
19455         Reorganise return values, add macro to check for fatal errors.
19456
19457         * gst/gstqueue.c: (gst_queue_chain):
19458         Return proper GstFlowReturn values,
19459
19460 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
19461
19462         * docs/gst/gstreamer-sections.txt:
19463         * docs/gst/gstreamer.types:
19464         * docs/gst/tmpl/gst.sgml:
19465         * docs/gst/tmpl/gstbasesink.sgml:
19466         * docs/gst/tmpl/gstbasesrc.sgml:
19467         * docs/gst/tmpl/gstbasetransform.sgml:
19468         * docs/gst/tmpl/gstbin.sgml:
19469         * docs/gst/tmpl/gstbuffer.sgml:
19470         * docs/gst/tmpl/gstcaps.sgml:
19471         * docs/gst/tmpl/gstclock.sgml:
19472         * docs/gst/tmpl/gstcompat.sgml:
19473         * docs/gst/tmpl/gstconfig.sgml:
19474         * docs/gst/tmpl/gstelement.sgml:
19475         * docs/gst/tmpl/gstelementdetails.sgml:
19476         * docs/gst/tmpl/gstelementfactory.sgml:
19477         * docs/gst/tmpl/gstenumtypes.sgml:
19478         * docs/gst/tmpl/gsterror.sgml:
19479         * docs/gst/tmpl/gstevent.sgml:
19480         * docs/gst/tmpl/gstfakesink.sgml:
19481         * docs/gst/tmpl/gstfakesrc.sgml:
19482         * docs/gst/tmpl/gstfilesink.sgml:
19483         * docs/gst/tmpl/gstfilesrc.sgml:
19484         * docs/gst/tmpl/gstfilter.sgml:
19485         * docs/gst/tmpl/gstformat.sgml:
19486         * docs/gst/tmpl/gstghostpad.sgml:
19487         * docs/gst/tmpl/gstimplementsinterface.sgml:
19488         * docs/gst/tmpl/gstindex.sgml:
19489         * docs/gst/tmpl/gstindexfactory.sgml:
19490         * docs/gst/tmpl/gstinfo.sgml:
19491         * docs/gst/tmpl/gstiterator.sgml:
19492         * docs/gst/tmpl/gstmacros.sgml:
19493         * docs/gst/tmpl/gstmemchunk.sgml:
19494         * docs/gst/tmpl/gstminiobject.sgml:
19495         * docs/gst/tmpl/gstobject.sgml:
19496         * docs/gst/tmpl/gstpad.sgml:
19497         * docs/gst/tmpl/gstpadtemplate.sgml:
19498         * docs/gst/tmpl/gstparse.sgml:
19499         * docs/gst/tmpl/gstpipeline.sgml:
19500         * docs/gst/tmpl/gstplugin.sgml:
19501         * docs/gst/tmpl/gstpluginfeature.sgml:
19502         * docs/gst/tmpl/gstquery.sgml:
19503         * docs/gst/tmpl/gstqueue.sgml:
19504         * docs/gst/tmpl/gstregistry.sgml:
19505         * docs/gst/tmpl/gstregistrypool.sgml:
19506         * docs/gst/tmpl/gstscheduler.sgml:
19507         * docs/gst/tmpl/gstschedulerfactory.sgml:
19508         * docs/gst/tmpl/gststructure.sgml:
19509         * docs/gst/tmpl/gstsystemclock.sgml:
19510         * docs/gst/tmpl/gsttaglist.sgml:
19511         * docs/gst/tmpl/gsttagsetter.sgml:
19512         * docs/gst/tmpl/gsttrace.sgml:
19513         * docs/gst/tmpl/gsttrashstack.sgml:
19514         * docs/gst/tmpl/gsttypefind.sgml:
19515         * docs/gst/tmpl/gsttypefindfactory.sgml:
19516         * docs/gst/tmpl/gsttypes.sgml:
19517         * docs/gst/tmpl/gsturihandler.sgml:
19518         * docs/gst/tmpl/gsturitype.sgml:
19519         * docs/gst/tmpl/gstutils.sgml:
19520         * docs/gst/tmpl/gstvalue.sgml:
19521         * docs/gst/tmpl/gstversion.sgml:
19522         * docs/gst/tmpl/gstxml.sgml:
19523         * docs/libs/tmpl/gstcontrol.sgml:
19524         * docs/libs/tmpl/gstdataprotocol.sgml:
19525         * docs/libs/tmpl/gstdparam.sgml:
19526         * docs/libs/tmpl/gstdplinint.sgml:
19527         * docs/libs/tmpl/gstdpman.sgml:
19528         * docs/libs/tmpl/gstdpsmooth.sgml:
19529         * docs/libs/tmpl/gstgetbits.sgml:
19530         * docs/libs/tmpl/gstunitconvert.sgml:
19531         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
19532         (gst_push_src_base_init), (gst_push_src_class_init),
19533         (gst_push_src_init), (gst_push_src_create):
19534         * gst/base/gstpushsrc.h:
19535         * gst/elements/gstelements.c:
19536         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
19537         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
19538         (gst_fake_sink_init), (gst_fake_sink_set_property),
19539         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
19540         (gst_fake_sink_event), (gst_fake_sink_preroll),
19541         (gst_fake_sink_render), (gst_fake_sink_change_state):
19542         * gst/elements/gstfakesink.h:
19543         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
19544         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
19545         (gst_fake_src_base_init), (gst_fake_src_class_init),
19546         (gst_fake_src_init), (gst_fake_src_event_handler),
19547         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
19548         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
19549         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
19550         (gst_fake_src_create_buffer), (gst_fake_src_create),
19551         (gst_fake_src_start), (gst_fake_src_stop):
19552         * gst/elements/gstfakesrc.h:
19553         * gst/elements/gstfilesink.c: (_do_init),
19554         (gst_file_sink_base_init), (gst_file_sink_class_init),
19555         (gst_file_sink_init), (gst_file_sink_dispose),
19556         (gst_file_sink_set_location), (gst_file_sink_set_property),
19557         (gst_file_sink_get_property), (gst_file_sink_open_file),
19558         (gst_file_sink_close_file), (gst_file_sink_query),
19559         (gst_file_sink_event), (gst_file_sink_render),
19560         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
19561         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
19562         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
19563         * gst/elements/gstfilesink.h:
19564         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
19565         (gst_file_src_class_init), (gst_file_src_init),
19566         (gst_file_src_finalize), (gst_file_src_set_location),
19567         (gst_file_src_set_property), (gst_file_src_get_property),
19568         (gst_file_src_map_region), (gst_file_src_map_small_region),
19569         (gst_file_src_create_mmap), (gst_file_src_create_read),
19570         (gst_file_src_create), (gst_file_src_is_seekable),
19571         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
19572         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
19573         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
19574         (gst_file_src_uri_handler_init):
19575         * gst/elements/gstfilesrc.h:
19576           more autistic cleanliness in functions/names/defines
19577
19578 2005-07-13  Andy Wingo  <wingo@pobox.com>
19579
19580         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
19581         source couldn't negotiate.
19582
19583         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
19584         connections again.
19585
19586         * gst/gstutils.h:
19587         * gst/gstutils.c (gst_element_link_pads_filtered): New old
19588         function. I am channeling Hades. Put your boots on suckers!!!
19589
19590 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19591
19592         * testsuite/caps/Makefile.am:
19593         * testsuite/caps/value_compare.c:
19594         * testsuite/caps/value_intersect.c:
19595         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
19596           move two testsuite apps over to the check dir
19597
19598 2005-07-12  Wim Taymans  <wim@fluendo.com>
19599
19600         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
19601         Added more debug info in the negotiate process.
19602
19603         * gst/gstmessage.h:
19604         Prepare for segment playback.
19605
19606         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
19607         Better debugging.
19608
19609         * gst/gstutils.c:
19610         Some more docs.
19611
19612         * tools/gst-launch.c: (main):
19613         NULL pipeline on errors.
19614
19615 2005-07-12  Andy Wingo  <wingo@pobox.com>
19616
19617         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
19618         not it comes from a malloc region. Make sure our copy gets freed.
19619
19620 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19621
19622         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
19623         * check/gst/gstmessage.c: (GST_START_TEST):
19624         * check/gst/gststructure.c: (GST_START_TEST),
19625         (gst_structure_suite), (main):
19626           more testing
19627         * gst/gstelement.c: (gst_element_message_full):
19628           clean up GError and debug string now that they get copied
19629         * gst/gstmessage.c: (gst_message_new_error),
19630         (gst_message_new_warning), (gst_message_parse_error),
19631         (gst_message_parse_warning):
19632           use GST_TYPE_G_ERROR for structure_new, and take copies of
19633           arguments, so that we don't mess up refcounting
19634
19635 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19636
19637         * check/Makefile.am:
19638           add per-test valgrind targets
19639         * check/gst-libs/gdp.c: (GST_START_TEST),
19640         (gst_data_protocol_suite), (main):
19641           clean up
19642
19643 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19644
19645         * check/Makefile.am:
19646           instate more valgrindable tests
19647         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19648         (GST_START_TEST), (fakesrc_suite):
19649         * check/gst/gstpad.c: (GST_START_TEST):
19650         * check/gst/gststructure.c: (GST_START_TEST):
19651           fix test leaks
19652         * docs/gst/tmpl/gstminiobject.sgml:
19653         * gst/gstpad.c: (gst_pad_finalize):
19654           fix the static mutex leak
19655
19656 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19657
19658         * check/Makefile.am:
19659           add two more tests for valgrinding
19660         * check/gst/gstvalue.c: (GST_START_TEST):
19661           test refcount of deserialized buffer, found a leak
19662         * docs/gst/gstreamer-docs.sgml:
19663         * docs/gst/gstreamer-sections.txt:
19664         * docs/gst/gstreamer.types:
19665         * docs/gst/tmpl/gstminiobject.sgml:
19666           add miniobject to docs
19667         * gst/gstminiobject.c:
19668           add some docs
19669         * gst/gstvalue.c: (gst_value_deserialize_buffer),
19670         (gst_string_unwrap):
19671           fix a hard-to-find invalid write for one of the tests
19672           fix a leak for deserialized buffers
19673
19674 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19675
19676         * docs/pwg/advanced-events.xml:
19677         * docs/pwg/advanced-request.xml:
19678         * docs/pwg/advanced-scheduling.xml:
19679         * docs/pwg/appendix-porting.xml:
19680         * docs/pwg/building-boiler.xml:
19681         * docs/pwg/intro-preface.xml:
19682         * docs/pwg/other-ntoone.xml:
19683           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
19684           of example code and explanation for pad activation, loop() and
19685           getrange() functions and a bit more. Remove old comments pointing
19686           to loop-functions.
19687         * examples/pwg/Makefile.am:
19688           Add loop/getrange examples.
19689
19690 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19691
19692         * configure.ac:
19693           check for valgrind binary + some fixes
19694         * check/gst.supp:
19695           valgrind suppressions for the tests
19696         * check/Makefile.am:
19697           add a valgrind: target that valgrinds the unit tests
19698         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
19699         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
19700         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19701         * check/gst/gstghostpad.c:
19702           added some cleanup
19703         * check/gst/gstdata.c:
19704           removed
19705         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
19706         (thread_unref), (gst_mini_object_suite), (main):
19707           added
19708         * gst/gst.c: (gst_deinit):
19709         * gst/gst.h:
19710           add a method to clean up.
19711         * gst/gstsystemclock.c: (gst_system_clock_dispose),
19712         (gst_system_clock_obtain):
19713           allow for disposing the system clock.
19714         * tools/gst-launch.c: (main):
19715           deinit
19716
19717 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19718
19719         * docs/gst/tmpl/gstbasesrc.sgml:
19720         * docs/gst/tmpl/gstfakesrc.sgml:
19721         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19722         (gst_base_src_init), (gst_base_src_set_property),
19723         (gst_base_src_get_property), (gst_base_src_get_range),
19724         (gst_base_src_start):
19725         * gst/base/gstbasesrc.h:
19726           add num-buffers property
19727         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19728         (gst_fakesrc_init), (gst_fakesrc_set_property),
19729         (gst_fakesrc_get_property), (gst_fakesrc_create),
19730         (gst_fakesrc_start):
19731           remove num-buffers property
19732
19733 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19734
19735         * docs/gst/gstreamer-sections.txt:
19736         * docs/gst/tmpl/gstbasesink.sgml:
19737         * docs/gst/tmpl/gstbasesrc.sgml:
19738         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
19739         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
19740         (gst_base_sink_finalize), (gst_base_sink_set_clock),
19741         (gst_base_sink_set_property), (gst_base_sink_get_property),
19742         (gst_base_sink_handle_object), (gst_base_sink_event),
19743         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
19744         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
19745         (gst_base_sink_loop), (gst_base_sink_deactivate),
19746         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
19747         (gst_base_sink_change_state):
19748         * gst/base/gstbasesink.h:
19749         * gst/base/gstbasesrc.h:
19750         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
19751         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
19752         (gst_filesink_init):
19753           more macro splitting
19754
19755 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19756
19757         * gst/gstelement.c: (gst_element_get_bus):
19758           add debug
19759         * tools/gst-launch.c: (check_intr), (event_loop):
19760           fix bus leaks
19761
19762 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19763
19764         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
19765           fix a caps leak
19766
19767 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19768
19769         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19770         (gst_base_src_finalize):
19771           add finalize method and clean up properly
19772         * gst/gstpipeline.c: (gst_pipeline_dispose):
19773           add debug
19774
19775 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19776
19777         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
19778         (gst_bin_suite):
19779           add more things to check
19780         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
19781         * gst/gstelement.c:
19782           more debug
19783
19784 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19785
19786         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19787         (GST_START_TEST), (fakesrc_suite):
19788         * check/gst-libs/gdp.c: (GST_START_TEST):
19789         * check/gst/gst.c: (GST_START_TEST):
19790         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
19791         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19792         * check/gst/gstbus.c: (GST_START_TEST):
19793         * check/gst/gstcaps.c: (GST_START_TEST):
19794         * check/gst/gstdata.c: (GST_START_TEST):
19795         * check/gst/gstelement.c: (GST_START_TEST):
19796         * check/gst/gstghostpad.c: (GST_START_TEST):
19797         * check/gst/gstiterator.c: (GST_START_TEST):
19798         * check/gst/gstmessage.c: (GST_START_TEST):
19799         * check/gst/gstobject.c: (GST_START_TEST):
19800         * check/gst/gstpad.c: (GST_START_TEST):
19801         * check/gst/gststructure.c: (GST_START_TEST):
19802         * check/gst/gstsystemclock.c: (GST_START_TEST),
19803         (gst_systemclock_suite):
19804         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
19805         * check/gst/gstvalue.c: (GST_START_TEST):
19806         * check/pipelines/cleanup.c: (GST_START_TEST):
19807         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
19808         * check/states/sinks.c: (GST_START_TEST):
19809         * check/gstcheck.c: (gst_check_init):
19810         * check/gstcheck.h:
19811           add debugging category
19812           use GST_START_TEST now, so we add a debug line
19813
19814 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19815
19816         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
19817           add test for state change message on a bin
19818         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
19819           add another test
19820         * gst/gstbin.c: (gst_bin_init):
19821         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
19822         * gst/gstelement.c: (gst_element_post_message),
19823         (gst_element_set_state):
19824         * gst/gstelementfactory.c: (gst_element_factory_create):
19825         * gst/gstmessage.c: (gst_message_new):
19826         * gst/gstscheduler.c:
19827           various debugging additions and cleanups
19828
19829 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19830
19831         * check/Makefile.am:
19832         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
19833         (main):
19834           adding tests for elements
19835         * gst/gstelement.c: (gst_element_dispose):
19836
19837 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19838
19839         * gst/registries/gstlibxmlregistry.c: (load_feature):
19840           plug more leaks.  A simple gst_init() now is leakfree, yay.
19841
19842 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19843
19844         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
19845         (gst_xml_registry_load):
19846           plug another memleak
19847
19848 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19849
19850         * configure.ac:
19851           use GST_SET_ERROR_CFLAGS
19852         * docs/faq/cvs.xml:
19853           change to ERROR_CFLAGS
19854
19855 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19856
19857         * configure.ac:
19858           make GST_ERROR_CFLAGS overridable and re-enable Werror
19859         * docs/faq/cvs.xml:
19860           add a note about error CFLAGS
19861         * docs/gst/tmpl/gstfakesrc.sgml:
19862         * gst/elements/gstfakesrc.c:
19863           comment out some unused code
19864         * gst/gst.c: (split_and_iterate):
19865         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
19866         (load_feature):
19867           plug some memleaks
19868
19869 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19870
19871         * common/Makefile.am:
19872         * common/gtk-doc.mak:
19873         * docs/gst/Makefile.am:
19874           factor out gtk-doc.mak
19875
19876 2005-07-07  Wim Taymans  <wim@fluendo.com>
19877
19878         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
19879         (gst_thread_scheduler_dispose):
19880         Unlock the STREAM_LOCK completely.
19881
19882 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19883
19884         * check/Makefile.am:
19885         * check/elements/.cvsignore:
19886         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19887         (START_TEST), (fakesrc_suite), (main):
19888         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19889         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19890         (gst_fakesrc_create), (gst_fakesrc_start):
19891         * gst/elements/gstfakesrc.h:
19892           adding a first element test
19893
19894 2005-07-07  Andy Wingo  <wingo@pobox.com>
19895
19896         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
19897         debug message.
19898
19899 2005-07-07  Wim Taymans  <wim@fluendo.com>
19900
19901         * gst/gstquery.c:
19902         * gst/gstquery.h:
19903         Remove old types
19904
19905 2005-07-07  Wim Taymans  <wim@fluendo.com>
19906
19907         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
19908         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
19909         Allow subclasses to implement their own negotiation.
19910
19911 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19912
19913         * docs/design/part-gstbin.txt:
19914         * docs/design/part-gstpipeline.txt:
19915           Update design notes to reflect the movement of
19916           responsibility for bus handling from GstPipeline to
19917           GstBin
19918
19919 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19920
19921         * configure.ac:
19922           Remove unnecessary queue2/3/4 examples.
19923
19924 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19925
19926         * examples/Makefile.am:
19927         * examples/helloworld/helloworld.c: (event_loop), (main):
19928         * examples/queue/queue.c: (event_loop), (main):
19929         * examples/queue2/queue2.c: (main):
19930           Update a couple of the examples to work again.
19931
19932         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19933         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
19934          Spelling corrections and extra debug.
19935         
19936         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
19937         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
19938         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
19939         * gst/gstbin.h:
19940         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
19941         (gst_pipeline_change_state):
19942         * gst/gstpipeline.h:
19943           Move the bus handler for children to the GstBin, and create a
19944           separate bus for receiving messages from children to the one the
19945           bus sends 'upwards' on.
19946
19947 2005-07-06  Wim Taymans  <wim@fluendo.com>
19948
19949         * gst/base/README:
19950         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19951         (gst_base_sink_handle_object), (gst_base_sink_loop),
19952         (gst_base_sink_change_state):
19953         * gst/base/gstbasesink.h:
19954         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19955         (gst_base_src_init), (gst_base_src_setcaps),
19956         (gst_base_src_getcaps), (gst_base_src_loop),
19957         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
19958         (gst_base_src_start), (gst_base_src_change_state):
19959         * gst/base/gstbasesrc.h:
19960         Make basesrc negotiate.
19961         Handle the case where preroll fails in basesink.
19962         Update README.
19963
19964 2005-07-06  Wim Taymans  <wim@fluendo.com>
19965
19966         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
19967         Implement the fixate function.
19968         Clean up acceptcaps.
19969
19970 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19971
19972         * docs/pwg/building-filterfactory.xml:
19973         * docs/pwg/pwg.xml:
19974           Remove never-written filter-factory chapter; I'll add the various
19975           base classes to part 4 ("other element types") later on.
19976
19977 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19978
19979         * docs/pwg/advanced-negotiation.xml:
19980         * docs/pwg/building-boiler.xml:
19981         * docs/pwg/building-pads.xml:
19982         * docs/pwg/pwg.xml:
19983         * examples/pwg/Makefile.am:
19984           Add a chapter on caps negotiation, simplify the original code
19985           samples a bit w.r.t. caps negotiation, add link to the advanced
19986           section. Add a bunch of examples showing different use cases of
19987           different types of caps negotiation. Upstream renegotiation isn't
19988           fully documented yet since nobody knows how that works.
19989
19990 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19991
19992         * check/gst/gstpad.c:
19993         * check/gstcheck.c:
19994         * gst/gstpad.c: (gst_pad_get_internal_links_default):
19995           if pad has no parent, return NULL as list of internal links
19996
19997 2005-07-05  Andy Wingo  <wingo@pobox.com>
19998
19999         * gst/elements/gstfilesrc.c:
20000         * gst/elements/gstfakesrc.c: 
20001         * gst/base/gstpushsrc.c:
20002         * gst/base/gstbasesrc.h: 
20003         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
20004         
20005 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
20006
20007         * Makefile.am:
20008           better report generation target (lcov needs a patch)
20009
20010 2005-07-05  Andy Wingo  <wingo@pobox.com>
20011
20012         * gst/elements, testsuite: Null if we got it...
20013
20014 2005-07-05  Wim Taymans  <wim@fluendo.com>
20015
20016         * configure.ac:
20017         * libs/gst/dataprotocol/Makefile.am:
20018         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
20019         * libs/gst/dataprotocol/dataprotocol.h:
20020         * pkgconfig/Makefile.am:
20021         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
20022         * pkgconfig/gstreamer-dataprotocol.pc.in:
20023         Ported dataprotol to 0.9. 
20024         Added pkgconfig files.
20025
20026 2005-07-05  Andy Wingo  <wingo@pobox.com>
20027
20028         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
20029         Default to returning TRUE for the case when tranform_caps returns
20030         a fixed caps, like for identity or volume.
20031
20032         * check/gst/gstbus.c (pound_bus_with_messages): 
20033         * check/gst/gstmessage.c (START_TEST): 
20034         * check/pipelines/simple_launch_lines.c (got_handoff): Application
20035         message API change.
20036
20037         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
20038         logic weaks here: always run transform_caps, trying passthrough
20039         operation only if the original caps intersects with the transform.
20040
20041         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
20042         source and sink caps.
20043
20044         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
20045         Intersect the peer caps with the pad template before going into
20046         transform_caps.
20047         (gst_base_transform_transform_caps): More debugging.
20048
20049         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
20050         src argument.
20051
20052 2005-07-04  Edward Hervey  <edward@fluendo.com>
20053
20054         * gst/gstutils.c:
20055         * gst/gstutils.h:
20056         (gst_pad_add_*_probe): now returns the signal id for better wrapping
20057         in bindings.
20058
20059 2005-07-04  Andy Wingo  <wingo@pobox.com>
20060
20061         * check/gst/gstpad.c: Only set explicit caps on pads.
20062
20063 2005-07-01  Andy Wingo  <wingo@pobox.com>
20064
20065         * tests/network-clock.scm: Commentary update.
20066
20067         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
20068         Didn't really make sense, not implementable with basetransform,
20069         etc.
20070         (gst_identity_transform): Unref inbuf via make_writable. Feeble
20071         attempt at implementing the sync property, needs an unlock method.
20072
20073         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
20074         New func, by default returns the same caps (the identity
20075         transformation).
20076         (gst_base_transform_getcaps): Uses transform_caps to return
20077         something sensible.
20078         (gst_base_transform_setcaps): Complicated logic to get caps on
20079         both pads, even if they are different, and to call set_caps once
20080         for every time both pads get their caps set.
20081         (gst_base_transform_handle_buffer): Give the ref to the transform
20082         function. Allows in-place modification of the buffer.
20083
20084         * gst/base/gstbasetransform.h (transform_caps): New class method.
20085         Given caps on one side, what can I do on the other.
20086         (set_caps): Take two caps, one for each side of the element.
20087
20088         * gst/gstpad.h:
20089         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
20090         caps in place. This is safe because we can check the mutability of
20091         the caps, and a good idea because fixate functions are just called
20092         as a matter of last resort. (Not actually implemented.)
20093         (gst_pad_set_caps): If the caps we're setting is actually the same
20094         as the existing pad caps, just update the pointer without calling
20095         setcaps. Assert that caps is either NULL or fixed, as per the
20096         docs.
20097
20098         * gst/gstghostpad.c: Update for fixate changes.
20099
20100 2005-07-02  Andy Wingo  <wingo@pobox.com>
20101
20102         * gst/gstcaps.c:
20103         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
20104         two refcounts makes it immutable, which is enough. Doc more.
20105
20106 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
20107
20108         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
20109           Put the mini_object into GValue as a mini_object,
20110           not a gpointer, since that's how we declared
20111           the signal.
20112
20113 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20114
20115         * examples/pwg/Makefile.am:
20116           Fix buildbot again.
20117
20118 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20119
20120         * docs/pwg/building-testapp.xml:
20121           Add extra check.
20122         * examples/pwg/Makefile.am:
20123           Fix buildbot.
20124
20125 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20126
20127         * configure.ac:
20128         * examples/Makefile.am:
20129         * examples/pwg/Makefile.am:
20130         * examples/pwg/extract.pl:
20131           Enable building the PWG examples.
20132         * docs/pwg/advanced-interfaces.xml:
20133           Add URI interface stub.
20134         * docs/pwg/advanced-types.xml:
20135         * docs/pwg/other-autoplugger.xml:
20136         * docs/pwg/appendix-porting.xml:
20137         * docs/pwg/pwg.xml:
20138           Add porting guide (mostly stubs), remove autoplugging (see ADM).
20139         * docs/pwg/building-boiler.xml:
20140         * docs/pwg/building-chainfn.xml:
20141         * docs/pwg/building-pads.xml:
20142         * docs/pwg/building-props.xml:
20143         * docs/pwg/building-state.xml:
20144         * docs/pwg/building-testapp.xml:
20145           Update the building-*.xml parts for 0.9 changes. All examples
20146           code blocks compile in examples/pwg/*.
20147
20148 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20149
20150         * docs/manual/advanced-autoplugging.xml:
20151         * docs/manual/appendix-checklist.xml:
20152         * docs/manual/appendix-integration.xml:
20153         * docs/manual/highlevel-components.xml:
20154           Fix playbin/decodebin examples, update docs a bit, mention bus
20155           instead of signals in various places, mention kmplayer and
20156           kaffeine since they have a working GStreamer backend in the KDE
20157           section.
20158
20159 2005-06-30  Wim Taymans  <wim@fluendo.com>
20160
20161         * CHANGES-0.9:
20162         * docs/design/draft-ghostpads.txt:
20163         * docs/design/draft-push-pull.txt:
20164         * docs/design/draft-query.txt:
20165         * docs/design/part-TODO.txt:
20166         * docs/design/part-query.txt:
20167         Added CHANGES-0.9 doc, updated status of other docs.
20168         
20169         * gst/gstquery.h:
20170         Remove "hmm" macro
20171
20172 2005-06-30  Wim Taymans  <wim@fluendo.com>
20173
20174         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
20175         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
20176         (gst_base_sink_change_state):
20177         * gst/base/gstbasesink.h:
20178         Some tweaks, only EOS and a buffer complete a preroll.
20179
20180 2005-06-30  Andy Wingo  <wingo@pobox.com>
20181
20182         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
20183         activate_push down to the internal pad as well.
20184
20185 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
20186
20187         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20188
20189         * gst/gsttaginterface.c:
20190           Some documentation fixes (#307394 and #307397).
20191
20192 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
20193
20194         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20195
20196         * gst/gstvalue.c: (gst_value_intersect_list):
20197           Fix memleak (#309125).
20198
20199 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20200
20201         * docs/manual/advanced-dataaccess.xml:
20202           Fix fakesrc example to compile; doesn't work, bug somewhere...?
20203         * docs/manual/basics-pads.xml:
20204           Add reference for filtered caps to above chapter.
20205
20206 2005-06-30  Wim Taymans  <wim@fluendo.com>
20207
20208         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
20209         (gst_bin_change_state):
20210         Probes are gone.
20211         Lame attempt at making the state change function a bit
20212         more readable.
20213
20214 2005-06-30  Wim Taymans  <wim@fluendo.com>
20215
20216         * docs/design/part-clocks.txt:
20217         * docs/design/part-element-sink.txt:
20218         * docs/design/part-events.txt:
20219         * docs/design/part-preroll.txt:
20220         * docs/design/part-states.txt:
20221         Some more tweeks and additions to the docs.
20222
20223 2005-06-30  Wim Taymans  <wim@fluendo.com>
20224
20225         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
20226         (default_have_data), (gst_pad_class_init), (gst_pad_init),
20227         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
20228         (gst_pad_check_pull_range), (gst_pad_get_range),
20229         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
20230         * gst/gstpad.h:
20231         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
20232         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
20233         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
20234         (gst_pad_remove_buffer_probe):
20235         Removed atomic operations, use existing LOCK.
20236         Move exception handling out of main code path.
20237
20238 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20239
20240         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
20241         (silly_return_true_function), (gst_pad_class_init),
20242         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
20243         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
20244         (gst_pad_send_event):
20245           Fix accumulator, add default value by using _emitv() instead
20246           of _emit() for signal emission.
20247
20248 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20249
20250         * docs/manual/advanced-dataaccess.xml:
20251         * examples/manual/Makefile.am:
20252           Add probe example.
20253         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
20254           Make work (??).
20255
20256 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
20257
20258         * gst/elements/gstfilesink.c: (gst_filesink_render):
20259           Simplify code so that we don't have to handle short
20260           writes and return GST_FLOW_ERROR if an error occured.
20261
20262 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20263
20264         * docs/gst/gstreamer-docs.sgml:
20265           Remove probes more.
20266
20267 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20268
20269         * docs/gst/gstreamer-sections.txt:
20270         * docs/gst/tmpl/gstpad.sgml:
20271         * docs/gst/tmpl/gstprobe.sgml:
20272         * gst/Makefile.am:
20273         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
20274         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
20275         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
20276         (gst_pad_push_event), (gst_pad_send_event):
20277         * gst/gstpad.h:
20278         * gst/gstutils.c: (gst_pad_add_data_probe),
20279         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
20280         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
20281         (gst_pad_remove_buffer_probe):
20282         * gst/gstutils.h:
20283           Remove old probes, add new g-signal-based probes and some utility
20284           functions.
20285
20286 2005-06-29  Edward Hervey  <edward@fluendo.com>
20287
20288         * gst/gstelementfactory.c:
20289         * gst/gstutils.h:
20290         * gst/gstutils.c:
20291         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
20292         the definition to the header file.
20293
20294 2005-06-29  Andy Wingo  <wingo@pobox.com>
20295
20296         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
20297         plugins from the source directory.
20298
20299 2005-06-29  Wim Taymans  <wim@fluendo.com>
20300
20301         * docs/gst/tmpl/gstbuffer.sgml:
20302         * docs/gst/tmpl/gstclock.sgml:
20303         Some fixings for blantently wrong text.
20304
20305 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20306
20307         * check/Makefile.am:
20308         * gst/gst.c: (add_path_func), (init_pre):
20309         * gst/gstregistry.c: (gst_registry_add_path):
20310           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
20311           only scan the GST_PLUGIN_PATH locations, and not add
20312           system locations
20313
20314 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20315
20316         * docs/gst/gstreamer-sections.txt:
20317         * docs/gst/tmpl/gstbasesrc.sgml:
20318         * gst/gstelement.c:
20319         * gst/gstelement.h:
20320         * gst/gstevent.c:
20321         * gst/gstutils.c:
20322           doc fixes
20323
20324 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20325
20326         * docs/manual/advanced-autoplugging.xml:
20327           Fix autoplugging example.
20328
20329 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20330
20331         * docs/manual/advanced-autoplugging.xml:
20332         * docs/manual/mime-world.fig:
20333           Try to get autoplugging working, fix type detection. Fix text
20334           in hello-world image.
20335
20336 2005-06-29  Wim Taymans  <wim@fluendo.com>
20337
20338         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20339         (gst_base_sink_change_state):
20340         Small debug line.
20341
20342         * gst/gstclock.h:
20343         map SIGNAL and BROADCAST to the right function.
20344
20345         * gst/gstobject.h:
20346         Remove redundant braces.
20347
20348         * gst/gstpad.c: (gst_pad_set_caps):
20349         Don't call setcaps function when reseting caps to NULL.
20350
20351         * gst/gstsystemclock.c: (gst_system_clock_dispose),
20352         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
20353         (gst_system_clock_id_unschedule):
20354         Use BROADCAST as this is what we do.
20355
20356 2005-06-29  Wim Taymans  <wim@fluendo.com>
20357
20358         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20359         We are actually prerolling before commiting the state
20360         change. 
20361
20362 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20363
20364         * docs/manual/advanced-clocks.xml:
20365         * docs/manual/advanced-interfaces.xml:
20366         * docs/manual/advanced-metadata.xml:
20367         * docs/manual/advanced-position.xml:
20368         * docs/manual/advanced-schedulers.xml:
20369         * docs/manual/advanced-threads.xml:
20370         * docs/manual/appendix-porting.xml:
20371         * docs/manual/basics-bins.xml:
20372         * docs/manual/basics-bus.xml:
20373         * docs/manual/basics-elements.xml:
20374         * docs/manual/basics-helloworld.xml:
20375         * docs/manual/basics-pads.xml:
20376         * docs/manual/highlevel-components.xml:
20377         * docs/manual/manual.xml:
20378         * docs/manual/thread.fig:
20379           Update (until threads/scheduling) Application Development Manual;
20380           remove GstThread, add GstBus, add simple porting checklist, add
20381           documentation for tag writing, clocks, make all examples until this
20382           part compile and run.
20383         * examples/manual/Makefile.am:
20384           Update from changes to Application Development Manual; add bus
20385           example, remove thread example.
20386
20387 2005-06-28  Wim Taymans  <wim@fluendo.com>
20388
20389         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
20390         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
20391         (gst_bus_source_dispatch):
20392         Add debugging messages.
20393         Make internal methods static.
20394         Handle the case where the bus is flushed in the handler.
20395         
20396         * gst/gstelement.c: (gst_element_get_bus):
20397         Fix refcount in _get_bus();
20398
20399         * gst/gstpipeline.c: (gst_pipeline_change_state),
20400         (gst_pipeline_get_clock_func):
20401         Clock refcounting fixes.
20402         Handle the case where preroll timed out more gracefully.
20403         
20404         * gst/gstsystemclock.c: (gst_system_clock_dispose):
20405         Clean up the internal thread in dispose. This is needed
20406         for subclasses that actually get disposed.
20407         
20408         * gst/schedulers/threadscheduler.c:
20409         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
20410         (gst_thread_scheduler_dispose):
20411         Free thread pool in dispose.
20412
20413 2005-06-28  Andy Wingo  <wingo@pobox.com>
20414
20415         * tests/network-clock-utils.scm (debug, print-event): New utils.
20416
20417         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
20418         (*packet-loss*): Unified loss probability.
20419         (network-time): Report out-of-band events.
20420
20421         * tests/plot-data: Add support for out-of-band events. Hack it
20422         into this script instead of passing it down the pipe; should fix
20423         this later.
20424
20425 2005-06-28  Wim Taymans  <wim@fluendo.com>
20426
20427         * docs/gst/gstreamer.types:
20428         * docs/gst/tmpl/gstbasesrc.sgml:
20429         * docs/gst/tmpl/gstpad.sgml:
20430         Docs fixes.
20431
20432 2005-06-28  Wim Taymans  <wim@fluendo.com>
20433
20434         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20435         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
20436         (gst_proxy_pad_do_fixatecaps):
20437         Correctly proxy the check_pull_range function.
20438
20439 2005-06-28  Andy Wingo  <wingo@pobox.com>
20440
20441         * tests/network-clock.scm: Removed need for slib.
20442         
20443 2005-06-28  Wim Taymans  <wim@fluendo.com>
20444
20445         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
20446         (gst_basesink_preroll_queue_flush):
20447         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
20448         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
20449         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20450         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
20451         (gst_proxy_pad_set_property):
20452         * gst/gstpad.c:
20453         * gst/gstpad.h:
20454         * gst/gstqueue.c: (gst_queue_init):
20455         The deprecated pad loop function is removed now.
20456
20457 2005-06-28  Andy Wingo  <wingo@pobox.com>
20458
20459         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
20460         New parameters, simulate network packet loss.
20461
20462         * tests/network-clock-utils.scm: Initialize the RNG.
20463
20464 2005-06-28  Wim Taymans  <wim@fluendo.com>
20465
20466         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
20467         (gst_basesink_event), (gst_basesink_deactivate):
20468         Flushing the preroll queue always needs to unlock the waiters.
20469
20470 2005-06-28  Edward Hervey  <edward@fluendo.com>
20471
20472         * gst/gstpipeline.c: (gst_pipeline_send_event): 
20473         Wheen a seek was successful on a pipeline, set the stream_time to the
20474         seek offset in order to have a synchronized stream_time.
20475
20476 2005-06-28  Wim Taymans  <wim@fluendo.com>
20477
20478         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20479         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
20480         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
20481         (gst_proxy_pad_do_fixatecaps):
20482         Call wrapper function instead of just calling the function
20483         pointers. This takes care of any locking and whatmore.
20484
20485 2005-06-28  Wim Taymans  <wim@fluendo.com>
20486
20487         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
20488         (gst_pad_pull_range):
20489         * gst/gstpad.h:
20490         CONNECTED -> LINKED.
20491
20492 2005-06-28  Andy Wingo  <wingo@pobox.com>
20493
20494         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
20495         source-munging commit!!!
20496
20497         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
20498         (gst_object_sink): Take gpointer arguments, not GstObject --
20499         avoids casts. Like GLib.
20500
20501         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
20502         activate.
20503
20504 2005-06-27  Andy Wingo  <wingo@pobox.com>
20505
20506         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
20507         remaining buffer.
20508
20509         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
20510         returns a sorted copy of the trace list.
20511         (gst_alloc_trace_print_live): New API, only prints traces with
20512         live objects. Sort the list.
20513         (gst_alloc_trace_print_all): Sort the list.
20514         (gst_alloc_trace_print): Align columns.
20515
20516         * gst/elements/gstttypefindelement.c:
20517         * gst/elements/gsttee.c:
20518         * gst/base/gstbasesrc.c:
20519         * gst/base/gstbasesink.c:
20520         * gst/base/gstbasetransform.c:
20521         * gst/gstqueue.c: Adapt for pad activation changes.
20522
20523         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
20524         sched.
20525         (gst_pipeline_dispose): Drop ref on sched.
20526
20527         * gst/gstpad.c (gst_pad_init): Set the default activate func.
20528         (gst_pad_activate_default): Push mode by default.
20529         (pre_activate_switch, post_activate_switch): New stubs, things to
20530         do before and after switching activation modes on pads.
20531         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
20532         the pad's activate function to choose which mode to activate.
20533         Shortcut on deactivation and call the right function directly.
20534         (gst_pad_activate_pull): New API, (de)activates a pad in pull
20535         mode.
20536         (gst_pad_activate_push): New API, same for push mode.
20537         (gst_pad_set_activate_function) 
20538         (gst_pad_set_activatepull_function) 
20539         (gst_pad_set_activatepush_function): Setters for new API.
20540
20541         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
20542         Trace all miniobjects.
20543         (gst_mini_object_make_writable): Unref the arg if we copy, like
20544         gst_caps_make_writable.
20545
20546         * gst/gstmessage.c (_gst_message_initialize): No trace init.
20547
20548         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
20549         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
20550         Adapt for new pad API.
20551
20552         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
20553
20554         * gst/gstelement.h:
20555         * gst/gstelement.c (gst_element_iterate_src_pads) 
20556         (gst_element_iterate_sink_pads): New API functions.
20557         
20558         * gst/gstelement.c (iterator_fold_with_resync): New utility,
20559         should fold into gstiterator.c in some form.
20560         (gst_element_pads_activate): Simplified via use of fold and
20561         delegation of decisions to gstpad->activate.
20562
20563         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
20564         help in debugging.
20565
20566         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
20567         class once in init, like gstmessage. Didn't run into this issue
20568         but it seems correct. Don't initialize a trace, gstminiobject does
20569         that.
20570
20571         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
20572         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
20573         to the bus.
20574         (assert_live_count): New util function, uses alloc traces to check
20575         cleanup.
20576
20577         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
20578         To be modified when unlink drops the internal pad.
20579
20580 2005-06-27  Wim Taymans  <wim@fluendo.com>
20581
20582         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
20583         (gst_bin_change_state):
20584         Cleanup the get_state() function a little, make sure it
20585         iterates the same set of elements.
20586         Added stub iterate_state_order().
20587
20588 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20589
20590         * docs/gst/gstreamer-docs.sgml:
20591         * docs/gst/gstreamer-sections.txt:
20592         * docs/gst/gstreamer.types:
20593         * docs/gst/tmpl/gstbasesink.sgml:
20594         * docs/gst/tmpl/gstbasesrc.sgml:
20595         * docs/gst/tmpl/gstbasetransform.sgml:
20596         * docs/gst/tmpl/gstelement.sgml:
20597         * docs/gst/tmpl/gstiterator.sgml:
20598         * gst/base/gstbasesrc.c:
20599         * gst/base/gstbasesrc.h:
20600         * gst/base/gstbasetransform.h:
20601         * gst/gstelement.c:
20602         * gst/gstiterator.h:
20603           adding basetransform and iterator docs
20604
20605 2005-06-27  Andy Wingo  <wingo@pobox.com>
20606
20607         * docs/design/part-activation.txt: Notes on how activation should
20608         work -- not quite implemented yet.
20609
20610 2005-06-25  Wim Taymans  <wim@fluendo.com>
20611
20612         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
20613         At least get the chain function correct, needs more
20614         fixing.
20615
20616 2005-06-25  Wim Taymans  <wim@fluendo.com>
20617
20618         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
20619         (gst_basesink_handle_object), (gst_basesink_event),
20620         (gst_basesink_do_sync), (gst_basesink_handle_event),
20621         (gst_basesink_change_state):
20622         * gst/gsttask.h:
20623         Right, two problems here: ghostpads don't take locks and
20624         glib _rec_mutex_lock_full() with depth==0 still locks.
20625         Catch illegal locking and g_warn them.
20626
20627 2005-06-25  Wim Taymans  <wim@fluendo.com>
20628
20629         * check/states/sinks.c: (START_TEST), (gst_object_suite):
20630         Have to check for completion now...
20631
20632 2005-06-25  Wim Taymans  <wim@fluendo.com>
20633
20634         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
20635         (gst_basesink_handle_object), (gst_basesink_event),
20636         (gst_basesink_do_sync), (gst_basesink_handle_event),
20637         (gst_basesink_change_state):
20638         * gst/gstpad.h:
20639         Unlock STREAM_LOCK whatever the recursion was.
20640
20641 2005-06-25  Wim Taymans  <wim@fluendo.com>
20642
20643         * gst/base/gstbasesink.c: (gst_basesink_set_property),
20644         (gst_basesink_preroll_queue_empty),
20645         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
20646         (gst_basesink_event), (gst_basesink_do_sync),
20647         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
20648         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
20649         (gst_basesink_change_state):
20650         Reworked the base sink, handle event and buffer serialisation
20651         correctly and removed possible deadlock.
20652         Handle EOS correctly.
20653
20654 2005-06-25  Wim Taymans  <wim@fluendo.com>
20655
20656         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
20657         (gst_pipeline_change_state):
20658         * tools/gst-launch.c: (check_intr), (event_loop), (main):
20659         Allow elements to post EOS in the state change function.
20660         Fix up -launch, make it exit the poll loop when the
20661         pipeline actually changed state.
20662         Fix up warning parsing in -launch.
20663
20664 2005-06-25  Wim Taymans  <wim@fluendo.com>
20665
20666         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
20667         (gst_tee_sink_activate):
20668         Core takes STREAM_LOCK for us now.
20669
20670 2005-06-25  Wim Taymans  <wim@fluendo.com>
20671
20672         * gst/gstelement.c: (gst_element_get_state_func),
20673         (gst_element_set_state):
20674         * gst/gstelement.h:
20675         * gst/gstmessage.c: (gst_message_parse_error),
20676         (gst_message_parse_warning):
20677         Keep track of current target state while performing a state
20678         change so that subclasses can do something interesting.
20679         Fix parsing of warning/error messages when GError is NULL.
20680
20681 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20682
20683         * docs/gst/Makefile.am:
20684         * docs/gst/gstreamer-docs.sgml:
20685         * docs/gst/gstreamer-sections.txt:
20686         * docs/gst/gstreamer.types:
20687         * docs/gst/tmpl/gstbasesink.sgml:
20688         * docs/gst/tmpl/gstbasesrc.sgml:
20689         * docs/gst/tmpl/gstbin.sgml:
20690         * docs/gst/tmpl/gstcompat.sgml:
20691         * docs/gst/tmpl/gstfakesink.sgml:
20692         * docs/gst/tmpl/gstfakesrc.sgml:
20693         * docs/gst/tmpl/gstfilesink.sgml:
20694         * docs/gst/tmpl/gstfilesrc.sgml:
20695         * docs/gst/tmpl/gstindex.sgml:
20696         * docs/manual/appendix-quotes.xml:
20697         * gst/base/gstbasesrc.h:
20698         * gst/elements/gstfakesrc.h:
20699         * gst/gstmessage.h:
20700           start pulling in base classes and elements in our docs
20701
20702 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
20703
20704         * docs/gst/Makefile.am:
20705         * docs/libs/Makefile.am:
20706           fixed make distcheck with gtk-doc 1.3
20707
20708 2005-06-23  Wim Taymans  <wim@fluendo.com>
20709
20710         * gst/gstelement.c: (gst_element_get_state_func),
20711         (gst_element_set_state), (gst_element_change_state):
20712         When the state did not change, also report NO_PREROLL
20713         when it matters.
20714
20715 2005-06-23  Wim Taymans  <wim@fluendo.com>
20716
20717         * gst/gstpad.c: (gst_pad_event_default):
20718         * gst/gstqueue.c: (gst_queue_loop):
20719         No unsafe task pausing please.
20720
20721 2005-06-23  Wim Taymans  <wim@fluendo.com>
20722
20723         * gst/schedulers/threadscheduler.c:
20724         (gst_thread_scheduler_task_start),
20725         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
20726         Ref the task before pushing it on the threadpool. This
20727         makes sure that we have a ref when the threadfunction is
20728         actually called.
20729
20730 2005-06-23  Andy Wingo  <wingo@pobox.com>
20731
20732         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
20733         offset is greater than the file's size.
20734
20735         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
20736         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
20737         * gst/gstobject.c (gst_object_class_init): Make the class lock
20738         recursive. Wim won't let me drop deep_notify. Decodebin works
20739         again, whoopdy doo.
20740
20741         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
20742         internal pad, and hacks accordingly. Doesn't do it on the target
20743         pad because we change its caps. Probably catches all cases of
20744         interest tho.
20745         (gst_ghost_pad_set_property): Connect to notify::caps as
20746         appropritate.
20747
20748         * tests/network-clock.scm (plot-simulation): Pipe data to the
20749         elite python skript.
20750
20751         * tests/network-clock-utils.scm (define-parameter): New macro,
20752         defines a parameter that can be set via the command line.
20753         (set-parameter!, parse-parameter-arguments): Command line args
20754         parser.
20755
20756         * tests/plot-data: Simple matplotlib-based plotter, takes input on
20757         stdin.
20758
20759 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
20760
20761         * gst/elements/gsttypefindelement.c:
20762         (gst_type_find_element_handle_event):
20763           Don't restart typefinding on a discont.
20764         * gst/gstelement.c: (gst_element_set_state):
20765           Debug spelling fix.
20766         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
20767           Allow changing mode of an active pad.
20768           Debug output fixes.
20769         * gst/registries/gstlibxmlregistry.c: (load_feature):
20770           Don't cast a static pad template to a normal pad template.
20771
20772 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20773
20774         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20775         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20776           remove gst_strtoll completely, since it didn't actually do
20777           anything more than what g_ascii_strtoull already does.
20778           check for range errors when deserializing
20779           do a cast for the unsigned cases; but further fixing needs
20780           a decision on what the interpretation of "(int)" and
20781           deserialization should be for values that fall outside the
20782           type's boundaries (ie, refuse, or interpret as casting)
20783
20784 2005-06-23  Wim Taymans  <wim@fluendo.com>
20785
20786         * check/Makefile.am:
20787         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
20788         * docs/design/part-live-source.txt:
20789         * docs/design/part-states.txt:
20790         * gst/base/gstbasesrc.c: (gst_basesrc_init),
20791         (gst_basesrc_set_live), (gst_basesrc_is_live),
20792         (gst_basesrc_get_range), (gst_basesrc_activate),
20793         (gst_basesrc_change_state):
20794         * gst/base/gstbasesrc.h:
20795         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20796         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
20797         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
20798         * gst/gstelement.c: (gst_element_get_state_func),
20799         (gst_element_set_state):
20800         * gst/gstelement.h:
20801         * gst/gsttypes.h:
20802         * tools/gst-launch.c: (event_loop), (main):
20803         Added support for live sources and other elements that
20804         cannot do preroll.
20805         Updated design docs, added live-source design doc.
20806         Implemented live source functionality in basesrc
20807         Fix error condition in _bin_get_state()
20808         Implement live source handling in -launch.
20809         Added check for live sources.
20810         Fixed case in GstBin where elements were changed state
20811         multiple times.
20812
20813
20814 2005-06-23  Andy Wingo  <wingo@pobox.com>
20815
20816         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
20817         borken refcounting.
20818
20819         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
20820         gst_caps_replace takes care of this for us.
20821
20822         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
20823         gst_pad_set_caps on the target, not just its setcaps() function.
20824
20825         * tests/network-clock.scm: 
20826         * tests/network-clock-utils.scm: A network clock simulator.
20827         Something of an algorithmic testbed before doing something in C.
20828
20829 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20830
20831         * check/Makefile.am:
20832         * check/gst/capslist.h:
20833           copy over from 0.8, and add two with bitmasks specified with
20834           (int) 0xFF...
20835         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20836           add test to parse everything from capslist.h
20837         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
20838         (main):
20839           add test for structure deserialization
20840         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20841           add tests for deserialization of strings to int types
20842         * gst/gststructure.c: (gst_structure_nth_field_name):
20843         * gst/gststructure.h:
20844           add a way to get the name of a field referenced by index
20845         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20846           instead of checking if the resulting long long lies between
20847           min and max, we check if the long long would fit into
20848           a number of bytes for the final type.
20849           This fixes cases where a string represents 2^32 - 1, which
20850           when cast to int would be the (valid) -1, but is bigger than
20851           G_MAXINT
20852
20853 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20854
20855         * gst/parse/grammar.y:
20856           add a log line for type deserialization
20857
20858 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20859
20860         * check/gst/gstvalue.c: (START_TEST):
20861         * gst/gstvalue.c: (gst_value_deserialize):
20862           return long long, not int, so gint64 deserialization actually
20863           works.  Is there any flag that makes the compiler check this ?
20864           Fixes #308559
20865
20866 2005-06-22  Wim Taymans  <wim@fluendo.com>
20867
20868         * gst/gstbuffer.h:
20869         Added convenience macros for setting buffers in GValue.
20870
20871 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20872
20873         * check/gst/.cvsignore:
20874         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20875           add a test deserializing int64, and comment part out because
20876           it fails, yay !
20877
20878 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20879
20880         * check/Makefile.am:
20881         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
20882         * testsuite/Makefile.am:
20883         * testsuite/caps/Makefile.am:
20884         * testsuite/caps/value_serialize.c:
20885         * testsuite/test_gst_init.c:
20886           move a value_serialize test over
20887
20888 2005-06-20  Wim Taymans  <wim@fluendo.com>
20889
20890         * gst/gstpad.c:
20891         Small doc updates.
20892         
20893         * gst/gstvalue.c: (gst_value_compare_buffer),
20894         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
20895         (gst_value_compare_flags), (gst_value_serialize_flags),
20896         (gst_value_deserialize_flags), (_gst_value_initialize):
20897         Fix serialisation of buffers, they are not boxed types anymore
20898
20899 2005-06-20  Wim Taymans  <wim@fluendo.com>
20900
20901         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20902         Testcase to show error in buffer-on-caps serialisation.
20903
20904 2005-06-20  Andy Wingo  <wingo@pobox.com>
20905
20906         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
20907         will be adding to later.
20908
20909         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
20910         if its socks fill with rocks.
20911         (gst_system_clock_obtain): Set the name on object construction.
20912         Avoid double-checked locking.
20913
20914 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
20915
20916         * gst/gsturi.c: (gst_element_make_from_uri):
20917           Fix potential endless loop.
20918
20919 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20920
20921         * check/Makefile.am:
20922           add gsttag
20923         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
20924         (main):
20925           move over from testsuite dir and clean up
20926         * configure.ac:
20927         * gst/gsttag.c:
20928         * testsuite/Makefile.am:
20929         * testsuite/tags/.cvsignore:
20930         * testsuite/tags/Makefile.am:
20931         * testsuite/tags/merge.c:
20932           remove testsuite/tags
20933
20934 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20935
20936         * docs/gst/gstreamer-sections.txt:
20937         * docs/gst/tmpl/gstenumtypes.sgml:
20938         * win32/gstenumtypes.c:
20939           clean up documentation build a little
20940
20941 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20942
20943         * check/gstcheck.h:
20944           add macros for checking refcounts on objects and caps
20945         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
20946           add some more unit tests
20947         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
20948         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
20949           fix leaked refcounts (I hope :)) so unittest works
20950         * gst/gstpad.h:
20951           whitespace removal
20952
20953 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20954
20955         * configure.ac: back to HEAD
20956
20957 === release 0.9.1 ===
20958
20959 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20960
20961         * NEWS:
20962         * RELEASE:
20963           updated
20964
20965 2005-06-17  Andy Wingo  <wingo@pobox.com>
20966
20967         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
20968         assert; it's always possible that the pad gets deactivated in
20969         between the checks in gstpad.c and the implementation. Rely on
20970         finish_preroll() to return a FLUSHING or similar instead of on the
20971         assert.
20972         
20973         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
20974         clock and post an EOS message if we come out of finish_preroll in
20975         the playing state.
20976
20977 2005-06-16  David Schleef  <ds@schleef.org>
20978
20979         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
20980         (gst_capsfilter_set_property): Allow NULL as possible value
20981         for filter_caps property, indicating GST_CAPS_ANY.
20982
20983 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20984
20985         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
20986           fix debug output
20987         * gst/schedulers/Makefile.am:
20988           use libgst prefix
20989         * gstreamer.spec.in:
20990           fix spec for it
20991
20992 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20993
20994         * gstreamer.spec.in:
20995           clean up
20996
20997 2005-06-08  Andy Wingo  <wingo@pobox.com>
20998
20999         * gst/gstutils.c: RPAD fixes all around.
21000         (gst_element_link_pads): Refcounting fixes.
21001
21002         * tools/gst-inspect.c:
21003         * tools/gst-xmlinspect.c:
21004         * parse/grammar.y:
21005         * gst/base/gsttypefindhelper.c:
21006         * gst/base/gstbasesink.c:
21007         * gst/gstqueue.c: RPAD fixes.
21008
21009         * gst/gstghostpad.h:
21010         * gst/gstghostpad.c: New ghost pad implementation as full proxy
21011         pads. The tricky thing is they provide both source and sink
21012         interfaces, since they proxy the internal pad for the external
21013         pad, and vice versa. Implement with lower-level ProxyPad objects,
21014         with the interior proxy pad as a child of the exterior ghost pad.
21015         Should write a doc on this.
21016         
21017         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
21018         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
21019         gst_object API.
21020         
21021         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
21022         pads are real pads. No ghost pads in this file. Not documenting
21023         the myriad s/RPAD/PAD/ and REALIZE fixes.
21024         (gst_pad_class_init): Add properties for "direction" and
21025         "template". Both are construct-only, so they can't change during
21026         the life of the pad. Fixes properly deriving from GstPad.
21027         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
21028         derived objects, just set properties when creating the objects via
21029         g_object_new.
21030         (gst_pad_get_parent): Implement as a function, return NULL if the
21031         parent is not an element.
21032         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
21033         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
21034         
21035         * gst/gstobject.c (gst_object_class_init): Make name a construct
21036         property. Don't set it in the object init.
21037
21038         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
21039         with UNKNOWN direction.
21040         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
21041         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
21042         (gst_element_remove_pad): Remove ghost-pad special cases.
21043         (gst_element_pads_activate): Remove rpad cruft.
21044
21045         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
21046         catch the pad's-parent-not-an-element case.
21047
21048         * gst/gst.h: Include gstghostpad.h.
21049
21050         * gst/gst.c (init_post): No more real, ghost pads.
21051
21052         * gst/Makefile.am: Add gstghostpad.[ch].
21053
21054         * check/Makefile.am:
21055         * check/gst/gstbin.c:
21056         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
21057         into a bin creates ghost pads, and that the refcounts are right.
21058         Partly moved from gstbin.c.
21059
21060 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21061
21062         * check/gst-libs/.cvsignore:
21063         * check/gst/.cvsignore:
21064         * check/pipelines/.cvsignore:
21065           ignore more
21066         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
21067         (START_TEST), (cleanup_suite), (main):
21068           add some tests related to cleanup after running pipelines
21069
21070 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21071
21072         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
21073           add a testsuite for GstBuffer
21074
21075 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21076
21077         * gst/gstminiobject.h:
21078           add defines for accessing the refcount
21079
21080 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
21081
21082         * Makefile.am: added support for html unit test coverage reports
21083
21084 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
21085
21086         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
21087           Free existing caps if the capsfilter changes. Add a FIXME about
21088           setting those caps on the pads.
21089
21090         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
21091           Before adding a ghost pad to a parent bin, check that there isn't
21092           already one for the element on the bin. Prevents infinite recursion
21093           when using decodebin in parse pipelines. Andy says he'll rewrite the
21094           way this works anyway, so ignore the hack.
21095
21096 2005-06-02  Andy Wingo  <wingo@pobox.com>
21097
21098         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
21099         file size, pass it on to the type find helper.
21100
21101         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
21102         segment_start and segment_end properly according to the seek
21103         method. Segment_end is still a bit flaky because offset can be
21104         negative for CUR and END cases, but it takes -1 as an "unset"
21105         value.
21106
21107 2005-06-02  Wim Taymans  <wim@fluendo.com>
21108
21109         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
21110         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
21111         (gst_basesink_activate):
21112         * gst/base/gstbasesink.h:
21113         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
21114         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
21115         (gst_pad_query), (gst_pad_start_task):
21116         * gst/gstpad.h:
21117         * gst/gstqueue.c: (gst_queue_bufferalloc),
21118         (gst_queue_handle_sink_event), (gst_queue_chain):
21119         Bufferalloc: return GstFlowReturn to more accuratly report
21120         why allocation failed.
21121
21122 2005-06-02  Wim Taymans  <wim@fluendo.com>
21123
21124         * gst/gstpipeline.c: (gst_pipeline_send_event):
21125         Take snapshot of state without blocking.
21126
21127 2005-06-02  Wim Taymans  <wim@fluendo.com>
21128
21129         * docs/design/part-TODO.txt:
21130         * docs/design/part-caps.txt:
21131         * docs/design/part-clocks.txt:
21132         * docs/design/part-negotiation.txt:
21133         * docs/design/part-preroll.txt:
21134         Small doc updates 
21135
21136 2005-05-30  Wim Taymans  <wim@fluendo.com>
21137
21138         * gst/elements/gstidentity.c: (gst_identity_event),
21139         (gst_identity_transform), (gst_identity_get_property):
21140         Protect last_message property as it is accessed from
21141         multiple threads.
21142
21143 2005-05-30  Wim Taymans  <wim@fluendo.com>
21144
21145         * gst/gstelement.c: (gst_element_init),
21146         (gst_element_pads_activate), (gst_element_change_state):
21147         Slicker pad activation code.
21148
21149 2005-05-30  Wim Taymans  <wim@fluendo.com>
21150
21151         * gst/Makefile.am:
21152         * gst/gstelement.h:
21153         * gst/gstelementfactory.h:
21154         * gst/gsttypes.h:
21155         Move elementfactory methods to separate .h file.
21156
21157 2005-05-30  Wim Taymans  <wim@fluendo.com>
21158
21159         * docs/design/part-overview.txt:
21160         * gst/gstsystemclock.h:
21161         Small typo fixes, doc updates.
21162
21163 2005-05-30  Wim Taymans  <wim@fluendo.com>
21164
21165         * gst/gst.c: (gst_init_get_popt_table), (init_post),
21166         (init_popt_callback):
21167         Remove cpu-opt flag.
21168
21169 2005-05-30  Wim Taymans  <wim@fluendo.com>
21170
21171         * gst/gstbuffer.c: (gst_subbuffer_finalize),
21172         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
21173         * gst/gstbuffer.h:
21174         Avoid typechecking in places where not needed.
21175         Added accessor for malloc_data.
21176
21177 2005-05-30  Wim Taymans  <wim@fluendo.com>
21178
21179         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
21180         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
21181         (gst_pad_configure_sink), (gst_pad_configure_src),
21182         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
21183         (gst_pad_start_task):
21184         Propagate errors from _set_caps() in configure_src/sink
21185         functions instead of returning TRUE.
21186         FLUSH events can travel up and downstream
21187
21188
21189 2005-05-30  Wim Taymans  <wim@fluendo.com>
21190
21191         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
21192         (gst_basesink_activate):
21193         Handle EOS in preroll.
21194
21195 2005-05-30  Wim Taymans  <wim@fluendo.com>
21196
21197         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
21198         (gst_queue_loop), (gst_queue_handle_src_event):
21199         Remove old pieces of code
21200         Flushing the queue in an upstream event is a very bad idea.
21201
21202 2005-05-26  Andy Wingo  <wingo@pobox.com>
21203
21204         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
21205         gst_value_set_mini_object so as to add a ref on the object (which
21206         will be removed when the value is unset).
21207
21208         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
21209         arg type in ::handoff.
21210
21211         * gst/gstelement.c (gst_element_change_state): Also deactivate
21212         pads in READY->NULL, just in case the element didn't make it to
21213         PAUSED. Wingo tested, Wim approved.
21214
21215 2005-05-26  Wim Taymans  <wim@fluendo.com>
21216
21217         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
21218         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
21219         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
21220         A flushing pad cannot be used to alloc_buffer from.
21221
21222 2005-05-26  Wim Taymans  <wim@fluendo.com>
21223
21224         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
21225         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
21226         (gst_bus_source_dispatch), (gst_bus_source_finalize),
21227         (gst_bus_create_watch), (gst_bus_add_watch_full):
21228         * gst/gstbus.h:
21229         Implement a real GSource and use g_main_context_wakeup() to
21230         signal new messages instead of the socketpair.
21231
21232 2005-05-25  Wim Taymans  <wim@fluendo.com>
21233
21234         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
21235         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
21236         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
21237         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
21238         (gst_pad_send_event), (gst_pad_start_task):
21239         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
21240         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
21241         (gst_queue_sink_activate), (gst_queue_src_activate),
21242         (gst_queue_change_state):
21243         * gst/gstqueue.h:
21244         Fix state changes for non sinks. We now change sinks, then elements
21245         with unconnected srcpads, then the rest.
21246         More efficient queue unlocking in flush and state changes.
21247         Set the pad activate mode even if it does not have an activate
21248         function.
21249
21250 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21251
21252         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
21253           Don't go in pull mode for non-seekable sources.
21254         * gst/elements/gsttypefindelement.h:
21255         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
21256         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
21257         (free_entry), (stop_typefinding),
21258         (gst_type_find_element_handle_event), (find_peek),
21259         (gst_type_find_element_chain), (do_pull_typefind),
21260         (gst_type_find_element_change_state):
21261           Allow typefinding (w/o seeking) in push-mode, simplified version
21262           of what was in 0.8.
21263         * gst/gstutils.c: (gst_buffer_join):
21264         * gst/gstutils.h:
21265           gst_buffer_join() from 0.8.
21266
21267 2005-05-25  Wim Taymans  <wim@fluendo.com>
21268
21269         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
21270         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
21271         (gst_pad_send_event), (gst_pad_start_task):
21272         Disable attempt at mode switching until it is figured out.
21273
21274 2005-05-25  Wim Taymans  <wim@fluendo.com>
21275
21276         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
21277         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
21278         (gst_basesink_finish_preroll), (gst_basesink_chain),
21279         (gst_basesink_loop), (gst_basesink_activate),
21280         (gst_basesink_change_state):
21281         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
21282         (gst_basesrc_get_range), (gst_basesrc_loop),
21283         (gst_basesrc_activate):
21284         * gst/elements/gsttee.c: (gst_tee_sink_activate):
21285         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
21286         (gst_real_pad_init), (gst_real_pad_set_property),
21287         (gst_real_pad_get_property), (gst_pad_set_active),
21288         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
21289         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
21290         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
21291         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
21292         (gst_pad_event_default_dispatch), (gst_pad_event_default),
21293         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
21294         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
21295         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
21296         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
21297         (gst_pad_stop_task):
21298         * gst/gstpad.h:
21299         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
21300         (gst_queue_loop), (gst_queue_src_activate):
21301         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
21302         (gst_task_get_state):
21303         * gst/gsttask.h:
21304         * gst/schedulers/threadscheduler.c:
21305         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
21306         Implement gst_pad_pause/start/stop_task(), take STREAM lock
21307         in task function.
21308         Remove ACTIVE pad flag, use FLUSHING everywhere
21309         Added _pad_chain(), _pad_get_range() to call chain/getrange 
21310         functions.
21311         Add locks around IS_FLUSHING when reading.
21312         Take STREAM lock in chain(), get_range() functions so plugins
21313         don't need to take it anymore.
21314         
21315
21316
21317 2005-05-25  Wim Taymans  <wim@fluendo.com>
21318
21319         * tools/gst-launch.c: (event_loop):
21320         Unref message after using its contents instead of
21321         before.
21322
21323 2005-05-24  Wim Taymans  <wim@fluendo.com>
21324
21325         * docs/design/draft-ghostpads.txt:
21326         * docs/design/draft-push-pull.txt:
21327         * docs/design/draft-query.txt:
21328         * docs/design/part-overview.txt:
21329         Docs updates, added general overview doc.
21330
21331 2005-05-21  David Schleef  <ds@schleef.org>
21332
21333         * docs/gst/tmpl/old/GstBin.sgml:
21334         * docs/gst/tmpl/old/GstBuffer.sgml:
21335         * docs/gst/tmpl/old/GstCaps.sgml:
21336         * docs/gst/tmpl/old/GstClock.sgml:
21337         * docs/gst/tmpl/old/GstCompat.sgml:
21338         * docs/gst/tmpl/old/GstData.sgml:
21339         * docs/gst/tmpl/old/GstElement.sgml:
21340         * docs/gst/tmpl/old/GstEvent.sgml:
21341         * docs/gst/tmpl/old/GstIndex.sgml:
21342         * docs/gst/tmpl/old/GstStructure.sgml:
21343         * docs/gst/tmpl/old/GstTag.sgml:
21344         * docs/gst/tmpl/old/cothreads.sgml:
21345         * docs/gst/tmpl/old/cothreads_compat.sgml:
21346         * docs/gst/tmpl/old/gettext.sgml:
21347         * docs/gst/tmpl/old/gobject2gtk.sgml:
21348         * docs/gst/tmpl/old/grammar.tab.sgml:
21349         * docs/gst/tmpl/old/gst-i18n-app.sgml:
21350         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
21351         * docs/gst/tmpl/old/gst_private.sgml:
21352         * docs/gst/tmpl/old/gstaggregator.sgml:
21353         * docs/gst/tmpl/old/gstarch.sgml:
21354         * docs/gst/tmpl/old/gstatomic_impl.sgml:
21355         * docs/gst/tmpl/old/gstbufferstore.sgml:
21356         * docs/gst/tmpl/old/gstdata_private.sgml:
21357         * docs/gst/tmpl/old/gstdisksink.sgml:
21358         * docs/gst/tmpl/old/gstdisksrc.sgml:
21359         * docs/gst/tmpl/old/gstelementfactory.sgml:
21360         * docs/gst/tmpl/old/gstextratypes.sgml:
21361         * docs/gst/tmpl/old/gstfakesink.sgml:
21362         * docs/gst/tmpl/old/gstfakesrc.sgml:
21363         * docs/gst/tmpl/old/gstfdsink.sgml:
21364         * docs/gst/tmpl/old/gstfdsrc.sgml:
21365         * docs/gst/tmpl/old/gstfilesink.sgml:
21366         * docs/gst/tmpl/old/gstfilesrc.sgml:
21367         * docs/gst/tmpl/old/gsthttpsrc.sgml:
21368         * docs/gst/tmpl/old/gstidentity.sgml:
21369         * docs/gst/tmpl/old/gstindexfactory.sgml:
21370         * docs/gst/tmpl/old/gstmarshal.sgml:
21371         * docs/gst/tmpl/old/gstmd5sink.sgml:
21372         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
21373         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
21374         * docs/gst/tmpl/old/gstpadtemplate.sgml:
21375         * docs/gst/tmpl/old/gstpipefilter.sgml:
21376         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
21377         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
21378         * docs/gst/tmpl/old/gstshaper.sgml:
21379         * docs/gst/tmpl/old/gstspider.sgml:
21380         * docs/gst/tmpl/old/gstspideridentity.sgml:
21381         * docs/gst/tmpl/old/gststatistics.sgml:
21382         * docs/gst/tmpl/old/gsttee.sgml:
21383         * docs/gst/tmpl/old/gsttimecache.sgml:
21384         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
21385         * docs/gst/tmpl/old/gstxmlregistry.sgml:
21386         * docs/gst/tmpl/old/gthread-cothreads.sgml:
21387         * docs/gst/tmpl/old/types.sgml:
21388           I didn't intend to add these or check them in.
21389
21390 2005-05-19  David Schleef  <ds@schleef.org>
21391
21392         * configure.ac: Use -no-common everywhere.  In a sane world, it
21393           would be the default in libtool, because without it, you can't
21394           build DLLs on Windows.
21395         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
21396         * docs/gst/gstreamer-sections.txt:
21397         * docs/gst/tmpl/gstcpu.sgml:
21398         * docs/gst/tmpl/gstdata.sgml:
21399         * docs/gst/tmpl/gstthread.sgml:
21400
21401 2005-05-19  David Schleef  <ds@schleef.org>
21402
21403         * gst/gstminiobject.c: (gst_value_set_mini_object),
21404         (gst_value_take_mini_object), (gst_value_get_mini_object):
21405         * gst/gstminiobject.h: Add GValue set/get functions.
21406
21407 2005-05-19  Wim Taymans  <wim@fluendo.com>
21408
21409         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
21410         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
21411         (gst_subbuffer_init), (gst_buffer_is_span_fast):
21412         * gst/gstbuffer.h:
21413         * gst/gstbus.c: (gst_bus_post):
21414         * gst/gstelement.c: (gst_element_get_random_pad):
21415         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
21416         Make subbufer unref the parent in finalize.
21417         some more debugging info.
21418
21419
21420 2005-05-19  Wim Taymans  <wim@fluendo.com>
21421
21422         * gst/base/gstbasesink.c: (gst_basesink_class_init),
21423         (gst_basesink_init), (gst_basesink_finalize),
21424         (gst_basesink_activate), (gst_basesink_change_state):
21425         Don't free preroll queue too early.
21426
21427 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21428
21429         * gst/Makefile.am:
21430         * gst/ROADMAP:
21431           Hi, I'm outdated. Please shoot me.
21432
21433 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21434
21435         * gst/gstpipeline.c: (gst_pipeline_send_event):
21436           Do not access variables after they have been deleted.
21437
21438 2005-05-19  Wim Taymans  <wim@fluendo.com>
21439
21440         * tools/gst-inspect.c: (print_plugin_features):
21441         A plugin feature does unfortunatly not use the
21442         object name yet...
21443
21444 2005-05-18  Wim Taymans  <wim@fluendo.com>
21445
21446         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
21447         Port _span() functions to new subbuffers.
21448
21449 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21450
21451         * gst/gstbin.c: (gst_bin_add_func):
21452           Fix clock settery in bins when adding kids after the clock has
21453           been selected.
21454
21455 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21456
21457         * gst/elements/gstidentity.c: (gst_identity_class_init):
21458           Workaround until signals support GstMiniObject.
21459
21460 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
21461
21462         * gst/gstbuffer.c:
21463         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
21464
21465 2005-05-18  Wim Taymans  <wim@fluendo.com>
21466
21467         * gst/base/Makefile.am:
21468         * gst/base/gstadapter.c: (gst_adapter_base_init),
21469         (gst_adapter_class_init), (gst_adapter_init),
21470         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
21471         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
21472         (gst_adapter_flush), (gst_adapter_available),
21473         (gst_adapter_available_fast):
21474         * gst/base/gstadapter.h:
21475         Ported and added adapter to the base classes.
21476
21477 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
21478
21479         * gst/gst.c:
21480         * gst/gstmessage.c:
21481           Make sure the class is reffed/unreffed once before threads can be
21482           used.  Fixes #304551.
21483
21484 2005-05-17  Wim Taymans  <wim@fluendo.com>
21485
21486         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
21487         (gst_basesink_chain_unlocked), (gst_basesink_activate):
21488         * gst/gstminiobject.c: (gst_mini_object_get_type),
21489         (gst_mini_object_free):
21490         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
21491         (gst_pad_push), (gst_pad_push_event):
21492         * gst/gstqueue.c: (gst_queue_change_state):
21493         Don't queue buffers in basesink when we are flushing.
21494         Unref buffer when flushing in basesink.
21495         Flush queue when going to READY
21496         Unref buffer when _push() returns an error.
21497         Don't free MiniObject instance when refcount is incremented
21498         in _finalize() so that we can recover objects.
21499
21500 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
21501
21502         * docs/manual/advanced-schedulers.xml:
21503         * docs/manual/appendix-checklist.xml:
21504         * docs/pwg/advanced-clock.xml:
21505         * docs/pwg/advanced-interfaces.xml:
21506         * docs/pwg/advanced-request.xml:
21507         * docs/pwg/advanced-types.xml:
21508         * docs/pwg/intro-preface.xml:
21509         * examples/plugins/example.c: (gst_example_get_type),
21510         (gst_example_class_init), (gst_example_chain),
21511         (gst_example_set_property), (gst_example_get_property),
21512         (gst_example_change_state), (plugin_init):
21513         * examples/plugins/example.h:
21514           small doc fixes
21515
21516 2005-05-17  Wim Taymans  <wim@fluendo.com>
21517
21518         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
21519         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
21520         * gst/gstqueue.c: (gst_queue_change_state):
21521         Clear queue when going to READY.
21522         Remove IN_SETCAPS flag too.
21523
21524 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
21525
21526         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
21527           Remove implicit cast from gboolean to GstElementStateReturn;
21528           make sure we still return failure in paused => ready case if
21529           the parent class fails to change state and our own stop 
21530           vfunc succeeds.
21531
21532 2005-05-17  Wim Taymans  <wim@fluendo.com>
21533
21534         * tools/gst-launch.c: (event_loop):
21535         Message was unreffed too soon.
21536
21537 2005-05-16  Andy Wingo  <wingo@pobox.com>
21538
21539         * gst/gstbin.c (sink_iterator_filter): Err... um...
21540
21541         * check/gst/gstbin.c (test_ghost_pads): New test for the
21542         ghosting-if-elements-not-in-same-bin behavior.
21543
21544 2005-05-16  David Schleef  <ds@schleef.org>
21545
21546         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
21547         accessing refcount directly.
21548
21549 2005-05-15  David Schleef  <ds@schleef.org>
21550
21551         * check/Makefile.am: remove GstData checks
21552         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
21553         * gst/Makefile.am: add miniobject, remove data
21554         * gst/gst.h: add miniobject, remove data
21555         * gst/gstdata.c: remove
21556         * gst/gstdata.h: remove
21557         * gst/gstdata_private.h: remove
21558         * gst/gsttypes.h: remove GstEvent and GstMessage
21559         * gst/gstelement.c: (gst_element_post_message): fix for API changes
21560         * gst/gstmarshal.list: change BOXED -> OBJECT
21561
21562         Implement GstMiniObject.
21563         * gst/gstminiobject.c:
21564         * gst/gstminiobject.h:
21565
21566         Modify to be subclasses of GstMiniObject.
21567         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
21568         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
21569         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
21570         (gst_subbuffer_get_type), (gst_subbuffer_init),
21571         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
21572         (gst_buffer_span):
21573         * gst/gstbuffer.h:
21574         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
21575         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
21576         (_gst_event_copy), (gst_event_new):
21577         * gst/gstevent.h:
21578         * gst/gstmessage.c: (_gst_message_initialize),
21579         (gst_message_get_type), (gst_message_class_init),
21580         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
21581         (gst_message_new), (gst_message_new_error),
21582         (gst_message_new_warning), (gst_message_new_tag),
21583         (gst_message_new_state_changed), (gst_message_new_application):
21584         * gst/gstmessage.h:
21585         * gst/gstprobe.c: (gst_probe_perform),
21586         (gst_probe_dispatcher_dispatch):
21587         * gst/gstprobe.h:
21588         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
21589         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
21590         (_gst_query_copy), (gst_query_new):
21591
21592         Update elements for GstData -> GstMiniObject changes
21593         * gst/gstquery.h:
21594         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
21595         (gst_queue_chain), (gst_queue_loop):
21596         * gst/elements/gstbufferstore.c:
21597         (gst_buffer_store_add_buffer_func),
21598         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
21599         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21600         (gst_fakesink_render):
21601         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
21602         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
21603         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
21604         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
21605         (gst_filesrc_create_read):
21606         * gst/elements/gstidentity.c: (gst_identity_class_init):
21607         * gst/elements/gsttypefindelement.c:
21608         (gst_type_find_element_src_event), (free_entry_buffers),
21609         (gst_type_find_element_handle_event):
21610         * libs/gst/dataprotocol/dataprotocol.c:
21611         (gst_dp_header_from_buffer):
21612         * libs/gst/dataprotocol/dataprotocol.h:
21613         * libs/gst/dataprotocol/dp-private.h:
21614
21615 2005-05-15  David Schleef  <ds@schleef.org>
21616
21617         * gst/elements/gstelements.c: Don't include headers that were
21618         just removed.
21619
21620 2005-05-15  David Schleef  <ds@schleef.org>
21621
21622         * gst/elements/Makefile.am: Remove some elements that don't
21623         need to be in the core (or even exist at all).
21624         * gst/elements/gstaggregator.c:
21625         * gst/elements/gstaggregator.h:
21626         * gst/elements/gstmd5sink.c:
21627         * gst/elements/gstmd5sink.h:
21628         * gst/elements/gstmultifilesrc.c:
21629         * gst/elements/gstmultifilesrc.h:
21630         * gst/elements/gstpipefilter.c:
21631         * gst/elements/gstpipefilter.h:
21632         * gst/elements/gstshaper.c:
21633         * gst/elements/gstshaper.h:
21634         * gst/elements/gststatistics.c:
21635         * gst/elements/gststatistics.h:
21636         * po/POTFILES.in: Remove above files.
21637
21638 2005-05-14  Andy Wingo  <wingo@pobox.com>
21639
21640         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
21641         so as to get the refs right.
21642         (sink_iterator_filter): New function, wraps bin_element_is_sink,
21643         unreffing objects that don't pass the filter.
21644
21645         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
21646         gst_element_set_bus.
21647         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
21648         normal cases, this will destroy the bus.
21649
21650         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
21651         object.
21652
21653         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
21654         has no sinks.
21655
21656 2005-05-13  Andy Wingo  <wingo@pobox.com>
21657
21658         * gst/gstutils.c (gst_element_link_pads): Instead of calling
21659         gst_pad_link, call pad_link_maybe_ghosting,
21660         (pad_link_maybe_ghosting): Links pads, making sure that the
21661         elements being linked are in the same bin.
21662         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
21663         Helpers for pad_link_maybe_ghosting.
21664
21665 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
21666
21667         * configure.ac:
21668           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
21669
21670 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
21671
21672         * docs/design/part-element-source.txt:
21673           Mention GstPushSrc
21674
21675 2005-05-12  Wim Taymans  <wim@fluendo.com>
21676
21677         * gst/base/gstbasesink.c: (gst_basesink_init),
21678         (gst_basesink_activate):
21679         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
21680         (gst_basesrc_is_seekable):
21681         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
21682         (bin_element_is_sink), (gst_bin_change_state):
21683         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21684         * gst/gstelement.h:
21685         Identify sinks by their flag to avoid overly complicated
21686         checks (fow now).
21687         Do state changes even for elements not reachable from the
21688         sinks.
21689         BaseSink is a sink now :)
21690         Some more debugging info in the basesrc.
21691
21692
21693 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21694
21695         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
21696           Implement _query on a bin, similar to _send_event.
21697
21698 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
21699
21700         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
21701           Discont event offset format should be GST_FORMAT_BYTES,
21702           not GST_FORMAT_TIME.
21703
21704 2005-05-12  Wim Taymans  <wim@fluendo.com>
21705
21706         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
21707         Same fix as Ronald's but without the signal. 
21708
21709 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21710
21711         * gst/gstutils.c: (gst_element_query_position):
21712           No, an element is not a pad.
21713
21714 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21715
21716         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
21717         (gst_bin_get_state):
21718           If a child is removed from a bin while we remove the child from
21719           the bin and while we're retrieving its state, signal this to the
21720           get_state function so we abort the wait (instead of waiting for
21721           a timeout) and can immediately re-iterate over all other elements.
21722
21723 2005-05-12  Wim Taymans  <wim@fluendo.com>
21724
21725         * gst/base/Makefile.am:
21726         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
21727         (gst_basesrc_start):
21728         * gst/base/gstbasesrc.h:
21729         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
21730         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
21731         (gst_pushsrc_init), (gst_pushsrc_create):
21732         * gst/base/gstpushsrc.h:
21733         Added is_seekable to BaseSrc
21734         Added simple PushSrc.
21735
21736 2005-05-11  Wim Taymans  <wim@fluendo.com>
21737
21738         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21739         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21740         (gst_element_link_pads), (gst_element_query_position),
21741         (gst_element_query_convert), (intersect_caps_func),
21742         (gst_pad_query_position), (gst_pad_query_convert):
21743         Fix refcounting in utils function.
21744         No point in trying to activate a pad when it's added, it could
21745         be added from the state change function and then we deadlock, the
21746         element has to decide what to do.
21747
21748 2005-05-10  Andy Wingo  <wingo@pobox.com>
21749
21750         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
21751         *all* the arguments.
21752
21753         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
21754         stream lock if it's a FLUSH_DONE; normal flushes don't get the
21755         lock (according to the docs -- if this is wrong change the docs).
21756
21757         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
21758         flush messages in the NULL state.
21759
21760         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
21761         message immediately and return.
21762         (gst_bus_set_flushing): New function. If a bus is flushing, it
21763         flushes out any queued messages and immediately unrefs new
21764         messages. This is so when an element goes to NULL, all of the
21765         unhandled messages coming from it can be freed, and their
21766         references to the element dropped. In other words: message source
21767         ref considered harmful :P
21768
21769         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
21770         we're finished with it.
21771
21772         * gst/gstmessage.c (gst_message_new_state_changed): 
21773
21774 2005-05-10  Wim Taymans  <wim@fluendo.com>
21775
21776         * gst/gstvalue.c: (gst_value_compare_flags),
21777         (gst_value_serialize_flags), (gst_value_deserialize_flags),
21778         (_gst_value_initialize):
21779         Added flags serialize/deserialize/compare code.
21780
21781 2005-05-09  Andy Wingo  <wingo@pobox.com>
21782
21783         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
21784         Intersect the peer's caps with our caps.
21785
21786 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21787
21788         * gst/base/gsttypefindhelper.c: (helper_find_peek):
21789         * gst/elements/gsttypefindelement.c: (find_peek):
21790           Handle negative offsets better. Fixes decodebin.
21791
21792 2005-05-09  Wim Taymans  <wim@fluendo.com>
21793
21794         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
21795         (gst_base_transform_event):
21796         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
21797         Implement accept_caps.
21798         Fix silly lock/unlock mismatch in base class.
21799
21800 2005-05-09  Wim Taymans  <wim@fluendo.com>
21801
21802         * docs/design/draft-push-pull.txt:
21803         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
21804         * gst/elements/gstfilesink.c: (gst_filesink_init),
21805         (gst_filesink_query):
21806         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
21807         (gst_type_find_handle_src_query), (find_element_get_length):
21808         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
21809         * gst/gstelement.h:
21810         * gst/gstmessage.c:
21811         * gst/gstmessage.h:
21812         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
21813         (gst_real_pad_get_caps_unlocked),
21814         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
21815         (gst_pad_event_default_dispatch), (gst_pad_event_default),
21816         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
21817         (gst_real_pad_dispose), (gst_real_pad_finalize),
21818         (gst_pad_load_and_link), (gst_pad_save_thyself),
21819         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
21820         (gst_pad_check_pull_range), (gst_pad_pull_range),
21821         (gst_pad_template_get_type), (gst_pad_template_class_init),
21822         (gst_pad_template_init), (gst_pad_template_dispose),
21823         (name_is_valid), (gst_static_pad_template_get),
21824         (gst_pad_template_new), (gst_static_pad_template_get_caps),
21825         (gst_pad_template_get_caps), (gst_pad_set_element_private),
21826         (gst_pad_get_element_private), (gst_pad_start_task),
21827         (gst_pad_pause_task), (gst_pad_stop_task),
21828         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
21829         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
21830         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
21831         (gst_ghost_pad_new):
21832         * gst/gstpad.h:
21833         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
21834         (gst_query_new_position), (gst_query_set_position),
21835         (gst_query_parse_position), (gst_query_new_convert),
21836         (gst_query_set_convert), (gst_query_parse_convert):
21837         * gst/gstquery.h:
21838         * gst/gstqueryutils.c:
21839         * gst/gstqueryutils.h:
21840         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21841         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21842         (gst_queue_handle_src_query):
21843         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21844         (gst_element_query_position), (gst_element_query_convert),
21845         (intersect_caps_func), (gst_pad_query_position),
21846         (gst_pad_query_convert):
21847         * gst/gstutils.h:
21848         * tools/gst-inspect.c: (print_pad_info):
21849         * tools/gst-xmlinspect.c: (print_element_info):
21850         Remove old query functions. Ported old code.
21851         Added position/convert helper functions to gstutils.
21852         Reordered gstpad.c code, grouping relevant things.
21853         Remove gst_message_new(), always need to speficy a specific
21854         message.
21855
21856
21857 2005-05-09  Andy Wingo  <wingo@pobox.com>
21858
21859         * gst/gstiterator.h: Add some includes.
21860
21861         * gst/gstqueryutils.h: Include more headers.
21862
21863         * gst/gstpad.h:
21864         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
21865         some uses of gst_pad_query.
21866
21867         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
21868         NULL out parameters.
21869         (gst_query_new_position): New proc, allocates a new position
21870         query.
21871
21872         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
21873         gstqueryutils.c to the build.
21874
21875         * gst/gststructure.c (gst_structure_set_valist): Implement with
21876         the generic G_VALUE_COLLECT.
21877         
21878 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
21879
21880         * gst/Makefile.am: (gst_headers):
21881         Added gstqueryutils.h to the list of headers to install, that was
21882         a 'nachty' move wingo :)
21883
21884 2005-05-06  Andy Wingo  <wingo@pobox.com>
21885
21886         * gst/gstquery.h
21887         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
21888         GstData, init a memchunk.
21889         (standard_definitions): Add a few query types, deprecate a few.
21890         (gst_query_get_type): New proc.
21891         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
21892         implementation.
21893         (gst_query_new_application, gst_query_get_structure): New public
21894         procs.
21895
21896         * docs/design/draft-query.txt: Removed LINKS from the query types,
21897         because all the rest can be dispatched to other pads -- seemed
21898         ugly to have a query that couldn't be dispatched. internal_links
21899         is fine as a pad method.
21900
21901         * gst/gstpad.h: Add query2 as a pad method, add the new functions
21902         in gstpad.c, but maintain binary compatibility for the moment.
21903         Will fix before 0.9 is out.
21904
21905         * gst/gstqueryutils.c: 
21906         * gst/gstqueryutils.h: New files, implement 3 methods for each
21907         query type: parse_query, parse_response, and set. Probably need an
21908         allocator as well.
21909
21910         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
21911
21912         * gst/elements/gstfilesink.c (gst_filesink_query2):
21913         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
21914         query_types, and formats methods.
21915
21916         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
21917         (gst_pad_set_query2_function): New functions.
21918         (gst_real_pad_init): Set query2_default as the default query2
21919         function. Basically just dispatches to internally linked pads.
21920
21921         Needs review!
21922         
21923         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
21924         without using the atomic operations. Only one thread can possibly
21925         be accessing the data at this point. Changed so as to avoid
21926         gst_atomic operations.
21927
21928 2005-05-06  Wim Taymans  <wim@fluendo.com>
21929
21930         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
21931         Also set caps if we use the fallback buffer alloc.
21932
21933 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
21934
21935         * docs/gst/Makefile.am:
21936         * docs/gst/gstreamer-docs.sgml:
21937         * docs/gst/gstreamer-sections.txt:
21938         * docs/gst/tmpl/gstatomic.sgml:
21939         * docs/gst/tmpl/gstmemchunk.sgml:
21940         * testsuite/elements/struct_i386.h:
21941         * win32/GStreamer.vcproj:
21942         * win32/Makefile:
21943           Purge GstAtomic stuff from docs and win32 makefiles as well
21944
21945 2005-05-06  Wim Taymans  <wim@fluendo.com>
21946
21947         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
21948         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
21949         * gst/gstpad.c: (gst_pad_peer_get_caps):
21950         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21951         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21952         (gst_queue_src_activate), (gst_queue_change_state):
21953         * gst/gstqueue.h:
21954         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21955         (intersect_caps_func):
21956         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
21957         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
21958         Some fixes for the peer_get_caps() change.
21959
21960 2005-05-06  Wim Taymans  <wim@fluendo.com>
21961
21962         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
21963         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
21964         (gst_basesink_activate):
21965         Actually do something with error codes returned from the push
21966         functions.
21967
21968 2005-05-06  Wim Taymans  <wim@fluendo.com>
21969
21970         * docs/design/part-element-sink.txt:
21971         * docs/design/part-element-source.txt:
21972         * gst/base/gstbasesink.c: (gst_basesink_class_init),
21973         (gst_basesink_event), (gst_basesink_activate):
21974         * gst/base/gstbasesink.h:
21975         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
21976         (gst_basesrc_activate):
21977         * gst/base/gstbasesrc.h:
21978         * gst/gstelement.c: (gst_element_pads_activate):
21979         Some more documentation.
21980         Fixed scheduling decision in _pads_activate().
21981
21982 2005-05-05  Andy Wingo  <wingo@pobox.com>
21983
21984         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
21985         the test suite.
21986
21987 2005-05-05  Wim Taymans  <wim@fluendo.com>
21988
21989         * gst/base/Makefile.am:
21990         * gst/base/gstbasesink.h:
21991         * gst/base/gstbasesrc.c: (gst_basesrc_init),
21992         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
21993         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
21994         (gst_collectpads_class_init), (gst_collectpads_init),
21995         (gst_collectpads_finalize), (gst_collectpads_new),
21996         (gst_collectpads_set_function), (gst_collectpads_add_pad),
21997         (find_pad), (gst_collectpads_remove_pad),
21998         (gst_collectpads_is_active), (gst_collectpads_collect),
21999         (gst_collectpads_collect_range), (gst_collectpads_start),
22000         (gst_collectpads_stop), (gst_collectpads_peek),
22001         (gst_collectpads_pop), (gst_collectpads_available),
22002         (gst_collectpads_read), (gst_collectpads_flush),
22003         (gst_collectpads_chain):
22004         * gst/base/gstcollectpads.h:
22005         * gst/elements/Makefile.am:
22006         * gst/elements/gstelements.c:
22007         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
22008         (gst_fakesink_get_times), (gst_fakesink_event),
22009         (gst_fakesink_preroll), (gst_fakesink_render):
22010         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
22011         (gst_filesink_init), (gst_filesink_set_location),
22012         (gst_filesink_open_file), (gst_filesink_close_file),
22013         (gst_filesink_pad_query), (gst_filesink_event),
22014         (gst_filesink_render), (gst_filesink_change_state):
22015         * gst/elements/gstfilesink.h:
22016         Added object to help in making collect pad based elements.
22017         Ported filesink.
22018         Make event function in sink baseclass return gboolean.
22019
22020 2005-05-05  Wim Taymans  <wim@fluendo.com>
22021
22022         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
22023         (gst_bin_get_by_name):
22024         * gst/gstbuffer.h:
22025         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
22026         (gst_clock_finalize):
22027         * gst/gstdata.c: (gst_data_replace):
22028         * gst/gstdata.h:
22029         * gst/gstelement.c: (gst_element_request_pad),
22030         (gst_element_pads_activate):
22031         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
22032         (gst_object_unref):
22033         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22034         (gst_pad_set_checkgetrange_function),
22035         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
22036         (gst_pad_check_pull_range), (gst_pad_pull_range),
22037         (gst_static_pad_template_get_caps), (gst_pad_start_task),
22038         (gst_pad_pause_task), (gst_pad_stop_task):
22039         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22040         (gst_element_request_pad), (gst_pad_proxy_getcaps):
22041         Fix name lookup in GstBin.
22042         Added _data_replace() function and _buffer_replace()
22043         Use finalize method to clean up clock.
22044         Fix refcounting on request pads.
22045         Fix pad schedule mode error.
22046         Some more object refcounting debug info,
22047
22048
22049 2005-05-04  Andy Wingo <wingo@pobox.com>
22050
22051         * check/Makefile.am:
22052         * docs/gst/tmpl/gstatomic.sgml:
22053         * docs/gst/tmpl/gstplugin.sgml:
22054         * gst/base/gstbasesink.c: (gst_basesink_activate):
22055         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
22056         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
22057         (gst_basesrc_query), (gst_basesrc_set_property),
22058         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
22059         (gst_basesrc_activate):
22060         * gst/base/gstbasesrc.h:
22061         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
22062         (gst_base_transform_src_activate):
22063         * gst/elements/gstelements.c:
22064         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22065         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
22066         * gst/elements/gsttee.c: (gst_tee_sink_activate):
22067         * gst/elements/gsttypefindelement.c: (find_element_get_length),
22068         (gst_type_find_element_checkgetrange),
22069         (gst_type_find_element_activate):
22070         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
22071         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
22072         (gst_caps_load_thyself):
22073         * gst/gstelement.c: (gst_element_pads_activate),
22074         (gst_element_save_thyself), (gst_element_restore_thyself):
22075         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
22076         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
22077         * gst/gstpad.h:
22078         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
22079         (gst_xml_parse_file), (gst_xml_parse_memory),
22080         (gst_xml_get_element), (gst_xml_make_element):
22081         * gst/indexers/gstfileindex.c: (gst_file_index_load),
22082         (_file_index_id_save_xml), (gst_file_index_commit):
22083         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
22084         (read_enum), (load_pad_template), (load_feature), (load_plugin),
22085         (load_paths):
22086         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
22087         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
22088         * tools/gst-complete.c: (main):
22089         * tools/gst-compprep.c: (main):
22090         * tools/gst-inspect.c: (print_element_properties_info):
22091         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
22092         * tools/gst-xmlinspect.c: (print_element_properties):
22093         GCC 4 fixen.
22094         
22095 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
22096
22097         * gst/gstplugin.c: (gst_plugin_check_module),
22098         (gst_plugin_check_file), (gst_plugin_load_file):
22099             apply patch from #172526 to make register work on MacOSX
22100
22101 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22102
22103         * docs/gst/tmpl/gstconfig.sgml:
22104         * gst/gstconfig.h.in:
22105           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
22106         * testsuite/debug/printf_extension.c: (main):
22107           Do not use GST_PTR_FORMAT on pointers to types with
22108           sizeof < sizeof(gpointer).  Fixes test on 64-bit
22109         * testsuite/elements/property.h:
22110           use correct printf format
22111
22112 2005-05-02  Wim Taymans  <wim@fluendo.com>
22113
22114         * docs/design/draft-push-pull.txt:
22115         * docs/design/draft-query.txt:
22116         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
22117         (gst_basesrc_start):
22118         Added draft for new query API.
22119         Added draft for better selecting scheduling methods.
22120         Make basesrc ignore length if the subclass does not support
22121         it.
22122
22123 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22124
22125         * gst/Makefile.am:
22126           possible fixes for automake-1.5 - _LIBADD is reserved
22127
22128 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22129
22130         * docs/faq/Makefile.am:
22131         * docs/manual/Makefile.am:
22132         * docs/manuals.mak:
22133         * docs/pwg/Makefile.am:
22134         * gst/Makefile.am:
22135           possible fixes for automake-1.5
22136
22137 2005-04-28  Wim Taymans  <wim@fluendo.com>
22138
22139         * gst/base/gstbasesink.c: (gst_basesink_base_init),
22140         (gst_basesink_pad_getcaps), (gst_basesink_init),
22141         (gst_basesink_do_sync):
22142         * gst/gstclock.c: (gst_clock_entry_new):
22143         * gst/gstevent.c: (gst_event_discont_get_value):
22144         * gst/gstpipeline.c: (pipeline_bus_handler),
22145         (gst_pipeline_change_state):
22146         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
22147         Better debugging of clocking info.
22148         Allow NULL values when getting discont values.
22149
22150 2005-04-27  Wim Taymans  <wim@fluendo.com>
22151
22152         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
22153         * check/gst/gstpad.c: (gst_pad_suite):
22154         Increase timeout for checks.
22155
22156 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
22157
22158         * check/Makefile.am:
22159           fix the broken rule for cleanup.  Apparently this rule is
22160           only needed on FC2, so maybe this warrants further autotool
22161           inspection.
22162
22163 2005-04-26  Wim Taymans  <wim@fluendo.com>
22164
22165         * gst/gsttrashstack.h:
22166         Ooohh. a nasty one! After having a failed pop() from the stack,
22167         it's possible that the stack is empty. In that case, don't
22168         follow the NULL pointer.
22169
22170 2005-04-25  Wim Taymans  <wim@fluendo.com>
22171
22172         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22173         (gst_pad_set_checkgetrange_function),
22174         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
22175         (gst_pad_check_pull_range), (gst_pad_pull_range),
22176         (gst_static_pad_template_get_caps), (gst_pad_start_task),
22177         (gst_pad_pause_task), (gst_pad_stop_task):
22178         * gst/gstplugin.c: (gst_plugin_load):
22179         * gst/gstplugin.h:
22180         Remove gst_library_load as it does more harm than good with
22181         the new g_module flags.
22182         Revert bogus caps template check in pad linking, pad caps
22183         are important when linking not the template, which is more
22184         general than the current caps.
22185
22186 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22187
22188         * gst/autoplug/.cvsignore:
22189         * gst/autoplug/Makefile.am:
22190         * gst/autoplug/gstsearchfuncs.c:
22191         * gst/autoplug/gstsearchfuncs.h:
22192         * gst/autoplug/gstspider.c:
22193         * gst/autoplug/gstspider.h:
22194         * gst/autoplug/gstspideridentity.c:
22195         * gst/autoplug/gstspideridentity.h:
22196         * gst/autoplug/spidertest.c:
22197           Die, spider, die.
22198
22199 2005-04-25  Wim Taymans  <wim@fluendo.com>
22200
22201         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22202         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
22203         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
22204         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
22205         * gst/gstpad.h:
22206         Added stubs for unimplemented functions. 
22207
22208 2005-04-24  David Schleef  <ds@schleef.org>
22209
22210         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
22211         please fix.
22212
22213 2005-04-24  David Schleef  <ds@schleef.org>
22214
22215         Convert everything from GstAtomicInt to g_atomic_int_*, and
22216         remove gstatomic.
22217         * gst/Makefile.am:
22218         * gst/gstatomic.c:
22219         * gst/gstatomic.h:
22220         * gst/gstatomic_impl.h:
22221         * gst/gstbuffer.c:
22222         * gst/gstcaps.c:
22223         * gst/gstcaps.h:
22224         * gst/gstclock.c:
22225         * gst/gstclock.h:
22226         * gst/gstdata.c:
22227         * gst/gstdata.h:
22228         * gst/gstdata_private.h:
22229         * gst/gstevent.c:
22230         * gst/gstinfo.c:
22231         * gst/gstinfo.h:
22232         * gst/gstmessage.c:
22233         * gst/gstobject.c:
22234         * gst/gstobject.h:
22235         * gst/gststructure.c:
22236         * gst/gststructure.h:
22237         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
22238         * gst/gstutils.h:
22239
22240 2005-04-24  David Schleef  <ds@schleef.org>
22241
22242         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
22243         make the regressions tests work.  Remove some code that is no
22244         longer true.
22245         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
22246         Disable warning for pads without templates.
22247
22248 2005-04-24  David Schleef  <ds@schleef.org>
22249
22250         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
22251         functions that handle filtered links.
22252         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
22253         removed functions.
22254         * gst/gstutils.c: Fix/remove utility functions that handle
22255         filtered caps.
22256         * gst/gstutils.h:
22257         * gst/gstvalue.c: Add serialization/deserialization of caps
22258         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
22259         requires fixing so that the filter caps notation creates
22260         a capsfilter element and sets the filter_caps property.  I
22261         think everyone probably wants to keep the shorthand notation.
22262         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
22263         * docs/gst/tmpl/gstpad.sgml:
22264
22265         * gst/elements/gstelements.c: Register capsfilter element.
22266         * gst/Makefile.am: fix spacing
22267         * docs/random/ds/0.9-suggested-changes: random
22268
22269 2005-04-23  David Schleef  <ds@schleef.org>
22270
22271         * gst/elements/Makefile.am:
22272         * gst/elements/gstcapsfilter.c: New element that acts like an
22273         identity, but filters caps.  Will eventually replace filtered
22274         caps in pad linking.
22275         * gst/gstutils.c: (gst_element_create_all_pads): New function
22276         to create all the ALWAYS pads that are registered with an
22277         element class.  This functionality should eventually be
22278         merged in with GstElement initialization.
22279         * gst/gstutils.h:
22280         * testsuite/trigger/README: part of trigger test code that should
22281         have been checked in a long time ago.
22282
22283 2005-04-23  David Schleef  <ds@schleef.org>
22284
22285         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
22286         needed with new versions of libtool (nobody will confirm this),
22287         and hard to carry around.
22288         * gst/autoplug/Makefile.am:
22289         * gst/base/Makefile.am:
22290         * gst/elements/Makefile.am:
22291         * gst/indexers/Makefile.am:
22292         * gst/schedulers/Makefile.am:
22293         * libs/gst/bytestream/Makefile.am:
22294         * libs/gst/control/Makefile.am:
22295         * libs/gst/dataprotocol/Makefile.am:
22296         * libs/gst/getbits/Makefile.am:
22297
22298 2005-04-21  Wim Taymans  <wim@fluendo.com>
22299
22300         * docs/design/draft-push-pull.txt:
22301         * docs/design/part-MT-refcounting.txt:
22302         * docs/design/part-TODO.txt:
22303         * docs/design/part-caps.txt:
22304         * docs/design/part-events.txt:
22305         * docs/design/part-gstbus.txt:
22306         * docs/design/part-gstpipeline.txt:
22307         * docs/design/part-messages.txt:
22308         * docs/design/part-push-pull.txt:
22309         * docs/design/part-query.txt:
22310         Some more docs.
22311
22312 2005-04-21  Wim Taymans  <wim@fluendo.com>
22313
22314         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
22315         (gst_message_new), (gst_message_new_error),
22316         (gst_message_new_warning), (gst_message_new_tag),
22317         (gst_message_new_state_changed), (gst_message_new_application),
22318         (gst_message_get_structure):
22319         * gst/gstmessage.h:
22320         * gst/gststructure.c: (gst_structure_set_parent_refcount),
22321         (gst_structure_copy_conditional):
22322         Use parent refcount in GstMessage to ensure GstStructure
22323         consistency.
22324         Cleaned up headers a bit.
22325         
22326
22327 2005-04-20  Wim Taymans  <wim@fluendo.com>
22328
22329         * gst/base/gstbasesink.c: (gst_basesink_base_init),
22330         (gst_basesink_pad_getcaps), (gst_basesink_init),
22331         (gst_basesink_chain_unlocked):
22332         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
22333         (gst_type_find_helper):
22334         * gst/elements/gsttypefindelement.c:
22335         (gst_type_find_element_have_type), (gst_type_find_element_init),
22336         (stop_typefinding), (gst_type_find_element_handle_event),
22337         (find_suggest), (gst_type_find_element_chain),
22338         (gst_type_find_element_checkgetrange),
22339         (gst_type_find_element_getrange), (do_typefind),
22340         (gst_type_find_element_activate):
22341         * gst/gstbuffer.c: (_gst_buffer_sub_free),
22342         (gst_buffer_default_free), (gst_buffer_default_copy),
22343         (gst_buffer_set_caps):
22344         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
22345         (gst_caps_replace):
22346         * gst/gstmessage.c: (gst_message_new),
22347         (gst_message_new_state_changed):
22348         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22349         (gst_pad_set_checkgetrange_function),
22350         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
22351         (gst_pad_set_caps), (gst_pad_check_pull_range),
22352         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
22353         * gst/gstpad.h:
22354         * gst/gsttypefind.c: (gst_type_find_register):
22355         Make gst_caps_replace() work like other _replace() functions.
22356         Use _caps_replace() where possible.
22357         Make sure _message_new() initialises its field.
22358         Add gst_static_pad_template_get_caps()
22359
22360
22361 2005-04-18  Andy Wingo  <wingo@pobox.com>
22362
22363         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
22364         on the peer, not the pad. I think that was a typo. Pass an extra
22365         arg to see if random access is possible. Activate the pads as
22366         PULL_RANGE if possible.
22367
22368         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
22369
22370         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
22371         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
22372         to PROP_....
22373
22374 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22375
22376         * docs/faq/using.xml:
22377           Add note on gstreamer-properties (#154996).
22378
22379 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22380
22381         * docs/random/bbb/optional-properties:
22382           Some analysis on optional properties.
22383
22384 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22385
22386         * docs/gst/tmpl/gstelementfactory.sgml:
22387         * gst/gstelement.h:
22388         * gst/gstelementfactory.c: (gst_element_factory_init),
22389         (gst_element_factory_cleanup), (gst_element_register),
22390         (__gst_element_factory_add_static_pad_template),
22391         (gst_element_factory_get_static_pad_templates),
22392         (gst_element_factory_can_src_caps),
22393         (gst_element_factory_can_sink_caps):
22394         * gst/registries/Makefile.am:
22395         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
22396         (gst_xml_registry_class_init), (gst_xml_registry_init),
22397         (gst_xml_registry_new), (gst_xml_registry_set_property),
22398         (gst_xml_registry_get_property), (get_time), (make_dir),
22399         (gst_xml_registry_get_perms_func),
22400         (plugin_times_older_than_recurse), (plugin_times_older_than),
22401         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
22402         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
22403         (add_to_char_array), (read_string), (read_uint), (read_enum),
22404         (load_pad_template), (load_feature), (load_plugin), (load_paths),
22405         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
22406         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
22407         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
22408         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
22409         (gst_xml_registry_rebuild):
22410         * gst/registries/gstlibxmlregistry.h:
22411         * tools/gst-compprep.c: (main):
22412         * tools/gst-inspect.c: (print_pad_templates_info):
22413         * tools/gst-xmlinspect.c: (print_element_info):
22414           Use libxml2 for registry parsing, use staticpadtemplates in
22415           elementfactories. Makes gst_init() +/- 10x faster.
22416
22417 2005-04-12  Wim Taymans  <wim@fluendo.com>
22418
22419         * gst/base/Makefile.am:
22420         * gst/base/gstbasesink.c: (gst_basesink_base_init),
22421         (gst_basesink_pad_getcaps), (gst_basesink_init),
22422         (gst_basesink_event), (gst_basesink_change_state):
22423         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22424         (gst_basesrc_init), (gst_basesrc_query),
22425         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
22426         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
22427         (gst_basesrc_check_get_range), (gst_basesrc_loop),
22428         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
22429         (gst_basesrc_stop), (gst_basesrc_activate),
22430         (gst_basesrc_change_state):
22431         * gst/base/gsttypefindhelper.c: (helper_find_peek),
22432         (helper_find_suggest), (gst_type_find_helper):
22433         * gst/base/gsttypefindhelper.h:
22434         * gst/elements/Makefile.am:
22435         * gst/elements/gstelements.c:
22436         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
22437         (gst_fakesink_get_times), (gst_fakesink_event),
22438         (gst_fakesink_preroll), (gst_fakesink_render):
22439         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22440         (gst_fakesrc_init), (gst_fakesrc_event_handler),
22441         (gst_fakesrc_get_property), (gst_fakesrc_create),
22442         (gst_fakesrc_start), (gst_fakesrc_stop):
22443         * gst/elements/gstfakesrc.h:
22444         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
22445         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
22446         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
22447         (gst_filesrc_create_read), (gst_filesrc_create),
22448         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
22449         (gst_filesrc_start):
22450         * gst/elements/gsttypefindelement.c:
22451         (gst_type_find_element_have_type), (gst_type_find_element_init),
22452         (start_typefinding), (stop_typefinding), (push_buffer_store),
22453         (gst_type_find_element_handle_event),
22454         (gst_type_find_element_chain),
22455         (gst_type_find_element_checkgetrange),
22456         (gst_type_find_element_getrange), (do_typefind),
22457         (gst_type_find_element_activate),
22458         (gst_type_find_element_change_state):
22459         * gst/elements/gsttypefindelement.h:
22460         * gst/gstpipeline.c: (pipeline_bus_handler):
22461         Added typefind helper.
22462         Small preroll fix in the base sink.
22463         Disable typefind code in basesrc.
22464         Crude port of typefindelement.
22465         Fakesrc cleanups.
22466
22467
22468 2005-04-11  Wim Taymans  <wim@fluendo.com>
22469
22470         * check/gst/gstbus.c: (gstbus_suite):
22471         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
22472         * check/gstcheck.h:
22473           Fix up the timeout so that the test does not fail.
22474
22475 2005-04-06  Wim Taymans  <wim@fluendo.com>
22476
22477         * gst/base/README:
22478         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22479         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
22480         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
22481         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
22482         (gst_basesrc_check_get_range), (gst_basesrc_loop),
22483         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
22484         (gst_basesrc_stop), (gst_basesrc_activate),
22485         (gst_basesrc_change_state), (basesrc_find_peek),
22486         (basesrc_find_suggest), (gst_basesrc_type_find):
22487         * gst/base/gstbasesrc.h:
22488         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
22489         (gst_filesrc_class_init), (gst_filesrc_init),
22490         (gst_filesrc_finalize), (gst_filesrc_set_location),
22491         (gst_filesrc_set_property), (gst_filesrc_get_property),
22492         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
22493         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
22494         (gst_filesrc_create_read), (gst_filesrc_create),
22495         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
22496         * gst/elements/gstfilesrc.h:
22497         * gst/gstelement.c: (gst_element_get_state_func),
22498         (gst_element_lost_state), (gst_element_pads_activate):
22499         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22500         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
22501         (gst_pad_pull_range):
22502         * gst/gstpad.h:
22503         More work on the generic source base class, implement seeking,
22504         query.
22505         Make filesrc extend the base source class.
22506         Added gst_pad_set_checkgetrange_function to GstPad.
22507
22508 2005-04-06  Andy Wingo  <wingo@pobox.com>
22509
22510         * pkgconfig/gstreamer-base.pc.in:
22511         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
22512
22513         * pkgconfig/Makefile.am:
22514         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
22515
22516 2005-04-04  Wim Taymans  <wim@fluendo.com>
22517
22518         * gst/base/Makefile.am:
22519         * gst/base/README:
22520         * gst/base/gstbasesink.c: (gst_basesink_base_init),
22521         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
22522         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
22523         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
22524         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22525         (gst_basesrc_base_init), (gst_basesrc_class_init),
22526         (gst_basesrc_init), (gst_basesrc_get_formats),
22527         (gst_basesrc_get_query_types), (gst_basesrc_query),
22528         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
22529         (gst_basesrc_set_property), (gst_basesrc_get_property),
22530         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
22531         (gst_basesrc_loop), (gst_basesrc_activate),
22532         (gst_basesrc_change_state):
22533         * gst/base/gstbasesrc.h:
22534         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
22535         (gst_fakesrc_class_init), (gst_fakesrc_init),
22536         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
22537         (gst_fakesrc_get_property), (gst_fakesrc_create):
22538         * gst/elements/gstfakesrc.h:
22539         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
22540         (gst_filesrc_open_file), (gst_filesrc_loop),
22541         (gst_filesrc_activate), (filesrc_find_peek),
22542         (gst_filesrc_type_find):
22543         Made base source class, make fakesrc extend it.
22544         Add comments to basesink class.
22545         Some filesrc cleanup.
22546
22547 2005-03-31  David Schleef  <ds@schleef.org>
22548
22549         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
22550         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
22551         expected to link against libgstreamer.
22552         * gst/base/Makefile.am: link against libgstreamer
22553         * gst/elements/Makefile.am: same
22554
22555 2005-03-31  Andy Wingo  <wingo@pobox.com>
22556
22557         * tests/instantiate/Makefile.am:
22558         * tests/instantiate/caps.c: Add test to test speed of caps copy
22559         and free.
22560
22561         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
22562         GMemChunk to be fair.
22563
22564         * gst/gsttrashstack.h: Remove warning about using the fallback
22565         trash stack implementation, it's still faster than malloc.
22566
22567 2005-03-30  Andy Wingo  <wingo@pobox.com>
22568
22569         * tests/complexity.c: Add a copyright.
22570
22571 2005-03-31  Wim Taymans  <wim@fluendo.com>
22572
22573         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
22574         (gst_base_transform_class_init), (gst_base_transform_init),
22575         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
22576         (gst_base_transform_get_property),
22577         (gst_base_transform_sink_activate),
22578         (gst_base_transform_src_activate),
22579         (gst_base_transform_change_state):
22580         * gst/base/gstbasetransform.h:
22581         * gst/elements/gstidentity.c: (gst_identity_class_init),
22582         (gst_identity_event), (gst_identity_check_perfect),
22583         (gst_identity_transform), (gst_identity_start),
22584         (gst_identity_stop):
22585         Added start/stop methods to transform base class so subclasses 
22586         don't need to deal with state changes even.
22587
22588 2005-03-31  Wim Taymans  <wim@fluendo.com>
22589
22590         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
22591         (gst_event_new_discontinuous), (gst_event_discont_get_value):
22592         * gst/gstevent.h:
22593         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22594         (gst_pad_pull_range):
22595         Added rate to the discont event to prepare for variable speed
22596         and reverse playback.
22597
22598 2005-03-29  David Schleef  <ds@schleef.org>
22599
22600         * configure.ac:
22601         * testsuite/trigger/Makefile.am:
22602         * testsuite/trigger/trigger.c: A little example program to show
22603         how trigger-based elements can work.
22604
22605 2005-03-29  Wim Taymans  <wim@fluendo.com>
22606
22607         * gst/base/Makefile.am:
22608         * gst/base/README:
22609         * gst/base/gstbasesink.c: (gst_basesink_get_type),
22610         (gst_basesink_base_init), (gst_basesink_class_init),
22611         (gst_basesink_pad_getcaps), (gst_basesink_init),
22612         (gst_basesink_activate), (gst_basesink_change_state):
22613         * gst/base/gstbasesink.h:
22614         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
22615         (gst_base_transform_base_init), (gst_base_transform_finalize),
22616         (gst_base_transform_class_init), (gst_base_transform_init),
22617         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
22618         (gst_base_transform_event), (gst_base_transform_getrange),
22619         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
22620         (gst_base_transform_set_property),
22621         (gst_base_transform_get_property),
22622         (gst_base_transform_sink_activate),
22623         (gst_base_transform_src_activate),
22624         (gst_base_transform_change_state):
22625         * gst/base/gstbasetransform.h:
22626         * gst/elements/gstidentity.c: (gst_identity_finalize),
22627         (gst_identity_class_init), (gst_identity_init),
22628         (gst_identity_event), (gst_identity_check_perfect),
22629         (gst_identity_transform), (gst_identity_set_property),
22630         (gst_identity_get_property), (gst_identity_change_state):
22631         * gst/elements/gstidentity.h:
22632         * gst/gstelement.c: (gst_element_get_state_func),
22633         (gst_element_lost_state), (gst_element_pads_activate):
22634         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22635         (gst_pad_check_pull_range), (gst_pad_pull_range):
22636         * gst/gstpad.h:
22637         Simplify pad activation.
22638         Added function to check if pull_range can be performed.
22639         Error out when pulling inactive or flushing pads.
22640         Removed const from refcounted types as it does not make sense.
22641         Simplify pad templates in basesink
22642         Added base class for simple 1-to-1 transforms.
22643         Make identity subclass the base transform.
22644
22645 2005-03-29  Andy Wingo  <wingo@pobox.com>
22646
22647         * docs/libs/gstreamer-libs-overrides.txt: 
22648         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
22649         really don't understand what's going on, but like whatever. I want
22650         green buildbot!
22651
22652         * docs/gst/Makefile.am:
22653         * docs/libs/Makefile.am: Dist the overrides files.
22654
22655         * check/Makefile.am (clean-local): Remove .libs directories.
22656
22657         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
22658         elements to EXTRA_DIST, so po/ files are happy.
22659
22660         * po/POTFILES.in: Er, remove it here.
22661
22662         * po/POTFILES: Remove gstspider.c.
22663
22664         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
22665
22666         * docs/libs/gstreamer-libs-docs.sgml: 
22667         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
22668         bytestream.
22669
22670         * tests/complexity.c (main): Set the length of the preroll queue
22671         on the sinks to prevent a lockup.
22672
22673         * libs/gst/dataprotocol/Makefile.am: 
22674         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
22675         the same as the one in check/gst-libs/gdp.c.
22676
22677         * po/, docs/gst/: Commit automatic changes to docs and po files.
22678
22679         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
22680         the versioned libgstbase.
22681
22682         * check/Makefile.am: Depend on an unversioned gst-register, seems
22683         to make autoconf happier.
22684
22685         * gst/base/Makefile.am: Make libgstbase a versioned lib.
22686
22687 2005-03-28  Wim Taymans  <wim@fluendo.com>
22688
22689         * configure.ac:
22690         * docs/design/part-gstelement.txt:
22691         * docs/design/part-negotiation.txt:
22692         * docs/design/part-preroll.txt:
22693         * docs/design/part-scheduling.txt:
22694         * docs/design/part-states.txt:
22695         * gst/Makefile.am:
22696         * gst/base/Makefile.am:
22697         * gst/base/README:
22698         * gst/base/gstbasesink.c: (gst_basesink_get_template),
22699         (gst_basesink_base_init), (gst_basesink_class_init),
22700         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
22701         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
22702         (gst_basesink_set_pad_functions),
22703         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
22704         (gst_basesink_set_property), (gst_basesink_get_property),
22705         (gst_base_sink_get_template), (gst_base_sink_get_caps),
22706         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
22707         (gst_basesink_preroll_queue_push),
22708         (gst_basesink_preroll_queue_empty),
22709         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
22710         (gst_basesink_event), (gst_basesink_get_times),
22711         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
22712         (gst_basesink_chain_unlocked), (gst_basesink_chain),
22713         (gst_basesink_loop), (gst_basesink_activate),
22714         (gst_basesink_change_state):
22715         * gst/base/gstbasesink.h:
22716         * gst/elements/Makefile.am:
22717         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
22718         (gst_fakesink_class_init), (gst_fakesink_init),
22719         (gst_fakesink_set_property), (gst_fakesink_get_property),
22720         (gst_fakesink_get_times), (gst_fakesink_event),
22721         (gst_fakesink_preroll), (gst_fakesink_render),
22722         (gst_fakesink_change_state):
22723         * gst/elements/gstfakesink.h:
22724         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22725         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
22726         * gst/gstelement.c: (gst_element_add_pad),
22727         (gst_element_get_state_func), (gst_element_abort_state),
22728         (gst_element_commit_state), (gst_element_lost_state),
22729         (gst_element_set_state), (gst_element_pads_activate):
22730         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
22731         * gst/gstpipeline.c: (gst_pipeline_send_event),
22732         (gst_pipeline_change_state):
22733         Added state change code.
22734         Added/updated docs.
22735         Added sink base class, make fakesink extend the base class.
22736         Small cleanups in GstPipeline.
22737
22738 2005-03-26  David Schleef  <ds@schleef.org>
22739
22740         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
22741         is broken and should be implemented in a different library.
22742         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
22743         * gst/gst.h: remove gstcpu.h
22744         * gst/gstcpu.c: remove
22745         * gst/gstcpu.h: remove
22746         * gst/Makefile.am.future: Remove this file.  It's ancient.
22747
22748 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22749
22750         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22751         (gst_bin_send_event):
22752           Add default event/set_manager handlers. The set_manager handler
22753           takes care that the manager is distributed over kids that were
22754           already in the bin before the manager was set. The event handler
22755           is a utility virtual function that sends the event over all sinks,
22756           so that gst_element_send_event (bin, event); has the expected
22757           behaviour.
22758         * gst/gstpad.c: (gst_pad_event_default):
22759           Re-install default event handling for discontinuities, so that
22760           seeking works without requiring hacks in applications or extra
22761           code in sinks.
22762         * gst/gstpipeline.c: (gst_pipeline_class_init),
22763         (gst_pipeline_send_event):
22764           Half hack, half utility: set a pipeline to PAUSED for seek events,
22765           since that is the only way we can guarantee a/v sync. Means that
22766           you can do gst_element_seek (pipeline, method, pos); on a pipeline
22767           and it "just works".
22768
22769 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22770
22771         * gst/gstpipeline.c: (gst_pipeline_use_clock):
22772           Lock/unlock mismatch.
22773
22774 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22775
22776         * docs/faq/gst-uninstalled:
22777           add gst-plugins-base
22778         * docs/gst/Makefile.am:
22779           don't error out until docs are fixed
22780         * docs/gst/gstreamer.types:
22781           remove thread
22782
22783 2005-03-22  Wim Taymans  <wim@fluendo.com>
22784
22785         * check/Makefile.am:
22786         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
22787         * gst/gststructure.c: (gst_structure_set_valist),
22788         (gst_structure_copy_conditional):
22789         Activated more tests.
22790         Added message test.
22791         Added G_TYPE_POINTER to GstStructure.
22792         
22793
22794 2005-03-22  Wim Taymans  <wim@fluendo.com>
22795
22796         * docs/design/part-TODO.txt:
22797         * docs/design/part-events.txt:
22798         * docs/design/part-gstbin.txt:
22799         * docs/design/part-gstbus.txt:
22800         * docs/design/part-gstpipeline.txt:
22801         * docs/design/part-messages.txt:
22802         * gst/gstbus.c:
22803         * gst/gstmessage.c:
22804         Docs updates
22805
22806 2005-03-21  Wim Taymans  <wim@fluendo.com>
22807
22808         * gst/gstbus.c: (gst_bus_post):
22809         Fix copy-and-paste error.
22810
22811 2005-03-21  Wim Taymans  <wim@fluendo.com>
22812
22813         * check/Makefile.am:
22814         * gst/Makefile.am:
22815         * gst/elements/Makefile.am:
22816         * gst/elements/gstelements.c:
22817         * gst/elements/gstfakesink.c: (gst_fakesink_init),
22818         (gst_fakesink_event), (gst_fakesink_chain):
22819         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22820         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
22821         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
22822         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
22823         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
22824         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
22825         (gst_fakesrc_loop), (gst_fakesrc_activate),
22826         (gst_fakesrc_change_state):
22827         * gst/elements/gstfakesrc.h:
22828         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
22829         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
22830         (gst_filesrc_open_file), (gst_filesrc_loop),
22831         (gst_filesrc_activate), (gst_filesrc_change_state),
22832         (filesrc_find_peek), (filesrc_find_suggest),
22833         (gst_filesrc_type_find):
22834         * gst/elements/gstidentity.c: (gst_identity_finalize),
22835         (gst_identity_class_init), (gst_identity_init),
22836         (gst_identity_proxy_getcaps), (identity_queue_push),
22837         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
22838         (gst_identity_getrange), (gst_identity_chain),
22839         (gst_identity_sink_loop), (gst_identity_src_loop),
22840         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
22841         (gst_identity_set_property), (gst_identity_get_property),
22842         (gst_identity_change_state):
22843         * gst/elements/gstidentity.h:
22844         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
22845         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
22846         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
22847         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
22848         (gst_tee_sink_activate):
22849         * gst/elements/gsttee.h:
22850         * gst/gst.c: (gst_register_core_elements), (init_post):
22851         * gst/gst.h:
22852         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
22853         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
22854         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
22855         (gst_bin_change_state):
22856         * gst/gstbin.h:
22857         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
22858         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
22859         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
22860         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
22861         (gst_bus_set_sync_handler), (gst_bus_create_watch),
22862         (bus_watch_callback), (bus_watch_destroy),
22863         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
22864         (poll_timeout), (gst_bus_poll):
22865         * gst/gstbus.h:
22866         * gst/gstcaps.h:
22867         * gst/gstdata.h:
22868         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22869         (gst_element_post_message), (gst_element_message_full),
22870         (gst_element_get_state_func), (gst_element_get_state),
22871         (gst_element_abort_state), (gst_element_commit_state),
22872         (gst_element_lost_state), (gst_element_set_state),
22873         (gst_element_pads_activate), (gst_element_change_state),
22874         (gst_element_dispose), (gst_element_set_manager_func),
22875         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
22876         (gst_element_set_manager), (gst_element_get_manager),
22877         (gst_element_set_bus), (gst_element_get_bus),
22878         (gst_element_set_scheduler), (gst_element_get_scheduler):
22879         * gst/gstelement.h:
22880         * gst/gstevent.c: (gst_event_new_segment_seek),
22881         (gst_event_new_flush):
22882         * gst/gstevent.h:
22883         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
22884         (_gst_message_free), (gst_message_get_type), (gst_message_new),
22885         (gst_message_new_eos), (gst_message_new_error),
22886         (gst_message_new_warning), (gst_message_new_tag),
22887         (gst_message_new_state_changed), (gst_message_new_application),
22888         (gst_message_get_structure), (gst_message_parse_tag),
22889         (gst_message_parse_state_changed), (gst_message_parse_error),
22890         (gst_message_parse_warning):
22891         * gst/gstmessage.h:
22892         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
22893         (gst_real_pad_set_property), (gst_pad_set_active),
22894         (gst_pad_is_active), (gst_pad_set_blocked_async),
22895         (gst_pad_set_blocked), (gst_pad_is_blocked),
22896         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
22897         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
22898         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
22899         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
22900         (gst_pad_link_filtered), (gst_pad_relink_filtered),
22901         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
22902         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
22903         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
22904         (gst_pad_set_caps), (gst_pad_configure_sink),
22905         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
22906         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
22907         (gst_real_pad_dispose), (gst_real_pad_finalize),
22908         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
22909         (gst_pad_event_default_dispatch), (gst_pad_event_default),
22910         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
22911         * gst/gstpad.h:
22912         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
22913         (pipeline_bus_handler), (gst_pipeline_change_state),
22914         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
22915         * gst/gstpipeline.h:
22916         * gst/gstprobe.h:
22917         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
22918         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
22919         (gst_queue_link_src), (gst_queue_bufferalloc),
22920         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
22921         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
22922         (gst_queue_loop), (gst_queue_handle_src_event),
22923         (gst_queue_handle_src_query), (gst_queue_src_activate),
22924         (gst_queue_change_state):
22925         * gst/gstqueue.h:
22926         * gst/gstscheduler.c: (gst_scheduler_init),
22927         (gst_scheduler_dispose), (gst_scheduler_create_task),
22928         (gst_scheduler_factory_create):
22929         * gst/gstscheduler.h:
22930         * gst/gststructure.c: (gst_structure_get_type),
22931         (gst_structure_copy_conditional):
22932         * gst/gststructure.h:
22933         * gst/gsttaginterface.h:
22934         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
22935         (gst_task_init), (gst_task_dispose), (gst_task_create),
22936         (gst_task_get_state), (gst_task_start), (gst_task_stop),
22937         (gst_task_pause):
22938         * gst/gsttask.h:
22939         * gst/gstthread.c:
22940         * gst/gstthread.h:
22941         * gst/gsttypes.h:
22942         * gst/schedulers/Makefile.am:
22943         * gst/schedulers/cothreads_compat.h:
22944         * gst/schedulers/entryscheduler.c:
22945         * gst/schedulers/faircothreads.c:
22946         * gst/schedulers/faircothreads.h:
22947         * gst/schedulers/fairscheduler.c:
22948         * gst/schedulers/gstbasicscheduler.c:
22949         * gst/schedulers/gstoptimalscheduler.c:
22950         * gst/schedulers/gthread-cothreads.h:
22951         * gst/schedulers/threadscheduler.c:
22952         (gst_thread_scheduler_task_get_type),
22953         (gst_thread_scheduler_task_class_init),
22954         (gst_thread_scheduler_task_init),
22955         (gst_thread_scheduler_task_start),
22956         (gst_thread_scheduler_task_stop),
22957         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
22958         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
22959         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
22960         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
22961         (plugin_init):
22962         * libs/gst/Makefile.am:
22963         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
22964         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
22965         (gst_file_pad_parent_set):
22966         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
22967         (gst_dp_event_from_packet):
22968         * tests/complexity.c: (main):
22969         * tests/mass_elements.c: (main):
22970         * testsuite/states/locked.c: (message_received), (main):
22971         * testsuite/states/parent.c: (main):
22972         * tools/gst-inspect.c: (print_element_flag_info),
22973         (print_implementation_info), (print_pad_info):
22974         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
22975         (main):
22976         * tools/gst-md5sum.c: (event_loop), (main):
22977         * tools/gst-typefind.c: (main):
22978         * tools/gst-xmlinspect.c: (print_element_info):
22979         Next big merge.
22980         Added GstBus for mainloop integration.
22981         Added GstMessage for sending notifications on the bus.
22982         Added GstTask as an abstraction for pipeline entry points.
22983         Removed GstThread.
22984         Removed Schedulers.
22985         Simplified GstQueue for multithreaded core.
22986         Made _link threadsafe, removed old capsnego.
22987         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
22988         Added pad blocking functions.
22989         Reworked scheduling functions in GstPad to prepare for
22990         scheduling updates soon.
22991         Moved events out of data stream.
22992         Simplified GstEvent types.
22993         Added return values to push/pull.
22994         Removed clocking from GstElement.
22995         Added prototypes for state change function for next merge.
22996         Removed iterate from bins and state change management.
22997         Fixed some elements, disabled others for now.
22998         Fixed -inspect and -launch.
22999         Added check for GstBus.
23000
23001 2005-03-10  Wim Taymans  <wim@fluendo.com>
23002
23003         * docs/design/part-MT-refcounting.txt:
23004         * docs/design/part-clocks.txt:
23005         * docs/design/part-gstelement.txt:
23006         * docs/design/part-gstobject.txt:
23007         * docs/design/part-standards.txt:
23008         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
23009         (gst_bin_remove_func), (gst_bin_remove):
23010         * gst/gstbin.h:
23011         * gst/gstbuffer.c:
23012         * gst/gstcaps.h:
23013         * testsuite/clock/clock1.c: (main):
23014         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
23015         (main):
23016         * testsuite/dlopen/loadgst.c: (do_test):
23017         * testsuite/refcounting/bin.c: (add_remove_test1),
23018         (add_remove_test2), (main):
23019         * testsuite/refcounting/element.c: (main):
23020         * testsuite/refcounting/element_pad.c: (main):
23021         * testsuite/refcounting/pad.c: (main):
23022         * tools/gst-launch.c: (sigint_handler_sighandler):
23023         * tools/gst-typefind.c: (main):
23024         Doc updates.
23025         Added doc about clock.
23026         removed gst_bin_iterate_recurse_up(), marked methods
23027         for removal.
23028         Fix more testsuites.
23029
23030 2005-03-09  Wim Taymans  <wim@fluendo.com>
23031
23032         * gst/gstpad.c: (gst_pad_get_direction),
23033         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
23034         (gst_pad_collect_valist):
23035         * testsuite/bins/interface.c: (main):
23036         * testsuite/caps/audioscale.c: (test_caps):
23037         * testsuite/caps/caps.c: (test1), (test2), (test3):
23038         * testsuite/caps/deserialize.c: (main):
23039         * testsuite/caps/enumcaps.c: (main):
23040         * testsuite/caps/filtercaps.c: (main):
23041         * testsuite/caps/intersect2.c: (main):
23042         * testsuite/caps/random.c: (main):
23043         * testsuite/caps/renegotiate.c: (my_fixate), (main):
23044         * testsuite/caps/sets.c: (check_caps):
23045         * testsuite/caps/simplify.c: (check_caps), (main):
23046         * testsuite/caps/subtract.c: (check_caps):
23047         Fix _pad_get_direction wrt ghostpads.
23048         Fix caps testsuite.
23049
23050 2005-03-09  Wim Taymans  <wim@fluendo.com>
23051
23052         * check/Makefile.am:
23053         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
23054         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
23055         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
23056         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
23057         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
23058         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
23059         (gst_bin_remove), (gst_bin_iterate_recurse_up),
23060         (bin_element_is_sink), (gst_bin_iterate_sinks),
23061         (gst_bin_iterate_all_by_interface):
23062         * gst/gstbin.h:
23063         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
23064         (gst_element_change_state), (gst_element_dispose),
23065         (gst_element_finalize), (gst_element_set_loop_function):
23066         * gst/gstelement.h:
23067         * gst/gstiterator.c: (find_custom_fold_func):
23068         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
23069         (gst_pad_collectv), (gst_pad_collect_valist),
23070         (gst_pad_template_new):
23071         * gst/gstpipeline.c: (gst_pipeline_class_init),
23072         (gst_pipeline_dispose), (gst_pipeline_set_property),
23073         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
23074         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
23075         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
23076         * gst/gstutils.h:
23077         * gst/schedulers/entryscheduler.c:
23078         * gst/schedulers/gstbasicscheduler.c:
23079         (gst_basic_scheduler_cothreaded_chain),
23080         (gst_basic_scheduler_chain_add_element):
23081         * testsuite/bins/interface.c: (main):
23082         Added GstBin test.
23083         Added GstSystemClock test.
23084         Implemented clock distribution code in GstBin.
23085         Implemented iterate sinks method for future use.
23086         Rearranged gstelement.h
23087         Fix GstIterator comparison bug.
23088         Moved some code to GstPipeline, mostly clocking related.
23089
23090 2005-03-09  Wim Taymans  <wim@fluendo.com>
23091
23092         * configure.ac:
23093         * gst/gst_private.h:
23094         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
23095         (gst_bin_remove_func), (gst_bin_remove),
23096         (gst_bin_get_by_name_recurse_up):
23097         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
23098         (gst_clock_id_compare_func), (gst_clock_id_wait),
23099         (gst_clock_id_wait_async), (gst_clock_init),
23100         (gst_clock_adjust_unlocked), (gst_clock_get_time):
23101         * gst/gstelement.h:
23102         * gst/gstinfo.c: (_gst_debug_init):
23103         * gst/gstobject.h:
23104         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
23105         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
23106         * gst/gstpad.h:
23107         Bump version number, we're now 0.9.0
23108         Add future debugging category.
23109         Fix NULL _unref() in _get_by_name_recurse_up
23110         Rearrange gstpad.h.
23111         Update some docs.
23112
23113 2005-03-08  Wim Taymans  <wim@fluendo.com>
23114
23115         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
23116         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
23117         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
23118         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
23119         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
23120         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
23121         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
23122         * gst/elements/gstidentity.c: (gst_identity_class_init):
23123         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
23124         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
23125         * gst/elements/gstshaper.c: (gst_shaper_class_init):
23126         * gst/elements/gststatistics.c: (gst_statistics_class_init):
23127         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
23128         (gst_tee_link):
23129         * gst/gstelement.c: (gst_element_class_init),
23130         (gst_element_base_class_init), (gst_element_init),
23131         (gst_element_get_random_pad), (gst_element_wait_state_change),
23132         (gst_element_change_state), (gst_element_dispose),
23133         (gst_element_finalize), (gst_element_set_loop_function):
23134         * gst/gstelement.h:
23135         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
23136         * gst/gstthread.c: (gst_thread_class_init),
23137         (gst_thread_release_children_locks), (gst_thread_change_state):
23138         * gst/schedulers/gstbasicscheduler.c:
23139         (gst_basic_scheduler_loopfunc_wrapper),
23140         (gst_basic_scheduler_chain_wrapper),
23141         (gst_basic_scheduler_src_wrapper),
23142         (gst_basic_scheduler_remove_element):
23143         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
23144         Remove threadsafe properties. Fix elements because GObject
23145         complains when installing a property before declaring a
23146         set/get_property handler.
23147         Rearrange gstelement.h file, use STATE macros for state locks.
23148         Free mutexes in the finalize method instead of dispose.
23149
23150 2005-03-08  Wim Taymans  <wim@fluendo.com>
23151
23152         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
23153         * gst/gstthread.c: (gst_thread_release_children_locks):
23154         Added parentage check.
23155         Fix build og GstThread again.
23156
23157 2005-03-08  Wim Taymans  <wim@fluendo.com>
23158
23159         * docs/design/part-MT-refcounting.txt:
23160         * docs/design/part-conventions.txt:
23161         * docs/design/part-gstobject.txt:
23162         * docs/design/part-relations.txt:
23163         * docs/design/part-standards.txt:
23164         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
23165         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
23166         (gst_bin_get_by_name), (gst_bin_get_by_interface),
23167         (gst_bin_iterate_all_by_interface):
23168         * gst/gstbuffer.h:
23169         * gst/gstclock.h:
23170         * gst/gstelement.c: (gst_element_class_init),
23171         (gst_element_change_state), (gst_element_set_loop_function):
23172         * gst/gstelement.h:
23173         * gst/gstiterator.c:
23174         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
23175         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
23176         (gst_object_dispatch_properties_changed), (gst_object_set_name),
23177         (gst_object_set_parent), (gst_object_unparent),
23178         (gst_object_check_uniqueness):
23179         * gst/gstobject.h:
23180         Docs updates, clean up some headers.
23181
23182 2005-03-07  Wim Taymans  <wim@fluendo.com>
23183
23184         * check/.cvsignore:
23185         * check/Makefile.am:
23186         * check/gst-libs/.cvsignore:
23187         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
23188         * check/gst/.cvsignore:
23189         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
23190         (START_TEST), (gstbus_suite), (main):
23191         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
23192         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
23193         (gst_data_suite), (main):
23194         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
23195         (add_fold_func), (gstiterator_suite), (main):
23196         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
23197         (thread_name_object), (thread_name_object_default),
23198         (gst_object_name_compare), (gst_object_suite), (main):
23199         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
23200         (gst_pad_suite), (main):
23201         * check/gstcheck.c: (gst_check_log_message_func),
23202         (gst_check_log_critical_func), (gst_check_init):
23203         * check/gstcheck.h:
23204         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
23205         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
23206         Added checks.
23207
23208 2005-03-07  Wim Taymans  <wim@fluendo.com>
23209
23210         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23211         (gst_list_iterator_next), (gst_list_iterator_resync),
23212         (gst_list_iterator_free), (gst_iterator_new_list),
23213         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
23214         (gst_iterator_free), (gst_iterator_push), (filter_next),
23215         (filter_resync), (filter_uninit), (filter_free),
23216         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
23217         (gst_iterator_foreach), (find_custom_fold_func),
23218         (gst_iterator_find_custom):
23219         * gst/gstiterator.h:
23220         Added missing files.
23221
23222 2005-03-07  Wim Taymans  <wim@fluendo.com>
23223
23224         * Makefile.am:
23225         * configure.ac:
23226         * docs/design/part-MT-refcounting.txt:
23227         * docs/design/part-conventions.txt:
23228         * docs/design/part-gstobject.txt:
23229         * docs/design/part-relations.txt:
23230         * examples/mixer/mixer.c: (main):
23231         * examples/thread/thread.c: (eos), (main):
23232         * gst/Makefile.am:
23233         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
23234         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
23235         (gst_spider_plug_from_srcpad):
23236         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
23237         (gst_spider_identity_change_state),
23238         (gst_spider_identity_sink_loop_type_finding):
23239         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
23240         * gst/elements/gstidentity.c: (gst_identity_init):
23241         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
23242         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
23243         * gst/elements/gsttypefindelement.c: (free_entry):
23244         * gst/gst.c:
23245         * gst/gst.h:
23246         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
23247         (gst_bin_set_clock_func), (gst_bin_auto_clock),
23248         (gst_bin_set_index), (gst_bin_set_element_sched),
23249         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
23250         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
23251         (gst_bin_iterate_elements), (iterate_child_recurse),
23252         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
23253         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
23254         (compare_interface), (gst_bin_get_by_interface),
23255         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
23256         * gst/gstbin.h:
23257         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
23258         (gst_buffer_default_free), (gst_buffer_default_copy),
23259         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
23260         (gst_buffer_create_sub):
23261         * gst/gstbuffer.h:
23262         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
23263         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
23264         (gst_caps_unref), (gst_static_caps_get),
23265         (gst_caps_remove_and_get_structure), (gst_caps_append),
23266         (gst_caps_append_structure), (gst_caps_remove_structure),
23267         (gst_caps_copy_nth), (gst_caps_set_simple),
23268         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
23269         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
23270         (gst_caps_structure_intersect_field), (gst_caps_intersect),
23271         (gst_caps_structure_subtract_field), (gst_caps_subtract),
23272         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
23273         (gst_caps_structure_figure_out_union),
23274         (gst_caps_switch_structures), (gst_caps_do_simplify),
23275         (gst_caps_replace), (gst_caps_from_string),
23276         (gst_caps_copy_conditional):
23277         * gst/gstcaps.h:
23278         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
23279         (_gst_clock_id_free), (gst_clock_id_unref),
23280         (gst_clock_id_compare_func), (gst_clock_id_wait),
23281         (gst_clock_id_wait_async), (gst_clock_class_init),
23282         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
23283         (gst_clock_get_time), (gst_clock_set_time_adjust),
23284         (gst_clock_set_property), (gst_clock_get_property):
23285         * gst/gstclock.h:
23286         * gst/gstcompat.h:
23287         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
23288         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
23289         * gst/gstdata.h:
23290         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
23291         (gst_element_requires_clock), (gst_element_provides_clock),
23292         (gst_element_set_clock), (gst_element_clock_wait),
23293         (gst_element_wait), (gst_element_set_time_delay),
23294         (gst_element_is_indexable), (gst_element_add_pad),
23295         (gst_element_add_ghost_pad), (gst_element_remove_pad),
23296         (pad_compare_name), (gst_element_get_static_pad),
23297         (gst_element_request_pad), (gst_element_get_request_pad),
23298         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
23299         (gst_element_class_get_pad_template_list),
23300         (gst_element_class_get_pad_template), (gst_element_error_func),
23301         (gst_element_get_random_pad), (gst_element_get_event_masks),
23302         (gst_element_send_event), (gst_element_seek),
23303         (gst_element_get_query_types), (gst_element_query),
23304         (gst_element_get_formats), (gst_element_convert),
23305         (gst_element_is_locked_state), (gst_element_set_locked_state),
23306         (gst_element_sync_state_with_parent), (gst_element_change_state),
23307         (gst_element_finalize), (gst_element_yield),
23308         (gst_element_interrupt), (gst_element_set_scheduler),
23309         (gst_element_get_scheduler), (gst_element_set_loop_function):
23310         * gst/gstelement.h:
23311         * gst/gstevent.h:
23312         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
23313         (gst_format_get_by_nick), (gst_format_get_details),
23314         (gst_format_iterate_definitions):
23315         * gst/gstformat.h:
23316         * gst/gstindex.c: (gst_index_gtype_resolver):
23317         * gst/gstinfo.c:
23318         * gst/gstinfo.h:
23319         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
23320         (gst_mem_chunk_free):
23321         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
23322         (gst_object_ref), (gst_object_unref), (gst_object_sink),
23323         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
23324         (gst_object_dispatch_properties_changed),
23325         (gst_object_set_name_default), (gst_object_set_name),
23326         (gst_object_get_name), (gst_object_set_name_prefix),
23327         (gst_object_get_name_prefix), (gst_object_set_parent),
23328         (gst_object_get_parent), (gst_object_unparent),
23329         (gst_object_check_uniqueness), (gst_object_save_thyself),
23330         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
23331         (gst_object_set_property), (gst_object_get_property),
23332         (gst_object_get_path_string):
23333         * gst/gstobject.h:
23334         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
23335         (gst_real_pad_init), (gst_real_pad_get_property),
23336         (gst_pad_custom_new), (gst_pad_get_direction),
23337         (gst_pad_set_active), (gst_pad_is_active),
23338         (gst_pad_set_event_function), (gst_pad_is_linked),
23339         (gst_pad_link_free), (gst_pad_link_intersect),
23340         (gst_pad_link_fixate), (gst_pad_set_caps),
23341         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
23342         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
23343         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
23344         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
23345         (gst_pad_get_caps), (gst_pad_peer_get_caps),
23346         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
23347         (gst_pad_realize), (gst_pad_get_allowed_caps),
23348         (gst_real_pad_dispose), (gst_real_pad_finalize),
23349         (gst_pad_collectv), (gst_pad_collect_valist),
23350         (gst_pad_template_dispose), (gst_pad_template_new),
23351         (gst_pad_get_internal_links):
23352         * gst/gstpad.h:
23353         * gst/gstpipeline.c: (gst_pipeline_dispose),
23354         (gst_pipeline_change_state):
23355         * gst/gstpipeline.h:
23356         * gst/gstplugin.c:
23357         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
23358         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
23359         * gst/gstpluginfeature.h:
23360         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
23361         * gst/gstquery.c: (_gst_query_type_initialize),
23362         (gst_query_type_register), (gst_query_type_get_by_nick),
23363         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
23364         * gst/gstquery.h:
23365         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
23366         * gst/gstscheduler.c: (gst_scheduler_add_element),
23367         (gst_scheduler_factory_create):
23368         * gst/gststructure.c: (gst_structure_set_parent_refcount),
23369         (gst_structure_free), (gst_structure_set_name),
23370         (gst_structure_id_set_value), (gst_structure_set_value),
23371         (gst_structure_set_valist), (gst_structure_remove_field),
23372         (gst_structure_remove_fields),
23373         (gst_structure_remove_fields_valist),
23374         (gst_structure_remove_all_fields), (gst_structure_foreach),
23375         (gst_structure_map_in_place),
23376         (gst_caps_structure_fixate_field_nearest_int),
23377         (gst_caps_structure_fixate_field_nearest_double):
23378         * gst/gststructure.h:
23379         * gst/gstsystemclock.c: (gst_system_clock_class_init),
23380         (gst_system_clock_init), (gst_system_clock_dispose),
23381         (gst_system_clock_async_thread),
23382         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
23383         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
23384         * gst/gstsystemclock.h:
23385         * gst/gsttag.c: (gst_tag_list_add_value_internal),
23386         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
23387         * gst/gsttaginterface.c:
23388         * gst/gstthread.c: (gst_thread_dispose),
23389         (gst_thread_release_children_locks), (gst_thread_change_state),
23390         (gst_thread_main_loop):
23391         * gst/gsttrashstack.h:
23392         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
23393         * gst/gsttypes.h:
23394         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
23395         (gst_element_request_pad), (gst_element_get_pad_from_template),
23396         (gst_element_request_compatible_pad),
23397         (gst_element_get_compatible_pad_filtered),
23398         (gst_element_get_compatible_pad), (gst_element_state_get_name),
23399         (gst_element_link_pads_filtered), (gst_element_link_filtered),
23400         (gst_element_link_many), (gst_element_link),
23401         (gst_element_link_pads), (gst_element_unlink_pads),
23402         (gst_element_unlink_many), (gst_element_unlink),
23403         (gst_pad_can_link_filtered), (gst_pad_can_link),
23404         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
23405         (gst_object_default_error), (gst_bin_add_many),
23406         (gst_bin_remove_many), (gst_element_populate_std_props),
23407         (gst_element_class_install_std_props), (gst_buffer_merge),
23408         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
23409         (link_fold_func), (gst_pad_proxy_setcaps):
23410         * gst/gstutils.h:
23411         * gst/gstvalue.c: (gst_value_deserialize_string):
23412         * gst/parse/grammar.y:
23413         * gst/schedulers/gstbasicscheduler.c:
23414         (gst_basic_scheduler_cothreaded_chain),
23415         (gst_basic_scheduler_chain_recursive_add),
23416         (gst_basic_scheduler_pad_link):
23417         * gst/schedulers/gstoptimalscheduler.c:
23418         (get_group_schedule_function),
23419         (gst_opt_scheduler_state_transition),
23420         (gst_opt_scheduler_add_element), (element_get_reachables_func):
23421         * libs/gst/bytestream/bytestream.c:
23422         * libs/gst/dataprotocol/dataprotocol.c:
23423         (gst_dp_header_from_buffer):
23424         * po/nb.po:
23425         * po/ru.po:
23426         * tests/threadstate/threadstate2.c: (eos):
23427         * tools/gst-compprep.c: (main):
23428         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
23429         (print_pad_info), (print_children_info):
23430         * tools/gst-launch.c: (idle_func), (main):
23431         * tools/gst-md5sum.c: (idle_func), (main):
23432         * tools/gst-xmlinspect.c: (print_element_info):
23433         First THREADED backport attempt, focusing on adding locks and
23434         making sure the API is threadsafe. Needs more work. More docs
23435         follow this week.
23436
23437 2005-02-24  Andy Wingo  <wingo@pobox.com>
23438
23439         * tests/bench-complexity.scm:
23440         * tests/complexity.gnuplot: New files, good for running complexity
23441         benchmarks.
23442
23443         * tests/Makefile.am:
23444         * tests/complexity.c: New test, sets up N elements, at each level
23445         teeing into M streams per element. Eeeenteresting.
23446
23447         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
23448         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
23449         running bench-mass_elements.scm.
23450
23451         * tests/bench-mass_elements.scm: New script, runs mass_elements
23452         for various numbers of identities, outputting the results to a
23453         file. Requires guile 1.6. Just for testing.
23454
23455 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23456
23457         * gst/schedulers/fairscheduler.c:
23458           compile with debug disabled
23459
23460 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23461
23462         * configure.ac:
23463           hunting season on 0.9 is now OPEN