configure.ac: pre-release 0.10.21.3
[platform/upstream/gstreamer.git] / ChangeLog
1 2009-01-09  Jan Schmidt  <jan.schmidt@sun.com>
2
3         * configure.ac:
4         pre-release 0.10.21.3
5
6 2009-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
7
8         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9         (gst_base_sink_wait_clock):
10         * libs/gst/base/gstbasesink.h:
11         Fix documentation for the wait_clock method, rename basesink -> sink
12         for consistency.
13
14 2009-01-08  Stefan Kost  <ensonic@users.sf.net>
15
16         * gst/gst.c:
17           Create a registry if there is none also when the option for
18           gst-disable-registry-update has been selected. Fixes #567002
19
20 2009-01-06  Tim-Philipp Müller  <tim.muller at collabora co uk>
21
22         * gst/gst.c: (init_post):
23           Ref new enum type in gst_init.
24
25         * win32/common/libgstreamer.def:
26           Add recently-added API.
27
28 2009-01-06  Tim-Philipp Müller  <tim.muller at collabora co uk>
29
30         * docs/gst/gstreamer-sections.txt::
31         * gst/gst_private.h: (GstPluginDep), (_GstPluginPrivate):
32         * gst/gstplugin.c: (gst_plugin_init), (gst_plugin_finalize),
33           (gst_plugin_class_init), (gst_plugin_list_free),
34           (gst_plugin_ext_dep_get_env_vars_hash),
35           (_priv_plugin_deps_env_vars_changed),
36           (gst_plugin_ext_dep_extract_env_vars_paths),
37           (gst_plugin_ext_dep_get_hash_from_stat_entry),
38           (gst_plugin_ext_dep_direntry_matches),
39           (gst_plugin_ext_dep_scan_dir_and_match_names),
40           (gst_plugin_ext_dep_scan_path_with_filenames),
41           (gst_plugin_ext_dep_get_stat_hash),
42           (_priv_plugin_deps_files_changed), (gst_plugin_ext_dep_free),
43           (gst_plugin_ext_dep_strv_equal), (gst_plugin_ext_dep_equals),
44           (gst_plugin_add_dependency), (gst_plugin_add_dependency_simple):
45         * gst/gstplugin.h: (GstPluginPrivate), (GstPluginFlags),
46           (GST_PLUGIN_DEPENDENCY_FLAG_NONE),
47           (GST_PLUGIN_DEPENDENCY_FLAG_RECURSE),
48           (GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY),
49           (GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX),
50           (GstPluginDependencyFlags), (GstPluginFilter):
51         * gst/gstregistry.c: (gst_registry_scan_path_level):
52         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
53           (gst_registry_binary_save_plugin_dep),
54           (gst_registry_binary_save_plugin),
55           (gst_registry_binary_load_feature),
56           (gst_registry_binary_load_plugin_dep_strv),
57           (gst_registry_binary_load_plugin_dep),
58           (gst_registry_binary_load_plugin):
59         * gst/gstregistrybinary.h: (GST_MAGIC_BINARY_VERSION_STR),
60           (GstBinaryPluginElement), (_GstBinaryDep), (GstBinaryDep):
61         * gst/gstregistryxml.c: (gst_registry_xml_save_plugin):
62           Add API for making a GStreamer plugin 'dependent' on external files,
63           directories or environment variables, so that GStreamer knows when
64           it needs to re-load GStreamer plugins that wrap other plugin systems.
65           Fixes bug #350477.
66           API: add gst_plugin_add_dependency()
67           API: add gst_plugin_add_dependency_simple()
68
69 2009-01-06  Tim-Philipp Müller  <tim.muller at collabora co uk>
70
71         * docs/faq/gst-uninstalled:
72           Add libgstapp-0.10 from -base to search path and remove the old
73           lib from -bad from the search path.
74
75 2009-01-05  Wim Taymans  <wim.taymans@collabora.co.uk>
76
77         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position_last),
78         (gst_base_sink_get_position_paused), (gst_base_sink_get_position):
79         Release the object lock before calling the query convert pad functions
80         to avoid deadlocks.
81
82 2009-01-05  Wim Taymans  <wim.taymans@collabora.co.uk>
83
84         * gst/gstbus.c: (gst_bus_wakeup_main_context):
85         The lock order should be maincontext > OBJECT_LOCK so we need to release
86         the object lock when waking up the mainloop to avoid deadlocks.
87
88 2009-01-05  Wim Taymans  <wim.taymans@collabora.co.uk>
89
90         * gst/gstbin.c: (gst_bin_set_index_func), (gst_bin_set_clock_func),
91         (gst_bin_change_state_func):
92         Use an iterator to set the clock and the index so that we can release
93         the object lock appropriately. Fixes #566393.
94
95 2009-01-03  Edward Hervey  <edward.hervey@collabora.co.uk>
96
97         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_available):
98         Use the name of the pads instead of a pointer, helps in debugging.
99
100 2009-01-03  Edward Hervey  <edward.hervey@collabora.co.uk>
101
102         * gst/gstindex.c: (gst_index_get_type):
103         Add a debugging category for GstIndex, first little step in making
104         indexing top-notch.
105
106 2009-01-03  Edward Hervey  <edward.hervey@collabora.co.uk>
107
108         * gst/gstelement.c: (gst_element_message_full),
109         (gst_element_pads_activate):
110         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
111         * gst/gstutils.c: (gst_pad_proxy_getcaps), (gst_pad_proxy_setcaps),
112         (gst_pad_add_data_probe_full), (gst_pad_add_event_probe_full),
113         (gst_pad_add_buffer_probe_full), (gst_pad_remove_data_probe),
114         (gst_pad_remove_event_probe), (gst_pad_remove_buffer_probe):
115         Assign debug statements to relevant categories instead of the 'default'
116         category so they don't get lost in debugging.
117
118 2009-01-01  Stefan Kost  <ensonic@users.sf.net>
119
120         * gst/gstdebugutils.c:
121           Add some ideas, how to make the graph smaller.
122
123         * gst/gstutils.c:
124           Add a comment from a debug session.
125
126         * libs/gst/base/gstbasetransform.c:
127           Log more context.
128
129         * libs/gst/controller/gstinterpolationcontrolsource.c:
130           Indet.
131
132         * plugins/elements/gstcapsfilter.c:
133           Fix typo in docs.
134
135 2008-12-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
136
137         * gst/gstbus.c: (gst_bus_dispose), (gst_bus_get_property),
138           (gst_bus_wakeup_main_context), (gst_bus_set_main_context),
139           (gst_bus_post), (gst_bus_source_prepare), (gst_bus_source_finalize),
140           (gst_bus_create_watch):
141           Make GstBusSource work with non-default main contexts (#562170).
142
143         * tests/check/gst/gstbus.c: (message_func_eos), (message_func_app),
144           (test_watch), (test_watch_with_custom_context), (gst_bus_suite):
145           Add test case for GstBusSource with a non-default main context.
146
147         * tests/check/libs/.cvsignore:
148           Ignore more.
149
150 2008-12-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
151
152         * gst/gstregistrybinary.c: (unpack_element), (unpack_const_string),
153           (unpack_string)::
154           Wrap multi-line macros in G_STMT_{START|END}.
155
156 2008-12-20  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
157
158         * docs/gst/gstreamer-sections.txt:
159         * gst/gstquark.c:
160         * gst/gstquark.h:
161         * gst/gstquery.c: (gst_query_new_uri), (gst_query_set_uri),
162         (gst_query_parse_uri):
163         * gst/gstquery.h:
164         API: Add URI query type. This is useful to query the URI
165         of a sink/source element and can be used by demuxers that
166         need to get data from other files.
167         This query should go upstream by default.
168         Fixes bug #562949.
169         * plugins/elements/gstfdsink.c: (gst_fd_sink_query):
170         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
171         (gst_fd_src_query):
172         * plugins/elements/gstfilesink.c: (gst_file_sink_query):
173         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
174         (gst_file_src_query):
175         Implement URI query.
176
177 2008-12-19  Alessandro Decina <alessandro.decina@collabora.co.uk>
178
179         * gst/gstghostpad.c:
180         * tests/check/gst/gstghostpad.c:
181         Don't forward gst_pad_set_caps() on a source ghostpad to its target.
182         That would cause the ghostpad to emit notify::caps two times (fist
183         from gst_pad_set_caps() and after from on_src_target_notify()).
184
185 2008-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
186
187         * tests/check/gst/gstghostpad.c: (ghost_notify_caps),
188         (GST_START_TEST):
189         Add some more unit-tests for the ghostpad notify signal, one of which
190         currently fails.
191
192 2008-12-19  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
193
194         * win32/common/libgstreamer.def:
195         Add gst_tag_setter_reset_tags to the list of exported symbols.
196
197 2008-12-17  Alessandro Decina  <alessandro.decina@collabora.co.uk>
198
199         * gst/gstghostpad.c:
200         * tests/check/gst/gstghostpad.c:
201         In a source ghostpad, when caps are changed in the target pad, the
202         change needs to be reflected in the ghostpad.
203         Fixes #564863.
204
205 2008-12-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
206
207         * gst/gstutils.c: (gst_element_found_tags_for_pad):
208         Add FIXME for 0.11 to set the pad as message source and not
209         the element. Otherwise it's impossible to detect for which
210         pad the tags were found without adding an event probe
211         or something similar to the pad.
212
213 2008-12-16  Wim Taymans  <wim.taymans@collabora.co.uk>
214
215         * docs/faq/general.xml:
216         Update the faq.
217
218 2008-12-16  Stefan Kost  <ensonic@users.sf.net>
219
220         * docs/gst/gstreamer-sections.txt:
221         * gst/gsttagsetter.c:
222         * gst/gsttagsetter.h:
223           Rename api added in previous commit and add since tag to docs.
224           API: gst_tag_setter_reset_tags()
225
226 2008-12-16  Stefan Kost  <ensonic@users.sf.net>
227
228         * docs/gst/gstreamer-sections.txt:
229         * gst/gsttagsetter.c:
230         * gst/gsttagsetter.h:
231           Add function to reset tagsetter for element reuse.
232
233 2008-12-16  Stefan Kost  <ensonic@users.sf.net>
234
235         * gst/gsttaglist.c:
236           Avoid copy of empty taglist.
237
238 2008-12-16  Stefan Kost  <ensonic@users.sf.net>
239
240         * gst/gsttaglist.c:
241         * tests/check/gst/gsttag.c:
242           More complete unit tests. Fix handling of empty taglists (they were
243           not merged before).
244
245 2008-12-15  Stefan Kost  <ensonic@users.sf.net>
246
247         * gst/gsttaglist.h:
248         * gst/gsttagsetter.c:
249           Update GstTagSetter and GstTagMergeMode documentation. Mention
250           that tags can come from events and from application. Fix example.
251
252 2008-12-15  Wim Taymans  <wim.taymans@collabora.co.uk>
253
254         * docs/design/part-TODO.txt:
255         Remove the seqnum entry that we implemented in 0.10 already.
256         Add entry about removing the format return value for queries.
257
258 2008-12-15  Wim Taymans  <wim.taymans@collabora.co.uk>
259
260         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
261         (gst_base_sink_init), (gst_base_sink_set_property),
262         (gst_base_sink_get_property):
263         Expose the render-delay as a property so things like appsink can use it
264         to tweak the synchronisation.
265
266 2008-12-10  Peter Kjellerstedt  <pkj@axis.com>
267
268         * libs/gst/check/gstcheck.h: Allow check tests to use
269         MAIN_START_THREADS()/MAIN_STOP_THREADS() multiple times. Also allows
270         CK_FORK=no to be used with multiple check test that use threads.
271
272 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
273
274         * gst/gstutils.c: (gst_element_get_compatible_pad):
275         Fix a caps memory leak introduced by the last change.
276
277 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
278
279         * gst/gstutils.c: (gst_element_get_compatible_pad):
280         Check if the caps of the pads are compatible before returning
281         a pad and claiming it is compatible. This, among other things,
282         fixes a bug with gst-launch where an incompatible pad is chosen
283         and linking fails. Fixes bug #544003.
284
285 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
286
287         * libs/gst/check/gstcheck.c: (gst_check_init):
288         Revert accidentially commited patch for bug #404631 which
289         tries to print a backtrace if a testcase is terminated by
290         a signal. This code was never activated as the corresponding
291         configure.ac change wasn't committed.
292
293 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
294
295         * tests/check/libs/controller.c: (GST_START_TEST):
296         This test should return TRUE now as syncing an uncontrolled
297         object will succeed now (there's nothing to sync).
298
299 2008-12-09  Stefan Kost  <ensonic@users.sf.net>
300
301         * libs/gst/controller/gstcontroller.c:
302           Aggregate return value for gst_controller_sync_values(). More info in
303           logging. Always set values on first sync-call.
304
305         * libs/gst/controller/gstcontrolsource.c:
306           Microoptimizations.
307
308         * libs/gst/controller/gsthelper.c:
309           Fix return code and comment.
310
311 2008-12-09  Stefan Kost  <ensonic@users.sf.net>
312
313         * tools/gst-launch.1.in:
314           Fix description of how to specify a type in caps. Fixes #553873.
315           Also ranges and list contain values and not property-assignments.
316
317 2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>
318
319         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
320         Check for changed pads-list before checking the last returned
321         GstFlowReturn because the pad could have been removed and we
322         need to ignore the value in that case.
323
324 2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>
325
326         * libs/gst/base/gstbasetransform.c:
327         (gst_base_transform_prepare_output_buffer),
328         (gst_base_transform_getrange), (gst_base_transform_chain):
329         * libs/gst/base/gstbasetransform.h:
330         Add vmethod that is called before we start the transform and which can
331         be used to configure the transform, such as dynamic properties.
332
333 2008-12-05  David Schleef  <ds@schleef.org>
334
335         * gst/gst.c:
336         Search for plugins on win32 based on the location of the
337         gstreamer DLL.  Fixes #548786
338
339 2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
340
341         * configure.ac:
342         Apparently AC_CONFIG_MACRO_DIR breaks when using more
343         than one macro directory, reverting last change.
344
345 2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
346
347         * configure.ac:
348         Set AC_CONFIG_MACRO_DIR to common/m4 to point autoconf to
349         our M4 macros.
350
351 2008-11-29  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
352
353         Patch by: Cygwin Ports maintainer
354                   <yselkowitz at users dot sourceforge dot net>
355
356         * autogen.sh:
357         * configure.ac:
358         Require gettext 0.17 because older versions don't mix with libtool
359         2.2. At build time an older gettext version will still work.
360         Fixes bug #556091.
361
362 2008-11-27  Wim Taymans  <wim.taymans@collabora.co.uk>
363
364         Patch by: 이문형 <iwings at gmail dot com>
365
366         * gst/gstpoll.c: (gst_poll_fd_ctl_write), (gst_poll_fd_has_error):
367         Adds support for FD_CONNECT event (win32). See #562258.
368
369 2008-11-24  Stefan Kost  <ensonic@users.sf.net>
370
371         * libs/gst/base/gstbasesink.c:
372           Turn comment into gtk-doc comment.
373
374 2008-11-24  Wim Taymans  <wim.taymans@collabora.co.uk>
375
376         * libs/gst/base/gstbasetransform.c:
377         (gst_base_transform_acceptcaps):
378         Revert quick accepcaps attempt, it's not fully equivalent to the old
379         behaviour and thus causes regressions.
380
381 2008-11-24  Edward Hervey  <edward.hervey@collabora.co.uk>
382
383         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
384         Fix memory leak.
385
386 2008-11-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
387
388         Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>
389
390         * gst/gstregistry.c: (gst_registry_scan_path_level):
391         Reduce the number of stat() calls for every file from three times
392         to one time. Fixes bug #560360.
393
394 2008-11-22  Wim Taymans  <wim.taymans@collabora.co.uk>
395
396         * libs/gst/base/gstbasetransform.c:
397         (gst_base_transform_acceptcaps):
398         Rename a variable to make the code clearer.
399
400 2008-11-21  Stefan Kost  <ensonic@users.sf.net>
401
402         * plugins/elements/gstidentity.c:
403         Don't warning on offset==-1. Taken from _check_imperfect_offset().
404
405 2008-11-21  Michael Smith <msmith@songbirdnest.com>
406
407         * plugins/elements/gstfilesrc.c:
408           Check for localhost in URI was backwards, fix it. Fixes unit test.
409
410 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
411
412         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
413         (gst_base_transform_getcaps), (gst_base_transform_find_transform),
414         (gst_base_transform_acceptcaps), (gst_base_transform_getrange):
415         Add beginnings of a more optimized acceptcaps function than the default
416         core one.
417
418 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
419
420         * gst/gstpad.c: (gst_pad_accept_caps):
421         Avoid getting the acceptcaps function too early.
422
423 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
424
425         * tools/gst-launch.c: (event_loop):
426         Make gst-launch handle LATENCY messages and make it recalculate the
427         latency.
428
429 2008-11-20  Michael Smith <msmith@songbirdnest.com>
430
431         * plugins/elements/gstfilesrc.c:
432           Use g_filename_from_uri() for URI parsing in filesrc rather than rolling
433           out own slightly incorrect version. Fixes use of some paths on
434           win32.
435
436 2008-11-20  Michael Smith <msmith@songbirdnest.com>
437
438         * gst/gstregistrybinary.c:
439           In win32 codepath, if we fail to write the registry, create the
440           directory for it and try again, matching the behaviour in non-win32
441           codepaths.
442
443 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
444
445         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay):
446         Changing the render delay changes the latency and so we must post a
447         latency message.
448
449 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
450
451         * gst/gstquery.c:
452         * gst/gstquery.h:
453         Add GstQueryType for custom queries instead of having to use the
454         not-so-very-convenient registration infrastructure to register new
455         types.
456
457 2008-11-19  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
458
459         Patch by: Andrew Feren <acferen at yahoo dot com>
460
461         * gst/gstobject.c: (gst_object_default_deep_notify):
462         Unref the GEnumClass after usage again. Fixes bug #561501.
463
464 2008-11-19  Wim Taymans  <wim.taymans@collabora.co.uk>
465
466         * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
467         (gst_bin_recalculate_latency), (gst_bin_do_latency_func),
468         (gst_bin_change_state_func):
469         * gst/gstbin.h:
470         Add do-latency signal with the old default fallback implementation. This
471         allows for custom latency calculations for when the default is not
472         sufficient.
473         API: GstBin::do-latency signal.
474
475 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
476
477         * win32/common/libgstreamer.def:
478         Add new symbols to .def file.
479
480 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
481
482         * docs/gst/gstreamer-sections.txt:
483         * gst/gstbin.c: (gst_bin_recalculate_latency),
484         (gst_bin_change_state_func):
485         * gst/gstbin.h:
486         Add method to recalculate and redistribute the latency on a bin.
487         API: gst_bin_recalculate_latency().
488
489 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
490
491         * gst/gstbuffer.h:
492         Document the free_func.
493
494 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
495
496         * libs/gst/controller/gstinterpolation.c:
497         * libs/gst/controller/gstlfocontrolsource.c:
498         Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
499         as it is mapped to a cast on non-win32 platforms.
500
501 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
502
503         * libs/gst/controller/gstcontroller.c:
504         * libs/gst/controller/gstcontrollerprivate.h:
505           Keep last-value and only call set_property if value has changed. This
506           supresses all the g_object_notifies we would trigger otherwise. It
507           also allows the user to chage the value while there is no controller
508           change.
509
510 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
511
512         * gst/gstvalue.c:
513           Don't crash if either of the string GValues is empty.
514
515 2008-11-17  Andy Wingo  <wingo@pobox.com>
516
517         * tools/gst-inspect.c (print_all_uri_handlers): New function,
518         prints a summary of what URI schemes are supported by what
519         elements.
520         (main): Plumb in support for --uri-handlers or -u, and fix the
521         argc check for -a and -u.
522
523 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
524
525         * gst/gstutils.h:
526         Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
527         conversion functions.
528
529 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
530
531         * gst/gstbuffer.c: (gst_buffer_finalize):
532         Avoid costly typechecking for trivially correct pointers.
533
534         * gst/gstpoll.c: (gst_poll_wait):
535         Add some G_LIKELY here and there.
536
537         * libs/gst/base/gstadapter.c: (gst_adapter_push):
538         Add some debug info.
539
540 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
541
542         * docs/random/wtay/poll-timeout:
543         Small tweaks.
544
545 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
546
547         * tests/old/testsuite/caps/intersection.c: (main):
548         * tests/old/testsuite/plugin/loading.c: (main):
549         Remove references to deprecated API g_mem_chunk*.
550         Fixes #560442.
551
552 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
553
554         * tools/gst-inspect.c: (main):
555         Add --plugin option. Fixes #560301.
556
557 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
558
559         * docs/random/wtay/poll-timeout:
560         Quick braindump for a possible (not totally verified) atomic case.
561
562 2008-11-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
563
564         * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
565         (gst_registry_binary_initialize_magic),
566         (gst_registry_binary_write_cache),
567         (gst_registry_binary_check_magic):
568         * gst/gstregistrybinary.h:
569         Don't write and check a CRC for the binary registry file. It's
570         guaranteed that the registry is completely written (it's first written
571         to a temporary file and then moved) and if the registry was corrupted
572         by some hardware failure we would have bigger problems.
573
574         Bump binary registry version to 0.10.21.1 for this as it's an
575         incompatible change and to ensure that the registry gets rebuild
576         after the update.
577
578         This saves some milliseconds for reading/writing the registry.
579         Fixes bug #560399.
580
581 2008-11-11  Wim Taymans  <wim.taymans@collabora.co.uk>
582
583         * docs/random/wtay/poll-timeout:
584         Some pseudo code for how we could implement clock timeouts with GstPoll.
585
586 2008-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
587
588         * plugins/elements/gstfilesink.c:
589           Update Author string to match others.
590
591 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
592
593         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
594         Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
595         being fixed and inline the trivial check.
596
597 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
598
599         * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
600         (gst_caps_merge_structure), (gst_caps_get_structure),
601         (gst_caps_copy_nth), (gst_caps_set_simple),
602         (gst_caps_set_simple_valist), (gst_caps_is_fixed),
603         (gst_caps_is_equal_fixed), (gst_caps_intersect),
604         (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
605         (gst_caps_to_string):
606         Callgrind micro optimisations.
607         Avoid array bounds checks and force inline of trivial function.
608
609         * gst/gstobject.c: (gst_object_set_name_default):
610         -1 is equivalent to letting glib to the strlen but then there is more
611         room for optimisations and it's not our fault.
612
613         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
614         no need to clear the array, we're cool.
615
616         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
617         The most common _is_fixed() check is done on fundamental glib base
618         types so we check this first instead of doing a huge amount of
619         useless GST_TYPE_ARRAY calls.
620
621 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
622
623         * gst/gstevent.h:
624         Add a SKIP seek flag for use with advanced trickmodes.
625         API: GstSeekFlags::GST_SEEK_FLAG_SKIP
626
627 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
628
629         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
630         No need to memset, we can clear the value ourselves.
631
632         * gst/gstvalue.c: (gst_type_is_fixed),
633         (gst_value_get_compare_func):
634         Some optimisations from a few callgrind sessions:
635         When checking if a type is fixed, check for trivial fundamental types
636         first before checking types for which we need to get the type followed
637         by the heavy duty type checks, this reduces the amount of
638         g_type_fundamental() calls a lot.
639         When getting the compare function, first check for our registered types.
640         If that fails, do the heavy duty g_type_is_a() checks, reduces the
641         amount of g_type_is_a() considerably.
642
643 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
644
645         * docs/design/part-TODO.txt:
646         Mumble something about removing GstXML.
647
648 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
649
650         * gst/gstbin.c: (gst_bin_handle_message_func):
651         Get the seqnum before we dispose the message.
652
653 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
654
655         * docs/design/part-TODO.txt:
656         Refer to the framestepping document.
657
658 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
659
660         * gst/gstbin.c: (bin_handle_async_start),
661         (gst_bin_handle_message_func), (gst_bin_query):
662         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
663         (gst_base_sink_event), (gst_base_sink_change_state):
664         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
665         (gst_base_src_loop), (gst_base_src_change_state):
666         Copy seqnums from events to messages so that they can all be related
667         back to eachother.
668
669 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
670
671         * tools/gst-launch.c: (event_loop):
672         Print the message seqnums.
673
674 2008-11-04  Andy Wingo  <wingo@pobox.com>
675
676         * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
677
678 2008-11-04  Andy Wingo  <wingo@pobox.com>
679
680         Add sequence numbers to events and messages. See #559250.
681
682         * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
683         API: New functions.
684
685         * gst/gstevent.h:
686         * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
687         events with a new sequence number, and copy it when copying.
688         (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
689         an event's sequence number.
690
691         * gst/gstmessage.h:
692         * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
693         (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
694         so with messages.
695
696         * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
697
698 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
699
700         * docs/manual/advanced-position.xml:
701         * docs/manual/basics-bins.xml:
702         * docs/manual/basics-bus.xml:
703         * docs/manual/basics-pads.xml:
704         * docs/manual/intro-gstreamer.xml:
705         * docs/manual/intro-preface.xml:
706         Some Application Development Manual fixes thanks to
707         Andrew Feren. Fixes #558459.
708
709 2008-11-03  Stefan Kost  <ensonic@users.sf.net>
710
711         * gst/gstregistrybinary.c:
712           Don't bother with the GTimer if we don't output the results.
713
714 2008-11-03  Wim Taymans  <wim.taymans@collabora.co.uk>
715
716         Patch by: David Schleef  <ds@schleef.org>
717
718         * libs/gst/net/Makefile.am:
719         Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
720
721 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
722
723         * gst/gstregistrybinary.c:
724           Oh my, studip, stupid me. Remove double stat() call.
725
726 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
727
728         * gst/gstpreset.c:
729           Use g_unlink instead of unlink.
730
731         * gst/gststructure.c:
732           Use glib type.
733
734         * gst/gstutils.c:
735           Add a FIXME:.
736
737         * gst/gsttaglist.c:
738         * gst/gsttypefind.c:
739         * gst/gstvalue.c:
740           Formatting & whitespaces.
741
742 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
743
744         * plugins/elements/gstidentity.c:
745           Doc typo. Use return value of parent_class->event.
746   
747         * plugins/elements/gsttypefindelement.c:
748           Chain up at the end for consistency.
749   
750 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
751
752         * docs/Makefile.am:
753         * docs/gst/gstreamer-docs.sgml:
754         * docs/gst/gstreamer-sections.txt:
755         * docs/gst/running.xml:
756         * docs/libs/gstreamer-libs-docs.sgml:
757           Change to xinclude based build - its faster and easier to maintain.
758
759 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
760
761         * gst/gstregistrybinary.c:
762         * gst/gstregistryxml.c:
763           Use g_unlink() as none of these are directories.
764
765 2008-10-29  Wim Taymans  <wim.taymans@collabora.co.uk>
766
767         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
768         Some more comments.
769
770 2008-10-27  Wim Taymans  <wim.taymans@collabora.co.uk>
771
772         * libs/gst/base/gstbasetransform.c:
773         (gst_base_transform_find_transform), (gst_base_transform_getrange):
774         If we have a fixate function, call it even if we already have fixed caps
775         because the subclass might add some caps. Makes audioconvert add a
776         default channel layout.
777
778 2008-10-24  Wim Taymans  <wim.taymans@collabora.co.uk>
779
780         * libs/gst/base/gstbasetransform.c:
781         (gst_base_transform_prepare_output_buffer),
782         (gst_base_transform_getrange):
783         Clear the output buffer variable.
784         Cleanups to the error path in the getrange function.
785         Fixes #557649.
786
787 2008-10-23  Sebastian Dröge  <slomo@circular-chaos.org>
788
789         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
790         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
791         Use gst_buffer_try_new_and_alloc() and handle errors instead of
792         using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
793         be allocated.
794
795 2008-10-23  Wim Taymans  <wim.taymans@collabora.co.uk>
796
797         * gst/gstsegment.c: (gst_segment_set_newsegment_full):
798         Set the last_stop to a more meaningful position when configuring the
799         segment. ie. the start/stop of the segment or clipped against the
800         updated segment boundaries.
801
802         * tests/check/gst/gstsegment.c: (GST_START_TEST):
803         Add some unit tests for the last_stop.
804
805 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
806
807         * libs/gst/base/gstbytereader.c:
808         Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
809         copies of them.
810
811 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
812
813         * docs/gst/gstreamer-sections.txt:
814         * gst/gstutils.h:
815         API: Move float endianness conversion macros from libgstfloatcast
816         to core as it's useful in general, even in core. Fixes bug #555196.
817         This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
818         GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
819         GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
820
821         Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
822         GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
823         GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
824         GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
825
826 2008-10-22  Sebastian Dröge  <slomo@circular-chaos.org>
827
828         * docs/libs/gstreamer-libs-sections.txt:
829         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
830         (gst_byte_reader_peek_data):
831         * libs/gst/base/gstbytereader.h:
832         * win32/common/libgstbase.def:
833         API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
834         to get a pointer to the data at the current position and have
835         a guaranteed size.
836
837 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
838
839         * configure.ac:
840         Fix a bug in the output of the configure script summary
841         when --gst-disable-registry is supplied
842
843 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
844
845         * libs/gst/base/gstbitreader.c:
846         * libs/gst/base/gstbytereader.c:
847         Fix the names of 2 functions in the docs strings.
848
849 2008-10-21  Wim Taymans  <wim.taymans@collabora.co.uk>
850
851         * libs/gst/base/gstbasetransform.c:
852         (gst_base_transform_prepare_output_buffer),
853         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
854         Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
855         refcount problems as seen in banshee and maybe also in farsight2.
856         Remove atomic int now that we need to take the lock anyways.
857
858 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
859
860         * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
861         (gst_base_sink_default_prepare_seek_segment),
862         (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
863         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
864         (gst_base_sink_query):
865         Implement more seeking in pull mode.
866         Use pad convert functions to convert position to the requested format.
867         Fix position/duration reporting in pull mode.
868         Implement position and duration reporting in other formats than time.
869
870         * libs/gst/base/gstbasesink.h:
871         Add member to keep track of when the segment is playing.
872
873 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
874
875         * gst/gstpad.c: (gst_pad_configure_src):
876         When we use gst_pad_alloc_buffer() without wanting to set the caps we
877         also don't need to check if the caps are compatible because the caller
878         presumably is going to perform its own custom checks. Fixes some cases
879         where basetransform elements would error out when it was not needed.
880
881 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
882
883         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
884         Update comment.
885
886         * libs/gst/base/gstbasetransform.c:
887         (gst_base_transform_handle_buffer),
888         (gst_base_transform_reconfigure):
889         Add some debug info.
890
891         * win32/common/libgstbase.def:
892         Add new method.
893
894 2008-10-19  Stefan Kost  <ensonic@users.sf.net>
895
896         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
897           Remove duplicated assignment and log a message in failure case.
898
899 2008-10-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
900
901         Patch by: Dig Ge <dig.ge.cn at gmail com>
902
903         * tests/examples/helloworld/helloworld.c: (main):
904           Fix copy'n'paste bug in hello world example (#556900).
905
906 2008-10-17  Wim Taymans  <wim.taymans@collabora.co.uk>
907
908         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
909         (gst_base_sink_query):
910         Query the total number of bytes when activating the pad in pull mode.
911         Implement duration query in pull mode by using the installed pad convert
912         function to convert from bytes to the requested format.
913
914 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
915
916         * docs/libs/gstreamer-libs-sections.txt:
917         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
918         (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
919         (gst_base_sink_event), (gst_base_sink_perform_seek),
920         (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
921         (gst_base_sink_send_event), (gst_base_sink_change_state):
922         * libs/gst/base/gstbasesink.h:
923         Add method to commit the state in subclasses.
924         Refactor the flush_start and flush_stop code because we need it for
925         flushing while seeking too.
926         Implement the beginnings of seeking in pull mode.
927         Use the segment last_stop field for the pulling offset.
928         Fix the pause method in pull mode.
929         Configure the segment to BYTES for pull mode.
930         API: GstBaseSink::gst_base_sink_do_preroll()
931
932 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
933
934         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
935         Update some docs.
936
937 2008-10-14  Tim-Philipp Müller  <tim.muller at collabora co uk>
938
939         * gst/gstquark.c: (_priv_gst_quarks_initialize):
940           Fix printf format warning.
941
942 2008-10-14  Sebastian Dröge  <slomo@circular-chaos.org>
943
944         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
945         Fix flow aggregation of tee. Error out immediately for all flow returns
946         except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
947         and return OK if at least one pad is linked.
948
949         Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
950         and otherwise returned the flow return of the last pad, which is wrong.
951         
952         * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
953         (GST_START_TEST), (tee_suite):
954         Add unit tests for the flow aggregation.
955
956 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
957
958         * docs/design/part-TODO.txt:
959         Remove item from the todo list because it was fixed with the latency
960         state change rewrites.
961
962         * docs/design/part-seeking.txt:
963         * docs/design/part-segments.txt:
964         Update some docs.
965
966         * gst/gstevent.c: (gst_event_new_new_segment_full),
967         (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
968         (gst_event_parse_buffer_size), (gst_event_new_qos),
969         (gst_event_parse_qos), (gst_event_new_seek),
970         (gst_event_parse_seek), (gst_event_new_latency),
971         (gst_event_parse_latency):
972         Use quarks to construct and parse events.
973
974         * gst/gstquark.c: (_priv_gst_quarks_initialize):
975         * gst/gstquark.h:
976         Add some more quarks to the table.
977         Emit a warning when the quark tables are not in sync.
978
979         * tests/check/gst/gstbus.c: (GST_START_TEST):
980         Add an assert.
981
982 2008-10-13  Stefan Kost  <ensonic@users.sf.net>
983
984         * plugins/elements/Makefile.am:
985         * plugins/indexers/Makefile.am:
986           Don't install static libs for plugins. Fixes #550851 for core.
987
988 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
989
990         * gst/gstbus.c: (gst_bus_source_finalize),
991         (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
992         (gst_bus_enable_sync_message_emission),
993         (gst_bus_disable_sync_message_emission),
994         (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
995         Fix deadlock, g_source_get_id() cannot be called in finalize.
996         Keep track of the watch source by keeping a pointer to the source object
997         instead.
998         Use the bus lock to protect access to the pointer to the current
999         watch source.
1000
1001 2008-10-13  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1002
1003         Base on Patch by: Olivier Crete <tester at tester dot ca>
1004
1005         * gst/gstbus.c: (gst_bus_source_finalize),
1006         (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
1007         Only allow one bus watch to be set at a time. This is necessary
1008         because the dispatcher pops the message from the bus and the second
1009         watcher will then get NULL or the next message (and the first won't
1010         get this next message then, etc). If more than one "watcher" is
1011         required signal watches should be used. Fixes bug #526044.
1012
1013 2008-10-12  Jan Schmidt  <jan.schmidt@sun.com>
1014
1015         * tools/gst-launch.c:
1016         Change the printing of the 'buffering...' output to avoid putting
1017         a \r in a translateable string (flagged by the TP).
1018
1019 2008-10-10  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1020
1021         * gst/gstxml.c:
1022         Clarify that the save_thyself() and restore_thyself() virtual
1023         functions of GstObject need to be overriden, not
1024         gst_object_(save|restore)_thyself() which is impossible.
1025         Fixes bug #555700.
1026
1027 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
1028
1029         * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
1030         Revert a patch from 21 months ago that broke caps negotiation in pull
1031         mode. Basically, having a buffer pass over a pad will trigger the
1032         setcaps function when caps change, just like in push mode.
1033
1034 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
1035
1036         * docs/design/part-negotiation.txt:
1037         Update the docs some more.
1038
1039         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
1040         If we pull a buffer with non-trivial caps, suggest those caps with the
1041         max probability.
1042
1043 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
1044
1045         * docs/design/part-TODO.txt:
1046         Add another limitation of pad-blocking with segment seeks not pushing
1047         EOS events.
1048
1049 2008-10-10  Jan Schmidt  <jan.schmidt@sun.com>
1050
1051         * win32/common/libgstbase.def:
1052         * win32/common/libgstreamer.def:
1053         Add new symbols to the win32 defs files
1054
1055 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
1056
1057         * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
1058         (gst_bin_handle_message_func):
1059         The message src can be NULL, don't try to print the object names in that
1060         case.
1061
1062         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
1063         Add some more debug info.
1064
1065         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
1066         (GST_START_TEST):
1067         Add some debug.
1068         Fix the test, pull based sinks go ASYNC to PAUSED, just like other
1069         scheduling modes.
1070
1071 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
1072
1073         * docs/design/part-negotiation.txt:
1074         Small doc update.
1075
1076         * docs/libs/gstreamer-libs-sections.txt:
1077         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1078         (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
1079         (gst_base_sink_init), (gst_base_sink_set_blocksize),
1080         (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
1081         (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
1082         (gst_base_sink_loop), (gst_base_sink_pad_activate),
1083         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1084         (gst_base_sink_change_state):
1085         * libs/gst/base/gstbasesink.h:
1086         Add blocksize property and methods to control the amount of data
1087         to pull.
1088         Negotiate first before activating upstream in pull mode so that they can
1089         negotiate themselves.
1090         When we operate in pull mode, we only accept the caps that we
1091         negotiated.
1092         Make the sink go ASYNC to PAUSED, like all other sinks.
1093         API: GstBaseSink::gst_base_sink_set_blocksize()
1094         API: GstBaseSink::gst_base_sink_get_blocksize()
1095         API: GstBaseSink::blocksize
1096
1097         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
1098         (gst_base_src_set_live), (gst_base_src_is_live),
1099         (gst_base_src_set_format), (gst_base_src_query_latency),
1100         (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
1101         (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
1102         (gst_base_src_set_property), (gst_base_src_get_property):
1103         * libs/gst/base/gstbasesrc.h:
1104         Add typechecking in public API functions.
1105         Add methods to control the blocksize in subclasses.
1106         API: GstBaseSrc::gst_base_src_set_blocksize()
1107         API: GstBaseSrc::gst_base_src_get_blocksize()
1108
1109 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
1110
1111         * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
1112         (buffer_probe), (event_probe), (GST_START_TEST):
1113         We now see 3 events go through our pad, since basesink now sends
1114         upstream latency events.
1115
1116 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1117
1118         * gst/gstpipeline.c: (gst_pipeline_change_state):
1119         Release the object lock before trying to flush the bus.
1120
1121 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1122
1123         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
1124         Forward LATENCY events upstreams so that elements know about the total
1125         pipeline latency. Fixes #555307.
1126
1127 2008-10-08  Jan Schmidt  <jan.schmidt@sun.com>
1128
1129         * plugins/elements/gstqueue.c:
1130         Allow through queries when we don't know how
1131         to adjust them (not TIME or BYTES), as otherwise it's
1132         not possible to query the current position in order
1133         to seek in other formats at all.
1134
1135 2008-10-08  Andy Wingo  <wingo@pobox.com>
1136
1137         * docs/gst/gstreamer-sections.txt: Placate doc pendants.
1138
1139 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1140
1141         * gst/gstghostpad.c:
1142         * gst/gstghostpad.h:
1143         Unbreak -good build, private is a reserved c++ keyword.
1144
1145 2008-10-08  Andy Wingo  <wingo@pobox.com>
1146
1147         * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
1148         * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
1149         removal: re-add GST_GHOST_PAD_CAST to the header.
1150
1151         * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
1152         (GstGhostPadClass): Publically expose these structures so as to
1153         allow easy subclassing from C. Hide the member data behind a
1154         private opaque data pointer.
1155
1156         * gst/gstghostpad.c: Adapt to store instance data in the type
1157         instance's private data region, not in the public struct.
1158
1159 2008-10-08  Andy Wingo  <wingo@pobox.com>
1160
1161         * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
1162         template via g_object_get(), be sure to unref it.
1163
1164         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
1165
1166 2008-10-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1167
1168         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
1169         If we can't get a cache file don't try to save something to it.
1170         Dereferencing NULL pointers usually isn't a good idea.
1171
1172 2008-10-07  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
1173
1174         * tests/check/Makefile.am:
1175         * tests/check/gst/gstabi.c:
1176         * tests/check/gst/struct_sparc.h:
1177         * tests/check/libs/libsabi.c:
1178         * tests/check/libs/struct_sparc.h:
1179         Add Sparc ABI checks
1180
1181         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1182         Cast signed integer to unsigned to avoid a compiler warning.
1183
1184 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1185
1186         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
1187         (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
1188         (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
1189         (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
1190         (gst_byte_reader_peek_int24_be):
1191         Use new GST_READ_UINT24_(LE|BE) macros.
1192
1193 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1194
1195         * docs/gst/gstreamer-sections.txt:
1196         * gst/gstutils.h:
1197         Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
1198         as it's too easy to break the ISO C strict aliasing rules with simple
1199         casts to the corresponding type and this would introduce hard to debug
1200         bugs. Fixes bug #545714.
1201
1202         API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
1203
1204 2008-10-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
1205
1206         * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
1207         * gst/gstghostpad.c: (gst_ghost_pad_construct):
1208           Add 'Since' bits to gtk-doc chunks for new API.
1209
1210 2008-10-06  Thijs Vermeir  <thijsvermeir@gmail.com>
1211
1212         * docs/gst/gstreamer-sections.txt:
1213         Fix documentation
1214
1215 2008-10-06  Andy Wingo  <wingo@pobox.com>
1216
1217         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
1218         that will be called on the malloc_data to free it. Basically a way
1219         to avoid subclassing when all you need is a different free
1220         function, i.e. free() instead of g_free().
1221
1222         * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
1223         calling the free function.
1224         (gst_buffer_init): Initialize the free function to g_free.
1225
1226 2008-10-06  Andy Wingo  <wingo@pobox.com>
1227
1228         * gst/gstghostpad.h:
1229         * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
1230         finishes the initialization of ghost pad. Useful for language
1231         bindings and subclassers of GstGhostPad. Fixes #539108.
1232         (gst_ghost_pad_new_full): Use the new constructor.
1233
1234 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1235
1236         Base on Patch by: Olivier Crete <tester at tester dot ca>
1237
1238         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
1239         (gst_bin_remove_func), (update_degree),
1240         (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
1241         Keep track of pads that are being linked/unlinked and resync the state
1242         changes.
1243
1244         * gst/gstpad.c: (gst_pad_get_direction),
1245         (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
1246         (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
1247         (gst_pad_link_prepare), (gst_pad_link),
1248         (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
1249         (gst_pad_check_pull_range), (gst_pad_get_range),
1250         (gst_pad_pull_range):
1251         Some code cleanups, use macros to check pad direction.
1252         Don't need to take the lock on the pad direction.
1253         Post structure change when pads are linked/unlinked.
1254         Change some checks into _return_if_fail().
1255
1256         * tests/check/gst/gstbin.c:
1257         (test_link_structure_change_state_changed_sync_cb),
1258         (GST_START_TEST), (gst_bin_suite):
1259         Add testcase for pad link/unlinke resync during a state change.
1260         Fixes #510354.
1261
1262 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1263
1264         * docs/gst/gstreamer-sections.txt:
1265         * gst/gstmessage.c: (gst_message_new_structure_change),
1266         (gst_message_parse_structure_change):
1267         * gst/gstmessage.h:
1268         Implement STRUCTURE_CHANGED messages. These messages will be used to
1269         signal the parent bin of link/unlink operations that could require a
1270         resync when doing a state change. See ##510354.
1271         API: gst_message_new_structure_change()
1272         API: gst_message_parse_structure_change()
1273
1274 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1275
1276         * gst/gstquark.c:
1277         * gst/gstquark.h:
1278         Add some more quarks for new message. See #510354.
1279
1280 2008-10-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1281
1282         * docs/libs/gstreamer-libs-docs.sgml:
1283         * docs/libs/gstreamer-libs-sections.txt:
1284         * libs/gst/base/Makefile.am:
1285         * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
1286         (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
1287         (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
1288         (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
1289         (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
1290         (gst_bit_reader_skip_to_byte):
1291         * libs/gst/base/gstbitreader.h:
1292         * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
1293         (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
1294         (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
1295         (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
1296         (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
1297         (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
1298         (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
1299         (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
1300         (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
1301         (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
1302         (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
1303         (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
1304         * libs/gst/base/gstbytereader.h:
1305         * tests/check/Makefile.am:
1306         * tests/check/libs/bitreader.c: (GST_START_TEST),
1307         (gst_bit_reader_suite):
1308         * tests/check/libs/bytereader.c: (GST_START_TEST),
1309         (gst_byte_reader_suite):
1310         API: Add bit reader and byte reader classes, including documentation
1311         and an extensive unit test suite. Fixes bug #553554.
1312
1313 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1314
1315         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
1316         (gst_base_sink_query):
1317         Improve position reporting while flushing and other intermediate state
1318         changes. Fixes #553874.
1319
1320 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1321
1322         Patch by: Antoine Tremblay <hexa00 at gmail dot com>
1323
1324         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1325         Original patch by : Simon Descaries
1326         Fix small refount leak in caps compatibility check.
1327         Fixes #551676.
1328
1329 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
1330
1331         * docs/pwg/advanced-request.xml:
1332           Fix 0.8 api usage in example. Fixes #554561
1333
1334         * docs/pwg/appendix-porting.xml:
1335           Change 0.9 to 0.10 here.
1336
1337 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
1338
1339         * docs/manual/basics-data.xml:
1340           Change "event-event interaction" to "element-element interaction".
1341           Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
1342           updates.
1343
1344 2008-10-05  Jan Schmidt  <jan.schmidt@sun.com>
1345
1346         * configure.ac:
1347         Back to development -> 0.10.21.1
1348
1349 === release 0.10.21 ===
1350
1351 2008-10-02  Jan Schmidt <jan.schmidt@sun.com>
1352
1353         * configure.ac:
1354           releasing 0.10.21, "Take These Things From Me"
1355
1356 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
1357
1358         * configure.ac:
1359         0.10.20.4 pre-release
1360
1361 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
1362
1363         * libs/gst/base/gstbasetransform.c:
1364         * plugins/elements/gstcapsfilter.c:
1365         * tests/check/Makefile.am:
1366         * tests/check/elements/.cvsignore:
1367         * tests/check/elements/capsfilter.c:
1368         Fix assertion in basetransform when the subclass chooses not to
1369         allocate a buffer in prepare_buffer(), and make capsfilter error out
1370         cleanly if requested to apply caps that don't completely specify the
1371         buffer. Fixes #551509
1372
1373 2008-09-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1374
1375         * libs/gst/base/gstbasetransform.c:
1376         (gst_base_transform_prepare_output_buffer):
1377         Take new caps ref because our old one might have been gone when the
1378         subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
1379
1380 2008-09-15  Stefan Kost  <ensonic@users.sf.net>
1381
1382         * configure.ac:
1383           Do not probe availability of check unit test library when cross
1384           compiling, as test would not work anyway. Also cleanup verbose output
1385           of the check test. Fixes #551952.
1386
1387 2008-09-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1388
1389         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
1390
1391         * gst/gstelement.c: (gst_element_sync_state_with_parent):
1392         Avoid leaking the parent ref when we fail changing the state of the
1393         element using gst_element_sync_state_with_parent(). Fixes #551978.
1394
1395 2008-09-11  Tim-Philipp Müller  <tim.muller at collabora co uk>
1396
1397         * docs/manual/intro-motivation.xml::
1398           Remove some bits that no longer apply, update others (#551642).
1399
1400 2008-09-10  Jan Schmidt  <jan.schmidt@sun.com>
1401
1402         * configure.ac:
1403         0.10.20.2 pre-release
1404
1405         * po/LINGUAS:
1406         * po/id.po:
1407         * po/pt_BR.po:
1408
1409         New translations.
1410
1411 2008-09-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
1412
1413         * win32/common/config.h.in:
1414           Add GST_DATADIR, hard-code cpu to x86.
1415
1416         * win32/common/libgstreamer.def:
1417           Spaces to tabs.
1418
1419 2008-09-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1420
1421         * gst/gsttaglist.h:
1422           Fix Since: markers for new geo tags.
1423
1424 2008-09-02  Stefan Kost  <ensonic@users.sf.net>
1425
1426         * gst/gsttaglist.h:
1427           Fix actual tag name define after renaming from altitude to elevation.
1428
1429 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1430
1431         * gst/gstpad.c: (add_unref_pad_to_list),
1432         (gst_pad_get_internal_links_default):
1433         Add fallback when calling the deprecated function on an element that
1434         implements the new internal_link handler.
1435
1436 2008-09-01  Stefan Kost  <ensonic@users.sf.net>
1437
1438         * docs/gst/gstreamer-sections.txt:
1439         * gst/gsttaglist.c:
1440         * gst/gsttaglist.h:
1441           Add new tags for geo location and clarify purpose of existing location
1442           tag. Fixes #481169
1443
1444 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1445
1446         Patch by: Olivier Crete <tester at tester dot ca>
1447
1448         * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
1449         (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
1450         Use thread-safe internal links iterator. Fixes #549504.
1451
1452 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1453
1454         Based on patch by: Olivier Crete <tester at tester dot ca>
1455
1456         * docs/gst/gstreamer-sections.txt:
1457         * win32/common/libgstreamer.def:
1458         * gst/gstpad.c: (gst_pad_init),
1459         (gst_pad_set_iterate_internal_links_function),
1460         (int_link_iter_data_free), (iterate_pad),
1461         (gst_pad_iterate_internal_links_default),
1462         (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
1463         * gst/gstpad.h:
1464         Add threadsafe replacement functions for getting internal links of an
1465         element. Deprecate the old internal links functions.
1466         API:GstPad::gst_pad_set_iterate_internal_links_function()
1467         API:GstPad::GstPadIterIntLinkFunction
1468         API:GstPad::gst_pad_iterate_internal_links()
1469         API:GstPad::gst_pad_iterate_internal_links_default()
1470
1471         * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
1472         (gst_proxy_pad_init):
1473         Implement threadsafe internal links.
1474
1475         * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
1476         Unit test for internal links on tee. See #549504.
1477
1478 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1479
1480         * tests/check/Makefile.am:
1481         libs/transform1 test requires libs/test_transform.c
1482
1483 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1484
1485         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1486         Die evil deadlock, die !
1487
1488 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1489
1490         * gst/gstutils.c: (gst_element_get_compatible_pad):
1491         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1492         * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
1493         Fix all leaks due to the bug in gst_pad_template_new() by which it does
1494         not steal the refcount of the given caps as stated.
1495
1496         REVERT THIS COMMIT ONCE FIXED !
1497         REVERT THIS COMMIT ONCE FIXED !
1498         REVERT THIS COMMIT ONCE FIXED !
1499         REVERT THIS COMMIT ONCE FIXED !
1500         REVERT THIS COMMIT ONCE FIXED !
1501         REVERT THIS COMMIT ONCE FIXED !
1502
1503 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1504
1505         * gst/gstiterator.c:
1506         * gst/gstiterator.h:
1507         After 3 years it's about time to revise the documentation of the
1508         iterator objects.
1509
1510 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1511
1512         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1513         Make the internal links function less thread-unsafe and add some
1514         comments, dunno why.
1515
1516 2008-08-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1517
1518         * gst/gst_private.h:
1519           Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
1520           build with --disable-gst-debug.
1521
1522 2008-08-28  David Schleef  <ds@schleef.org>
1523
1524         * gst/gstpadtemplate.c: Revert last change, since it breaks
1525           a few plugins, ffmpeg, alaw, and mulaw.  Code is correct,
1526           but shouldn't be enabled until we've released fixed versions
1527           of -good and -ffmpeg.
1528
1529 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1530
1531         * gst/gstobject.c:
1532           Put the gst_object_get_name() back in.
1533
1534 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1535
1536         * gst/gstpadtemplate.c:
1537           The old behaviour was that gst_pad_template_new() takes ownership of
1538           the caps. As we now call g_object_new() which calls g_object_set() and
1539           which copies the caps, we have to unref them to not leak them. Fixes
1540           make valgrid for me.
1541
1542 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1543
1544         * gst/gsturi.c:
1545           Don't segfault on input like "tel:+1-123-555-1234".
1546
1547 2008-08-27  Stefan Kost  <ensonic@users.sf.net>
1548
1549         * gst/gstobject.c:
1550           Due to popular request also include ObjectType in
1551           gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1552
1553 2008-08-26  David Schleef  <ds@schleef.org>
1554
1555         * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1556           src_val must be positive, because that's not a requirement.
1557           This causes problems with converting negative granulepos
1558           values for Dirac.
1559         * gst/gstquery.c: Same, gst_query_new_convert().
1560
1561 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1562
1563         * gst/gstclock.c: (gst_clock_add_observation):
1564         Add some more debugging to the clock slaving code.
1565
1566         * win32/common/libgstbase.def:
1567         Add new basetransform method.
1568
1569 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1570
1571         * gst/gstbin.c: (gst_bin_element_set_state):
1572         Take the (recursive) state lock between getting the locked state of an
1573         element and changing the element state. This allows the application to
1574         lock an element's state and then change its state without races.
1575
1576 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1577
1578         * gst/gstbin.c: (gst_bin_element_set_state):
1579         When an element is in the locked state we still want to update the
1580         base_time of the element.
1581
1582 2008-08-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1583
1584         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1585         Use the result from gst_pad_set_caps() instead of assuming the element
1586         always accepted the caps computed by the default negotiate function.
1587
1588 2008-08-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1589
1590         * docs/libs/gstreamer-libs-sections.txt:
1591         * libs/gst/base/gstbasetransform.c:
1592         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1593         (gst_base_transform_chain), (gst_base_transform_suggest),
1594         (gst_base_transform_reconfigure):
1595         * libs/gst/base/gstbasetransform.h:
1596         Implement method for reconfiguring basetransform.
1597         API: GstBaseTransform::gst_base_transform_reconfigure()
1598
1599 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1600
1601         patch by: Murray Cumming <murrayc@murrayc.com>
1602
1603         * gst/gstutils.c:
1604           Mention that this is just like gst_buffer_merge() but with extra
1605           unreffing for C coders. Advise language bindings not to wrap it.
1606           Fixes Bug #533856.
1607           
1608           Also fix file comment.
1609
1610 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1611
1612         reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1613
1614         * plugins/elements/gstfakesink.c:
1615         * plugins/elements/gstfakesrc.c:
1616           Call super::event() when not handling it. Fixes #544855.
1617
1618 2008-08-19  Michael Smith <msmith@songbirdnest.com>
1619
1620         Patch by: Alessandro Decina <alessandro@nnva.org>
1621         * plugins/elements/gstfilesrc.c:
1622           Use 64 bit variants of stat functions on win32, to enable support
1623           of large files there.
1624           Fixes #547277.
1625
1626 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1627
1628         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1629         (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1630         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1631         (gst_base_sink_get_position), (gst_base_sink_change_state):
1632         Improve position reporting in the flushing state.
1633         Also report the position when we are not yet prerolled but we
1634         have a newsegment event. Fixes #543444.
1635         Improve the pull-based negotiation code.
1636
1637         * tests/check/elements/fakesink.c: (GST_START_TEST),
1638         (fakesink_suite):
1639         Add testcase for position reporting while flushing in PAUSED and
1640         PLAYING.
1641
1642         * tests/check/generic/sinks.c: (GST_START_TEST):
1643         Update unit-test, we can now query the position as soon as we receive a
1644         NEWSEGMENT event.
1645
1646 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1647
1648         Based on patch by: Jason Zhao <e3423c at motorola dot com>
1649
1650         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1651         When the subclass event handler releases the PREROLL_LOCK, we could be
1652         in the flushing state and we have to ignore the event. Fixes #548394.
1653
1654 2008-08-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1655
1656         * tools/gst-launch.1.in:
1657           Document GST_REGISTRY_UPDATE environment variable.
1658
1659 2008-08-18  Wim Taymans  <wim.taymans@collabora.co.uk>
1660
1661         * libs/gst/base/gstbasetransform.c:
1662         (gst_base_transform_prepare_output_buffer):
1663         If the element is configured in passthrough mode but the
1664         prepare_output_buffer gave us a new output buffer, discard that buffer
1665         and reuse the input buffer.
1666
1667 2008-08-15  Wim Taymans  <wim.taymans@collabora.co.uk>
1668
1669         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1670
1671         * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1672         (gst_tee_request_new_pad), (gst_tee_release_pad),
1673         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1674         * plugins/elements/gsttee.h:
1675         Protect pad_alloc with a new lock so that we can be sure that nothing is
1676         performing a pad_alloc when removing the pad. Fixes #547835.
1677
1678         * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1679         (buffer_alloc_harness_teardown), (app_thread_func),
1680         (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1681         Added testcase for shutdown race.
1682
1683 2008-08-14  Thijs Vermeir  <thijsvermeir@gmail.com>
1684
1685         * gst/gstpad.h:
1686         Add doc
1687
1688 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1689
1690         * libs/gst/base/gstbasetransform.c:
1691         (gst_base_transform_prepare_output_buffer),
1692         (gst_base_transform_buffer_alloc):
1693         Go over the buffer_alloc function again and make sure we always end up
1694         allocating a buffer.
1695         Add some more docs.
1696         Avoid doing pad alloc when we have a pending suggestion because we
1697         cannot yet deal with changing caps in that case. Fixes #547728
1698
1699 2008-08-14  Stefan Kost  <ensonic@users.sf.net>
1700
1701         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1702
1703         * docs/manual/advanced-clocks.xml:
1704         * docs/manual/clocks.png:
1705         * docs/manual/diagrams-clocks.svg:
1706           Add one more image showing different times together with a describing
1707           paragraph. Fixes #547729.
1708
1709 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1710
1711         * win32/common/libgstbase.def:
1712         Add new method.
1713
1714 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1715
1716         * libs/gst/base/gstbasetransform.c:
1717         (gst_base_transform_transform_caps),
1718         (gst_base_transform_prepare_output_buffer),
1719         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1720         Don't overwrite the outsize when calculating the expected size of a new
1721         buffer because we still need it in case we cannot process the new
1722         buffer.
1723         When converting the size of the new buffer to an upstream size, actually
1724         use the expected size of the buffer, not some other random value.
1725         Use an atomic int to signal that a new upstream caps suggestion is
1726         available.
1727         When we can convert the current buffer to a new format, check if the
1728         buffer size is of the expected size and allocate a new buffer of the
1729         expected size when this is not the case. Fixes #546883.
1730
1731         * tests/check/libs/transform1.c: (GST_START_TEST):
1732         remove ifdeffed code from the unit test.
1733
1734 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1735
1736         * pkgconfig/gstreamer-uninstalled.pc.in:
1737         * pkgconfig/gstreamer.pc.in:
1738           Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1739           called gstcontroller-0.10.
1740
1741 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1742
1743         * gst/gstchildproxy.h:
1744         * gst/gstpreset.h:
1745           Remove double interface from doc-string.        
1746
1747 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1748
1749         * libs/gst/base/gstbasesrc.c:
1750         * libs/gst/base/gstbasetransform.c:
1751           Fix headings in docs and gtk-doc warnings.
1752
1753 2008-08-11  Michael Smith <msmith@songbirdnest.com>
1754
1755         * gst/gstregistrybinary.c:
1756           Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1757           libc.
1758           Fixes #544776.
1759
1760 2008-08-11  Edward Hervey  <edward.hervey@collabora.co.uk>
1761
1762         * libs/gst/base/gstbasetransform.c:
1763         (gst_base_transform_buffer_alloc):
1764         Fix a "may be used unitialized" warning.
1765
1766 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1767
1768         * docs/gst/gstreamer-sections.txt:
1769         * gst/gstpreset.h:
1770           Document preset-iface vmethods.
1771
1772 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1773
1774         * docs/manual/advanced-interfaces.xml:
1775           Turn thoughts about HAL into a note-tag. Remove mentioning that is
1776           only used to discover devices.
1777
1778 2008-08-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
1779
1780         Patch by: Frederic Crozat <fcrozat@mandriva.org>
1781
1782         * gst/gst.c: (init_pre):
1783         Make sure gettext returns translations in UTF-8 encoding rather
1784         than in the current locale encoding (#546822).
1785
1786 2008-08-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1787
1788         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1789         Fix subset test.
1790
1791         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1792         Improve unit test subset tests and add a testcase for the subset failure
1793         cases.
1794
1795         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1796         Improve subtraction unit test.
1797
1798 2008-08-07  Stefan Kost  <ensonic@users.sf.net>
1799
1800         * plugins/elements/gsttee.c:
1801           Unlock, instead of locking again.
1802
1803 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1804
1805         * gst/gstpad.h:
1806         Clarify the docs a bit more.
1807
1808 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1809
1810         * tests/examples/metadata/read-metadata.c:
1811           Don't leak old taglist.
1812
1813 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1814
1815         Patch by: Olivier Crete <tester at tester dot ca>
1816
1817         * gst/gststructure.c:
1818         (gst_structure_fixate_field_nearest_fraction):
1819         Avoid overflows in fixation code when dealing with MAXINT values, which
1820         v4l2src seems to do.
1821         Fixes #546328.
1822
1823         * tests/check/gst/gststructure.c: (GST_START_TEST):
1824         Make a unit test to check the fix. 
1825
1826 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1827
1828         * plugins/elements/gstcapsfilter.c: (copy_func),
1829         (gst_capsfilter_set_property):
1830         Use new caps suggestion feature of basetransform to request a caps
1831         negotiation upstream.
1832
1833 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1834
1835         * docs/libs/gstreamer-libs-sections.txt:
1836         Add new function:
1837         API: GstBaseTransform::gst_base_transform_suggest()
1838
1839         * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1840         (gst_base_transform_init), (gst_base_transform_transform_caps),
1841         (gst_base_transform_transform_size),
1842         (gst_base_transform_configure_caps),
1843         (gst_base_transform_can_transform),
1844         (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1845         (gst_base_transform_prepare_output_buffer),
1846         (gst_base_transform_buffer_alloc),
1847         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1848         (gst_base_transform_chain), (gst_base_transform_activate),
1849         (gst_base_transform_set_passthrough),
1850         (gst_base_transform_is_passthrough),
1851         (gst_base_transform_set_in_place),
1852         (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1853         (gst_base_transform_set_qos_enabled),
1854         (gst_base_transform_is_qos_enabled),
1855         (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1856         (gst_base_transform_reconfigure):
1857         * libs/gst/base/gstbasetransform.h:
1858         Rewrite of basetransform to perform negotiation outside of the
1859         buffer_alloc functions.  Fixes #545853.
1860
1861         * tests/check/libs/transform1.c: (GST_START_TEST),
1862         (buffer_alloc_ct2):
1863         Update unit test.
1864
1865 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1866
1867         * tests/check/gst/gstpreset.c:
1868           Only run preset tests when $HOME is writable. Preliminary fix for
1869           #545433.
1870
1871 2008-08-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1872
1873         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1874         (gst_bin_change_state_func), (bin_handle_async_done),
1875         (gst_bin_handle_message_func):
1876         Fix race for bins that simulate ASYNC state changes by inserting
1877         ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1878         pending ASYNC messages even when the bin does not have ASYNC children.
1879         We note detect this behaviour because we will receive an ASYNC message
1880         that is originating from the bin itself. 
1881         Fixes races with decodebin2 state changes.
1882
1883         * tests/check/gst/gstbin.c: (GST_START_TEST):
1884         Add some more debug.
1885
1886 2008-08-04  Tim-Philipp Müller  <tim.muller at collabora co uk>
1887
1888         * gst/gsttaglist.c: (_gst_tag_initialize):
1889           Fix typo.
1890
1891 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1892
1893         * gst/gsttaglist.c:
1894           Argh. actually save the text before committing. Now adds
1895           gst_tag_merge_strings_with_comma() to gst_tag_register().
1896
1897 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1898
1899         * gst/gsttaglist.c:
1900         * gst/gsttaglist.h:
1901           Do as tim pointed out and actually register the new tag. Also improve
1902           te docs and use gst_tag_merge_strings_with_comma() method to allow
1903           retriving all keywords merged in one list.
1904
1905 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1906
1907         * configure.ac:
1908         * docs/gst/gstreamer.types:
1909           Revert 'accidential' change of the configure option removal. We still
1910           need to generate the types file in configure --disable-load-save.
1911
1912 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1913
1914         * docs/gst/gstreamer-sections.txt:
1915         * gst/gsttaglist.h:
1916           Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1917
1918 2008-08-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1919
1920         * gst/gstpadtemplate.c:
1921           (gst_pad_template_class_init), (gst_static_pad_template_get),
1922           (gst_pad_template_new), (gst_pad_template_pad_created),
1923           (gst_pad_template_set_property), (gst_pad_template_get_property):
1924           Add "name-template", "direction", "presence" and "caps" properties,
1925           so that gst_pad_template_new() is just a thin wrapper around
1926           g_object_new(), which is better for bindings. (Fixes: #539772)
1927
1928 2008-07-31  Michael Smith <msmith@songbirdnest.com>
1929
1930         * gst/gsturi.c:
1931           Be more liberal in what URIs we accept.
1932           Do not unescape bits of the URI for no apparent reason before passing to
1933           the element. Fixes #545352.
1934
1935 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1936
1937         Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1938
1939         * gst/gst.c:
1940         Include gstconfig.h as macros from it are used. Fixes bug #545607.
1941
1942 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1943
1944         * configure.ac:
1945         * docs/gst/gstreamer-sections.txt:
1946         * docs/gst/gstreamer.types:
1947         * docs/gst/gstreamer.types.in:
1948         * gst/Makefile.am:
1949         * gst/gst.c:
1950         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1951         * gst/gstconfig.h.in:
1952         * gst/gstelement.c: (gst_element_get_index):
1953         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1954         (gst_registry_binary_load_feature),
1955         (gst_registry_binary_read_cache):
1956         * gst/gstregistryxml.c: (load_feature),
1957         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1958         * plugins/Makefile.am:
1959         * tools/gst-indent:
1960         * tools/gst-inspect.c: (print_index_info), (print_element_list),
1961         (print_plugin_features), (print_element_features):
1962         * tools/gst-xmlinspect.c: (print_event_masks),
1963         (print_element_info):
1964         * win32/common/gstconfig.h:
1965         Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1966
1967         Disabling the indexers and URI handler code will only reduce the
1968         required amount of memory by a very small amount but on the other hand
1969         requires much more maintaince work. Apart from that many places of
1970         code are broken when disabling them.
1971
1972         Disabling the enum types doesn't reduce the required amount of memory
1973         by more than a few bytes and makes it hard to fix bugs like #539772,
1974         i.e. use the enums as GObject properties.
1975
1976 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1977
1978         * docs/design/part-TODO.txt:
1979         Add some thoughts and problems with upstream renegotiation.
1980
1981 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1982
1983         * gst/gstpad.c: (gst_pad_acceptcaps_default),
1984         (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1985         Remove silly redundant debug.
1986         Add some more debug info.
1987         Clarify the docs regarding new caps received from pad_alloc.
1988
1989 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1990
1991         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1992         (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1993         Make setting the caps more threadsafe.
1994
1995 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1996
1997         * docs/design/part-element-transform.txt:
1998         Update docs.
1999
2000 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
2001
2002         * plugins/elements/gstqueue.c: (gst_queue_init),
2003         (gst_queue_acceptcaps):
2004         Add and use a custom acceptcaps function instead of falling back to the
2005         potentially less optimized default implementation.
2006
2007 2008-07-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
2008
2009         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2010           Only sanity-check the buffer size if requested_caps == buffer_caps
2011           (ie. don't take pad caps into account, they're not relevant here)
2012
2013 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
2014
2015         * plugins/elements/gsttee.c:
2016         * plugins/elements/gsttee.h:
2017           Reverting as not everything is clear yet. Needs some general design
2018           work.
2019
2020 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
2021
2022         * ChangeLog:
2023           ChangeLog surgery for tee commit.
2024
2025 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
2026
2027         * docs/gst/gstreamer-sections.txt:
2028           Cleanup section-file.
2029
2030 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
2031
2032         * plugins/elements/gsttee.c:
2033         * plugins/elements/gsttee.h:
2034           Relay tag events in tee. Fixes parts of #474016.
2035           Downgrades 3 reoccurring debugs to log.
2036
2037 2008-07-28  Michael Smith <msmith@songbirdnest.com>
2038
2039         * configure.ac:
2040         * libs/gst/Makefile.am:
2041           Build the net library if we have winsock2.
2042
2043 2008-07-26  Stefan Kost  <ensonic@users.sf.net>
2044
2045         patch by: Luc Pionchon <luc.pionchon@nokia.com>
2046
2047         * docs/manual/advanced-threads.xml:
2048         * docs/manual/diagrams-pipelines.svg:
2049         * docs/manual/hello-world.png:
2050         * docs/manual/linked-elements.png:
2051         * docs/manual/mime-world.png:
2052         * docs/manual/queue.png:
2053         * docs/manual/thread-buffering.png:
2054         * docs/manual/thread-synchronizing.png:
2055           Replace one diagram with two separate ones and updates others.
2056           Fixes #542401.
2057
2058 2008-07-25  Thijs Vermeir  <thijsvermeir@gmail.com>
2059
2060         * gst/gstelement.h:
2061         Fix link in documentation.
2062
2063 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
2064
2065         * gst/gstmessage.c:
2066         Fix confusing documentation.
2067
2068 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
2069
2070         * libs/gst/base/gstbasesrc.h:
2071         revert the changes to the header file for the ABI.
2072
2073 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
2074
2075         * libs/gst/base/gstbasesrc.c:
2076         * libs/gst/base/gstbasesrc.h:
2077         Don't cache the seekable status.
2078         Fixes bug #544174
2079
2080 2008-07-24  Rene Stadler  <mail@renestadler.de>
2081
2082         * docs/manual/advanced-autoplugging.xml: Add fakesink to example
2083         code to close the pipeline graph.  This prevents the program from
2084         printing internal data flow errors.
2085
2086 2008-07-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2087
2088         * docs/manual/basics-bus.xml:
2089         Correct typo. Fixes bug #544320.
2090
2091 2008-07-22  Michael Smith <msmith@songbirdnest.com>
2092
2093         * configure.ac:
2094           Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
2095           Add check (taken from -base) for winsock, adds WIN32_LIBS
2096         * gst/Makefile.am:
2097           Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
2098           winsock.
2099           Define GST_EXPORTS when building libgstreamer (only used on win32)
2100         * gst/gst_private.h:
2101         * gst/gstinfo.h:
2102           Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
2103           for symbols that we need to export in both these files.
2104         * gst/gstpoll.c:
2105           Include gst_private.h higher up to avoid some compile problems on win32.
2106
2107 2008-07-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2108
2109         * gst/gstvalue.c:
2110         Fix typos.
2111
2112 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2113
2114         * gst/gstcaps.c:
2115         Previous commit was wrong NULL caps does not exist
2116         and indicate an error, so also add a FIXME to
2117         gst_caps_is_equal where NULL caps are accepted.
2118
2119 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2120
2121         * gst/gstcaps.c:
2122         Allow passing of NULL to gst_caps_union
2123
2124 2008-07-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2125
2126         * gst/gstghostpad.c:
2127         Add in doc that gst_ghost_pad_set_target can accept
2128         NULL to clear target
2129
2130 2008-07-15  Michael Smith <msmith@songbirdnest.com>
2131
2132         * gst/gstplugin.c:
2133         * gst/gstregistry.c:
2134           GstRegistryPool doesn't exist; don't refer to it in docs.
2135           Don't refer to functions that don't exist in docs, it's
2136           unhelpful.
2137
2138 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2139
2140         * gst/gst.c:
2141         Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
2142
2143 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2144
2145         Patch by: Tristan Matthews <le dot businessman at gmail dot com>
2146
2147         * docs/pwg/building-testapp.xml:
2148         Don't use an undeclared variable in the example program.
2149         Fixes bug #542573.
2150
2151 2008-07-12  Stefan Kost  <ensonic@users.sf.net>
2152
2153         * gst/gstdebugutils.c:
2154           Squeeze ghost-pad links and remove <> from classname labels to save
2155           more horizontal space.
2156
2157 2008-07-11  Stefan Kost  <ensonic@users.sf.net>
2158
2159         * gst/gstdebugutils.c:
2160           Give request and sometimes pads a different shpe style. Condense the
2161           graphs a little more.
2162
2163 2008-07-09  Michael Smith <msmith@songbirdnest.com>
2164
2165         * configure.ac:
2166           Don't require flex and bison if the parser is disabled.
2167
2168 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2169
2170         * libs/gst/controller/gstinterpolationcontrolsource.c:
2171         (_list_find_sorted_custom):
2172         Don't use declarations after statements.
2173
2174 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2175
2176         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
2177         Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
2178         of the the child-added / -removed signals as GstChildProxy
2179         only supports GstObjects.
2180
2181 2008-07-07  Thijs Vermeir  <thijsvermeir@gmail.com>
2182
2183         * gst/gstdebugutils.c:
2184         Fix memleak
2185
2186 2008-07-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2187
2188         Patch by: Alessandro Decina <alessandro at nnva dot org>
2189
2190         * gst/gstpoll.c:
2191         Fix "ignored return value" compiler warning with newer glibc.
2192
2193 2008-07-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2194
2195         * gst/gstchildproxy.c:
2196         Fix copy&paste error in gst_child_proxy_removed() documentation.
2197
2198 2008-07-02  Tim-Philipp Müller  <tim.muller at collabora co uk>
2199
2200         * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
2201           Print error debug message if plugin description fields that should
2202           be set are NULL.
2203
2204         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
2205           Don't crash if the string to serialise is NULL (it really should
2206           not be, but apparently this used to work with the xml registry ...).
2207
2208 2008-07-02  Thijs Vermeir  <thijsvermeir@gmail.com>
2209
2210         * tools/gst-plot-timeline.py:
2211         Fix parsing of log messages
2212
2213 2008-07-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
2214
2215         * win32/common/libgstbase.def::
2216           Sort alphabetically so make check-exports doesn't barf.
2217
2218 2008-07-01  Stefan Kost  <ensonic@users.sf.net>
2219
2220         * gst/gstevent.c:
2221           Use gst_format_get_name() to improve debug output.
2222
2223         * gst/gstpreset.c:
2224           Remove #ifdef'ed code. Add TODO comment.
2225
2226         * gst/gstsegment.c:
2227           Add debug output to ease spotting format != segment.format assertions.
2228
2229 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2230
2231         * tests/check/libs/gdp.c: (gst_dp_suite):
2232         Also enable the GDP unit test again on PPC now that the bug
2233         is fixed.
2234
2235 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2236
2237         * libs/gst/dataprotocol/dataprotocol.c:
2238         Don't write to the same region of memory as a uint64 and uint16
2239         as this breaks strict aliasing rules and apparantly breaks on PPC
2240         and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
2241
2242 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
2243
2244         * libs/gst/controller/gstinterpolationcontrolsource.c:
2245           Optimize list handling. Use own find function. Exploit that fact that
2246           the list is sorted. Also pass back the node before, so that we can
2247           insert quickly. Have a fast path for append.
2248
2249 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
2250
2251         * docs/design/draft-framestep.txt:
2252         * docs/design/part-negotiation.txt:
2253           Fix two typos.
2254
2255 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
2256
2257         * configure.ac:
2258           Show configuration sumary after configure run. Based on patch by
2259           Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
2260
2261 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
2262
2263         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2264
2265         * docs/manual/advanced-autoplugging.xml:
2266         * docs/manual/advanced-threads.xml:
2267         * docs/manual/basics-bins.xml:
2268         * docs/manual/basics-elements.xml:
2269         * docs/manual/basics-helloworld.xml:
2270         * docs/manual/basics-pads.xml:
2271           Add scale factor for pdf output.
2272
2273         * docs/manual/intro-basics.xml:
2274           Switched sections "pads" and "bins" and added a pipeline diagram.
2275
2276         * docs/manual/intro-gstreamer.xml:
2277           Added more info on gstreamer.
2278
2279         * docs/manual/intro-motivation.xml:
2280           Commented out the whole section "current problem", which sounds
2281           historical and somehow osolete; it could be turned in a positive
2282           way and reused to improve the design principles.
2283
2284         * docs/manual/intro-preface.xml:
2285           - Update URLs to library.gnome.org. 
2286           - Do not mention GTK+ in preliminary reading (irrelevant). 
2287           - Mention Plugin Writer's Manual and further reading only in the
2288             previous section.
2289           - Added a list of most relevant GObject/glib topics.
2290
2291         * docs/manual/Makefile.am:
2292         * docs/manual/bin-element-ghost.fig:
2293         * docs/manual/bin-element-ghost.png:
2294         * docs/manual/bin-element-noghost.fig:
2295         * docs/manual/bin-element-noghost.png:
2296         * docs/manual/bin-element.fig:
2297         * docs/manual/bin-element.png:
2298         * docs/manual/filter-element-multi.fig:
2299         * docs/manual/filter-element-multi.png:
2300         * docs/manual/filter-element.fig:
2301         * docs/manual/filter-element.png:
2302         * docs/manual/gstreamer-overview.png:
2303         * docs/manual/hello-world.fig:
2304         * docs/manual/hello-world.png:
2305         * docs/manual/linked-elements.fig:
2306         * docs/manual/linked-elements.png:
2307         * docs/manual/mime-world.fig:
2308         * docs/manual/mime-world.png:
2309         * docs/manual/queue.fig:
2310         * docs/manual/queue.png:
2311         * docs/manual/simple-player.png:
2312         * docs/manual/sink-element.fig:
2313         * docs/manual/sink-element.png:
2314         * docs/manual/src-element.fig:
2315         * docs/manual/src-element.png:
2316         * docs/manual/diagrams-general.svg:
2317         * docs/manual/diagrams-pipelines.svg:
2318           Removed .fig, added .png counterpart.
2319           
2320           Fixes: #539137
2321
2322 2008-06-26  Thijs Vermeir  <thijsvermeir@gmail.com>
2323
2324         * plugins/elements/gstmultiqueue.c:
2325         * plugins/elements/gstmultiqueue.h:
2326         revert extra-size-buffers stuff, caused some race conditions
2327         and extra-size-buffers is not used anymore. Docs needs some updates
2328
2329 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
2330
2331         * win32/common/config.h:
2332         * win32/common/gstenumtypes.c:
2333         * win32/common/gstenumtypes.h:
2334         * win32/common/gstversion.h:
2335           Update win32 files.
2336
2337 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
2338
2339         * gst/gstdebugutils.h: (GstDebugGraphDetails),
2340           (GST_DEBUG_BIN_TO_DOT_FILE):
2341           Add missing Since' markers to gtk-doc blurbs.
2342
2343 2008-06-26  Wim Taymans  <wim.taymans@collabora.co.uk>
2344
2345         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2346         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2347         (set_caps_1), (set_caps_ct1), (transform_ct1),
2348         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2349         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2350         (transform_size_ct2), (buffer_alloc_ct2):
2351         Add some more tests with switching caps in buffer_alloc.
2352
2353 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2354
2355         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2356         (gst_test_trans_class_init), (result_sink_chain),
2357         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2358         (gst_test_trans_push), (gst_test_trans_pop):
2359         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2360         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2361         (set_caps_1), (set_caps_ct1), (transform_ct1),
2362         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2363         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2364         (transform_size_ct2), (buffer_alloc_ct2),
2365         (gst_basetransform_suite):
2366         More tests, prepare for tests with switching caps in buffer_alloc.
2367
2368 2008-06-25  Thijs Vermeir  <thijsvermeir@gmail.com>
2369
2370         * plugins/elements/gstmultiqueue.c:
2371         * plugins/elements/gstmultiqueue.h:
2372         Fix dead-lock in underrun_cb
2373
2374 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2375
2376         * docs/design/part-states.txt:
2377         Fix device open/close docs.
2378
2379 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2380
2381         * ChangeLog:
2382           Mention bugnumber for last commit.
2383
2384 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2385
2386         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2387
2388         * docs/manual/manual.xml:
2389         - Reorganised the previous "introduction" bundle into Foreword,
2390         Introduction, and About GStreamer. The two first are <preface>
2391         docbook elements. The later is the first part of the book.
2392         - added intro-gstreamer.xml (content partially from
2393         intro-preface.xml)
2394         - moved appendix-win32.xml into appendix-integration.xml
2395
2396         * docs/manual/intro-preface.xml: gstreamer section moved...
2397         * docs/manual/intro-gstreamer.xml: ...here. new file.
2398
2399         * docs/manual/appendix-win32.xml: removed file. Content moved...
2400         * docs/manual/appendix-integration.xml: ...here.
2401         
2402         * docs/manual/highlevel-components.xml: section about GstEditor moved...
2403         * docs/manual/appendix-checklist.xml: ...here.
2404         
2405         Fixes: 538764
2406
2407 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2408
2409         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2410
2411         * docs/manual/basics-helloworld.xml:
2412         * docs/manual/hello-world.fig:
2413           - Explicitely include glib.h.
2414           - Do not use global variables.
2415           - Use g_printerr() instead of g_print().
2416           - Minor formating/renaming to increase readibility.
2417           - Renamed new_pad() to on_pad_added()
2418           - Improved explenatory comments.
2419           - renamed ogg parser to ogg demuxer
2420           - Use "autoaudiosink" instead of "alsasink".
2421           Fixes: #538619
2422
2423 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2424
2425         * ChangeLog:
2426           Remove cvs conflict marker.
2427
2428 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2429
2430         * docs/README:
2431           Document that for plgin-docs we extraxt he short-desc from the element
2432           details.
2433
2434         * docs/design/part-states.txt:
2435           Tell that devices should be closed in PAUSED -> READY.
2436
2437         * docs/manual/README:
2438           Document how tests in the manual are handled.
2439
2440         * docs/manuals.mak:
2441           Typo in comment.
2442
2443 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2444
2445         * gst/gstbin.c: (bin_query_latency_fold):
2446         Only care about latency min and max when the sink is actually a live
2447         sink.
2448
2449 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2450
2451         * docs/design/part-block.txt:
2452         Fix typo.
2453
2454         * docs/design/part-element-transform.txt:
2455         Add notes about why transform needs to know input/output sizes.
2456         Add some issues that need to be solved.
2457         Add some more use cases.
2458
2459         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2460         (gst_test_trans_class_init), (result_sink_chain),
2461         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2462         (gst_test_trans_push), (gst_test_trans_pop):
2463         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2464         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2465         (set_caps_1), (set_caps_ct1), (transform_ct1),
2466         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2467         (gst_basetransform_suite):
2468         Add suport for different pad templates and buffer-alloc.
2469         Add more checks for caps and buffer-alloc.
2470         Add checks for proxy buffer alloc.
2471         Add unit test for copy transform.
2472
2473 2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2474
2475         Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2476
2477         * docs/manual/appendix-integration.xml:
2478         * docs/manual/appendix-licensing.xml:
2479         * docs/manual/basics-elements.xml:
2480         * docs/manual/basics-helloworld.xml:
2481         * docs/manual/basics-pads.xml:
2482         * docs/manual/highlevel-components.xml:
2483         * docs/manual/highlevel-xml.xml:
2484         * docs/manual/intro-basics.xml:
2485         * docs/manual/intro-preface.xml:
2486           Typo and formatting fixes (#538594).
2487
2488 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2489
2490         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2491         Fix some memory leaks and uses of object instances that we don't
2492         actually own.
2493
2494 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2495
2496         * plugins/elements/gstmultiqueue.c:
2497         Add functionality to extra-size-buffers property.
2498
2499 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2500
2501         * plugins/elements/gstmultiqueue.c:
2502         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
2503         activate the pads if they are added in STATE_NULL.
2504
2505 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2506
2507         * docs/libs/gstreamer-libs-sections.txt:
2508         Add new API to doc
2509         * libs/gst/check/gstcheck.c:
2510         * libs/gst/check/gstcheck.h:
2511         API: gst_check_teardown_pad_by_name
2512
2513 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2514
2515         * libs/gst/check/gstcheck.c:
2516         * libs/gst/check/gstcheck.h:
2517         Also setup request pads and allow setup pads by name (#537812)
2518         API: gst_check_setup_src_pad_by_name
2519         API: gst_check_setup_sink_pad_by_name
2520
2521 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2522
2523         * tests/check/gst/gstbuffer.c:
2524         * tests/check/pipelines/parse-launch.c:
2525           Use HAVE_VALGRIND_H some more.
2526
2527 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2528
2529         * scripts/cvs-update.sh:
2530           Pass arguments to make.
2531           Run autoregen.sh if Makefile is not there.
2532
2533 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2534
2535         * configure.ac:
2536         * gst/gstinfo.c:
2537           Don't assume that <valgrind/valgrind.h> exists just because
2538           the binary is there.
2539
2540 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2541
2542         * tests/check/Makefile.am:
2543         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2544         (gst_test_trans_class_init), (gst_test_trans_init),
2545         (gst_test_trans_set_data), (result_sink_chain),
2546         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
2547         (gst_test_trans_pop):
2548         * tests/check/libs/transform1.c: (GST_START_TEST),
2549         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
2550         Add some test basetransform element and the beginnings of various
2551         unit tests for it.
2552
2553 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2554
2555         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2556         Increase code readability.
2557         Don't try to compare buffer offsets when ther are invalid.
2558
2559 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2560
2561         * docs/design/Makefile.am:
2562           Dist some more design docs.
2563
2564         * docs/random/moving-plugins:
2565           Small addition: good plugins mustn't have functional code
2566           within assertion macros.
2567
2568 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2569
2570         * docs/design/draft-framestep.txt:
2571         Some ideas about a framestep API
2572
2573         * docs/design/part-element-transform.txt:
2574         Start design and use cases for basetransform in order to get it
2575         fixed soon.
2576
2577 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2578
2579         * gst/gsttaglist.h:
2580           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2581           be in UTF-8 encoding.
2582
2583 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2584
2585         * gst/gstbus.c:
2586           Make it known that gst_bus_poll() is pure evil (fixes #538810).
2587
2588 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2589
2590         * plugins/elements/gstcapsfilter.c:
2591         * plugins/elements/gstfakesink.c:
2592         * plugins/elements/gstfakesrc.c:
2593         * plugins/elements/gstfdsink.c:
2594         * plugins/elements/gstfdsrc.c:
2595         * plugins/elements/gstfilesink.c:
2596         * plugins/elements/gstfilesrc.c:
2597         * plugins/elements/gstidentity.c:
2598         * plugins/elements/gstmultiqueue.c:
2599         * plugins/elements/gstqueue.c:
2600         * plugins/elements/gsttee.c:
2601         * plugins/elements/gsttypefindelement.c:
2602           Remove short_description. Add basic docs for gsttypefindelement.
2603           Simplify markup for fakesrc/fdsrc.
2604
2605 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2606
2607         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2608         Added Since doc.
2609
2610 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2611
2612         Patch by: Joel Larsson <tilljoel at gmail dot com>
2613
2614         * docs/plugins/gstreamer-plugins.args:
2615         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2616         (gst_fd_src_init), (gst_fd_src_update_fd),
2617         (gst_fd_src_set_property), (gst_fd_src_get_property),
2618         (gst_fd_src_create):
2619         * plugins/elements/gstfdsrc.h:
2620         Add timeout property like udpsrc. Fixes #538628.
2621         Add some more docs and example pipelines.
2622
2623 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2624
2625         * docs/libs/gstreamer-libs-sections.txt:
2626         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2627         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2628         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2629         (gst_base_sink_do_sync):
2630         * libs/gst/base/gstbasesink.h:
2631         * win32/common/libgstbase.def:
2632         Add method to allow sinks to specify additional delay between the sync
2633         times and the actual rendering of the data.
2634         API: gst_base_sink_set_render_delay()
2635         API: gst_base_sink_get_render_delay()
2636
2637 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
2638
2639         * configure.ac:
2640         Bump version number back to dev -> 0.10.20.1
2641
2642 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
2643
2644         * docs/gst/gstreamer-sections.txt:
2645         * gst/gsttaglist.c: (_gst_tag_initialize):
2646         * gst/gsttaglist.h:
2647         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2648         Fixes bug #538568.
2649
2650 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2651
2652         * libs/gst/controller/gstcontroller.c:
2653           Revert one change, that make ret value possible uninitialized.
2654
2655 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2656
2657         * libs/gst/controller/gstcontroller.c:
2658           Use freeze/thaw notify to sync notify emission a bit (its also more
2659           efficient). Move debug output to LOG (is called a lot in a loop).
2660           Always unset g_values if the have been initialized.
2661
2662 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2663
2664         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2665         (gst_base_sink_wait_eos), (gst_base_sink_event):
2666         If we have not seen a buffer before EOS, use the segment values to
2667         report the current position instead of invalid positions.
2668
2669 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2670
2671         * docs/plugins/tmpl/.cvsignore:
2672         * tests/check/gst/.cvsignore:
2673           Ignore more.
2674
2675 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2676
2677         * libs/gst/controller/gstinterpolation.c:
2678         * libs/gst/controller/gstinterpolationcontrolsource.c:
2679         * tests/check/libs/controller.c:
2680           Rewrite handling of default values. Fix overflow with unsigned types
2681           in linear interpolation. Remove now obsolete _first_value() function.
2682           Add more tests. Fixes #538201.
2683
2684 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2685
2686         * libs/gst/base/gstbasetransform.c:
2687         (gst_base_transform_class_init), (gst_base_transform_init),
2688         (gst_base_transform_transform_caps),
2689         (gst_base_transform_prepare_output_buffer):
2690         Add debug info.
2691         When a buffer is writable, its metadata is also writable so we don't
2692         need to subbuffer (which then makes the buffer not-writable anymore).
2693
2694 === release 0.10.20 ===
2695
2696 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
2697
2698         * configure.ac:
2699           releasing 0.10.20, "You Crazy Diamond"
2700
2701 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2702
2703         * configure.ac:
2704         0.10.19.3 pre-release
2705
2706 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2707
2708         * configure.ac:
2709         * gst/gstpreset.c:
2710         Rename DATADIR to GST_DATADIR to avoid build problems
2711         on win32. Patch By: David Schleef <ds@schleef.org>
2712         Fixes: #536857
2713
2714 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
2715
2716         * configure.ac:
2717         Explicitely link with -ldl if dladdr() is found there. Before it was
2718         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2719         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2720
2721 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2722
2723         * gst/gsterror.c: (_gst_stream_errors_init):
2724           Fix typo (spotted by Fabricio Godoy, #536723).
2725
2726 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
2727
2728         * configure.ac:
2729         0.10.19.2 pre-release
2730
2731 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2732
2733         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2734         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2735         Add some debug.
2736         Make sure we don't generate invalid QoS messages.
2737
2738 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2739
2740         * gst/gstevent.c: (gst_event_new_qos):
2741         Add some assert and docs for invalid input to the qos function.
2742
2743 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
2744
2745         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2746         (gst_base_sink_get_position):
2747         The reported position must always be smaller than the last seen
2748         timestamps (or timestamp + duration for reverse).
2749
2750 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
2751
2752         Patch by: Rob Bradford <rob at robster dot org dot uk>
2753
2754         * gst/gstregistry.c: (gst_registry_scan_path_level):
2755         Don't recurse into .debug directories as some distros install
2756         the debugging symbols next to the plugins in .debug directories
2757         and dlopen() crashes on them sometimes. Fixes bug #508070.
2758
2759         Add FIXME for 0.11 to not recurse into directories at all because
2760         it's very inconsistent to the behaviour of other PATH environment
2761         variables.
2762
2763 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2764
2765         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2766         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2767         Fix position query range checks in reverse playback.
2768
2769 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
2770
2771         * gst/gstelement.c:
2772         * gst/gstelement.h:
2773         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2774         clear of the reference to the resulting pad must be released later
2775         or not, resulting in possible leaks. Fixes bug #533865.
2776
2777 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2778
2779         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2780
2781         * gst/gstelementfactory.c:
2782         Small doc fix. Fixes #535285.
2783
2784 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2785
2786         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2787
2788         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2789         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2790         (gst_base_src_loop), (gst_base_src_set_flushing),
2791         (gst_base_src_change_state):
2792         Make sending an EOS event to the basesrc non-blocking even if the
2793         implementation does blocking waits in the create function. This is done
2794         by unlocking the create function when EOS is sent.
2795         Fixes #535218.
2796
2797 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2798
2799         * tools/gst-inspect.c: (print_element_properties_info):
2800         If possible print the element type of GValueArray properties.
2801
2802 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2803
2804         * gst/gstiterator.c:
2805         Remove an unused field from the private GstListIterator struct.
2806
2807 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2808
2809         * libs/gst/controller/gstcontroller.c:
2810           Add parameter guards.
2811
2812 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2813
2814         * tests/check/gst/gstpipeline.c:
2815           Revert test change and add comment why it should not work.
2816
2817 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2818
2819         * tests/check/gst/gstpipeline.c:
2820           Extending the test a little to verify that we also get the NULL state-
2821           change message.
2822
2823 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2824
2825         * gst/gstpreset.c: (gst_preset_default_get_meta),
2826           (gst_preset_get_preset_names), (gst_preset_get_property_names),
2827           (gst_preset_load_preset), (gst_preset_save_preset),
2828           (gst_preset_rename_preset), (gst_preset_delete_preset),
2829           (gst_preset_set_meta):
2830           Add Since: markers to docs blurbs.
2831
2832         * win32/common/libgstreamer.def:
2833           Add recently-added API.
2834
2835 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2836
2837         Patch by: Stefan Kost  <ensonic@users.sf.net>
2838
2839         * configure.ac:
2840         Add DATADIR for storing presets.
2841
2842         * docs/gst/gstreamer-docs.sgml:
2843         * docs/gst/gstreamer-sections.txt:
2844         * docs/gst/gstreamer.types.in:
2845         Add GstPreset to docs.
2846
2847         * gst/Makefile.am:
2848         * gst/gst.h:
2849         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2850         (preset_open_and_parse_header), (preset_parse_version),
2851         (preset_merge), (preset_get_keyfile),
2852         (gst_preset_default_get_preset_names),
2853         (gst_preset_default_get_property_names),
2854         (gst_preset_default_load_preset),
2855         (gst_preset_default_save_presets_file),
2856         (gst_preset_default_save_preset),
2857         (gst_preset_default_rename_preset),
2858         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2859         (gst_preset_default_get_meta), (gst_preset_default_randomize),
2860         (gst_preset_default_reset), (gst_preset_get_preset_names),
2861         (gst_preset_get_property_names), (gst_preset_load_preset),
2862         (gst_preset_save_preset), (gst_preset_rename_preset),
2863         (gst_preset_delete_preset), (gst_preset_set_meta),
2864         (gst_preset_get_meta), (gst_preset_class_init),
2865         (gst_preset_base_init), (gst_preset_get_type):
2866         * gst/gstpreset.h:
2867         Add GstPreset to core. Fixes #396779
2868
2869         * tests/check/Makefile.am:
2870         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2871         (gst_preset_test_set_property), (gst_preset_test_class_init),
2872         (gst_preset_test_base_init), (gst_preset_test_get_type),
2873         (gst_preset_test_plugin_init), (GST_START_TEST),
2874         (remove_preset_file), (test_setup), (test_teardown),
2875         (gst_preset_suite):
2876         Add GstPreset unit tests.
2877
2878 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2879
2880         * gst/gstpad.c: (gst_pad_event_default_dispatch):
2881         The default event function on a sinkpad should return TRUE when
2882         there are no internal links but should collect the return values from
2883         the internal links otherwise.
2884
2885 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2886
2887         * plugins/elements/gsttypefindelement.c:
2888         (gst_type_find_element_src_event),
2889         (gst_type_find_element_handle_event):
2890         Use faster and safer _pad_push_event().
2891
2892 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2893
2894         * docs/gst/gstreamer-sections.txt:
2895         * gst/gstutils.c: (element_find_unlinked_pad),
2896           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2897         * gst/gstutils.h:
2898           API: add gst_bin_find_unlinked_pad()
2899           API: deprecate gst_bin_find_unconnected_pad() (#401456)
2900
2901 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
2902
2903         * gst/gstclock.c:
2904         * gst/gstclock.h:
2905         * gst/gsttask.c:
2906         * gst/gsttask.h:
2907         Fixed a bunch of typos.
2908
2909 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2910
2911         * gst/gstpad.h:
2912         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2913           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2914           (gst_parse_bin_from_description_full):
2915         * gst/gstutils.h:
2916           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2917
2918 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2919
2920         * docs/pwg/advanced-tagging.xml:
2921           Small docs update, can't be bothered to rewrite the nonsensical
2922           examples right now.
2923
2924 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2925
2926         * gst/gstevent.h:
2927           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2928
2929 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2930
2931         * gst/parse/grammar.y:
2932           Remove unneeded casts.
2933
2934 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2935
2936         * gst/parse/grammar.y:
2937         * tests/check/pipelines/parse-launch.c:
2938           Get all missing elements from a parse launch string if possible
2939           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2940
2941 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2942
2943         * tests/check/Makefile.am:
2944         * tests/check/pipelines/parse-launch.c:
2945           Add some unit tests for the new gst_parse_launch*_full() API.
2946           (Exposes a previously-existing memory leak in the error code
2947           path, so adding to VALGRIND_TO_FIX for now).
2948
2949 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2950
2951         * docs/gst/gstreamer-sections.txt:
2952         * gst/gst.c: (init_post):
2953         * gst/gst_private.h: (_GstParseContext):
2954         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2955           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2956           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2957           (gst_parse_launch_full):
2958         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2959           (GstParseFlags), (GstParseContext):
2960         * gst/gstutils.c: (gst_parse_bin_from_description),
2961           (gst_parse_bin_from_description_full):
2962         * gst/gstutils.h:
2963         * gst/parse/grammar.y:
2964         * gst/parse/types.h:
2965         * win32/common/libgstreamer.def:
2966           Add new gst_parse_*_full API (#528178):
2967           API: gst_parse_launch_full()
2968           API: gst_parse_launchv_full()
2969           API: gst_parse_bin_from_description_full()
2970           API: gst_parse_context_new()
2971           API: gst_parse_context_free()
2972           API: gst_parse_context_get_missing_elements()
2973
2974 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
2975
2976         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2977
2978         * docs/faq/gst-uninstalled:
2979           Also support ffmpeg in gst-uninstalled.
2980
2981 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2982
2983         * configure.ac:
2984         After discussion on IRC use the binary registry as default
2985         but allow to disable it with --disable-binary-registry.
2986
2987         * win32/common/libgstreamer.def:
2988         Add the two new symbols for the binary registry.
2989
2990 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
2991
2992         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2993         * gst/gstutils.c: (gst_parse_bin_from_description):
2994         * gst/parse/grammar.y: (graph):
2995           More guards against bad input; typo fix; some minor clean-ups.
2996
2997 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2998
2999         Patch by: Sjoerd Simons <sjoerd at luon dot net>
3000
3001         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3002         If nothing else can be used, use the last buffer's start time as
3003         the segment's last stop. Fixes bug #534258.
3004
3005 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
3006
3007         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
3008           Move size sanity check to the right place: downstream may return
3009           a buffer with a smaller size if the buffer caps are different than
3010           the requested ones, as may happen when doing reverse negotiation.
3011
3012 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3013
3014         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
3015         (gst_file_sink_render):
3016         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
3017         (gst_file_src_start):
3018         Small cleanups. Add note adbout g_fopen() on windows and why we don't
3019         use it yet.
3020
3021 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3022
3023         * gst/gstpad.c: (gst_pad_load_and_link):
3024         * gst/gstutils.c: (gst_element_link_pads),
3025         (gst_element_unlink_pads):
3026         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
3027         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
3028         (gst_check_teardown_sink_pad),
3029         (gst_check_element_push_buffer_list):
3030         * tests/check/elements/fakesink.c: (GST_START_TEST):
3031         * tests/check/elements/filesink.c:
3032         * tests/check/elements/filesrc.c: (GST_START_TEST):
3033         * tests/check/elements/multiqueue.c: (setup_multiqueue),
3034         (mq_sinkpad_to_srcpad):
3035         * tests/check/elements/tee.c: (GST_START_TEST):
3036         * tests/check/generic/sinks.c: (GST_START_TEST):
3037         * tests/check/gst/gstbin.c: (GST_START_TEST):
3038         * tests/check/gst/gstevent.c: (GST_START_TEST):
3039         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3040         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
3041         * tests/check/gst/gstquery.c: (GST_START_TEST):
3042         * tests/check/gst/gstutils.c: (GST_START_TEST):
3043         * tests/check/libs/basesrc.c: (GST_START_TEST):
3044         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
3045         (gst_parse_test_element_change_state):
3046         Don't use gst_element_get_pad().
3047
3048 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
3049
3050         * docs/Makefile.am:
3051         Fix installing plugin documentation when gtk-doc is disabled.
3052
3053 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3054
3055         * docs/manual/advanced-autoplugging.xml:
3056         * docs/manual/basics-helloworld.xml:
3057         * docs/manual/basics-pads.xml:
3058         * docs/manual/highlevel-components.xml:
3059         Avoid using a bad function in the example code.
3060
3061 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3062
3063         * gst/gstclock.c: (gst_clock_set_calibration):
3064         Fix debug of the new clock rate.
3065
3066 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
3067
3068         * win32/common/libgstbase.def:
3069         Add gst_base_sink_wait_clock() to the exported symbols.
3070
3071 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
3072
3073         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
3074
3075         * libs/gst/base/gstbasetransform.c:
3076         (gst_base_transform_sink_event):
3077         Unref events that the GstBaseTransform::event vfunc didn't want to
3078         have forwarded by the base class. Closes a leak in identity.
3079         Fixes bug #446763.
3080
3081 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
3082
3083         * docs/libs/gstreamer-libs-sections.txt:
3084         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
3085         * libs/gst/base/gstbasesink.h:
3086         Expose a method that was previously used internally to synchronize
3087         against the clock because it can be useful for subclasses too.
3088         API: GstBaseSink::gst_base_sink_wait_clock()
3089
3090 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
3091
3092         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
3093           Add sanity check to make sure we don't get smaller buffers
3094           than requested (and fallback to normal buffer alloc if we do).
3095
3096 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
3097
3098         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
3099         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
3100         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
3101         Refactor adjusting the running_time with latency and offset into a
3102         separate method.
3103         When doing clipping, we still want to use the subclass get_times method,
3104         just in case the DURATION or TIMESTAMP are not set.
3105
3106 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
3107
3108         * docs/gst/gstreamer-sections.txt:
3109         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
3110         * gst/gsttypefind.h:
3111         * win32/common/libgstreamer.def:
3112           API: add gst_type_find_suggest_simple(), #533740.
3113
3114 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
3115
3116         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
3117           Use right error code when typefinding fails, so we can use
3118           the default (translated) error messages.
3119
3120 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
3121
3122         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
3123         (gst_base_src_start):
3124         When the subclass did not set caps on outgoing buffers, configure the
3125         caps we negotiated on the source pad.
3126         When the typefind helper does not find caps, error out properly instead
3127         of doing things with NULL caps.
3128
3129 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
3130
3131         * gst/gsttypefind.h:
3132           Tabs to spaces, oh yes!
3133
3134 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
3135
3136         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
3137           Add David's and Benjamin's tests for array intersection to the
3138           unit test suite (#147931).
3139
3140 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
3141
3142         * gst/gstevent.c:
3143           Document that gst_event_new_tag() and gst_event_new_navigation()
3144           take ownership of the taglist/structure passed to them. (#533635).
3145
3146 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
3147
3148         * docs/Makefile.am:
3149         Don't descend into the plugins dir if plugin docs building
3150         is disabled.
3151
3152         * docs/README:
3153         Add a note about the new type:GTypeName syntax for the plugin
3154         documentation .types file.
3155
3156 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
3157
3158         * gst/gstmessage.c: (gst_message_new_error),
3159         (gst_message_new_warning), (gst_message_new_info):
3160         * gst/gstmessage.h:
3161         Mark the debug string parameters as const. Fixes bug #533490.
3162
3163 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
3164
3165         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
3166         Sort buffer cache list by end offsets. This makes sure that we don't
3167         stop to search for a cached buffer that contains the requested data
3168         too early.
3169         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
3170         more efficient. Fixes bug #459862.
3171
3172 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
3173
3174         * gst/gstinfo.c:
3175           Explain why we copy the list.
3176
3177         * gst/gstpipeline.c:
3178           Improve docs.
3179
3180         * gst/gstutils.c:
3181           Add one debug-log statement to help tracing probelms with linking pads.
3182
3183 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
3184
3185         * tests/check/gst/gstinfo.c:
3186         Add a test for removing the default log handler. Seems to fail under
3187         windows.
3188
3189 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
3190
3191         * gst/gstpad.c: (gst_pad_peer_accept_caps):
3192         Release pad lock before calling out to avoid a possible deadlock.
3193
3194 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
3195
3196         * gst/parse/grammar.y:
3197         Remove unneeded value unset.
3198
3199         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3200         Add unit test for de/serialization of caps.
3201
3202 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
3203
3204         * plugins/elements/gstfakesink.c:
3205         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
3206         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
3207         (gst_fake_src_class_init):
3208         Use custom marshalers that take GstMiniObject as first parameter.
3209         Using OBJECT as parameter while a GstMiniObject is given will lead
3210         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
3211
3212 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
3213
3214         * plugins/elements/gsttypefindelement.c:
3215         (gst_type_find_element_handle_event),
3216         (gst_type_find_element_send_cached_events),
3217         (gst_type_find_element_change_state):
3218         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
3219         immediately.
3220
3221 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
3222
3223         * plugins/elements/gsttypefindelement.c:
3224         (gst_type_find_handle_src_query), (stop_typefinding),
3225         (gst_type_find_element_handle_event),
3226         (gst_type_find_element_send_cached_events),
3227         (gst_type_find_element_change_state):
3228         Forward FLUSH_START events immediately and clean up instead of
3229         caching them.
3230
3231 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
3232
3233         Patch by: Sjoerd Simons <sjoerd at luon dot net>
3234
3235         * libs/gst/base/gstbasetransform.c:
3236         (gst_base_transform_buffer_alloc):
3237         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
3238         fall back to default negotiation in the chain function if the caps
3239         are different from what was requested. Fixes bug #526768.
3240
3241 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
3242
3243         * gst/gstsegment.c:
3244         * tests/check/gst/gstsegment.c:
3245           No, let's not use g_slice_{dup|copy} here, since they only exist
3246           since GLib 2.14 and we still depend only on >= 2.12. Also add
3247           unit test for gst_segment_copy().
3248
3249 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
3250
3251         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
3252           Try to fix 'dereferencing type-punned pointer will break strict
3253           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
3254           changed the default GType typedef from gulong to gsize at some point,
3255           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
3256           g_once_* functions all take a gsize * though, so work around the type
3257           mismatch for C++ by doing everything in gsize and casting to GType
3258           later.
3259
3260 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
3261
3262         * plugins/elements/gstmultiqueue.c:
3263         Add documentation for the signals to push our core plugin docs
3264         coverage back up to 100%.
3265
3266 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3267
3268         * gst/gstinfo.h (GST_FUNCTION):
3269           Reverted GST_FUNCTION to the old version as we don't want the
3270           full signature in C++ code. Also added support for MSVC.
3271
3272 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3273
3274         * gst/gstutils.h:
3275         Intern the type name string, similar to what G_DEFINE_TYPE does.
3276
3277 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3278
3279         * gst/gstutils.h:
3280         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
3281
3282 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3283
3284         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
3285
3286         * libs/gst/base/gstbasetransform.c:
3287         (gst_base_transform_buffer_alloc):
3288         Don't passthrough buffer allocation too easily if the caps change.
3289         This breaks when working in passthrough mode and upstream changes
3290         it's caps. Fixes bug #526768.
3291
3292 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3293
3294         * gst/gstinfo.c (gst_debug_log_valist):
3295           Improved the __FILE__ part of debug output for MSVC.
3296
3297 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3298
3299         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
3300           Declaration after statement fix for compilers like MSVC.
3301
3302 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3303
3304         * win32/common/config.h.in:
3305           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
3306           use the real thing than having "???" unconditionally.
3307
3308 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3309
3310         * gst/gstinfo.h (GST_FUNCTION):
3311           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
3312
3313 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3314
3315         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
3316         Small code cleanup.
3317
3318         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3319         (gst_base_sink_set_flushing):
3320         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3321         Fix some comments.
3322
3323 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3324
3325         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3326         (gst_fake_src_init), (gst_fake_src_set_property),
3327         (gst_fake_src_get_property), (gst_fake_src_start):
3328         * plugins/elements/gstfakesrc.h:
3329         Added format property to control the format of the newsegment events.
3330         API: GstFakeSrc:format
3331
3332 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
3333
3334         * win32/common/libgstreamer.def:
3335         Add gst_pad_has_name() to the exported symbols.
3336
3337 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
3338
3339         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
3340         * libs/gst/base/gstbasetransform.c:
3341         (gst_base_transform_prepare_output_buffer):
3342         Don't allow negative sizes when allocating new buffers.
3343         Fixes bug #461253.
3344
3345 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
3346
3347         Patch by: Sjoerd Simons <sjoerd at luon net>
3348
3349         * gst/gstbus.c: (gst_bus_source_dispatch):
3350           Don't print a warning if the queue is empty when we try to pop
3351           here. That could happen if another thread or callback set the
3352           bus to flushing between the source's check/prepare and the
3353           dispatch being called (#531538).
3354
3355 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
3356
3357         * plugins/elements/gstmultiqueue.c:
3358           Small docs fix.
3359         
3360 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
3361
3362         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3363         Add unit test for deserializing uint64s and check some really large
3364         numbers in the int64 test.
3365
3366 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
3367
3368         * tools/gst-inspect.c: (n_print), (print_hierarchy),
3369         (print_interfaces), (print_element_properties_info),
3370         (print_signal_info):
3371         Use "%s" as format string instead of printing strings directly.
3372
3373 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
3374
3375         * gst/gstclock.c: (gst_clock_set_calibration):
3376         Make some checks actually useful.
3377
3378         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3379         Remove some unused code. Unsigned integers tend to be >= 0.
3380
3381 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3382
3383         * gst/gstminiobject.c: (gst_value_get_mini_object):
3384           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
3385           function was not in the unscheduled 0.10.19 release.
3386
3387 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3388
3389         * gst/gstregistry.c: (gst_registry_scan_path_level):
3390           Only print one log message per non-plugin file.
3391
3392 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3393
3394         * gst/gstinfo.c: (gst_debug_log_default):
3395           Fix alignment of debug log columns on 64-bit.
3396
3397 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3398
3399         * docs/libs/Makefile.am:
3400         * docs/libs/gstreamer-libs-sections.txt:
3401           Ignore private controller headers for docs.
3402
3403 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
3404
3405         * libs/gst/controller/gstcontrollerprivate.h:
3406         * libs/gst/controller/gsthelper.c:
3407         * libs/gst/controller/gstinterpolation.c:
3408         * libs/gst/controller/gstinterpolationcontrolsource.c:
3409         (gst_interpolation_control_source_set_interpolation_mode):
3410         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
3411         * libs/gst/controller/lib.c:
3412         Move some private declarations into private headers.
3413
3414 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
3415
3416         * gst/gstdebugutils.c: (debug_dump_element_pad):
3417         Remove some code that is unused after Stefan's refactoring and uses
3418         uninitialized variables now, resulting in a compiler warning.
3419
3420 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
3421
3422         * gst/gstregistry.c: (gst_registry_scan_path_level):
3423           Run g_str_has_suffix() only on the file name, not the
3424           entire file path.
3425
3426 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
3427
3428         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
3429           Since we're not called only from the chain function any longer,
3430           we can't assume that there's always data in the queue, so move
3431           the is_full check to the beginning of the loop (otherwise we'd
3432           hit the assert when changing the limit properties while the
3433           queue is empty or not running yet).
3434           Also, only set a discont if items were actually removed from
3435           the queue.
3436
3437         * tests/check/elements/queue.c: (test_leaky_downstream):
3438           Test case for the above.
3439
3440 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
3441
3442         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
3443
3444         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
3445         (gst_queue_chain), (queue_capacity_change),
3446         (gst_queue_set_property):
3447         When changing thr max capacity of a leaky queue, immediatly drop buffers
3448         instead of waiting for a push on the sinkpad. Fixes #530637.
3449
3450 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
3451
3452         * gst/gstdebugutils.c:
3453           Refactor code and fix handling of ghostpads and their proxypads.
3454
3455 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3456
3457         * docs/gst/gstreamer-sections.txt:
3458         * gst/gstevent.c: (gst_event_has_name):
3459         * gst/gstevent.h:
3460         * tests/check/gst/gstevent.c: (GST_START_TEST):
3461         Add method to conveniently check the name of a custom event with
3462         gst_event_has_name().
3463         Reformat the event docs so that related methods are put together instead
3464         of the default alphabetical sort.
3465         Update unit test with new method.
3466         API: GstEvent::gst_event_has_name()
3467
3468 2008-04-28  Michael Smith <msmith@songbirdnest.com>
3469
3470         * libs/gst/check/Makefile.am:
3471           Don't add an explicit link to libgstreamer-0.10.la; it's already
3472           included in GST_OBJ_LIBS.
3473
3474 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
3475
3476         * gst/gst.c:
3477         Register GstClock type from a type-safe context. Fixes bug #530317.
3478
3479 2008-04-25  Michael Smith <msmith@songbirdnest.com>
3480
3481         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
3482         * tools/gst-run.c:
3483           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
3484
3485 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3486
3487         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3488         (gst_bin_dispose):
3489         Use the GLib stuff to create a private structure.
3490         Add some locking around some dispose methods to make them a little
3491         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
3492
3493 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3494
3495         * libs/gst/base/gstbasesink.h:
3496         * libs/gst/base/gstbasesrc.h:
3497         * libs/gst/base/gstbasetransform.h:
3498         * libs/gst/base/gstcollectpads.h:
3499           Fix doc typos and unify caps a bit.
3500
3501 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3502
3503         * tools/gst-launch.1.in:
3504           Forgot to also add the envvar docs here.
3505
3506 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
3507
3508         * gst/gst.c: (init_post), (gst_deinit):
3509         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
3510           (test_concurrent_create), (gst_pipeline_suite):
3511           Ref some more classes in gst_init() to work around thread-safety
3512           issues in pre-2.16 GLibs, and add basic unit test.
3513
3514 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3515
3516         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3517         (gst_base_sink_send_event):
3518         Rearrange the latency query code. We always want to do the upstream
3519         query, even if we are not live so that the upstream elements can get the
3520         latency results too. If we fail doing the query and we are live, we
3521         return TRUE afterwards.
3522
3523 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3524
3525         patch by: Jason Zhao <e3423c@motorola.com>
3526
3527         * docs/gst/running.xml:
3528         * gst/gst.c:
3529           Enable/disable scan_and_update_registry() based on commandline switch
3530           or environment variable. Fixes #520468.
3531           
3532         * ChangeLog:
3533           Fix typo in my previous commit.
3534
3535 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3536
3537         * gst/gstregistrybinary.c:
3538           Add a warning if we hit unhandled factories when saving.
3539           More debug logging detail, but move to LOG category.
3540
3541 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3542
3543         * gst/gstregistry.c:
3544           Tell the *truth* when improving the documentation.
3545
3546 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
3547
3548         * gst/gstelementfactory.c: (gst_element_factory_make):
3549         Unref the factory after it was used the last time, not before.
3550
3551         * gst/gstindexfactory.c: (gst_index_factory_make):
3552         Improve debugging a bit and don't leak a ref to the index factory with
3553         each call.
3554
3555 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3556
3557         * gst/gstregistry.c:
3558           Improve the documentation.
3559
3560 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3561
3562         * gst/gstsegment.c:
3563           The glib macro seems to be borked. Use g_slice_copy directly and cast
3564           in the hope that this fixes the warning on 64bit.
3565
3566 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3567
3568         * gst/gstsegment.c:
3569           Document the new function. Use g_slice_dup() (no need for
3570           gst_segment_init()).    
3571
3572 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3573
3574         * docs/gst/gstreamer-sections.txt:
3575           Move GParamSepc macros to standart section.
3576   
3577         * gst/gstbin.c:
3578           Dn't document _get_type - its in private section in docs anyway and
3579           this doc-blob was incomplete.
3580
3581         * gst/gstclock.h:
3582           Fix wrong symbol names in docs.
3583
3584         * gst/gstmacros.h:
3585           Add once doc sentence.
3586
3587         * tests/check/gst/.cvsignore:
3588           Ignore more.
3589
3590 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3591
3592         * docs/gst/Makefile.am:
3593           And remove those libs here.
3594
3595 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
3596
3597         * docs/libs/Makefile.am:
3598           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3599
3600 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3601
3602         Patch by: Olivier Crete <tester at tester dot ca>
3603
3604         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3605         Add the min-threshold to the min latency if possible. Fixes #529148.
3606
3607 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3608
3609         * docs/gst/gstreamer.types.in:
3610           Stupid editor, I removed that line as it should go in yet.
3611
3612 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3613
3614         * docs/gst/gstreamer.types.in:
3615         * docs/libs/gstreamer-libs.types:
3616           Remove library types fro core docs and have them in libs docs.
3617           Reformat and cleanup. Add comment for miniobject types.
3618
3619 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
3620
3621         * gst/gsturi.c: (gst_uri_get_protocol):
3622           Fix leak: g_strdown operates on the string in place, while
3623           g_ascii_strdown() returns a newly-allocated string.
3624
3625 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
3626
3627         * tools/gst-inspect.c: (print_uri_handler_info),
3628         (print_element_info):
3629         Print the URI protocols and the URI type supported by the element.
3630
3631 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3632
3633         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3634         Use g_value_take_string() instead of the deprecated
3635         g_value_set_string_take_ownership().
3636
3637 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3638
3639         * gst/gstregistrybinary.c: (_gst_crc32):
3640         Return the old CRC instead of 0 if we give a NULL buffer
3641         or a buffer with a length of 0.
3642
3643 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3644
3645         * gst/gsturi.c: (gst_uri_protocol_check_internal),
3646         (gst_uri_get_protocol), (gst_uri_has_protocol),
3647         (gst_uri_construct), (gst_uri_handler_set_uri):
3648         A valid URI scheme can also include '+', '-' and '.' additional
3649         to alphanumeric characters as per RFC 3986 Section 3.1.
3650
3651         Handle URI schemes case insensitive in all places and convert
3652         to lower-case when constructing an URI or setting an URI with
3653         the GstURIHandler interface. Fixes bug #528868.
3654         All elements can still assume (as before) that they will
3655         get passed URIs with a lower-case URI scheme by the GstURIHandler
3656         interface.
3657
3658 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
3659
3660         * gst/gstcaps.c: (gst_static_caps_get):
3661         * gst/gstclock.c: (gst_clock_entry_new):
3662           Don't use g_atomic_set_int where it's not needed.
3663
3664 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
3665
3666         * gst/gstvalue.c: (gst_value_deserialize_caps):
3667         * gst/parse/grammar.y:
3668         Fix 2 caps leaks.
3669
3670 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3671
3672         * gst/gstutils.c: (gst_atomic_int_set):
3673         Use g_atomic_int_set() here too instead of assignment +
3674         g_atomic_int_get().
3675
3676 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3677         
3678         * gst/gstutils.c:
3679         * gst/gstutils.h:
3680         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3681         now that we depend on new enough GLib.
3682
3683         * gst/gstcaps.c: (gst_static_caps_get):
3684         * gst/gstclock.c: (gst_clock_entry_new):
3685         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3686         (gst_debug_set_default_threshold), (_gst_debug_category_new),
3687         (gst_debug_category_set_threshold):
3688         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3689         (gst_base_sink_set_qos_enabled):
3690         * libs/gst/net/gstnettimeprovider.c:
3691         (gst_net_time_provider_set_property):
3692         Use g_atomic_int_set() instead of gst_atomic_int_set().
3693
3694 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3695
3696         * gst/gstquery.c:
3697           Also use G_GINT64_CONSTANT for the queries.
3698
3699 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3700
3701         * gst/gstmessage.c:
3702           Use G_GINT64_CONSTANT in varargs function.
3703
3704 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3705
3706         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3707         Initialize the registry magic with zeroes.
3708
3709 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3710
3711         * gst/gstregistrybinary.c: (_gst_crc32),
3712         (gst_registry_binary_write),
3713         (gst_registry_binary_initialize_magic),
3714         (gst_registry_binary_write_cache),
3715         (gst_registry_binary_check_magic),
3716         (gst_registry_binary_read_cache):
3717         * gst/gstregistrybinary.h:
3718         Add crc32 checksum to the binary registry file and check this before
3719         accepting a registry file.
3720
3721         Also free the data list when writing to the registry file fails.
3722
3723 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3724
3725         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3726         (gst_registry_binary_load_feature),
3727         (gst_registry_binary_load_plugin):
3728         If an element supports the Uri interface, returns a valid pointer
3729         to the supported URI protocols but this pointer contains nothing
3730         don't try to save that as it will corrupt the registry.
3731
3732         Don't unref the plugin if we added it to the registry already but
3733         fail to load a feature as gst_registry_add_plugin() takes ownership
3734         of the plugin.
3735
3736         Improve debugging a bit.
3737
3738 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3739
3740         * gst/gsttaglist.h:
3741           Clarify some tag item docs after discussion on irc.
3742
3743 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3744
3745         * docs/gst/gstreamer-docs.sgml:
3746           Remove commented out plugins (they have their own docs). Update
3747           comments.
3748
3749 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3750
3751         * docs/gst/gstreamer-docs.sgml:
3752         * docs/gst/gstreamer-sections.txt:
3753         * gst/gstparamspecs.c:
3754         * gst/gstparamspecs.h:
3755           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3756           docs to own section.
3757
3758         * gst/gstvalue.c:
3759           This now only documents GValue.
3760           
3761         * docs/libs/gstreamer-libs-sections.txt:
3762         * libs/gst/controller/gstcontroller.h:
3763           Remove GST_PARAM_CONTROLLABLE.
3764
3765 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3766
3767         * docs/README:
3768           Correct file path. Tell about how to use -overrides.txt.
3769         * docs/design/draft-tagreading.txt:
3770           Small design update.
3771
3772 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
3773
3774         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3775         (gst_registry_binary_load_plugin):
3776         Fix a typo in a debug message and revert change from yesterday as
3777         gst_registry_add_plugin() will only fail if something is really wrong
3778         already and we can't survive it anyway.
3779
3780 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
3781
3782         * gst/gst.c: (init_post), (gst_deinit):
3783           Pre-register GstGError GType from a thread-safe context
3784           (fixes #527967); unref enum type classes in deinit.
3785
3786 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3787
3788         Patch by: Rene Stadler <mail at renestadler de>
3789
3790         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3791           Merging an empty list with another list in KEEP_ALL mode should
3792           yield an empty list as result and not the second list (#512578).
3793
3794         * tests/check/gst/gsttagsetter.c:
3795           Add unit test for tag merge modes and the aforementioned bug.
3796
3797 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3798
3799         Patch by: Rene Stadler <mail at renestadler de>
3800
3801         * gst/gsttaglist.h:
3802           Fix description to match the order in the table (#512577).
3803   
3804 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3805
3806         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
3807
3808         * libs/gst/net/gstnettimepacket.h:
3809         * docs/libs/gstreamer-libs-sections.txt:
3810           Define socklen_t as int if it's not defined yet. Fixes compilation
3811           with MSVC6 and other versions where socklen_t is not defined in
3812           the windows headers (#518022).
3813
3814 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
3815
3816         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3817         If gst_registry_add_plugin() fails our reference to the plugin is
3818         invalid so don't try to use it anymore and instead error out.
3819
3820 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3821
3822         * tools/gst-xmlinspect.c: (print_element_info), (main):
3823           De-cruft a bit. If no argument is specified, print all elements in
3824           XML syntax rather than a freestyle list of elements like gst-inspect.
3825           Also, don't print XML header chunk unless we actually have something
3826           to print (ie. don't print it before an error message); print error
3827           message to stderr not stdout. Remove support for printing plugin
3828           info (it would just output something freestyle along the lines of
3829           gst-inspect so far), which fixes #514507. Also add license header.
3830
3831 2008-04-11  Julien Moutte  <julien@fluendo.com>
3832
3833         Mac OS X love...
3834         * configure.ac: Merge platform specific defines, introduce a new
3835         define on OS X to remember that forking when updating registry is
3836         unsafe.
3837         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3838         module.
3839         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3840         is defined.
3841         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3842         condition that leads to absolutely no plugins being registered on
3843         OS X.
3844
3845 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3846
3847         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3848
3849         * gst/gstutils.c: (gst_pad_add_data_probe),
3850           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3851           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3852           (gst_pad_add_buffer_probe_full):
3853         * gst/gstutils.h:
3854         * docs/gst/gstreamer-sections.txt:
3855         * win32/common/libgstreamer.def:
3856           Add gst_pad_add_*_probe_full() functions with a notify callback that
3857           lets the caller free the data it passes to the probe functions. This
3858           is useful for bindings such as gst-python or gstreamermm (#526814).
3859           API: gst_pad_add_data_probe_full
3860           API: gst_pad_add_buffer_probe_full
3861           API: gst_pad_add_event_probe_full
3862
3863         * tests/check/gst/gstutils.c:
3864           Add minimal unit test to make sure freeing the data actually works
3865           as expected.
3866
3867         * tests/benchmarks/.cvsignore:
3868           Random cvsignore addendum.
3869
3870 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3871
3872         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3873           (GST_DEBUG_BIN_TO_DOT_FILE):
3874           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3875           to it in the docs (since these are macros the types of the arguments
3876           won't be shown in the docs otherwise).
3877
3878 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3879
3880         * gst/gstpad.c:
3881           Do not abort on out of memory for pad_alloc_buffer.
3882
3883 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3884
3885         * libs/gst/check/gstcheck.c:
3886           Remove blank line between symbol name ad parameters to fix gtkdoc
3887           warning.
3888
3889 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3890
3891         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3892
3893         * docs/gst/gstreamer-sections.txt:
3894         * gst/gstsegment.c:
3895         * gst/gstsegment.h:
3896         * win32/common/libgstreamer.def:
3897           Expose gst_segment_copy() to make things easier for the c++ bindings.
3898           Fixes #518932.
3899           API: gst_segment_copy()
3900
3901 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3902
3903         * gst/gst.c: (gst_init_get_option_group), (init_post):
3904           Fix const position; ref GType classes for enum types to work
3905           around thread-safety issues in GLib versions < 2.16.
3906
3907 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3908
3909         * docs/design/part-buffering.txt:
3910         Fix some typos and set the estimated total for push mode to -1.
3911
3912         * gst/gstquery.c: (gst_query_new_buffering):
3913         Set buffering-left to 0 as we're not buffering by default.
3914
3915         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3916         Implement BUFFERING query.
3917
3918 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3919
3920         Based on patch by: Milosz Derezynski <internalerror gmail com>
3921
3922         * gst/gsterror.c: (_gst_stream_errors_init):
3923         * gst/gsterror.h:
3924           Add two new error codes for encrypted content. Fixes #524659.
3925           API: GST_STREAM_ERROR_DECRYPT
3926           API: GST_STREAM_ERROR_DECRYPT_NOKEY
3927
3928 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3929
3930         * gst/gstquery.h:
3931           Fix typo.
3932
3933         * win32/common/libgstreamer.def:
3934           Add new functions.
3935
3936 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
3937
3938         * plugins/elements/gstidentity.c: (gst_identity_event),
3939         (gst_identity_start):
3940         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3941         event after processing some data. Fixes bug #526042.
3942
3943 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3944
3945         * docs/gst/gstreamer-sections.txt:
3946         * gst/gstquery.c: (gst_query_parse_latency),
3947         (gst_query_set_buffering_percent),
3948         (gst_query_parse_buffering_percent),
3949         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3950         * gst/gstquery.h:
3951         Rename _avail -> _range
3952         API: gst_query_set_buffering_range
3953         API: gst_query_parse_buffering_range
3954
3955 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3956
3957         * docs/design/part-buffering.txt:
3958         * gst/gstquark.c:
3959         * gst/gstquark.h:
3960         * gst/gstquery.c: (gst_query_parse_latency),
3961         (gst_query_new_buffering), (gst_query_set_buffering_percent),
3962         (gst_query_parse_buffering_percent):
3963         * gst/gstquery.h:
3964         Add busy field and quark for the buffering query so that the app can
3965         only use the query to see if buffering is in progress.
3966
3967 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3968
3969         * docs/gst/gstreamer-sections.txt:
3970         * gst/gstmessage.c: (gst_message_set_buffering_stats),
3971         (gst_message_parse_buffering_stats):
3972         * gst/gstmessage.h:
3973         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3974         (gst_query_parse_latency), (gst_query_new_buffering),
3975         (gst_query_set_buffering_percent),
3976         (gst_query_parse_buffering_percent),
3977         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3978         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3979         * gst/gstquery.h:
3980         Reorder the message docs and headers for clarity.
3981         Add aditional buffering stats API for messages.
3982         Add buffering query.
3983         Convert some leftover queries to use GstQuark.
3984         API: gst_message_set_buffering_stats
3985         API: gst_message_parse_buffering_stats
3986         API: GST_QUERY_BUFFERING
3987         API: GstBufferingMode
3988         API: gst_query_new_buffering
3989         API: gst_query_set_buffering_percent
3990         API: gst_query_parse_buffering_percent
3991         API: gst_query_set_buffering_stats
3992         API: gst_query_parse_buffering_stats
3993
3994 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3995
3996         * gst/gstmessage.c: (gst_message_new_error),
3997         (gst_message_new_warning), (gst_message_new_info),
3998         (gst_message_new_buffering), (gst_message_new_state_changed),
3999         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
4000         (gst_message_new_new_clock), (gst_message_new_segment_start),
4001         (gst_message_new_segment_done), (gst_message_new_duration),
4002         (gst_message_new_async_start), (gst_message_parse_buffering),
4003         (gst_message_parse_state_changed),
4004         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4005         (gst_message_parse_new_clock), (gst_message_parse_error),
4006         (gst_message_parse_warning), (gst_message_parse_info),
4007         (gst_message_parse_segment_start),
4008         (gst_message_parse_segment_done), (gst_message_parse_duration),
4009         (gst_message_parse_async_start):
4010         Use GstQuark for messages.
4011
4012 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
4013
4014         * gst/gstquark.c: (_priv_gst_quarks_initialize):
4015         * gst/gstquark.h:
4016         Add some more quarks needed for messages and queries.
4017
4018 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
4019
4020         * docs/design/part-buffering.txt:
4021         Remove the "none" buffering mode, STREAM is a good default.
4022         Move estimated-time to the avail query, that's when it will be needed.
4023         Other small typo fixes and updates.
4024
4025 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
4026
4027         * gst/gstindex.c: (gst_index_resolver_get_type):
4028           Don't put descriptions into the nick field of a GEnumValue: it's not
4029           meant for that and some language bindings rely on the nick field to
4030           construct constants and the like. Fixes #526705.
4031
4032 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
4033
4034         * NEWS:
4035         * RELEASE:
4036         * gstreamer.doap:
4037           Merge other changes from 0.10.19 release branch.
4038
4039 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
4040
4041         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
4042
4043         * configure.ac:
4044         Actually build dlls when cross-compiling with mingw32.
4045         Fixes bug #526247.
4046
4047 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
4048
4049         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
4050
4051         * gst/gstpoll.c:
4052         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
4053
4054 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
4055
4056         * docs/design/draft-latency.txt:
4057         Fix typo.
4058
4059         * docs/design/part-buffering.txt:
4060         Update design docs with more buffering ideas.
4061
4062 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
4063
4064         * configure.ac:
4065           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
4066
4067 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
4068
4069         * configure.ac:
4070           Revert part that belongs to the preset patch.
4071
4072 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
4073
4074         * configure.ac:
4075           Add qoutes to the define. Fixes # 525961.
4076
4077 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
4078
4079         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
4080         (gst_file_index_load), (gst_file_index_add_id),
4081         (gst_file_index_get_assoc_entry):
4082         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
4083         (gst_mem_index_free_id), (gst_mem_index_add_id),
4084         (gst_mem_index_index_format):
4085         Use GSlice when possible.
4086
4087 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
4088
4089         * libs/gst/controller/gstinterpolationcontrolsource.c:
4090         (gst_control_point_free),
4091         (gst_interpolation_control_source_set_internal):
4092         Use GSlice for allocating the control points.
4093
4094 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
4095
4096         * plugins/elements/gsttypefindelement.c:
4097         (gst_type_find_element_class_init),
4098         (gst_type_find_element_set_property),
4099         (gst_type_find_element_get_property),
4100         (gst_type_find_element_activate):
4101         * plugins/elements/gsttypefindelement.h:
4102         Cleanup properties.
4103         Fix pad leak when peer query fails.
4104         We can still typefind when the peer returns -1.
4105         Add property to force caps and bypass typefinding. This will be used in
4106         uridecodebin.
4107         API::force-caps
4108
4109 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
4110
4111         * configure.ac:
4112         Require GLib 2.12.
4113
4114         * gst/glib-compat-private.h:
4115         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
4116         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
4117         Unconditionally use GSlice for allocation.
4118
4119         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
4120         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
4121         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
4122         (gst_structure_free):
4123         Use GSlice for allocation.
4124
4125 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
4126
4127         * gst/parse/Makefile.am:
4128         * gst/parse/grammar.tab.pre.c:
4129         * gst/parse/grammar.tab.pre.h:
4130         * gst/parse/lex._gst_parse_yy.pre.c:
4131         Require a new enough flex and bison and remove the parser hacks to use
4132         a pre-regenerated version.
4133
4134 2008-04-01  Julien Moutte  <julien@fluendo.com>
4135
4136         patch by: Jason Zhao <E3423C@motorola.com>
4137
4138         * configure.ac: Add a configure switch to disable option parsing
4139         in gst_init.
4140         Fixes #522882.
4141
4142 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
4143
4144         * configure.ac:
4145         * gst/gstregistry.c:
4146           MacOS has plugins under .so or under .dylib. Add detection for MacOS
4147           and handle this case.
4148
4149         * gst/gst.c:
4150           Add a comment here describing, why we stat each plugin and not try to
4151           be smart.
4152
4153 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
4154
4155         * libs/gst/base/gstbasetransform.c:
4156         (gst_base_transform_prepare_output_buffer):
4157         Also unset the GAP flag on buffers if we're working inplace but
4158         the element is not GAP-aware.
4159
4160         Mark a comment as FIXME 0.11.
4161
4162 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
4163
4164         * gst/gst.c:
4165           Fix type in log message and add one to ease seeing how long registry
4166           cache verification takes.
4167
4168         * gst/gstregistry.c:
4169           Only test plugin filenames against G_MODULE_SUFFIX.
4170
4171 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
4172
4173         * gst/gstdebugutils.c:
4174           Improve handling ghost/proxy pads.
4175
4176 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
4177
4178         * docs/gst/gstreamer-sections.txt:
4179         * gst/gstpad.c:
4180         * gst/gstpad.h:
4181           Expose macro to docs and fix link to it.
4182
4183 2008-03-27  Michael Smith <msmith@fluendo.com>
4184
4185         * libs/gst/dataprotocol/dataprotocol.c:
4186         (gst_dp_packet_from_event_1_0):
4187           When calculating GDP body CRC, use the correct pointer. 
4188           Fixes part of #522401.
4189
4190 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4191
4192         Patch by: Mark Nauwelaerts <manauw at skynet be>
4193
4194         * plugins/elements/gstidentity.c: (gst_identity_class_init),
4195         (gst_identity_init), (gst_identity_prepare_output_buffer):
4196         Identity is not always a passthrough element, it can modify the buffer
4197         timestamps when it has a datarate and operates in single-segment mode.
4198         We therefore make it an in_place filter with a custom buffer prepare
4199         function that conditionally makes the input buffer metadata writable
4200         when needed.  Fixes #523985.
4201
4202 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4203
4204         Patch by: Mark Nauwelaerts <manauw at skynet be>
4205
4206         * gst/gstclock.h:
4207         * libs/gst/base/gstbasesrc.h:
4208         * libs/gst/base/gstbasetransform.c:
4209         * libs/gst/check/gstcheck.c:
4210         Small documentation fixes. Fixes #523978.
4211
4212 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4213
4214         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
4215         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
4216         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
4217
4218 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4219
4220         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
4221         (single_queue_underrun_cb):
4222         When trying to make room in the queue, bump the max allowed buffers
4223         bigger than the current amount of buffers in the queue. this fixes some
4224         nasty deadlocks in multiqueue when dynamically changing the limits of
4225         the queue.
4226
4227 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4228
4229         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
4230
4231         * gst/gstcaps.c: (gst_caps_set_simple),
4232         (gst_caps_set_simple_valist), (gst_caps_intersect):
4233         * gst/gstcaps.h:
4234         Constify the field gchar * params in set_simple and friends.
4235         Fixes #522326.
4236
4237 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4238
4239         * gst/gstvalue.c: (gst_value_transform_object_string):
4240         Transform a GstObject to a more meaningfull string that includes the
4241         object type in addition to its name.
4242
4243 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
4244
4245         * ChangeLog:
4246           ChangeLog surgery to add bugnumber to commit.
4247
4248 2008-03-23  Rene Stadler  <mail@renestadler.de>
4249
4250         * libs/gst/base/gstbasetransform.c:
4251         (gst_base_transform_set_gap_aware): Fix confusing documentation.
4252
4253 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
4254
4255         * gst/gstregistrybinary.c: (gst_registry_binary_write):
4256         Rename constant everywhere and don't forget one occurence.
4257
4258 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
4259
4260         * gst/gstregistrybinary.c: (gst_registry_binary_write):
4261         Align memory to the pointer size even if the architecture allows
4262         unaligned memory access. Unaligned memory access usually comes with
4263         performance penality.
4264
4265 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
4266
4267         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4268         (gst_registry_binary_check_magic),
4269         (gst_registry_binary_load_pad_template),
4270         (gst_registry_binary_load_feature),
4271         (gst_registry_binary_load_plugin):
4272         Align memory to the pointer size instead of always 32 bit. Fixes
4273         unaligned memory accesses on ia64 and friends.
4274
4275         * gst/gstregistrybinary.h:
4276         Bump binary registry format version for this as it changes the
4277         format on those architectures that don't have unaligned access
4278         and 64 bit pointers.
4279
4280 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
4281
4282         * docs/pwg/advanced-dparams.xml:
4283         * docs/pwg/building-props.xml:
4284         * docs/pwg/other-source.xml:
4285         * gst/glib-compat.h:
4286         * gst/gstbin.c: (gst_bin_class_init):
4287         * gst/gstclock.c: (gst_clock_class_init):
4288         * gst/gstindex.c: (gst_index_class_init):
4289         * gst/gstobject.c: (gst_object_class_init):
4290         * gst/gstpad.c: (gst_pad_class_init):
4291         * gst/gstpipeline.c: (gst_pipeline_class_init):
4292         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4293         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
4294         * libs/gst/base/gstbasetransform.c:
4295         (gst_base_transform_class_init):
4296         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
4297         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
4298         (_gst_check_fault_handler_sighandler),
4299         (_gst_check_fault_handler_setup), (gst_check_init):
4300         * libs/gst/controller/gstcontroller.c:
4301         (_gst_controller_class_init):
4302         * libs/gst/controller/gstlfocontrolsource.c:
4303         (gst_lfo_control_source_class_init):
4304         * libs/gst/net/gstnetclientclock.c:
4305         (gst_net_client_clock_class_init):
4306         * libs/gst/net/gstnettimeprovider.c:
4307         (gst_net_time_provider_class_init):
4308         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
4309         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
4310         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
4311         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
4312         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
4313         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
4314         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4315         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4316         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
4317         * plugins/elements/gstqueue.c: (gst_queue_class_init):
4318         * plugins/elements/gsttee.c: (gst_tee_class_init):
4319         * plugins/elements/gsttypefindelement.c:
4320         (gst_type_find_element_class_init):
4321         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
4322         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
4323         use it everywhere for GParamSpecs that use static strings (i.e. all).
4324         This gives us less memory usage, fewer allocations and thus less
4325         memory defragmentation. Fixes bug #523806.
4326
4327 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
4328
4329         * gst/gstminiobject.c: (gst_value_dup_mini_object),
4330         (gst_param_spec_mini_object):
4331         * gst/gstminiobject.h:
4332         * win32/common/libgstreamer.def:
4333         * docs/gst/gstreamer-sections.txt:
4334         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
4335         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
4336         GstParamSpecMiniObject into a public header for this.
4337
4338         This make GstMiniObject a bit more consistent with GObject and makes
4339         it possible to extend the param specs.
4340
4341         gst_value_dup_mini_object is mainly useful for set_property methods.
4342
4343         Fixes bug #523798.
4344
4345         * tools/gst-inspect.c: (print_element_properties_info):
4346         Print something useful for GstMiniObject properties and not just
4347         "unknown type".
4348
4349 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
4350
4351         * docs/gst/gstreamer-sections.txt:
4352         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4353         (gst_registry_binary_check_magic):
4354         * gst/gstregistrybinary.h:
4355         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
4356         and add it to the (private part) of the docs to fix the build.
4357
4358 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
4359
4360         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4361         (gst_registry_binary_check_magic),
4362         (gst_registry_binary_read_cache):
4363         * gst/gstregistrybinary.h:
4364         Don't use GST_MAJORMINOR for the binary registry version. Instead
4365         hardcode a value that must be changed whenever the format changes
4366         in an incompatible way.
4367         Also don't GST_ERROR when there is a version mismatch, just
4368         regenerate the registry silently.
4369
4370 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
4371
4372         * configure.ac:
4373         Back to development - 0.10.18.1
4374
4375 === release 0.10.18 ===
4376
4377 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
4378
4379         * configure.ac:
4380           releasing 0.10.18, "So far away"
4381
4382 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
4383
4384         * configure.ac:
4385         * win32/common/config.h:
4386         0.10.17.4 pre-release
4387
4388 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
4389
4390         Patch by: Ole André Vadla Ravnås
4391             <ole dot andre dot ravnas at tandberg dot com>
4392
4393         * docs/gst/gstreamer-sections.txt:
4394         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
4395         (gst_poll_update_winsock_event_mask),
4396         (gst_poll_prepare_winsock_active_sets),
4397         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
4398         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
4399         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
4400         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4401         (gst_poll_check_ctrl_commands), (gst_poll_wait):
4402         * gst/gstpoll.h:
4403         * win32/common/libgstreamer.def:
4404         Add new function gst_poll_fd_ignored() for improved Windows
4405         compatibility.
4406         Various minor fixes and cleanups. See #520808.
4407
4408 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
4409
4410         * gst/gstindex.c: (gst_index_entry_free):
4411         * gst/gstindex.h:
4412           Don't free key strings which we don't own. Fixes crash in
4413           gst_index_entry_free() (#522741).
4414
4415         * tests/check/Makefile.am:
4416         * tests/check/gst/.cvsignore:
4417         * tests/check/gst/gstindex.c: (test_index_entries),
4418           (gst_index_suite), (gst_index):
4419           Add unit test for the above.
4420
4421 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
4422
4423         * win32/common/libgstreamer.def:
4424         Remove symbols that were removed recently. Fixes bug #521740.
4425
4426 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
4427
4428         * configure.ac:
4429         * win32/common/config.h:
4430         0.10.17.3 pre-release
4431
4432 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
4433
4434         Patch by: Ole André Vadla Ravnås
4435             <ole dot andre dot ravnas at tandberg dot com>
4436
4437         * docs/gst/gstreamer-sections.txt:
4438         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
4439         (gst_poll_update_winsock_event_mask), (gst_poll_new),
4440         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
4441         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4442         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
4443         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4444         (gst_poll_fd_can_write), (gst_poll_wait),
4445         (gst_poll_set_controllable), (gst_poll_restart),
4446         (gst_poll_set_flushing):
4447         * gst/gstpoll.h:
4448         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4449         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
4450         (gst_net_time_provider_new):
4451         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4452         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
4453         * tests/benchmarks/gstpollstress.c: (main):
4454         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
4455         Remove GstPollMode from the API, it does not make sense to let the
4456         application control this.
4457         Add support for Win32.
4458         Fix the testsuite. Fixes #520671.
4459
4460 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
4461
4462         Patch by: Ole André Vadla Ravnås
4463             <ole dot andre dot ravnas at tandberg dot com>
4464
4465         * gst/gstregistrybinary.c:
4466         Include io.h for write() and close() when building with MSVC. Fixes
4467         bug #520877.
4468
4469 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
4470
4471         * configure.ac:
4472         * gst/gst_private.h:
4473         * gst/gstconfig.h.in:
4474         * gst/gstregistry.h:
4475         * gst/gstregistrybinary.c:
4476         * win32/common/gstconfig.h:
4477           Move registry backend API to private headers where we can. Add
4478           fixme-0.11 comments for the others. Add stubs for the xml backend when
4479           using the binary to ensure they functions exists (they should not be
4480           used though). Fixes #520756.
4481
4482 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
4483
4484         * configure.ac:
4485         * win32/common/config.h:
4486         0.10.17.2 prelease
4487
4488 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4489
4490         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4491         (gst_registry_binary_read_cache):
4492         * gst/gstregistryxml.c: (gst_registry_save):
4493         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
4494         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
4495         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4496         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
4497         Switch to using portabl gsize/gssize instead of size_t/ssize_t
4498         Fixes #520152
4499
4500 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4501
4502         * gst/gstminiobject.c:
4503         Import gst_private.h before any other header that might include other
4504         glib headers. This fixes the build on windows using native compilers.
4505
4506 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4507
4508         * win32/common/gstconfig.h:
4509           Add here too, just for completeness.
4510
4511 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4512
4513         * configure.ac:
4514         * gst/gstconfig.h.in:
4515         * gst/gstregistry.h:
4516           Fix broken use of config.h-defined preprocessor directive in a public
4517           header file. Add a corresponding define to gstconfig.h, since we can't
4518           really remove those function declarations from the header file now
4519           (or can we? and why are they there in the first place?).
4520
4521 2008-03-03  Andy Wingo  <wingo@pobox.com>
4522
4523         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
4524         the new warning.
4525
4526         * gst/gststructure.c (gst_structure_from_string): Warn if
4527         structure_from_string didn't consume the whole string, but the
4528         caller did not provide an end pointer.
4529
4530 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
4531
4532         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
4533
4534         * gst/gstregistryxml.c: (read_string), (load_feature):
4535           Strings allocated by libxml2 should be freed with xmlFree(), not
4536           with g_free(). Fixes issues on windows in certain contexts (#519698).
4537
4538 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
4539
4540         * gst/gstinterface.c: (gst_element_implements_interface):
4541           Don't crash if the element supports the interface queried, but does
4542           not implement GstImplementsInterface. Fixes #519584.
4543
4544         * tests/check/Makefile.am:
4545         * tests/check/gst/.cvsignore:
4546         * tests/check/gst/gstinterface.c:
4547           Add unit test for the above.
4548
4549 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4550
4551         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4552         Small doc update.
4553
4554 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4555
4556         * gst/gstsegment.c: (gst_segment_set_seek),
4557         (gst_segment_to_stream_time):
4558         Improve some comment.
4559         Update variables where it makes more sense.
4560
4561 2008-02-29  Rene Stadler  <mail@renestadler.de>
4562
4563         * gst/gsturi.c: (gst_uri_handler_get_protocols):
4564         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
4565         URIHandlers implemented using language bindings.
4566
4567 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4568
4569         * gst/gstelementfactory.h:
4570         * tests/check/elements/fakesink.c:
4571         * tests/check/elements/fakesrc.c: (setup_fakesrc):
4572         * tests/check/elements/fdsrc.c: (setup_fdsrc):
4573         * tests/check/elements/filesink.c: (setup_filesink):
4574         * tests/check/elements/filesrc.c: (setup_filesrc):
4575         * tests/check/elements/identity.c: (setup_identity):
4576         * tests/check/elements/tee.c:
4577         * tests/check/generic/sinks.c:
4578         * tests/check/generic/states.c: (setup), (teardown):
4579         * tests/check/gst/gst.c:
4580         * tests/check/gst/gstabi.c:
4581         * tests/check/gst/gstbin.c:
4582         * tests/check/gst/gstbus.c: (pull_messages):
4583         * tests/check/gst/gstcaps.c:
4584         * tests/check/gst/gstelement.c:
4585         * tests/check/gst/gstevent.c:
4586         * tests/check/gst/gstghostpad.c:
4587         * tests/check/gst/gstiterator.c:
4588         * tests/check/gst/gstmessage.c:
4589         * tests/check/gst/gstminiobject.c: (my_foo_init):
4590         * tests/check/gst/gstobject.c: (thread_name_object),
4591         (gst_object_suite):
4592         * tests/check/gst/gstpad.c:
4593         * tests/check/gst/gstplugin.c:
4594         * tests/check/gst/gstpoll.c:
4595         * tests/check/gst/gstquery.c:
4596         * tests/check/gst/gstsegment.c:
4597         * tests/check/gst/gststructure.c:
4598         * tests/check/gst/gstsystemclock.c:
4599         * tests/check/gst/gsttask.c:
4600         * tests/check/gst/gstutils.c:
4601         * tests/check/gst/gstvalue.c:
4602         * tests/check/gst/struct_hppa.h:
4603         * tests/check/gst/struct_i386.h:
4604         * tests/check/gst/struct_ppc32.h:
4605         * tests/check/gst/struct_ppc64.h:
4606         * tests/check/gst/struct_x86_64.h:
4607         * tests/check/libs/adapter.c: (create_and_fill_adapter):
4608         * tests/check/libs/basesrc.c:
4609         * tests/check/libs/controller.c: (GST_START_TEST):
4610         * tests/check/libs/gdp.c:
4611         * tests/check/libs/gstnetclientclock.c:
4612         * tests/check/libs/gstnettimeprovider.c:
4613         * tests/check/libs/libsabi.c:
4614         * tests/check/libs/struct_hppa.h:
4615         * tests/check/libs/struct_i386.h:
4616         * tests/check/libs/struct_ppc32.h:
4617         * tests/check/libs/struct_ppc64.h:
4618         * tests/check/libs/struct_x86_64.h:
4619         * tests/check/pipelines/cleanup.c:
4620         * tests/check/pipelines/simple-launch-lines.c:
4621         * tests/check/pipelines/stress.c:
4622         And correct even more valid sparse warnings.
4623
4624         * win32/common/libgstreamer.def:
4625         Add gst_poll_fd_init to the list of symbols.
4626
4627 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4628
4629         * gst/gstconfig.h.in:
4630         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4631         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4632         (gst_check_log_critical_func), (gst_check_drop_buffers),
4633         (gst_check_element_push_buffer_list):
4634         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4635         (gst_controller_get_type):
4636         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4637         (gst_object_get_controller), (gst_object_get_control_source):
4638         * libs/gst/controller/gstinterpolationcontrolsource.c:
4639         (gst_interpolation_control_source_new):
4640         * libs/gst/controller/gstlfocontrolsource.c:
4641         (gst_lfo_control_source_new):
4642         * libs/gst/dataprotocol/dataprotocol.c:
4643         (gst_dp_event_from_packet_0_2):
4644         * plugins/elements/gstfdsrc.c:
4645         * plugins/elements/gstmultiqueue.c:
4646         * plugins/elements/gsttee.c:
4647         * plugins/elements/gsttypefindelement.c:
4648         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4649         (gst_file_index_add_association):
4650         * plugins/indexers/gstmemindex.c:
4651         * tests/benchmarks/gstpollstress.c: (mess_some_more):
4652         * tests/check/elements/queue.c: (setup_queue):
4653         * tests/check/gst/gstpipeline.c:
4654         * tests/check/libs/collectpads.c: (setup), (teardown),
4655         (gst_collect_pads_suite):
4656         * tests/examples/adapter/adapter_test.c:
4657         * tests/examples/metadata/read-metadata.c: (make_pipeline):
4658         * tests/examples/xml/createxml.c:
4659         * tests/examples/xml/runxml.c:
4660         * tools/gst-inspect.c:
4661         * tools/gst-run.c:
4662         Correct all relevant warnings found by the sparse semantic code
4663         analyzer. This include marking several symbols static, using
4664         NULL instead of 0 for pointers, not using variable sized arrays
4665         on the stack, moving variable declarations to the beginning of
4666         a block and using "foo (void)" instead of "foo ()" for declarations.
4667
4668 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4669
4670         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4671         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4672         Don't reset GstPollFDs, this is not necessary at all.
4673
4674         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4675         (delayed_restart), (delayed_control):
4676         Use GST_POLL_FD_INIT.
4677
4678 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4679
4680         * gst/gstpoll.c: (gst_poll_fd_init):
4681         * gst/gstpoll.h:
4682         Added Since tags.
4683
4684         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4685         Use some more init macros.
4686
4687 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4688
4689         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4690         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4691         Use init macros and functions.
4692
4693 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4694
4695         * docs/gst/gstreamer-sections.txt:
4696         * gst/gstpoll.c: (gst_poll_fd_init):
4697         * gst/gstpoll.h:
4698         Add INIT macro and _init method for initializing the GstPollFD.
4699
4700 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
4701
4702         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4703         (gst_fd_sink_update_fd):
4704         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4705         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4706         (delayed_restart), (delayed_control):
4707         Initialize some uninitialized variables as spotted by valgrind.
4708
4709 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4710
4711         * tests/benchmarks/Makefile.am:
4712         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4713         (main):
4714         Add poll stress test.
4715
4716 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4717
4718         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4719
4720         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4721         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4722         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4723         * plugins/elements/gstfdsink.h:
4724         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4725         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4726         (gst_fd_src_unlock_stop), (gst_fd_src_create),
4727         (gst_fd_src_uri_set_uri):
4728         * plugins/elements/gstfdsrc.h:
4729         Port to GstPoll. See #505417.
4730
4731 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
4732
4733         * win32/common/libgstreamer.def:
4734         Add new gst_poll_ symbols to win32 defs.
4735
4736 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4737
4738         * docs/libs/gstreamer-libs-sections.txt:
4739         * libs/gst/net/gstnetclientclock.c:
4740         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4741         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4742         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4743         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4744         * libs/gst/net/gstnetclientclock.h:
4745         * libs/gst/net/gstnettimeprovider.c:
4746         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4747         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4748         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4749         (gst_net_time_provider_new):
4750         * libs/gst/net/gstnettimeprovider.h:
4751         Use a private stuct to not break ABI.
4752
4753 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4754
4755         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4756
4757         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4758         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4759         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4760         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4761         * libs/gst/net/gstnetclientclock.h:
4762         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4763         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4764         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4765         (gst_net_time_provider_new):
4766         * libs/gst/net/gstnettimeprovider.h:
4767         Massive code removal and cleanups because of GstPoll.
4768         Fixes #505417.
4769
4770 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4771
4772         * configure.ac:
4773         Add checks for poll, ppoll and pselect.
4774
4775         * docs/gst/gstreamer-docs.sgml:
4776         * docs/gst/gstreamer-sections.txt:
4777         Add docs for GstPoll.
4778
4779         * gst/Makefile.am:
4780         * gst/gst.h:
4781         * gst/gstpoll.c: (find_index), (selectable_fds),
4782         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4783         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4784         (gst_poll_set_mode), (gst_poll_get_mode),
4785         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4786         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4787         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4788         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4789         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4790         (gst_poll_fd_can_write), (gst_poll_wait),
4791         (gst_poll_set_controllable), (gst_poll_restart),
4792         (gst_poll_set_flushing):
4793         * gst/gstpoll.h:
4794         Add generic poll abstraction. We ideally don't want to have this in core
4795         here but in glib intead...
4796         This code will be used in various network elements and ultimately for
4797         the nanosecond precision monotonic clock (that's why it's here in core).
4798         It'll allow us to implement cancelable socket operations for windows too.
4799
4800         * tests/check/Makefile.am:
4801         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4802         (delayed_stop), (delayed_restart), (delayed_flush),
4803         (delayed_control), (gst_poll_suite):
4804         Add GstPoll unit test.
4805
4806 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
4807
4808         * gst/gstfilter.c:
4809           Improve documentation of gst_filter_run(). Fixes #518627.
4810
4811 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4812
4813         * docs/README:
4814           Add a few lines about the new 'check-inspected-versions' target.
4815
4816 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4817
4818         * tests/check/gst/gstevent.c:
4819           Add qos to the event test. Rename tcase/tsuite; is not only about
4820           custom events.
4821
4822 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4823
4824         * plugins/elements/gstqueue.c:
4825           Ensure that buffer metadata is writeable, before modifying. Spotted by
4826           Mike.
4827
4828 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
4829
4830         * plugins/elements/gstqueue.c:
4831         * plugins/elements/gstqueue.h:
4832           When dropping buffers in leaky modes, mark next buffers we sent as
4833           DISCONT.
4834
4835 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4836
4837         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4838           Also, if mmap() fails that would be a READ error, not OPEN_READ.
4839
4840 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4841
4842         * plugins/elements/Makefile.am:
4843         * plugins/elements/gstbufferstore.c:
4844         * plugins/elements/gstbufferstore.h:
4845         * plugins/elements/gsttypefindelement.h:
4846           Remove GstBufferStore, no idea why we were still building it.
4847           It's not used anywhere and superseded by GstAdapter.
4848
4849         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4850           (gst_file_src_create_mmap):
4851         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4852           Printf format fixes for 64-bit integers.
4853
4854 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4855
4856         * configure.ac:
4857         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4858         We're not in 0.8 times anymore.
4859
4860 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
4861
4862         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4863         (gst_check_element_push_buffer_list):
4864         * libs/gst/check/gstcheck.h:
4865         Make the declaration in the header for
4866         gst_check_element_push_buffer_list match the implementation.
4867
4868         Fix up spelling, grammar and wording of the documentation in a few
4869         places, and add the Since keyword to new API functions.
4870         Use g_list_delete_link instead of g_list_remove in
4871         gst_check_drop_buffers, since it's immeasurably more efficient.
4872
4873         * tests/check/elements/fakesrc.c: (GST_START_TEST):
4874         Use new gst_check_drop_buffers function where appropriate.
4875
4876         * win32/common/libgstbase.def:
4877         * win32/common/libgstreamer.def:
4878         Add new symbols gst_collect_pads_take_buffer, 
4879         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4880         exports
4881
4882         Changelog surgery to add API keyword to new gst_check API.
4883
4884 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4885
4886         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4887         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4888         Update pre-generated flex files with flex 2.3.34.
4889
4890 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4891
4892         * gst/gstminiobject.c:
4893           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4894           friendly to subclasses and not require them to know all internals
4895           of their parent class.
4896
4897 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4898
4899         * docs/libs/gstreamer-libs-sections.txt:
4900         * libs/gst/base/gstcollectpads.c:
4901         * libs/gst/base/gstcollectpads.h:
4902           Add sub-buffer functions to collectpads. Fixes #516187.
4903           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4904
4905 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4906
4907         * gst/gstbuffer.c:
4908           Copy selected buffer-flags when creating subbuffers.
4909           Fixes #516395.
4910
4911 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
4912
4913         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4914         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4915         * gst/gstmessage.c: (gst_message_class_init),
4916         (gst_message_finalize):
4917         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4918         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4919         (gst_mmap_buffer_finalize):
4920         Properly chain up finalize functions to the parent class.
4921
4922 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
4923
4924         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4925
4926         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4927         (gst_index_set_resolver_full):
4928         * gst/gstindex.h:
4929         Add new function with option to dispose of user_data in resolver.
4930         Actually call the dispose function when finalizing the object and not
4931         just when changing the resolver/filter.
4932         API: GstIndex::gst_index_set_resolver_full()
4933
4934         * docs/gst/gstreamer-sections.txt:
4935         Add new function to docs. Fixes #515469.
4936
4937 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
4938
4939         * gst/gstindex.c: (gst_index_finalize):
4940         Chain up finalize to the parent class. Fixes leaking the GstObject
4941         name and other things.
4942
4943 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
4944
4945         * configure.ac:
4946         Make DISABLE_DEPRECATED defined *only* during CVS, not during
4947         pre-releases or releases.
4948
4949         * docs/faq/gst-uninstalled:
4950         Add gst-plugins-gl
4951
4952         * docs/random/release:
4953         Change one of the steps - we only upload core & base to Gnome FTP
4954
4955 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
4956
4957         * gst/gstconfig.h.in:
4958           Add 'id' for example.
4959
4960         * gst/gstpad.c:
4961         * gst/gstutils.c:
4962         * plugins/elements/gstfdsink.c:
4963           Link to signals. Doc and comment fixes.
4964
4965 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
4966
4967         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4968         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4969           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4970           unused and unimplemented; finally, it is plugin features, not
4971           plugins, that have ranks.
4972           
4973 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4974
4975         * gst/gstpluginfeature.h:
4976           Clarify GstRank range docs.
4977
4978 2008-02-05  David Schleef  <ds@schleef.org>
4979
4980         * gst/gst.c: Add a separate gst_deinitialized that prevents
4981           gst_init() from being called after gst_deinit().  Fixes #509559
4982
4983 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4984
4985         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4986         (gst_bin_class_init):
4987         * gst/gstelement.c: (gst_element_base_class_init),
4988         (gst_element_class_add_pad_template):
4989         * gst/gstpadtemplate.c: (gst_pad_template_init):
4990         * gst/gstpipeline.c: (gst_pipeline_get_type),
4991         (gst_pipeline_base_init), (gst_pipeline_class_init):
4992         * libs/gst/base/gstbasesink.c:
4993         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4994         (gst_base_src_base_init), (gst_base_src_class_init):
4995         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4996         (gst_capsfilter_class_init):
4997         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4998         (gst_fake_sink_class_init):
4999         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
5000         (gst_fake_src_class_init):
5001         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
5002         (gst_fd_sink_class_init):
5003         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
5004         (gst_fd_src_class_init):
5005         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
5006         (gst_file_sink_class_init):
5007         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
5008         (gst_file_src_class_init):
5009         * plugins/elements/gstidentity.c: (gst_identity_base_init),
5010         (gst_identity_class_init):
5011         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
5012         (gst_multi_queue_class_init):
5013         * plugins/elements/gstqueue.c: (gst_queue_base_init),
5014         (gst_queue_class_init):
5015         * plugins/elements/gsttee.c: (gst_tee_base_init),
5016         (gst_tee_class_init):
5017         * plugins/elements/gsttypefindelement.c:
5018         (gst_type_find_element_base_init),
5019         (gst_type_find_element_class_init):
5020         * tests/check/gst/gstelement.c: (gst_element_suite):
5021         Revert previous changes to the behaviour of GstPadTemplates, etc
5022         and the possiblity to call them in class_init as it breaks too
5023         many elements. Reopens bug #491501.
5024
5025         Should be applied again for 0.11, thus added a few FIXME 0.11 at
5026         several places.
5027
5028 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
5029
5030         * tools/gst-launch.c:
5031         Dump one graph per pipeline state-change and state change name
5032         (if GST_DEBUG_DUMP_DOT_DIR is set).
5033
5034 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
5035
5036         * gst/gstpad.c:
5037         * tests/check/gst/gstpad.c:
5038         Be sure that we have a new copy of the caps and not
5039         reffed caps from a template
5040
5041 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
5042
5043         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
5044         * gst/gstpipeline.c: (gst_pipeline_get_type),
5045         (gst_pipeline_class_init):
5046         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
5047         (gst_base_sink_class_init):
5048         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
5049         (gst_base_src_class_init):
5050         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
5051         (gst_base_transform_class_init):
5052         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
5053         (gst_collect_pads_class_init):
5054         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
5055         * libs/gst/net/gstnettimeprovider.c:
5056         (gst_net_time_provider_base_init),
5057         (gst_net_time_provider_class_init):
5058         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
5059         (gst_capsfilter_class_init):
5060         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
5061         (gst_fake_sink_class_init):
5062         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
5063         (gst_fake_src_class_init):
5064         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
5065         (gst_fd_sink_class_init):
5066         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
5067         (gst_fd_src_class_init):
5068         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
5069         (gst_file_sink_class_init):
5070         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
5071         (gst_file_src_class_init):
5072         * plugins/elements/gstidentity.c: (gst_identity_base_init),
5073         (gst_identity_class_init):
5074         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
5075         (gst_multi_queue_class_init):
5076         * plugins/elements/gstqueue.c: (gst_queue_base_init),
5077         (gst_queue_class_init):
5078         * plugins/elements/gsttee.c: (gst_tee_base_init),
5079         (gst_tee_class_init):
5080         * plugins/elements/gsttypefindelement.c:
5081         (gst_type_find_element_base_init),
5082         (gst_type_find_element_class_init):
5083         Don't use base_init where not absolutely necessary. For example it's
5084         not necessary anymore for adding pad templates or setting element
5085         details.
5086
5087         Leave empty base_init functions in several places as GST_BOILERPLATE
5088         still defines and uses them.
5089
5090 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
5091
5092         * gst/gstelement.c: (gst_element_base_class_init),
5093         (gst_element_class_add_pad_template):
5094         * gst/gstpadtemplate.c:
5095         Make it possible (and recommended) to set element details and add
5096         pad templates in the class_init functions by copying the details/pad
5097         templates in GstElement's base_init.
5098
5099         Also make it possible to replace existing pad templates by adding
5100         a new one with the same name. This was done in a hackish fashion
5101         in same elements before already.
5102
5103         Don't reference pad templates that are added a second time. A
5104         new pad template has a refcount of one and is not floating anymore
5105         and to be owned by the element's class. Make this more explicit by
5106         mentioning it in the docs of gst_element_class_add_pad_template().
5107
5108         These changes are backwards compatible. Fixes bug #491501.
5109
5110         * tests/check/gst/gstelement.c:
5111         Add unit test for setting element details, adding pad templates and
5112         replacing them in a subclass.
5113
5114 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
5115
5116         * tools/gst-inspect.c: (print_interfaces),
5117         (print_element_properties_info), (print_pad_info),
5118         (print_signal_info), (print_element_info):
5119         Fix a few memory leaks.
5120
5121 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
5122
5123         * docs/libs/gstreamer-libs-sections.txt:
5124         * libs/gst/check/gstcheck.c:
5125         * libs/gst/check/gstcheck.h:
5126         Add more functions for unit testing: gst_check_drop_buffers,
5127         gst_check_caps_equal, gst_check_element_push_buffer_list,
5128         gst_check_element_push_buffer
5129         API: gst_check_drop_buffers
5130         API: gst_check_caps_equal
5131         API: gst_check_element_push_buffer_list
5132         API: gst_check_element_push_buffer
5133
5134 2008-02-01  Julien Moutte  <julien@fluendo.com>
5135
5136         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
5137         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
5138         (gst_index_finalize), (gst_index_entry_free),
5139         (gst_index_add_association): Fix memory leaks.
5140         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
5141         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
5142         (gst_mem_index_free_format), (gst_mem_index_free_id),
5143         (gst_mem_index_finalize): Fix memory leaks.
5144         * win32/common/config.h: Updated to CVS HEAD.
5145
5146 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
5147
5148         * docs/README:
5149           Some more details about how the plugin docs works.
5150
5151         * docs/plugins/gstreamer-plugins-sections.txt:
5152           Whitespace cleanup.
5153
5154 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
5155
5156         * gst/parse/grammar.tab.pre.c:
5157         * gst/parse/grammar.tab.pre.h:
5158         * gst/parse/grammar.y:
5159         * gst/parse/lex._gst_parse_yy.pre.c:
5160           Add delayed set-property. This allows to set properties on dynamicaly
5161           created objects (pads in videomxer). Fixes #509391.
5162
5163 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
5164
5165         * gst/gstutils.c:
5166         Check if caps are not NULL (fix bug #510194)
5167
5168 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
5169
5170         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
5171         (gst_base_sink_get_position_paused):
5172         Add fixme regarding EOS in pull mode.
5173         Fix position reporting in PAUSED for negative rates.
5174
5175 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
5176
5177         * gst/gstminiobject.c: (gst_mini_object_replace):
5178         When replacing a miniobject, do a quick equality check first so that we
5179         can avoid a ref/unref pair.
5180
5181 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
5182
5183         * docs/design/part-synchronisation.txt:
5184         Update some docs.
5185
5186         * docs/plugins/Makefile.am:
5187         * docs/plugins/gstreamer-plugins-docs.sgml:
5188         * docs/plugins/gstreamer-plugins-sections.txt:
5189         * plugins/elements/gstmultiqueue.c:
5190         Add multiqueue to the docs.
5191
5192 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
5193
5194         * configure.ac:
5195           Back to CVS
5196
5197 === release 0.10.17 ===
5198
5199 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
5200
5201         * configure.ac:
5202           releasing 0.10.17, "Due Negligence"
5203
5204 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
5205
5206         * gst/gstutils.c:
5207         Revert caps != NULL check temporarily for 0.10.17 release.
5208
5209 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
5210
5211         * gst/gstutils.c:
5212         Check if caps are not NULL (fix bug #510194)
5213
5214 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
5215
5216         * gst/gstutils.c:
5217         Fix compilation on systems that have posix timers but no
5218         monotonic clock.
5219         Fixes: #512715
5220         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
5221         dot net>
5222
5223 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
5224
5225         * tools/gst-inspect.c:
5226         Revert previous commit in preparation for an impromptu 0.10.17 release
5227
5228 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
5229
5230         * tools/gst-inspect.c: (print_interfaces),
5231         (print_element_properties_info), (print_pad_info),
5232         (print_signal_info), (print_element_info):
5233         Fix a few memory leaks.
5234
5235 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
5236
5237         * configure.ac:
5238         Back to CVS
5239
5240 === release 0.10.16 ===
5241
5242 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
5243
5244         * configure.ac:
5245           releasing 0.10.16, "Special Dispensation"
5246
5247 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
5248
5249         * configure.ac:
5250           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
5251           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
5252           not fail when trying to crosscompile on OpenEmbedded (#511750).
5253
5254 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
5255
5256         * docs/manuals.mak:
5257         Use $(MAKE) instead of make to fix the build if GNU make is
5258         called different. Fixes bug #510747.
5259
5260 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
5261
5262         * gst/gstplugin.c: (_gst_plugin_initialize):
5263           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
5264           again, which I broke two commits ago when changing the API
5265           of gst_plugin_register_static(): the g_list_foreach() in
5266           _gst_plugin_register_static still assumed the old function
5267           signature and would therefore fail (re-fixes #510187).
5268
5269         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
5270           (_gst_plugin_register_static), (gst_plugin_register_static):
5271           Revert the (technically correct) change to call g_thread_init() from
5272           the pre-main() constructor. This will break programs which call
5273           g_thread_init() without an if (!g_thread_supported()) guard in their
5274           main function. We could just blame it on GLib or the application, but
5275           it's probably best to just avoid this altogether and simply not use
5276           any GLib functions here and use plain old malloc() with a simple
5277           array to store the plugins to register later when gst_init() is
5278           finally called (re-fixes #510187).
5279
5280         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
5281           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
5282           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
5283           (GST_START_TEST), (gst_plugin_suite):
5284           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
5285           works.
5286
5287 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
5288
5289         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5290           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
5291           This makes gtk-doc complain, but results in slightly better
5292           compiler errors. The old _gst_plugin_register_static() is
5293           still guarded, so there'll be a compiler warning about that
5294           instead. Fixes #510187 too.
5295
5296 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
5297
5298         * gst/gst.c: (init_post):
5299         * gst/gstplugin.c: (_gst_plugin_register_static),
5300           (gst_plugin_register_static), (_gst_plugin_initialize):
5301         * gst/gstplugin.h: (GstPluginFilter):
5302           Change API of gst_plugin_register_static() to not take
5303           a GstPluginDesc, but rather just take all the arguments
5304           in a GstPluginDesc directly. This is more intuitive and
5305           avoids certain mistakes when porting code from
5306           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
5307           Fixes #510187.
5308
5309         * tests/check/gst/gstplugin.c:
5310           Fix up for changed API.
5311
5312 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5313
5314         * docs/faq/legal.xml:
5315           Update FAQ, Totem actually has an exception these days.
5316
5317 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
5318
5319         * win32/common/libgstreamer.def:
5320         Add new API declarations
5321
5322 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
5323
5324         * gst/gstminiobject.c:
5325           Spelling fixes for the API docs.
5326
5327 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
5328
5329         * libs/gst/base/gstbasetransform.c:
5330           Fix long property description for QoS.
5331
5332 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
5333
5334         * gst/gst.c:
5335         _gst_trace_on is already provided by gsttrace.h, no need to declare
5336         it ourselves.
5337
5338         * docs/libs/gstreamer-libs-sections.txt:
5339         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
5340         and remove strange tcase_add_test which is outputting a warning.
5341
5342         * libs/gst/check/gstcheck.c:
5343         * libs/gst/check/gstcheck.h:
5344         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
5345         and define them in gstcheck.c instead of having every .c file whcih
5346         includes gstcheck.h be defining its own copy and relying on symbol
5347         interposing to marry them all, which doesn't work on Solaris.
5348
5349         * tests/check/elements/identity.c: (GST_START_TEST):
5350         Don't define 'buffers' locally, it comes from libgstcheck.
5351
5352         * tests/check/generic/sinks.c: (send_buffer):
5353         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
5354
5355         * tests/check/gst/gststructure.c: (GST_START_TEST):
5356         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
5357         * tests/check/gst/gstutils.c: (GST_START_TEST):
5358         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5359         Add a bunch of casts to make various constants fit the types
5360         they're being assigned to.
5361
5362 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
5363
5364         * gst/gstchildproxy.c:
5365           Improve docs and add some ideas for making this more general-purpose.
5366
5367 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
5368
5369         * gst/gst_private.h: (GST_CAT_TYPES):
5370           Add GST_CAT_TYPES, for consistency, and so that the other
5371           debug categories don't make fun of it. Spotted by Saur on IRC.
5372
5373 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
5374
5375         * gst/parse/Makefile.am:
5376           Move types.h from EXTRA_DIST to noinst_HEADERS.
5377
5378 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
5379
5380         * autogen.sh:
5381           Add -Wno-portability to the automake parameters to stop warnings
5382           about GNU make extensions being used. We require GNU make in almost
5383           every Makefile anyway.
5384
5385         * configure.ac:
5386           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
5387           at the same time is required for per target flags.
5388
5389 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5390
5391         * gst/gstmacros.h:
5392           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
5393           __GNUC__ is defined before using it.
5394
5395 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5396
5397         * docs/gst/gstreamer-sections.txt:
5398         * gst/gst.c: (init_post):
5399         * gst/gstplugin.c: (_gst_plugin_register_static),
5400           (gst_plugin_register_static), (_gst_plugin_initialize),
5401           (gst_plugin_register_func):
5402         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5403           API: add gst_plugin_register_static() and deprecate
5404           GST_PLUGIN_DEFINE_STATIC, since it's not portable
5405           (#498924).
5406           Also, in _gst_plugin_register_static(), make sure to call
5407           g_thread_init() before calling GLib functions such as
5408           g_list_append() if we're not initialised yet, since that
5409           may lead to random crashes with older GSlice/GLib versions.
5410
5411         * tests/check/gst/gstplugin.c:
5412           Adapt unit test to above changes.
5413
5414 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5415
5416         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
5417         * gst/gstcaps.c: (gst_caps_to_string):
5418         * gst/gststructure.c: (GST_ASCII_IS_STRING),
5419           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
5420           Yet another gratuitous GString micro-optimisation: add a (private)
5421           function that serialises a structure appending to an existing
5422           GString, so that when we serialise caps we don't need to alloc+free
5423           a throwaway GString for each structure (each of which also entailing
5424           multiple reallocs on the way); also use g_string_sized_new() in
5425           various places with an approximate string length to avoid reallocs
5426           within GString. See #500143.
5427
5428 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5429
5430         * gst/gststructure.c: (gst_structure_id_set_value):
5431           Always check UTF-8 conformance of structure strings and not only
5432           if the debugging system is enabled; reasoning: the behaviour of
5433           the actual code shouldn't really change depending on whether the
5434           debugging system is enabled or not (#508291).
5435
5436 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
5437
5438         * Makefile.am:
5439           Remove old coverage target in favour of "make lcov".
5440
5441 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5442
5443         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5444         (gst_base_src_loop):
5445         The start segment for reverse playback goes from start to last_stop.
5446
5447 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5448
5449         Patch by: Peter Kjellerstedt <pkj axis com>
5450
5451         * gst/gstclock.h:
5452         Cast the results from the timeval/spec_to_time macros to what the
5453         docs say it casts to, a GstClockTime. fixes #508175.
5454
5455 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5456
5457         * gst/gstbuffer.c:
5458         Update some comments.
5459
5460         * tools/gst-inspect.c: (print_element_properties_info):
5461         Improve printing of flags.
5462
5463 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
5464
5465         * libs/gst/base/gstbasetransform.c:
5466           (gst_base_transform_transform_size):
5467           Print element name with g_warning() if there's a problem
5468           with the unit size.
5469
5470 2008-01-07  David Schleef  <ds@schleef.org>
5471
5472         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
5473
5474         * libs/gst/controller/gstcontroller.h:
5475         * libs/gst/controller/gstcontrolsource.h:
5476         * libs/gst/controller/gstinterpolationcontrolsource.h:
5477         * libs/gst/controller/gstlfocontrolsource.h:
5478         * libs/gst/dataprotocol/dataprotocol.h:
5479           Fix empty prototypes.  Fixes bug #507957.
5480
5481 2008-01-07  David Schleef  <ds@schleef.org>
5482
5483         * docs/faq/dependencies.xml: Fix typo.
5484
5485 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
5486
5487         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
5488         (gst_base_src_loop):
5489         Don't update the last_stop position in do_seek, that's the position we
5490         did a seek to.
5491         Read backwards when we have a negative rate.
5492
5493         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
5494         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
5495         (filesrc_suite):
5496         Add check for reverse reading.
5497
5498 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
5499
5500         Patch by: Alexis Ballier <aballier at gentoo org>
5501
5502         * tests/check/gst/gstabi.c:
5503         * tests/check/gst/struct_ppc64.h:
5504         * tests/check/libs/libsabi.c:
5505         * tests/check/libs/struct_ppc64.h:
5506           Decide which header to include based on the userland ABI target
5507           and not the kernel/cpu. Fix up structure sizes of ppc64 header
5508           for 64-bit userland (#503590).  Might need something similar for
5509           x86 too.
5510
5511 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5512
5513         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
5514           Log the reason why fopen fails in addition to the fact that it failed.
5515           
5516 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
5517
5518         * gst/parse/parse.l:
5519         Use "%option never-interactive" to prevent useless calls to isatty()
5520         on every input when parsing. Also use "%option noinput" to not define
5521         the static input/yyinput functions which we don't use anyway. This
5522         removes a compiler warning with gcc 4.3 and saves some bytes in the
5523         library.
5524         
5525         * gst/parse/lex._gst_parse_yy.pre.c:
5526         Regenerated for the above change.
5527
5528 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
5529
5530         * gst/gstpad.c: (fixate_value):
5531         Don't crash when trying to fixate and empty list.
5532         Fixes #506643.
5533
5534 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
5535
5536         * docs/faq/gst-uninstalled:
5537         Clarify the comments to make the usage of this script and what it
5538         does easier to understand.
5539
5540 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
5541
5542         * tools/gst-plot-timeline.py:
5543         Add more options to gst-plot-timeline
5544
5545 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
5546
5547         * docs/design/part-synchronisation.txt:
5548         Some more info on how the stream_time in GstBaseSink is done.
5549
5550 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
5551
5552         * tests/check/generic/sinks.c: (gst_sinks_suite):
5553           Put back the tcase_set_timeout(), apparently it's needed after
5554           all; fix it up in a way that makes things work with valgrind too.
5555
5556 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
5557
5558         * gst/gstdebugutils.c:
5559           Add warning when failed to open file for writing.
5560
5561 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5562
5563         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
5564
5565         * gst/gstvalue.c: (gst_value_is_fixed):
5566           Optimisation: bail out of the loop as early as possible (#500143).
5567
5568 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5569
5570         * gst/gstcaps.c: (gst_caps_to_string):
5571         * gst/gstinfo.c: (gst_debug_construct_term_color):
5572         * gst/gstparse.c: (gst_parse_launchv):
5573         * gst/gstutils.c: (gst_util_dump_mem):
5574         * gst/gstvalue.c: (gst_value_serialize_any_list),
5575           (gst_value_transform_any_list_string):
5576           Bunch of gratuitous nano-optimisations.
5577
5578 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5579
5580         * tests/check/generic/sinks.c: (async_done_func),
5581           (async_done_eos_func):
5582           Fix leak in unit test (bus sync handler must unref the message
5583           if it returns GST_BUS_DROP). Don't fiddle with the default test
5584           timeout, this is smaller than the current preconfigured value
5585           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5586           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5587
5588 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5589
5590         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5591
5592         * configure.ac:
5593         Check for stdio_ext.h for the filesink changes.
5594
5595         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5596         (gst_file_sink_class_init), (gst_file_sink_init),
5597         (gst_file_sink_dispose), (gst_file_sink_set_property),
5598         (gst_file_sink_get_property), (gst_file_sink_open_file),
5599         (gst_file_sink_close_file):
5600         * plugins/elements/gstfilesink.h:
5601         Add two properties to control the buffering mode and size.
5602         API: GstFileSink::buffer-mode
5603         API: GstFileSink::buffer-size
5604         Fixes #500150.
5605
5606 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5607
5608         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5609         Add some more docs to explain why a FIXME was wrongly added. 
5610
5611 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
5612
5613         * gst/gstobject.c:
5614           Fix typo in the gst_object_{ref,unref} documentation.
5615
5616 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5617
5618         * tests/check/libs/controller.c:
5619         * tests/check/libs/typefindhelper.c:
5620         * tests/check/pipelines/parse-launch.c:
5621           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5622           going to be deprecated (see #498924).
5623
5624 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5625
5626         * gst/gsttypefind.c: (gst_type_find_register):
5627           Make gst_type_find_register work for static typefind functions,
5628           ie. allow passing plugin == NULL (prerequisite for #498924).
5629
5630         * gst/gstelementfactory.c: (gst_element_register):
5631           Small docs addition.
5632
5633 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
5634
5635         * gst/gstpad.c: (gst_pad_dispose):
5636         Really unlink the peer pad instead of setting the peer pointer to NULL
5637         when we dispose the pad.
5638         This correctly calls the unlink functions and makes sure that the peer
5639         does not have a handle to invalid memory. See #504671.
5640
5641         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5642         Add testsuite for above case.
5643
5644 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
5645
5646         Patch by: Peter Kjellerstedt <pkj axis com>
5647
5648         * libs/gst/check/gstcheck.h:
5649           Fix detection of the check version we're compiling against (would
5650           otherwise break if check goes v0.10.0); correctly report the
5651           name of the failed test again in case of failure, instead of
5652           just 'tf' (fixes #504499).
5653
5654 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5655
5656         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5657         (gst_base_src_get_range), (gst_base_src_pad_get_range),
5658         (gst_base_src_loop), (gst_base_src_set_flushing),
5659         (gst_base_src_change_state):
5660         Allow sending EOS to the source to make it send out an EOS event from
5661         the streaming thread.
5662         Update docs and deprecate the old NULL/READY shutdown method.
5663
5664         * tests/check/libs/basesrc.c: (GST_START_TEST),
5665         (gst_basesrc_suite):
5666         Add unit test for controlled shutdown.
5667
5668 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5669
5670         * docs/design/part-synchronisation.txt:
5671         Small updates.
5672
5673         * gst/gstsegment.c: (gst_segment_set_seek),
5674         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5675         (gst_segment_to_running_time):
5676         The seek format can be different from the segment format when the start
5677         and stop values are not to be updated, when we only do a rate change for
5678         example.
5679
5680         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5681         (gst_segment_suite):
5682         Add a testcase for the rate-only seeks, checking that the format is
5683         correctly ignored when start and stop are not updated.
5684
5685 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
5686
5687         Patch by: Matthias Bolte <photon at mail dot upb dot de>
5688
5689         * win32/vs8/grammar.vcproj:
5690         * win32/vs8/libgstcontroller.vcproj:
5691         * win32/vs8/libgstreamer.vcproj:
5692         Fix compilation with VS8 and include some missing files.
5693
5694 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
5695
5696         * gst/gsttaglist.c:
5697           Small docs addition: mention that the strings returned by
5698           gst_tag_list_get_string*() are in UTF-8 encoding.
5699
5700 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
5701
5702         * Makefile.am:
5703           The check-exports stuff moved to common/win32.mak, so include that.
5704
5705 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
5706
5707         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5708         (gst_base_src_perform_seek), (gst_base_src_get_range),
5709         (gst_base_src_set_playing), (gst_base_src_change_state):
5710         Make _wait_playing() not check any variables so that we can call this
5711         function from subclasses. Move the checks elsewhere similar to
5712         _wait_preroll() in basesink.
5713         Add some debugging.
5714         Only signal the LIVE cond when we are going back to PLAYING.
5715
5716 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5717
5718         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5719           Use g_remove() and g_rename(). Check result of g_rename(), and
5720           don't leak the open file descriptor if we error out when writing.
5721
5722         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5723           Must check the return value of close() after writing out the new
5724           registry file.  Sometimes write problems such as out-of-diskspace
5725           are only reported when the file is closed and not already during
5726           the write.  This may have caused partial/broken registry files in
5727           some rare circumstances. Should fix #503675.
5728
5729 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
5730
5731         * docs/gst/.cvsignore:
5732         * docs/libs/.cvsignore:
5733         * docs/plugins/.cvsignore:
5734         Ignore files generated by new common/* modifications
5735
5736 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5737
5738         * win32/common/libgstbase.def:
5739           Yes, you can also have a <TAB> if you want.
5740
5741 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5742
5743         * win32/common/libgstbase.def:
5744           Add new basetransform API to win export file.
5745
5746 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5747
5748         * tests/check/gst/gstbin.c:
5749           Adjust the test to the refcount change two days ago.
5750
5751 2007-12-14  David Schleef  <ds@schleef.org>
5752
5753         * docs/faq/getting.xml: Fix typo.
5754
5755 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
5756
5757         * docs/libs/gstreamer-libs-sections.txt:
5758         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5759           (gst_base_transform_prepare_output_buffer),
5760           (gst_base_transform_set_gap_aware):
5761         * libs/gst/base/gstbasetransform.h:
5762           API: Add gst_base_transform_set_gap_aware() to control whether
5763           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5764           get buffers with this flag at all. Fixes #503231.
5765
5766 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
5767
5768         * libs/gst/base/gstbasesink.c:
5769         * libs/gst/base/gstbasesrc.c:
5770         * libs/gst/base/gstbasetransform.c:
5771           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5772           thread. Correct log message in gstbasesrc.c.
5773
5774 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5775
5776         * gst/gstutils.c: (element_find_unconnected_pad):
5777           Fix possible compiler warning (#503417).
5778
5779 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5780
5781         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5782           Don't use GST_CAT_EVENT here for logging, it makes no sense.
5783
5784 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
5785
5786         * tools/gst-inspect.c: (print_element_properties_info):
5787           Add support for GstFraction properties.
5788
5789 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5790
5791         * Makefile.am:
5792           Add check-exports target and run it as part of 'make check'
5793           (see #499140 and #493983).
5794
5795         * gst/gst_private.h:
5796         * gst/gstelementfactory.h:
5797         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5798         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5799           (_priv_gst_in_valgrind):
5800         * gst/gstinfo.h: (GstLogFunction):
5801         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5802           (gst_type_find_register):
5803         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5804           (gst_type_find_factory_get_type):
5805         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5806           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5807           (gst_controller_new_valist), (gst_controller_new_list),
5808           (_gst_controller_dispose), (_gst_controller_class_init):
5809         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5810         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5811           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5812           (gst_object_get_controller), (gst_object_set_controller),
5813           (gst_object_suggest_next_sync), (gst_object_sync_values),
5814           (gst_object_set_control_source), (gst_object_get_control_source),
5815           (gst_object_get_value_arrays), (gst_object_get_value_array),
5816           (gst_object_get_control_rate), (gst_object_set_control_rate):
5817         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5818         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5819           Make some functions that should be static static; rename some
5820           private symbols so that they don't get exported; add some FIXME
5821           comments so we can move accidentally exported functions into
5822           our private section in 0.11.
5823
5824         * win32/common/libgstreamer.def:
5825           Add gst_utils_get_timestamp().
5826
5827 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5828
5829         * gst/gstvalue.c:
5830         * gst/gstvalue.h:
5831           Add more missing "Since:" tags to docs.
5832
5833 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5834
5835         * gst/gstutils.c:
5836           Add mising "Since:" to docs.
5837
5838 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5839
5840         * gst/gstplugin.c:
5841           Include "glib-compat-private.h" to fix the build on system with
5842           glib < 2.10. Fixes #503131.
5843
5844 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5845
5846         * gst/gstutils.c:
5847         * gst/gstutils.h:
5848           Actually its not PURE as it gets the time from elsewhere.
5849
5850 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5851
5852         * docs/gst/gstreamer-sections.txt:
5853         * gst/gstclock.h:
5854         * gst/gstdebugutils.c:
5855         * gst/gstinfo.c:
5856         * gst/gstutils.c:
5857         * gst/gstutils.h:
5858         * libs/gst/base/gstbasesink.c:
5859         * tools/gst-launch.c:
5860           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5861           uses as we don't have HAVE_POSIX_TIMERS in public headers.
5862           Thanks Tim for spotting.
5863           API: gst_util_get_timestamp
5864
5865 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
5866
5867         * configure.ac:
5868           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5869
5870 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
5871
5872         * gst/gststructure.c: (gst_structure_validate_name),
5873           (gst_structure_new_valist), (gst_structure_parse_value),
5874           (gst_structure_from_string):
5875           Don't crash in _from_string() if the structure name is not valid
5876           (fixes #501560).  Allow structure names to start with a number
5877           again (this apparently broke the ubuntu codec installer).
5878
5879         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5880           (GST_START_TEST):
5881           Add unit test for the crash; update unit tests for new behaviour.
5882
5883 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
5884
5885         * gst/gstutils.c:
5886         Clarify gst_element_get_compatible_pad() documentation.
5887         Fixes #500919.
5888
5889 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
5890
5891         * tests/check/Makefile.am:
5892           Don't forget to dist {gst,libs}/struct_hppa.h.
5893
5894 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5895
5896         * libs/gst/base/gstbasesink.c:
5897           Use new API to get elapsed time.
5898
5899 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5900
5901         * gst/gstdebugutils.c:
5902         * gst/gstinfo.c:
5903           Fix wrong order of args in GST_CLOCK_DIFF() usage.
5904
5905         * tools/gst-launch.c:
5906           Use new API to get elapsed time.
5907
5908 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5909
5910         * docs/gst/gstreamer-sections.txt:
5911         * gst/gstclock.h:
5912         * gst/gstdebugutils.c:
5913         * gst/gstinfo.c:
5914           Rename new API + ChangeLog surgery to remove old name from last entry..
5915
5916 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5917
5918         * docs/gst/gstreamer-sections.txt:
5919         * gst/gstclock.h:
5920         * gst/gstdebugutils.c:
5921         * gst/gstinfo.c:
5922           Now hide the different clock stuff behind a macro.
5923
5924 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5925
5926         * configure.ac:
5927         * gst/gstdebugutils.c:
5928         * gst/gstinfo.c:
5929           Apply the posix-timer check from #361155. Conditionally use the posix
5930           timer for logging. This gives better timestamp precission, less
5931           overhead and no ntp jitter.
5932
5933 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
5934
5935         * gst/gstminiobject.c: (gst_mini_object_get_type),
5936         (gst_mini_object_class_init), (gst_mini_object_copy_default),
5937         (gst_mini_object_finalize), (gst_mini_object_copy),
5938         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5939         (gst_mini_object_replace), (param_mini_object_validate),
5940         (gst_param_spec_mini_object_get_type):
5941         Some cleanup and checking against invalid function parameters.
5942
5943 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
5944
5945         * docs/gst/gstreamer-sections.txt:
5946         * gst/gstclock.h:
5947         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5948         (gst_systemclock_suite):
5949         Start merging in the easy bits of #361155, the monotonic clock patch.
5950         This one adds a few handy macros with docs and a testsuite.
5951
5952 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
5953
5954         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5955         Be a bit smarter when seeking, like, don't try to do a seek when it's
5956         not needed. This avoids errors when the file is not seekable.
5957         Fixes #499771.
5958
5959 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
5960
5961         * docs/gst/gstreamer-docs.sgml:
5962         * docs/gst/gstreamer-sections.txt:
5963         * docs/gst/gstreamer.types.in:
5964         * gst/Makefile.am:
5965         * gst/gst.h:
5966         * gst/gstpreset.c:
5967         * gst/gstpreset.h:
5968         * plugins/elements/gstqueue.c:
5969           Due to popular request remove preset interface again. :-(.
5970
5971 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5972
5973         * tools/gst-inspect.c:
5974           Print 'default value' for enums and flags too.
5975
5976 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5977
5978         * docs/random/ensonic/profiling.txt:
5979           More ideas.
5980
5981         * gst/gstbin.c:
5982           Fix typo and give better log output.
5983
5984         * gst/gstdebugutils.c:
5985         * gst/gstdebugutils.h:
5986           More ideas, make graphs a bit smaller and fix param name in macro.
5987
5988 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5989
5990         * gst/gstpreset.c:
5991           Try harder to use the return value from fgets().
5992
5993 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
5994
5995         * gst/gstpreset.c:
5996           For theses two fgets we handle the error below.
5997
5998 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5999
6000         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
6001         Only send upstream events upstream. Fixes #498746.
6002
6003 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
6004
6005         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
6006
6007         * plugins/elements/gstidentity.c: (gst_identity_class_init),
6008         (gst_identity_init), (gst_identity_transform_ip),
6009         (gst_identity_set_property), (gst_identity_get_property):
6010         * plugins/elements/gstidentity.h:
6011         Add property to disable handoff signal emission. Fixes #498694.
6012         API: GstIdentity::signal-handoffs
6013
6014 2007-11-21  Julien Moutte  <julien@fluendo.com>
6015
6016         * docs/faq/gst-uninstalled: Yet another missing library for the
6017         uninstalled script (fft)
6018
6019 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
6020
6021         * docs/faq/developing.xml:
6022         Add a question about how to submit new translations.
6023
6024         * docs/random/release:
6025         Update the contact email address for the Translation Project
6026
6027         * plugins/elements/gstfdsrc.c:
6028         The parent_class for fdsrc is pushsrc, not GstElement.
6029
6030 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
6031
6032         * gst/gstpreset.c:
6033           Plug a leak and fix saving.
6034
6035 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
6036
6037         * docs/gst/gstreamer-sections.txt:
6038         Add new gst_preset__get_property_names() function to the docs
6039         to fix the build.
6040
6041 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
6042
6043         * gst/gstpreset.c:
6044         * gst/gstpreset.h:
6045           Change _get_preset_names API to return a strv with copies. Add
6046           _get_property_names to allow implementations to filter and provide
6047           good default implementation.
6048
6049 2007-11-20  Julien MOUTTE  <julien@moutte.net>
6050
6051         * docs/faq/gst-uninstalled: Add another library to the uninstalled
6052         script (sdp).
6053
6054 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
6055
6056         * gst/gstpreset.c:
6057           More cleanups, docs, and TODOs from comments that now slowly come in.
6058
6059 2007-11-19  Julien MOUTTE  <julien@moutte.net>
6060
6061         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
6062         search path.
6063
6064 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
6065
6066         * gst/gstpreset.c:
6067           Fix bogus warning and make the property type specific code more
6068           similar.
6069
6070 2007-11-19  Julien MOUTTE  <julien@moutte.net>
6071
6072         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
6073         it build on OS X.
6074
6075 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
6076
6077         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
6078         (gst_bin_add_func), (gst_bin_remove_func),
6079         (gst_bin_change_state_func), (gst_bin_continue_func):
6080         Change email, cleanups add some more debug and comments.
6081         Also set bus and clock on new elements when the pipeline was in error.
6082
6083 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
6084
6085         * gst/gstbin.c:
6086         * gst/gstdebugutils.c:
6087           Fix build with --disable-gst-debug. Fixes #497859.
6088           Spotted by Sameer Naik.
6089
6090 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
6091
6092         * gst/gstevent.c:
6093           Little documentation improvment.
6094
6095         * gst/gstpreset.c:
6096           More TODO cleanups. Remove c++ comments.
6097
6098         * libs/gst/controller/gstcontroller.c:
6099           Add TODO and use quark from static string.
6100
6101         * tests/check/gst/gstmessage.c:
6102         * tests/check/gst/gststructure.c:
6103           Use quark from static string.
6104
6105 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
6106
6107         * gst/gstpreset.c:
6108           Add some comments and TODOs.
6109
6110         * gst/gstpreset.h:
6111           Add padding for future changes.
6112
6113         * plugins/elements/gstqueue.c:
6114           Implement the iface.    
6115
6116 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
6117
6118         * docs/gst/gstreamer-docs.sgml:
6119         * docs/gst/gstreamer-sections.txt:
6120         * docs/gst/gstreamer.types.in:
6121         * gst/Makefile.am:
6122         * gst/gst.h:
6123         * gst/gstpreset.c:
6124         * gst/gstpreset.h:
6125           Add the preset interface (Fixes #396779). Do some doc cleanups along.
6126
6127 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
6128
6129         * configure.ac:
6130
6131         Back to CVS
6132
6133 === release 0.10.15 ===
6134
6135 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
6136
6137         * configure.ac:
6138           releasing 0.10.15, "October"
6139
6140 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
6141
6142         * win32/vs6/libgstreamer.dsp:
6143         Convert line endings back to DOS.
6144
6145 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
6146
6147         * docs/design/draft-tagreading.txt:
6148         * docs/random/ensonic/profiling.txt:
6149         Update fast tagreading draft and performance profiling ideas.
6150
6151 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
6152
6153         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
6154         Don't hold the object lock when unreffing a buffer because it could
6155         cause a deadlock when the finalize function wants to grab the object
6156         lock too. Fixes #495133.
6157
6158 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
6159
6160         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
6161         (gst_segment_to_stream_time), (gst_segment_to_running_time):
6162         Also accumulate time correctly when doing reverse playback. Fixes
6163         #488201,
6164         When converting to running and stream time, use default values for
6165         start/stop/time/accum when comparing different formats. Fixes #494245.
6166
6167         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6168         Do running/stream time in TIME format.
6169
6170         * tests/check/gst/gstsegment.c: (GST_START_TEST),
6171         (gst_segment_suite):
6172         2 new unit tests for segment accumulation.
6173
6174 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
6175
6176         * gst/gst.c: (init_pre):
6177         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
6178           (_gst_debug_bin_to_dot_file):
6179           Move getenv() back into gst_init, so everyone can live happily
6180           ever after. Make sure the symbol isn't exported though.
6181
6182 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6183
6184         Patch by: Sebastien Moutte  <sebastien moutte net>
6185
6186         * win32/common/gstenumtypes.c:
6187         * win32/common/gstenumtypes.h:
6188           Update enum types.
6189
6190         * win32/vs6/libgstreamer.dsp:
6191           Update vs6 project files (#494343).
6192
6193 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6194
6195         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
6196         (gst_base_src_perform_seek), (gst_base_src_default_event),
6197         (gst_base_src_set_flushing), (gst_base_src_activate_push),
6198         (gst_base_src_activate_pull):
6199         Unify flushing code, remove some old unlock code that is no longer used.
6200         Take the streaming lock when seeking to avoid races. Fixes #492729.
6201         Added some more comments.
6202
6203 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6204
6205         * gst/gst.c: (_gst_disable_segtrap):
6206           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
6207           we can use gst_segtrap_is_enabled() there now that we have that API.
6208           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
6209           to do the getenv here (and export the variable).
6210
6211         * gst/gstdebugutils.c: (debug_dump_element),
6212           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
6213           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
6214
6215         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
6216           (gst_debug_log_default):
6217           Rename _gst_info_start_time to priv_gst_info_start_time so it
6218           doesn't get exported (was never in any header).
6219
6220         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
6221           (gst_plugin_loading_mutex):
6222           Make static mutex gst_plugin_loading_mutex really static (was never
6223           in any header), and use gst_segtrap_is_enabled() instead of
6224           _gst_disable_segtrap.
6225
6226         * gst/gsttrace.c: (_gst_trace_default):
6227           Make local _gst_trace_default static (was never in any header).
6228
6229 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6230
6231         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
6232
6233         * win32/common/libgstbase.def:
6234         * win32/common/libgstcontroller.def:
6235         * win32/common/libgstdataprotocol.def:
6236         * win32/common/libgstnet.def:
6237         * win32/common/libgstreamer.def:
6238           Add more missing symbols, remove some duplicates, and sort
6239           as the 'sort' command sorts it (partially fixes #493983).
6240
6241 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6242
6243         * gst/gstelement.c: (gst_element_set_state_func):
6244         Only change the state cookie if a different state was set on the
6245         element. See #492729.
6246
6247 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6248
6249         * gst/gstvalue.c:
6250           Remove unused and uninitialised type variables that were still
6251           exported for some reason (they were never in any header files
6252           though).
6253
6254 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6255
6256         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6257         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
6258         (gst_base_sink_event), (gst_base_sink_get_position_last),
6259         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
6260         (gst_base_sink_change_state):
6261         Don't try to report a 0 position when we don't know, return -1 and FALSE
6262         instead. This mostly happens when we are prerolling.
6263         Make sure we can report the right position before we post the ASYNC_DONE
6264         message so that a message handler can query position without races.
6265
6266         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6267         (async_done_handoff), (async_done_func), (send_buffer),
6268         (async_done_eos_func), (gst_sinks_suite):
6269         Add two tests for the above.
6270
6271 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6272
6273         * MAINTAINERS:
6274         Update with new email address.
6275
6276         * docs/design/part-TODO.txt:
6277         Add some more info about future pad-block and negotiation changes.
6278
6279         * docs/design/part-buffering.txt:
6280         Add some ideas about buffering reporting.
6281
6282 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
6283
6284         * tests/check/gst/gstobject.c:
6285         Disable silly racy test that always fails on this combination of CPU
6286         and kernel.
6287
6288 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6289
6290         Patch by: Murray Cumming  <murrayc@murrayc.com>
6291
6292         * gst/gstobject.c:
6293           Corrected the registration of the parent-set and parent-unset
6294           signals: The parameter is a GstObject, not a GObject (#493134).
6295
6296 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6297
6298         * gst/gst_private.h:
6299         * gst/gstbuffer.h:
6300         * gst/gstevent.h:
6301         * gst/gstformat.h:
6302         * gst/gstmessage.h:
6303         * gst/gstplugin.h:
6304         * gst/gstquery.h:
6305         * gst/gsttaglist.h:
6306         * gst/gstvalue.h:
6307           Move declaration of private _gst_foo_initialize() functions into
6308           our private header file where they should have been all along.
6309
6310 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6311
6312         * docs/plugins/gstreamer-plugins-sections.txt:
6313         * gst/gstdebugutils.h:
6314         * gst/gstxml.h:
6315         * plugins/elements/gstqueue.c:
6316           gtk-doc fixes; trailing-comma-in-enum fix.
6317
6318 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6319
6320         * gst/gst.c: (gst_deinit):
6321           Clean up on deinit (not the external ones though, doesn't seem to be
6322           needed for some reason).
6323
6324 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6325
6326         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
6327           Remove __declspec(dllimport) for MSVC that was copied over into core
6328           from a plugin, obviously without ever having been tested (note the
6329           single underscore in _declspec in the initial commit), and that doesn't
6330           really make sense.  See #492077.
6331
6332 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6333
6334         * gst/gst.c: (init_post):
6335         * gst/gstevent.c: (_gst_event_initialize):
6336         * gst/gstquery.c: (_gst_query_initialize):
6337         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
6338           g_type_class_ref() other types as well, see #349410 and #64764.
6339
6340         * gst/gstbuffer.c: (_gst_buffer_initialize):
6341         * gst/gstmessage.c: (_gst_message_initialize):
6342           Simplify existing g_type_class_ref().
6343
6344 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6345
6346         * gst/gstformat.c: (_gst_format_initialize):
6347           g_type_class_ref() our GstFormat type to make sure we avoid the
6348           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
6349           bug #64764. Should fix intermittent tee unit test failures (#474823).
6350
6351 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6352
6353         * tests/check/elements/tee.c: (test_num_buffers):
6354           Simplify, simplify, simplify - or not.  Rewrite unit test
6355           not to use gst_parse_launch(); allow N sub-streams. Increasing
6356           the number of sub-streams seems to reproduce #474823 more easily.
6357
6358 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
6359
6360         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
6361
6362         * gst/gsttrace.c:
6363         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
6364         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6365         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
6366           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
6367           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
6368           so use _pipe() directly (#492077).
6369
6370         * win32/common/dirent.c: (_treaddir):
6371           Add a couple of casts to make it build without warnings with MSVC.
6372
6373         * win32/common/libgstreamer.def:
6374           Add some more symbols that need to be exported.
6375
6376 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
6377
6378         * tests/examples/metadata/read-metadata.c: (message_loop):
6379           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
6380           arriving in a second or third tag message are added to
6381           the tag list as well.
6382
6383 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
6384
6385         * libs/gst/base/gstbasesrc.c:
6386           Its "Since:" and not "@Since:". And remove an superflous cast.
6387
6388 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
6389
6390         * docs/libs/gstreamer-libs-sections.txt:
6391         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6392         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
6393         (gst_base_sink_get_property), (gst_base_sink_render_object),
6394         (gst_base_sink_preroll_object),
6395         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
6396         (gst_base_sink_change_state):
6397         * libs/gst/base/gstbasesink.h:
6398         Add a new last-buffer property that contains the last buffer used in
6399         basesink for preroll or rendering. useful for making snapshots.
6400         API: gst_base_sink_get_last_buffer()
6401         API: GstBaseSink::last-buffer
6402
6403 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6404
6405         * docs/gst/running.xml:
6406         * gst/gst.c:
6407         * gst/gstdebugutils.c:
6408         * gst/gstdebugutils.h:
6409         * tools/gst-launch.c:
6410           Improve bin graph dumping, by using the envvar to specify a path.
6411           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
6412
6413 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
6414
6415         * plugins/elements/gsttypefindelement.c:
6416           (gst_type_find_element_handle_event),
6417           (gst_type_find_element_activate):
6418           Post special error message if we can't determine the type of a stream
6419           because it's empty.
6420
6421 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6422
6423         * docs/gst/running.xml:
6424         * gst/gstdebugutils.c:
6425           Document new env-var. Add one log-line after dumpng a graph.
6426
6427 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
6428
6429         * configure.ac:
6430           Ugly hack to put the (recently removed and non-portable, apparently)
6431           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
6432           GNU ld, because without that 'make check' fails miserably on my debian
6433           stable box.  Someone with more knowledge of linker intricacies and
6434           portability issues than me fix this properly please.
6435
6436 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
6437
6438         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6439         Reset last seen position after flushing so that we don't report the old
6440         position anymore.
6441
6442 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6443
6444         * gst/gstelementfactory.c: (gst_element_register):
6445         * gst/gsturi.h:
6446         Patch from Alessandro Decina adding get_type_full and
6447         get_protocols_full private vfuncs to the URIHandler interface
6448         to allow bindings to support creating URI handlers. 
6449         Partially fixes: #339279
6450         API: GstURIHandlerInterface::get_type_full
6451         API: GstURIHandlerInterface::get_protocols_full
6452
6453 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6454
6455         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6456         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
6457         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
6458         Make it so that pads are considered linked until a buffer is pushed
6459         and discovered otherwise. This avoids problems with decodebin2 hanging
6460         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
6461         case.
6462
6463         Make sure we lock the multiqueue when updating the max-size properties.
6464         
6465         Fix a crash on Solaris in a debug statement in get_request_pad that
6466         passes a NULL string to GST_DEBUG. 
6467
6468         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6469         (run_output_order_test):
6470         Fix the test to allow the first buffer on not-linked pads to come out
6471         of sequence while multiqueue discovers that they are not-linked.
6472
6473 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6474
6475         * configure.ac:
6476         * libs/gst/check/Makefile.am:
6477         Use a custom export symbol regex for libgstcheck, as it needs
6478         to export symbols that don't match the standard GStreamer gst_*
6479         pattern, and  --export-dynamic is not portable (only works on 
6480         GNU ld)
6481
6482         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6483         (gst_check_setup_sink_pad):
6484         Make sure to pass a message parameter to the fail_* macros.
6485
6486         * tests/check/gst/gstinfo.c: (GST_START_TEST):
6487         Fix some compiler warnings.
6488
6489 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
6490
6491         * tests/check/gst/gststructure.c: (test_to_string):
6492           Disable test that checks that white spaces are not allowed
6493           in structure names or field names, since we need to
6494           support that for now for backwards compatibility reasons.
6495
6496 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6497
6498         * docs/gst/gstreamer-sections.txt:
6499         * gst/gsttaglist.c:
6500         * gst/gsttaglist.h:
6501           API: add GST_TAG_ARTIST_SORTNAME
6502           API: add GST_TAG_ALBUM_SORTNAME
6503           API: add GST_TAG_TITLE_SORTNAME
6504           Add tag variants for sorting (#414539).
6505
6506 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6507
6508         * gst/gststructure.c:
6509           Also allow white space for names so we don't break
6510           backwards compatibility.
6511
6512 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
6513
6514         * docs/design/part-TODO.txt:
6515         * docs/design/part-segments.txt:
6516         * docs/design/part-streams.txt:
6517         Small updates.
6518
6519 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6520
6521         * docs/gst/gstreamer-sections.txt:
6522          Fixed documentation from my previous commit (added new API add
6523          gst_value_set_structure(), add gst_value_get_structure() and
6524          GST_VALUE_HOLDS_STRUCTURE).
6525
6526 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
6527
6528         * gst/gstdebugutils.c:
6529           Reflow code to fix uninitialized variable warning.
6530
6531 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6532
6533         * gst/gstcaps.c: (gst_caps_to_string),
6534         (gst_caps_from_string_inplace):
6535         * gst/gststructure.c: (gst_structure_get_abbrs),
6536         (gst_structure_to_string), (gst_structure_from_string):
6537         * gst/gstvalue.c: (gst_value_set_structure),
6538         (gst_value_get_structure), (gst_value_serialize_structure),
6539         (gst_value_deserialize_structure), (_gst_value_initialize):
6540         * gst/gstvalue.h:
6541         * tests/check/gst/gststructure.c: (GST_START_TEST),
6542         (gst_structure_suite):
6543         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6544          Added GstStructure to gst_value_table and its related functions.
6545          Changed gst_structure_to_string to print ';' in the end.
6546          Changed gst_caps_to_string to not print ';' beteween its
6547          fields (structures) anymore and remove the lastes ';' from latest
6548          structure. Now it is possible to have nested structures.
6549          In addition, backward compatibilty is assured by accepting '\0' as
6550          end delimiter. Fixes: #487969.
6551          API: add gst_value_set_structure()
6552          API: add gst_value_get_structure()
6553          API: add GST_VALUE_HOLDS_STRUCTURE
6554
6555 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
6556
6557         * gst/gstbus.c:
6558           When no GSource callback has been set up, tell developer
6559           to use a function that actually exists.
6560
6561 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
6562
6563         * docs/gst/gstreamer-sections.txt:
6564         * gst/Makefile.am:
6565         * gst/gst.c:
6566         * gst/gst.h:
6567         * gst/gstdebugutils.c:
6568         * gst/gstdebugutils.h:
6569         * gst/gstinfo.c:
6570         * gst/gstinfo.h:
6571         * tools/gst-launch.c:
6572           Allow dumping pipelines as dot graphs. Fixes #456573.
6573
6574 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6575
6576         * gst/gststructure.c:
6577           Allow '+' as well, it can be part of media or mime types
6578           such as image/svg+xml.
6579
6580 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6581
6582         * docs/gst/gstreamer-sections.txt:
6583         * gst/gstbus.c:
6584         * gst/gstbus.h:
6585           API: add gst_bus_pop_filtered
6586           API: add gst_bus_timed_pop_filtered
6587           Two new functions for waiting for specific message types on the
6588           bus for a specified amount of time without iterating any main
6589           loops or main contexts.
6590
6591         * tests/check/gst/gstbus.c:
6592           Some tests for the new functions.
6593
6594 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6595
6596         * docs/libs/gstreamer-libs-sections.txt:
6597           Make gtk-doc ignore stuff it should ignore.
6598
6599 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6600
6601         * libs/gst/check/gstcheck.c:
6602         * libs/gst/check/gstcheck.h:
6603           Allow runtime selection of unit tests to run via the GST_CHECKS
6604           environment variable (test case function names, comma-separated).
6605
6606 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6607
6608         * gst/gststructure.c:
6609         * tests/check/gst/gststructure.c:
6610           Revert serialisation change and constrain structure-names after
6611           consensus on irc. Update api documentation to reflect the change.
6612
6613 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6614
6615         * gst/gststructure.c:
6616           Improve serialization and fix tests.
6617
6618         * tests/check/gst/gststructure.c:
6619           Add another test that covers why I actually did the previous structure
6620           change.
6621
6622 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6623
6624         * tools/gst-inspect.c: (print_element_info):
6625         Don't crash when inspecting an element.
6626
6627 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6628
6629         * tests/check/gst/gststructure.c:
6630           Add unit test for escaping of structure name when serialising
6631           and deserialising to/from strings.
6632
6633 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6634
6635         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6636         (gst_single_queue_new):
6637         * plugins/elements/gstqueue.c: (gst_queue_init),
6638         (gst_queue_push_one):
6639         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6640         upstream is tricked into thinking it can suggest a format downstream
6641         while downstream does not support that format. The real problem is that
6642         core calls acceptcaps when pushing a buffer with new caps, for which we
6643         do a little workaround by setting the caps on the srcpad ourselves
6644         before pushing the buffer (until this is figured out). Fixes #486758.
6645
6646 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6647
6648         * gst/gststructure.c:
6649         * gst/gstvalue.c:
6650           Add some more comments and debug output. Quote structure name to fix
6651           deserialisation of some strings.
6652
6653 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6654
6655         * gst/gstbuffer.h:
6656           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6657           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6658
6659 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6660
6661         * tools/gst-inspect.c:
6662           Save approx. 400 1 byte allocs when printing. Use API to acces element
6663           details.
6664
6665         * tools/gst-run.c:
6666           Avoid a strdup.
6667
6668         * tools/gst-xmlinspect.c:
6669           Use API to acces element details.
6670
6671 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6672
6673         * gst/gstinfo.c:
6674           Fix some spelling errors.
6675
6676 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
6677
6678         * gst/gstbin.c: (bin_handle_async_done):
6679         Correctly set the next state if all of our async children commited their
6680         state. This makes sure we can actually cancel the state change in
6681         progress. Fixes a regression in Rhythmbox when seeking.
6682
6683 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6684
6685         * gst/gstbin.c:
6686           Don't shadow local variable.
6687
6688         * gst/gstinfo.c:
6689           Don't shadow global function name.
6690
6691 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6692
6693         * gst/gstelementfactory.c:
6694         * gst/gstpluginfeature.c:
6695         * gst/gstpluginfeature.h:
6696         * gst/gstregistrybinary.c:
6697         * gst/gstregistryxml.c:
6698         * gst/gsttypefind.c:
6699           Use already-interned string for the private GstPluginFeature
6700           plugin_name field.
6701
6702 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6703
6704         * docs/libs/gstreamer-libs-sections.txt:
6705           Add new API to docs; fixes the build.
6706
6707 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
6708         
6709         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6710
6711         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6712         (gst_base_sink_event):
6713         * libs/gst/base/gstbasesink.h:
6714         Add function to wait for EOS, subclasses can use this to correctly wait
6715         for devices to drain before performing the EOS logic. Fixes #485343.
6716         API: gst_base_sink_wait_eos()
6717
6718 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6719
6720         * gst/gstplugin.h:
6721           Cast description string constants in GST_PLUGIN_DEFINE macros
6722           to a (gchar*) to make C++ code using these macros compile
6723           without warning with g++-4.2 (see #462737).  Even if slightly
6724           ugly, this seems preferable to putting the description strings
6725           into the GLib quark table or making the structure member a
6726           const gchar * and doing casts in core code that allocs and
6727           frees these strings, or requiring a cast in the C++ code.
6728
6729 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6730
6731         * gst/gstinfo.h:
6732           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6733           to print the entire class/function signature into the log
6734           file for C++ code.  This only affects C++ code, for C code
6735           everything remains the same.
6736
6737 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
6738
6739         * gst/gstbin.c: (remove_from_queue):
6740         Work around a problem with pipelines containing (semi)loops until a
6741         proper, more complicated solution is ready. See #475455.
6742
6743 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6744
6745         * gst/gstplugin.c:
6746         * gst/gstplugin.h:
6747         * gst/gstregistrybinary.c:
6748         * gst/gstregistryxml.c:
6749           Put more strings into the GLib quark table. No need to keep
6750           a hundred-something copies of identical version strings,
6751           license strings, package name strings and package origin
6752           strings around. 
6753
6754 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6755
6756         * docs/manual/advanced-dataaccess.xml:
6757           Don't imply that it's okay to unconditionally change
6758           buffer data or buffer metadata in a pad probe callback,
6759           and a bunch of other comments. Fixes #430031.
6760
6761 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6762
6763         * win32/common/gstenumtypes.c:
6764         * win32/common/gstenumtypes.h:
6765         * win32/common/gstversion.h:
6766           Update generated files.
6767
6768 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6769
6770         * docs/manual/advanced-autoplugging.xml:
6771           Prefix section with broken code with a warning (see #342432).
6772
6773 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6774
6775         * docs/manual/appendix-integration.xml:
6776         * docs/manual/basics-init.xml:
6777           Call g_thread_init() before g_option_context_new() to
6778           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6779
6780 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6781
6782         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6783         (gst_base_sink_queue_object_unlocked),
6784         (gst_base_sink_queue_object), (gst_base_sink_event),
6785         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6786         When we received EOS and are waiting for when to post the EOS message,
6787         our state is prerolled and we should not return ASYNC.
6788         Reorganize some code paths to implement this behavior.
6789
6790         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6791         (gst_sinks_suite):
6792         Add unit test to verify above EOS fix.
6793
6794 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6795
6796         * plugins/elements/gsttypefindelement.c:
6797         (gst_type_find_element_have_type), (gst_type_find_element_init),
6798         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6799         Move detecting the input caps of the sinkpad to the setcaps function.
6800         This allows us to update the output caps when we receive new input caps
6801         instead of always using the first detected caps.
6802
6803 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6804
6805         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6806         (gst_base_sink_get_position):
6807         Don't try to preroll non-async elements after a flush.
6808         Subtract latency form clock times when reporting position.
6809
6810 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6811
6812         * gst/gstpad.c: (gst_pad_pause_task):
6813         * gst/gstutils.c:
6814         Small comment and documentation update.
6815
6816 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6817
6818         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6819         (gst_base_src_set_live), (gst_base_src_is_live),
6820         (gst_base_src_query_latency), (gst_base_src_perform_seek),
6821         (gst_base_src_default_event), (gst_base_src_wait),
6822         (gst_base_src_do_sync), (gst_base_src_get_range),
6823         (gst_base_src_pad_get_range), (gst_base_src_loop),
6824         (gst_base_src_unlock), (gst_base_src_unlock_stop),
6825         (gst_base_src_set_flushing), (gst_base_src_set_playing),
6826         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6827         (gst_base_src_change_state):
6828         Rework the locking of basesrc in a similar fashion to basesink. We
6829         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6830         us to handle live sources and semi live ones much better.
6831         Simplify flushing.
6832         Fix unlocking when seeking, shutting down and pausing in live sources.
6833
6834 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6835
6836         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6837         Fix compilation again.
6838
6839 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6840
6841         * gst/gstelement.c:
6842           Use meaningful categories for the logs to clean the default one.
6843
6844 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6845
6846         * tests/check/pipelines/cleanup.c:
6847           Print message name and not just number.
6848
6849 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6850
6851         * docs/design/draft-tagreading.txt:
6852           Add some more thoughts.
6853
6854 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6855
6856         * tests/check/pipelines/simple-launch-lines.c:
6857           Print message name and not just number.
6858
6859 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6860
6861         * libs/gst/base/gsttypefindhelper.c:
6862           Speedup typefinding. This is work in progress (see #459862).
6863
6864 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6865
6866         * gst/gstplugin.c:
6867           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6868           Spotted by Josep Torra Valles <josep@fluendo.com>.
6869
6870 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
6871
6872         * gst/gstclock.h:
6873           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6874           field has moved to GstObject.
6875
6876 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
6877
6878         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6879         (gst_base_src_get_range), (gst_base_src_change_state):
6880         Call unlock for live sources so that they can't get stuck in _create and
6881         produce a buffer before they are set back to PLAYING.
6882
6883 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
6884
6885         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6886         (gst_queue_locked_dequeue):
6887         Comment the segment-related code... in the PROPER function.
6888         See #482147 and my commit from yesterday.
6889
6890 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
6891
6892         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6893         Also initialize the counter that calculates the first timestamp on a
6894         buffer correctly for non-live sources.
6895
6896 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
6897
6898         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6899         Disable code that's breaking the current-time-level reporting.
6900         See #482147
6901
6902 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
6903
6904         * docs/gst/gstreamer-sections.txt:
6905         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6906         as they shouldn't show up. Fixes the docs build.
6907
6908 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
6909         
6910         * gst/gstinfo.h:
6911         Add an explicit variable importation needed on VS6 (only for MSC_VER)
6912         Define M_PI which is used in files which are including gstinfo.h. 
6913         VS6 includes doesn't define it.
6914         * win32/common/libgstbase.def:
6915         * win32/common/libgstcontroller.def:
6916         * win32/common/libgstreamer.def:
6917         Add new exported functions and variables.
6918         * win32/vs6/libgstcontroller.dsp:
6919         * win32/vs6/libgstreamer.dsp:
6920         Update the list of files to build.
6921         
6922 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6923
6924         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6925
6926         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6927         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6928         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6929         Improve debugging. Fixes #480858.
6930
6931 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6932
6933         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6934
6935         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6936         First patch of code cleanups, use the macros and right arguments in the
6937         macros to signal and lock the queue. See #480858.
6938
6939 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
6940
6941         * gst/gstbus.c: (poll_func):
6942         Improve debugging when dealing with _poll().
6943
6944 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6945
6946         * gst/gstregistryxml.c:
6947           Fix memory leak I introduced a few days ago.
6948
6949 2007-09-26  Michael Smith <msmith@fluendo.com>
6950
6951         * gst/gstbuffer.c: (gst_buffer_finalize):
6952           Make it once again possible to free GstBuffers in the default
6953           build.
6954           The poisoning scribbles on parts of the miniobject we need in
6955           order to free it.
6956           Fixes #480341
6957
6958 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6959
6960         * docs/gst/gstreamer-sections.txt:
6961         * gst/gsttaglist.c:
6962         * gst/gsttaglist.h:
6963         API: add GST_TAG_COMPOSER, fixes #459809.
6964
6965 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
6966
6967         * gst/gstplugin.c:
6968         * gst/gstplugin.h:
6969         Add the 3-clause BSD license and the MIT/X11 license to the license
6970         list. Fixes #479784.
6971
6972 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6973
6974         * docs/faq/getting.xml:
6975           Add Q+A about different GStreamer versions (#364056).
6976
6977 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6978
6979         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6980         (gst_base_sink_event), (gst_base_sink_change_state):
6981         Return correct gboolean from query function.
6982
6983 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6984
6985         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6986         (gst_base_sink_event), (gst_base_sink_query),
6987         (gst_base_sink_change_state):
6988         Simplify latency query.
6989         When not synchronizing, we can report latency without querying the peer
6990         element.
6991
6992 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6993
6994         * gst/gstobject.h:
6995         * gst/gstvalue.c:
6996         Fix small typos in the docs.
6997
6998 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6999
7000         * docs/design/draft-latency.txt:
7001         * docs/design/draft-push-pull.txt:
7002         * docs/design/draft-tagreading.txt:
7003         * docs/design/part-MT-refcounting.txt:
7004         * docs/design/part-activation.txt:
7005         * docs/design/part-block.txt:
7006         * docs/design/part-element-source.txt:
7007         * docs/design/part-events.txt:
7008         * docs/design/part-gstbin.txt:
7009         * docs/design/part-gstelement.txt:
7010         * docs/design/part-gstobject.txt:
7011         * docs/design/part-gstpipeline.txt:
7012         * docs/design/part-messages.txt:
7013         * docs/design/part-preroll.txt:
7014         * docs/design/part-push-pull.txt:
7015         * docs/design/part-qos.txt:
7016         * docs/design/part-query.txt:
7017         * docs/design/part-scheduling.txt:
7018         * docs/design/part-seeking.txt:
7019         * docs/design/part-segments.txt:
7020         * docs/design/part-states.txt:
7021         Documentation updates and typo fixes.
7022
7023 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
7024
7025         * plugins/elements/gstfakesink.c:
7026           Add some debug text to error message to indicate that
7027           we errored out on request.
7028
7029         * tools/gst-launch.c:
7030           When the state change to PLAYING fails, check for an
7031           error message on the bus and print it.
7032
7033 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7034
7035         translated by: Jorge González González <aloriel@gmail.com>
7036
7037         * po/LINGUAS:
7038         * po/es.po:
7039           Added Spanish translation.
7040
7041 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
7042
7043         * plugins/elements/gstqueue.c: (gst_queue_push_one):
7044         Fix printf arguments.
7045
7046 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
7047
7048         * tests/check/generic/states.c:
7049           Improved state change unit test.
7050
7051 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
7052
7053         * gst/gstbin.h:
7054           Move priv to the right place.
7055
7056         * gst/gstsystemclock.c:
7057           Add FIXME: and improve log.
7058
7059         * tests/check/Makefile.am:
7060         * tests/examples/manual/Makefile.am:
7061           Work with all types of registries.
7062
7063 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
7064
7065         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
7066         Don't unref the event after pushing it. Fixes #478401.
7067
7068 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
7069
7070         * .cvsignore:
7071         * tests/examples/manual/.cvsignore:
7072           Ignore registries in any format.
7073
7074 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
7075
7076         * gst/glib-compat-private.h:
7077           Add compatibility macro for g_intern_string() for
7078           GLib-2.8 (any reason we can't just bump the
7079           requirement to at least 2.10?)
7080
7081         * gst/gstpadtemplate.h:
7082         * gst/gstelementfactory.c:
7083         * gst/gstregistryxml.c:
7084         * gst/gstregistrybinary.c:
7085           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
7086           up the internal code accordingly.  This shouldn't be a problem, since
7087           there is no reason external code could ever assume the string in such
7088           a structure is dynamically allocated unless it did that itself;  the
7089           use of g_strdup() is private to element factories.  The new code also
7090           saves some memory by putting pad template name strings into the GLib
7091           quark table instead of allocating them dynamically.
7092           Declaring this field constant fixes warnings with g++-4.2 when using
7093           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
7094
7095 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
7096
7097         * gst/gstelementfactory.c:
7098           Release static caps. Fixes #475723.
7099
7100 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
7101
7102         * gst/gstinfo.c:
7103         * gst/gstinfo.h:
7104           Make some internal API take const gchar * instead of just
7105           gchar * to avoid compiler warnings with g++-4.2.2 when
7106           passing string constants (partially fixes #478092).
7107
7108 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
7109
7110         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
7111         A latency query fails when one of the sinks fail.
7112
7113         * gst/gstelement.c: (gst_element_set_base_time):
7114         Improve debugging.
7115
7116 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
7117
7118         * gst/gstbin.c: (gst_bin_continue_func):
7119         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
7120         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
7121         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
7122
7123         Fix minor compilation warnings shown with Forte.
7124
7125 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
7126
7127         * plugins/elements/gstqueue.c: (apply_buffer),
7128         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
7129         Measure queue level based on the diff between head and tail timestamps
7130         even when pushing the first buffer.
7131
7132 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
7133
7134         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
7135         (gst_base_sink_event), (gst_base_sink_change_state):
7136         Sinks that don't preroll can always be queried for the latency.
7137         Don't post ASYNC start when we are not async.
7138
7139 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
7140
7141         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
7142         (gst_queue_handle_sink_event), (gst_queue_chain),
7143         (gst_queue_push_one), (gst_queue_handle_src_query),
7144         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
7145         * plugins/elements/gstqueue.h:
7146         When downstream returns UNEXPECTED from pushing a buffer, don't try to
7147         push more buffers but allow pushing of EOS and NEWSEGMENT.
7148         Add some more debug info here and there. Fixes #476514.
7149
7150 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
7151
7152         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7153         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
7154         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
7155         (gst_base_sink_set_flushing), (gst_base_sink_query),
7156         (gst_base_sink_change_state):
7157         Latency query is allowed after we are prerolled. Introduce a new flag
7158         for this and stop abusing other variables.
7159
7160 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
7161
7162         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
7163         Push OOB events downstream when we get them in send_event. This allows
7164         the application to insert events in the pipeline.
7165         Add some more comments.
7166
7167 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
7168
7169         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
7170         (do_bin_latency), (gst_bin_change_state_func):
7171         * gst/gstpipeline.c: (gst_pipeline_change_state):
7172         Move latency query from GstPipeline to GstBin so that we can also
7173         use it when async-handling is enabled on bins.
7174
7175 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
7176
7177         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7178         (gst_base_src_do_sync), (gst_base_src_change_state):
7179         Update docs.
7180         Clean up the timestamping and syncing code for pseudo live sources.
7181
7182 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
7183
7184         Patch by: Steve Fink  <sphink gmail com>
7185
7186         * docs/manual/appendix-checklist.xml:
7187           Mention less -R switch in the section about debug output (#474055).
7188
7189 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
7190
7191         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
7192         Queue can latency to the pipeline up to the configured max size in time.
7193         Report this fact in the latency query.
7194
7195 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
7196
7197         Patch by: Sebastien Moutte <sebastien at moutte dot net>
7198
7199         * libs/gst/controller/gstinterpolation.c:
7200         * libs/gst/controller/gstlfocontrolsource.c:
7201         Use gst_guint64_to_gdouble() when converting from a uint64 or
7202         GstClockTime to double to fix the build on win32. Fixes #474371.
7203
7204 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
7205
7206         * gst/gstbuffer.c: (gst_buffer_finalize):
7207         Implement poisoning for GstBuffer if --enable-poisoning is specified.
7208         When finalizing a buffer the complete struct is filled with 0xff,
7209         thus making a use of the buffer after the final unref impossible.
7210
7211 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
7212
7213         * tests/check/libs/controller.c: (GST_START_TEST):
7214         Use fail_unless_equals_int(a, b) instead of
7215         fail_unless_equals (a == b) to get better output on failures.
7216
7217 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
7218
7219         * tests/check/gst/gsturi.c:
7220           Also check for the other file URI variant on win32.
7221
7222 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
7223
7224         * gst/gsturi.c: (gst_uri_get_location):
7225           If there's no hostname, we want to return 'c:/foo/bar.txt'
7226           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
7227
7228         * tests/check/gst/gsturi.c:
7229           Unit test for the above and a few more things.
7230
7231 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
7232
7233         * docs/design/part-live-source.txt:
7234         Add docs on how live sources should timestamp.
7235
7236         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
7237         Add some more debug info.
7238         For subclasses that are live and like to sync, add aditional startup
7239         latency to sync time and timestamps so that we timstamp according to the
7240         design doc.
7241
7242 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
7243
7244         * gst/gstbuffer.c:
7245           Also do a g_type_class_ref() for the subbuffer type in
7246           the init function.
7247
7248 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
7249
7250         * docs/gst/gstreamer-sections.txt:
7251         * gst/gstpad.c: (gst_pad_peer_query):
7252         * gst/gstpad.h:
7253         Add function to perform a query on the peer of a pad.
7254         API: gst_pad_peer_query()
7255
7256 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
7257
7258         * tests/check/gst/gstsystemclock.c:
7259           Cleanup the test a little (use gst-logging and not g_message). Improve
7260           test to check if a wait reached the target.
7261
7262 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
7263
7264         * docs/libs/gstreamer-libs-sections.txt:
7265           Add new API to docs and fix the build.
7266
7267 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
7268
7269         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7270         (gst_base_src_init), (gst_base_src_set_do_timestamp),
7271         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
7272         (gst_base_src_get_property), (gst_base_src_do_sync):
7273         * libs/gst/base/gstbasesrc.h:
7274         Add property to make the basesrc timestamp buffers based on the current
7275         running time.
7276         API: GstBaseSrc::do-timestamp
7277         API: gst_base_src_set_do_timestamp()
7278         API: gst_base_src_get_do_timestamp()
7279
7280 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
7281
7282         * docs/random/release:
7283           Really make sure translations are up-to-date before
7284           a release (#465010).
7285
7286 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
7287
7288         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7289         Always destroy the timer, also in error cases.
7290
7291 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
7292
7293         * docs/manual/highlevel-xml.xml:
7294         Fix XML example code. Fixes #472714.
7295
7296 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
7297
7298         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
7299         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
7300         (gst_base_sink_query):
7301         Protect eos and have_preroll with the OBJECT lock so we don't need to
7302         take the PREROLL lock when querying the latency. Fixes #473846.
7303
7304 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
7305
7306         * gst/gstelement.c:
7307           Give some log-messages a category.
7308
7309 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
7310
7311         * gst/gststructure.c:
7312         (gst_structure_fixate_field_nearest_fraction):
7313         Fix fraction list fixation code. Take the fraction with the smallest
7314         difference with the target instead of the first one in the list.
7315
7316         * tests/check/gst/gststructure.c: (GST_START_TEST),
7317         (gst_structure_suite):
7318         Added test to verify correct fraction list fixation behaviour.
7319
7320 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
7321
7322         * win32/common/libgstreamer.def:
7323           Export gst_bus_add_signal_watch too.
7324
7325 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
7326
7327         * docs/libs/gstreamer-libs-sections.txt:
7328         Add new methods to docs.
7329
7330         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7331         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
7332         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
7333         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
7334         * libs/gst/base/gstbasesink.h:
7335         Add ts-offset property to fine-tune the synchronisation.
7336         API: GstBaseSink::ts-offset property
7337         API: gst_base_sink_set_ts_offset()
7338         API: gst_base_sink_get_ts_offset()
7339
7340 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
7341
7342         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7343         (gst_base_sink_init), (gst_base_sink_set_sync),
7344         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7345         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
7346         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
7347         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
7348         (gst_base_sink_get_property), (gst_base_sink_change_state):
7349         * libs/gst/base/gstbasesink.h:
7350         Add async property to instruct the sink never to inform the parent about
7351         ASYNC state changes, update docs.
7352         Check argument with g_return_* for the public functions.
7353         API: GstBaseSink::async property
7354         API: gst_base_sink_set_async_enabled()
7355         API: gst_base_sink_is_async_enabled()
7356
7357 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
7358
7359         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
7360         Improve debugging.
7361
7362         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7363         (gst_base_src_default_query), (gst_base_src_wait),
7364         (gst_base_src_do_sync), (gst_base_src_change_state):
7365         Rearrange some code so that we can add support for measuring the 
7366         startup latency.
7367
7368 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
7369
7370         * docs/random/ensonic/dynlink.txt:
7371           More thoughs on this.
7372
7373         * plugins/elements/gstcapsfilter.c:
7374           Add bugzilla ticket number to FIXME comment.
7375
7376 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
7377
7378         * docs/design/part-TODO.txt:
7379         * docs/design/part-block.txt:
7380         Update some docs.
7381
7382 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7383
7384         * gst/Makefile.am:
7385           Revert patch which uses $(gst_headers) instead of $^ because it
7386           breaks make dist.
7387
7388 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7389
7390         * tests/check/gst/gstbin.c: (GST_START_TEST):
7391           Fix leaks in the new unit test.
7392
7393 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
7394
7395         * gst/gst.c:
7396           Don't use GST_INFO before the debug system is actually initialised
7397           (shouldn't do any harm, but won't print anything either, so we can
7398           just as well remove it).
7399
7400         * gst/gstinfo.h:
7401           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
7402           compilers that don't support variadic macros (such as MSVC), should
7403           check for debug_level <= __gst_debug_min as well, since that's the
7404           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
7405           inline helper functions. Should improve performance a bit, but also
7406           makes sure uses of GST_INFO et.al are ignored if the debugging
7407           system isn't initialised yet (instead of printing an assertion
7408           failure).
7409
7410 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
7411
7412         patch by: David Nečas <yeti@physics.muni.cz>
7413
7414         * gst/Makefile.am:
7415           Replace some non portable makefile constructs.
7416
7417 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
7418
7419         * common/gtk-doc-plugins.mak:
7420           Grrrrr. Don't remove the types file on make clean.
7421
7422 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
7423
7424         * tools/gst-launch.1.in:
7425         Add colorspace to example pipeline. Fixes #458274.
7426
7427 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
7428
7429         * docs/random/release:
7430           The release manager should run 'make download-po' before making a
7431           release to make sure translations are up-to-date.
7432
7433         * po/LINGUAS:
7434         * po/be.po:
7435         * po/pl.po:
7436         * po/rw.po:
7437           Add some new translations.
7438
7439 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
7440
7441         * tools/gst-launch.c: (event_loop), (main):
7442         Don´t try to do any state management when a live pipeline posts
7443         buffering messages.
7444         Also make the buffering string translatable.
7445
7446 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7447
7448         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
7449         (bin_handle_async_start), (gst_bin_handle_message_func):
7450         Improve debugging.
7451         When adding elements, insert messages into the bus of the newly added
7452         element and make sure the element is the source of the message. This
7453         allows the parent bin to intercept the message and do the
7454         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
7455         messages to the app (which is not allowed).
7456         Update some docs.
7457
7458         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7459         Fix testsuite so that is does not work around messages that should not
7460         have been posted in the first place.
7461
7462 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7463
7464         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
7465         (update_degree), (gst_bin_sort_iterator_next):
7466         Fix annoying bug in the sorted iterator where a sink that is not really
7467         a sink (when it has downstream links) screwed up the iterator.
7468
7469         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7470         Unit test to verify the fix.
7471
7472 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7473
7474         * gst/gstmessage.h:
7475         Add some more docs for the messages.
7476
7477         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7478         (gst_base_sink_query):
7479         Add some more debugging.
7480
7481         * tools/gst-launch.c: (event_loop):
7482         When interrupting, don't try to set pipeline to PAUSED twice.
7483
7484 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7485
7486         
7487         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
7488         (bin_handle_async_start), (gst_bin_handle_message_func):
7489         Move ASYNC_START message posting to where it belongs, similar to
7490         async_done. 
7491         Don't post ASYNC_START when we are in error. 
7492         Post ASYNC_START when we added an async element to a bin.
7493
7494 2007-08-14  Julien MOUTTE  <julien@moutte.net>
7495
7496         * gst/gstindex.c: (gst_index_add_association): Fix index entry
7497         generation from vargs. Fixes #466595.
7498
7499 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7500
7501         * gst/gstbin.c: (gst_bin_element_set_state):
7502         Always change the state of a NO_PREROLL element even if it has ASYNC
7503         elements inside (in case of a bin).
7504
7505         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
7506         Unit test for this case.
7507
7508 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
7509
7510         * libs/gst/check/gstbufferstraw.c:
7511         * libs/gst/check/gstcheck.h:
7512         * libs/gst/controller/gstcontroller.c:
7513         * libs/gst/controller/gstcontrolsource.h:
7514         * libs/gst/controller/gstlfocontrolsource.h:
7515         * plugins/elements/gstcapsfilter.h:
7516         * plugins/elements/gstfdsink.h:
7517         * plugins/elements/gstfdsrc.h:
7518           Add more missing docs.
7519
7520 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7521
7522         * gst/gststructure.c:
7523         Add Since tag to docs.
7524
7525 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7526
7527         * docs/gst/gstreamer-sections.txt:
7528         * gst/gststructure.c: (gst_structure_get_uint):
7529         * gst/gststructure.h:
7530         Add function to get uint from a structure.
7531         API: gst_structure_get_uint()
7532
7533 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7534
7535         * gst/gstcaps.c: (gst_caps_set_simple_valist),
7536         (gst_caps_intersect):
7537         Fix proper check for simple caps.
7538
7539 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
7540
7541         * docs/gst/Makefile.am:
7542         * docs/libs/Makefile.am:
7543           Remove cruft and do some cleanups.
7544
7545         * docs/gst/gstreamer-docs.sgml:
7546         * docs/libs/gstreamer-libs-docs.sgml:
7547           Prepare for comming gtkdoc features (rebase against online docs).
7548
7549 2007-08-10  Michael Smith <msmith@fluendo.com>
7550
7551         * docs/gst/gstreamer-sections.txt:
7552           Add gst_registry_add_path to docs.
7553
7554 2007-08-10  Michael Smith <msmith@fluendo.com>
7555
7556         * gst/gstregistry.h:
7557           Add gst_registry_add_path, which was missing from this header.
7558
7559 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7560
7561         * libs/gst/controller/gstlfocontrolsource.c:
7562           Printf format fix.
7563
7564 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7565
7566         * libs/gst/base/gstbasesink.c:
7567           Don't send an async_start message during downwards state change if 
7568           target state is less than READY
7569
7570 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7571
7572         translated by: Gabor Kelemen <kelemeng@gnome.hu>
7573
7574         * po/LINGUAS:
7575         * po/hu.po:
7576           Added Hungarian translation.
7577
7578 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7579
7580         * po/fi.po:
7581         * po/it.po:
7582         * po/nl.po:
7583         * po/sv.po:
7584         * po/uk.po:
7585           Updated translations.
7586
7587 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7588
7589         * libs/gst/controller/Makefile.am:
7590         Dist gstlfocontrolsourceprivate.h
7591
7592 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7593
7594         * docs/libs/gstreamer-libs.types:
7595         Don't register the enum type gst_lfo_waveform_get_type() in the
7596         .types file - only GObject derived types belong.
7597
7598 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7599
7600         Patch by: <arenevier at fdn dot fr>
7601
7602         * gst/gstbuffer.h:
7603         Remove comma from last element in enum to avoid compile errors when
7604         using -pendantic. Fixes #464366.
7605
7606 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7607
7608         * docs/design/part-TODO.txt:
7609         Add some more TODO items
7610
7611         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7612         Improve debugging.
7613
7614         * gst/gstcaps.c: (gst_caps_intersect):
7615         Optimize trivial intersection case between identical caps pointers.
7616
7617         * gst/gstelement.c: (gst_element_continue_state),
7618         (gst_element_set_state_func):
7619         * gst/gstpad.c:
7620         Fix spelling and grammar mistakes.
7621
7622 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
7623
7624         * po/POTFILES.in:
7625         * po/POTFILES.skip:
7626           Update POTFILES. Fixes #461599.
7627
7628 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7629
7630         * gst/gst.c:
7631         Fix confusing typo in debug output.
7632
7633 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7634
7635         reviewed by: Stefan Kost <ensonic@users.sf.net>
7636
7637         * libs/gst/controller/Makefile.am:
7638         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7639         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7640         (gst_lfo_control_source_new),
7641         (gst_lfo_control_source_set_waveform),
7642         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7643         (gst_lfo_control_source_finalize),
7644         (gst_lfo_control_source_dispose),
7645         (gst_lfo_control_source_set_property),
7646         (gst_lfo_control_source_get_property),
7647         (gst_lfo_control_source_class_init):
7648         * libs/gst/controller/gstlfocontrolsource.h:
7649         * libs/gst/controller/gstlfocontrolsourceprivate.h:
7650         API: Add GstLFOControlSource, a control source that gives values
7651         for specific timestamps based on several periodic waveforms.
7652         Fixes #459717.
7653
7654         * tests/check/libs/controller.c: (GST_START_TEST),
7655         (gst_controller_suite):
7656         * docs/libs/gstreamer-libs-docs.sgml:
7657         * docs/libs/gstreamer-libs-sections.txt:
7658         * docs/libs/gstreamer-libs.types:
7659         Add documentation and unit tests for GstLFOControlSource.
7660
7661 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
7662
7663         * configure.ac:
7664         Back to CVS
7665
7666 === release 0.10.14 ===
7667
7668 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
7669
7670         * configure.ac:
7671           releasing 0.10.14, "Breathing Vacuum"
7672
7673 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
7674
7675         * gst/gstelement.c: (gst_element_class_set_details_simple):
7676         * gst/gstelement.h:
7677           Make strings passed to gst_element_class_set_details_simple()
7678           constant, as they should be (#462752).
7679
7680 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
7681
7682         * gst/gstbin.c: (gst_bin_change_state_func),
7683         (bin_handle_async_done), (gst_bin_handle_message_func):
7684         Don't forget about the fact that some element went ASYNC even after a
7685         resync. This makes us post the ASYNC_DONE message correctly.
7686         Fixes #462558.
7687
7688 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7689
7690         * gst/gstregistry.c: (gst_registry_add_feature):
7691         When replacing an existing feature in the registry, make sure to
7692         continue holding a reference until we've replaced the name string
7693         within our feature hash table. Make sure to use g_hash_table_replace
7694         instead of g_hash_table_insert to ensure the new name string is used
7695         as a key instead of the old one that we're about to free.
7696         Fixes: #462085
7697
7698 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7699
7700         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7701         (gst_plugin_feature_set_name):
7702         Revert patch from #459466 until after the release and we can work
7703         out exactly what the problem is (if any).
7704
7705 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7706
7707         * docs/gst/gstreamer-sections.txt:
7708         * gst/gsttaglist.c:
7709         * gst/gsttaglist.h:
7710           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7711
7712 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7713
7714         * docs/libs/Makefile.am:
7715         Include our build-prefix libs and includes before the generic ones to
7716         avoid linking against the installed libs when we want the build-tree
7717         ones.
7718
7719 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7720
7721         Patch by: Steve Fink  <sphink gmail com>
7722
7723         * docs/pwg/building-testapp.xml:
7724           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7725           if people try to build or install the example from the plugin
7726           template against a GStreamer from package using the configure
7727           defaults.
7728
7729 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
7730
7731         Patch by: Steve Fink  <sphink gmail com>
7732
7733         * tools/gst-inspect.1.in:
7734           Document --print-all and --print-plugin-auto-install-info command
7735           line options in man page.
7736
7737 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7738
7739         * docs/gst/gstreamer-sections.txt:
7740         Add docs for new api function.
7741
7742 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7743
7744         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7745         * gst/gstelementfactory.h:
7746         API: gst_element_factory_has_interface()
7747         Added method to check if an element factory implements a named
7748         interface.
7749
7750 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
7751
7752         * configure.ac:
7753         * docs/gst/gstreamer.types.in:
7754           Another conditional doc check.
7755
7756         * gst/gstmessage.c:
7757         * gst/gstparamspecs.h:
7758         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7759         * gst/gstvalue.c:
7760         * gst/gstxml.h:
7761           API-doc fixes.
7762
7763 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7764
7765         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7766         (gst_registry_binary_load_feature),
7767         (gst_registry_binary_load_plugin),
7768         (gst_registry_binary_read_cache):
7769           Print error just once and with additional info.
7770
7771 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7772
7773         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7774         (helper_find_suggest), (helper_find_get_length),
7775         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7776         (gst_type_find_helper_for_buffer):
7777           Cleanup the typefindhelper code and add private doc comments.
7778
7779 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
7780
7781         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7782         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7783         Fix capsfilter for cases where the caps set on capsfilter will provide
7784         additional information.
7785         Fixes #449197
7786
7787 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7788
7789         * gst/gsttypefindfactory.c:
7790           Fix docs that recommened wrong function to use.
7791
7792 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7793
7794         * tools/gst-inspect.c: (print_plugin_features):
7795           Also give media-type for typefinders in element output.
7796
7797 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7798
7799         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7800         (gst_registry_remove_features_for_plugin_unlocked),
7801         (gst_registry_add_feature), (gst_registry_remove_feature),
7802         (gst_registry_lookup_feature_locked):
7803         * gst/gstregistry.h:
7804           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7805           Fixes #459501.
7806
7807 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7808
7809         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7810         (gst_plugin_feature_set_name):
7811           Avoid double memory usage for pluginfeature names. Fixes #459466.
7812
7813 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7814
7815         * gst/gstpad.h:
7816           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7817           driving the pipeline may need to explicitly check for NOT_LINKED as
7818           well, since IS_FATAL doesn't cover that.
7819
7820 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7821
7822         * docs/pwg/advanced-types.xml:
7823           Fix typo and duplicate entry in video formats list.
7824
7825 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
7826
7827         * libs/gst/controller/gstinterpolation.c:
7828         Also round to the nearest int when using cubic interpolation.
7829
7830 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
7831
7832         * libs/gst/controller/gstinterpolation.c:
7833         When linearly interpolating integer types, round to the nearest int
7834         by adding 0.5. Don't do it for float/double types.
7835         Fixes the failing controller test on my machine, which is somehow
7836         rounding differently than on the buildbots.
7837
7838 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7839
7840         * tools/gst-plot-timeline.py:
7841           Better log parsing (categories can have -). Adjust text vs. lines, so
7842           that they span the same y-range.        
7843
7844 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7845
7846         * docs/random/ensonic/audiobaseclasses.txt:
7847         * docs/random/ensonic/dynlink.txt:
7848         * docs/random/ensonic/profiling.txt:
7849           Save my thoughts.
7850
7851         * docs/random/moving-plugins:
7852           Add note to use g_assert type macros.
7853
7854 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7855
7856         * configure.ac:
7857         * libs/gst/check/Makefile.am:
7858           Add libm check as we use in for plugins.
7859
7860 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
7861
7862         * gst/gstbin.c: (gst_bin_continue_func):
7863         Check that the state_cookie hasn't changed since the continue_func
7864         was scheduled. Avoids problems where the state changes back to
7865         something it shouldn't be because it was changed in the meantime.
7866
7867 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
7868
7869         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7870         (gst_registry_binary_save_string),
7871         (gst_registry_binary_save_pad_template),
7872         (gst_registry_binary_save_feature),
7873         (gst_registry_binary_save_plugin),
7874         (gst_registry_binary_load_feature),
7875         (gst_registry_binary_load_plugin),
7876         (gst_registry_binary_read_cache):
7877           Fix memory leak. Be less verbose in the log.
7878
7879 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7880
7881         * tests/check/elements/.cvsignore:
7882         Add file to cvsignore as commanded.
7883
7884 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7885
7886         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7887         (mq_dummypad_event), (run_output_order_test):
7888         Use a GStaticMutex to protect all cases where libcheck
7889         fail_if/fail_unless macros might be called from multiple threads
7890         simultaneously to avoid errors like:
7891           "check_pack.c:107: :-1081725400:Bad message type arg"
7892
7893 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7894
7895         * tests/check/pipelines/stress.c: (GST_START_TEST):
7896         Make sure we set the pipeline back to the NULL state before
7897         dropping our final reference.
7898
7899 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7900
7901         * tests/check/elements/tee.c: (GST_START_TEST):
7902         Make the tee stress-test a little less stressful so it doesn't just
7903         time out on slow-machines, and remove a small race when it's starting 
7904         up by adding a get_state() call.
7905
7906 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
7907
7908         * gst/gst.c:
7909           Avoid reading registry twice on startup. Fixes #457322.
7910
7911 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7912
7913         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7914         * pkgconfig/gstreamer-check.pc.in:
7915         Substitute the CFLAGS for libcheck into our .pc file too so that
7916         dependent modules will pick it up properly if libcheck is installed
7917         into some other prefix.
7918
7919 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7920
7921         * configure.ac:
7922         Revert the pkg-config check for libcheck, since it pulls in the
7923         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7924         a proper solution, either from the check project, or something else.
7925
7926 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
7927
7928         * configure.ac:
7929           Use pkg-config to locate check.
7930
7931 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
7932
7933         * gst/gsttaglist.c:
7934           Fix doc syntax.
7935
7936         * gst/gstutils.c:
7937         * gst/gstutils.h:
7938           Add deprecation guards.
7939
7940         * libs/gst/base/gstcollectpads.h:
7941           Don't document object (this is implicitly private).
7942
7943 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
7944
7945         * gst/gststructure.c: (gst_structure_parse_value):
7946           When deserialising foo=bar without a type cast, check if it's a
7947           boolean before falling back to a string type, otherwise things like
7948           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7949           because the filtercaps end up having a signed=(string)true field,
7950           which causes problems later when intersection caps.
7951
7952         * tests/check/gst/gststructure.c: (GST_START_TEST):
7953           Add a unit test for this.
7954
7955 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
7956
7957         Reviewed by: Stefan Kost <ensonic@users.sf.net>
7958
7959         * libs/gst/controller/Makefile.am:
7960         * libs/gst/controller/gstcontroller.c:
7961         (gst_controlled_property_add_interpolation_control_source),
7962         (gst_controlled_property_new), (gst_controlled_property_free),
7963         (gst_controller_find_controlled_property),
7964         (gst_controller_new_valist), (gst_controller_new_list),
7965         (gst_controller_new), (gst_controller_remove_properties_valist),
7966         (gst_controller_remove_properties_list),
7967         (gst_controller_remove_properties),
7968         (gst_controller_set_property_disabled),
7969         (gst_controller_set_disabled), (gst_controller_set_control_source),
7970         (gst_controller_get_control_source), (gst_controller_get),
7971         (gst_controller_sync_values), (gst_controller_get_value_array),
7972         (_gst_controller_dispose), (gst_controller_get_type),
7973         (gst_controlled_property_set_interpolation_mode),
7974         (gst_controller_set), (gst_controller_set_from_list),
7975         (gst_controller_unset), (gst_controller_unset_all),
7976         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7977         * libs/gst/controller/gstcontroller.h:
7978         * libs/gst/controller/gstcontrollerprivate.h:
7979         * libs/gst/controller/gstcontrolsource.c:
7980         (gst_control_source_class_init), (gst_control_source_init),
7981         (gst_control_source_get_value),
7982         (gst_control_source_get_value_array), (gst_control_source_bind):
7983         * libs/gst/controller/gstcontrolsource.h:
7984         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7985         (gst_object_get_control_source):
7986         * libs/gst/controller/gstinterpolation.c:
7987         (gst_interpolation_control_source_find_control_point_node),
7988         (gst_interpolation_control_source_get_first_value),
7989         (_interpolate_none_get), (interpolate_none_get),
7990         (interpolate_none_get_boolean_value_array),
7991         (interpolate_none_get_enum_value_array),
7992         (interpolate_none_get_string_value_array),
7993         (_interpolate_trigger_get), (interpolate_trigger_get),
7994         (interpolate_trigger_get_boolean_value_array),
7995         (interpolate_trigger_get_enum_value_array),
7996         (interpolate_trigger_get_string_value_array):
7997         * libs/gst/controller/gstinterpolationcontrolsource.c:
7998         (gst_control_point_free), (gst_interpolation_control_source_reset),
7999         (gst_interpolation_control_source_new),
8000         (gst_interpolation_control_source_set_interpolation_mode),
8001         (gst_interpolation_control_source_bind),
8002         (gst_control_point_compare), (gst_control_point_find),
8003         (gst_interpolation_control_source_set_internal),
8004         (gst_interpolation_control_source_set),
8005         (gst_interpolation_control_source_set_from_list),
8006         (gst_interpolation_control_source_unset),
8007         (gst_interpolation_control_source_unset_all),
8008         (gst_interpolation_control_source_get_all),
8009         (gst_interpolation_control_source_get_count),
8010         (gst_interpolation_control_source_init),
8011         (gst_interpolation_control_source_finalize),
8012         (gst_interpolation_control_source_dispose),
8013         (gst_interpolation_control_source_class_init):
8014         * libs/gst/controller/gstinterpolationcontrolsource.h:
8015         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
8016         API: Refactor GstController into the core controller which can take
8017         a GstControlSource for providing actual values for timestamps.
8018         Implement a interpolation control source and use this for backward
8019         compatibility, deprecate a bunch of functions that are now handled
8020         by GstControlSource or GstInterpolationControlSource.
8021         Make it possible to disable the controller completely or only for
8022         specific properties. Fixes #450711.
8023         * docs/libs/gstreamer-libs-docs.sgml:
8024         * docs/libs/gstreamer-libs-sections.txt:
8025         * docs/libs/gstreamer-libs.types:
8026         Add new functions and classes to the docs.
8027         * tests/check/libs/controller.c: (GST_START_TEST),
8028         (gst_controller_suite):
8029         * tests/examples/controller/audio-example.c: (main):
8030         Port unit test and example to the new API and add some new
8031         unit tests.
8032
8033 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
8034
8035         Patch by: Mark Nauwelaerts <manauw at skynet be>
8036
8037         * plugins/elements/gstmultiqueue.c:
8038         (gst_multi_queue_get_internal_links), (apply_buffer),
8039         (single_queue_overrun_cb), (gst_single_queue_new):
8040         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
8041         the pipeline layout can be tracked correctly. Fixes #453732.
8042
8043 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
8044
8045         * docs/gst/Makefile.am:
8046         * docs/libs/Makefile.am:
8047         * docs/plugins/Makefile.am:
8048           Simplify --extra-dir as gtkdoc scans recursively.
8049
8050 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
8051
8052         * tools/gst-launch.c: (main):
8053         When we got an error, there is no point in waiting for preroll when
8054         shutting down.
8055
8056 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
8057
8058         * plugins/elements/gsttee.c: (gst_tee_base_init),
8059         (gst_tee_request_new_pad), (gst_tee_release_pad),
8060         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
8061         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
8062         (gst_tee_chain):
8063         Be a lot smarter when deciding what srcpad to use for proxying
8064         the buffer_alloc. Also handle pad added/removed when doing so.
8065         Fixes #357959.
8066         Keep track of what pads we already pushed on in case we have pads
8067         added/removed while pushing. Fixes #374639 
8068
8069         * tests/check/Makefile.am:
8070         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
8071         (tee_suite):
8072         Added unit test for pad resync.
8073
8074 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8075
8076         * po/nl.po:
8077         * po/sv.po:
8078           Updated translations.
8079
8080 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8081
8082         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
8083
8084         * po/LINGUAS:
8085         * po/fi.po:
8086           Added new Finnish translation.
8087
8088 2007-06-28  Wim Taymans  <wim@fluendo.com>
8089
8090         * plugins/elements/gstmultiqueue.c: (apply_buffer),
8091         (single_queue_overrun_cb):
8092         When figuring out when a queue is filled, use our internal time estimate
8093         based on segments, just like check_full does.
8094
8095 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
8096
8097         * gst/gstminiobject.c: (gst_mini_object_get_type):
8098           Remove 3 do-nothing methods.
8099
8100 2007-06-27  Wim Taymans  <wim@fluendo.com>
8101
8102         Patch by: Tim Angus <tim at ngus dot net>
8103
8104         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
8105         (gst_capsfilter_set_property):
8106         Take a reference instead of a copy when setting "caps".
8107         Fix documentation to clarify this behaviour. Fixes #449414.
8108
8109 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
8110
8111         * gst/gstindexfactory.c: (gst_index_factory_get_type):
8112         * gst/gstplugin.c: (gst_plugin_init):
8113         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
8114         * gst/gstquery.c: (gst_query_get_type):
8115         * gst/gstregistry.c: (gst_registry_init):
8116         * gst/gsturi.c: (gst_uri_handler_base_init):
8117           Remove empty instance_init() functions to save relocs and lessen the
8118           noise. Remove some of the function prototypes that are doubled by
8119           G_DEFINE_TYPE.
8120           
8121 2007-06-27  Wim Taymans  <wim@fluendo.com>
8122
8123         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
8124
8125         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
8126         Add peer and direction in the XML serialisation of ghostpads.
8127         Fixes #449226.
8128
8129 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
8130
8131         * configure.ac:
8132           Preserve useful information, thanks Tim.
8133
8134 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
8135
8136         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
8137         (gst_single_queue_flush), (apply_segment), (apply_buffer),
8138         (gst_single_queue_push_one), (gst_multi_queue_loop),
8139         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8140         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
8141         (compute_high_id), (gst_single_queue_new):
8142         * plugins/elements/gstmultiqueue.h:
8143         Take the multiqueue lock when updating the fill level so we don't get
8144         confused. 
8145
8146         After applying a buffer or event on the src pad segment, make sure to
8147         call gst_data_queue_limits_changed() to get the data queue to unblock
8148         and check the filled state again.
8149         
8150         Rework the not-linked pad handling so the logic is that not-linked 
8151         pads can push as fast as they like, but only so they never get 
8152         ahead of any linked pads.
8153
8154         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
8155         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
8156         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
8157
8158         Add a test to check that not-linked pads always stay behind
8159         linked pads.
8160
8161         Fixes: #430682
8162
8163 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
8164
8165         * docs/random/release:
8166           Some updates to the release procedure.
8167
8168 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
8169
8170         * gst/gstelementfactory.c: (__gst_element_details_clear):
8171           Microoptimization that saves stunning 80 bytes.
8172
8173 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
8174
8175         * docs/plugins/gstreamer-plugins.args:
8176         * docs/plugins/inspect/plugin-coreelements.xml:
8177         * docs/plugins/inspect/plugin-coreindexers.xml:
8178           Update docs with caps info.
8179
8180 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8181
8182         * po/it.po:
8183           Updated Italian translation.
8184
8185 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8186
8187         * ChangeLog:
8188         * po/vi.po:
8189           Update Vietnamese translations.
8190
8191 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8192
8193         * libs/gst/base/gstbasesink.c:
8194           Remove unused signal enum.
8195
8196 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
8197
8198         * docs/gst/gstreamer-sections.txt:
8199         * gst/gstelement.c:
8200         * gst/gstutils.c: (gst_type_register_static_full):
8201         Beef up and include the docs for gst_type_register_static_full and
8202         gst_element_class_set_details_simple and add the API keyword
8203         in the ChangeLog.
8204
8205 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
8206
8207         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
8208         (update_time_level), (gst_single_queue_push_one),
8209         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
8210         (single_queue_overrun_cb), (single_queue_underrun_cb),
8211         (single_queue_check_full):
8212         Fix setting max-* properties after adding queues.
8213         Use IS_FILLED for checking visible items.
8214         Signal overrun if multiple queues overrun.
8215         Add extra debug output.
8216         Patch by: Wim Taymans <wim@fluendo.com>
8217
8218 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
8219
8220         * gst/gstelement.c: (gst_element_class_set_details_simple):
8221         * gst/gstelement.h:
8222         * gst/gstutils.c: (gst_type_register_static_full):
8223         * gst/gstutils.h:
8224         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
8225         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
8226         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
8227         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
8228         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
8229         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
8230         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
8231         * plugins/elements/gstidentity.c: (gst_identity_base_init):
8232         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
8233         * plugins/elements/gstqueue.c: (gst_queue_base_init),
8234         (apply_buffer), (gst_queue_chain):
8235         * plugins/elements/gsttee.c: (gst_tee_base_init):
8236         * plugins/elements/gsttypefindelement.c:
8237         (gst_type_find_element_base_init),
8238         (gst_type_find_element_class_init):
8239           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
8240           API: add gst_type_register_static_full
8241           API: add gst_element_class_set_details_simple
8242
8243 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8244
8245         * docs/pwg/advanced-types.xml:
8246           Fix typo in iana.org URI.
8247
8248 2007-06-19  Andy Wingo  <wingo@pobox.com>
8249
8250         * tests/check/pipelines/simple-launch-lines.c
8251         (test_state_change_returns): Enable pull-mode tests now that
8252         basesink has been fixed.
8253
8254         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
8255         Changed from gst_base_sink_is_prerolled, reversing the sense of
8256         the return value. Returns FALSE also if the sink is in pull mode,
8257         in which case it needs no preroll.
8258         (gst_base_sink_query, gst_base_sink_change_state): Update for
8259         needs_preroll change.
8260         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
8261         chaining up, in which we return SUCCESS directly if we activated
8262         in pull mode instead of ASYNC. Involves countering an async_start
8263         message sent before chaining up; not sure if this is correct, in
8264         an ideal world we only send async-start when activating in push
8265         mode.
8266
8267         * tests/check/pipelines/simple-launch-lines.c
8268         (test_state_change_returns): New test, partially disabled until
8269         basesink is fixed.
8270
8271 2007-06-19  Wim Taymans  <wim@fluendo.com>
8272
8273         * plugins/elements/gstmultiqueue.c: (apply_buffer),
8274         (gst_multi_queue_sink_event):
8275         Fix event leak.
8276
8277 2007-06-19  Wim Taymans  <wim@fluendo.com>
8278
8279         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8280         (gst_bin_change_state_func), (bin_push_state_continue),
8281         (bin_handle_async_start), (bin_handle_async_done),
8282         (gst_bin_handle_message_func):
8283         Move the common code for posting state-change messages into
8284         one function.
8285         Broadcast the state signal after we posted the messages.
8286         Mark the bin as busy when it's doing a state-change.
8287         Make sure async-start/done messages don't interfere with the bin's
8288         state when it's busy.
8289         After the state change, let the bin check which elements completed the
8290         state change while it was busy so that it can update its state.
8291
8292 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
8293
8294         * docs/random/release:
8295         Add a note about updating the doap file to the release checklist
8296
8297 2007-06-18  Wim Taymans  <wim@fluendo.com>
8298
8299         * plugins/elements/gstmultiqueue.c: (apply_buffer),
8300         (gst_single_queue_push_one), (gst_multi_queue_chain),
8301         (gst_multi_queue_sink_event):
8302         Make sure we don't reference the buffer/event after we have given away
8303         ownership in the queue.
8304
8305 2007-06-18  Wim Taymans  <wim@fluendo.com>
8306
8307         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8308         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
8309         Update queue state _after_ adding the item in the queue because else we
8310         could end up being full without the element added yet.
8311
8312 2007-06-18  Wim Taymans  <wim@fluendo.com>
8313
8314         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
8315         (gst_bin_remove_func), (gst_bin_get_state_func),
8316         (gst_bin_element_set_state), (gst_bin_continue_func),
8317         (bin_push_state_continue), (bin_handle_async_start),
8318         (bin_handle_async_done), (gst_bin_handle_message_func):
8319         * gst/gstbin.h:
8320         Immediatly commit the toplevel bin state when receiving an async-done
8321         message. This enables us to avoid spawning a thread to commit the state
8322         in some common cases and it also avoids some races.
8323         Avoid spawning a state thread when adding/removing async elements to a
8324         toplevel bin. Instead we immediatly update the bin state.
8325         Get rid of iterating all the children when getting the state in the bin
8326         because it is now always up-to-date.
8327         Fix bug where locked elements would always return _SUCCESS even it they
8328         returned NO_PREROLL before being locked.
8329         Fix the order of the state_change, async-start/done messages that was
8330         sometimes incorrect.
8331         Mark the state_dirty field as deprecated, we don't need it anymore as we
8332         are always up-to-date.
8333
8334         * gst/gstelement.c: (gst_element_get_state_func),
8335         (gst_element_continue_state):
8336         Small debug inprovements.
8337         Return the previous element state return when nothing is pending instead
8338         of blindly returning SUCCESS.
8339
8340         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
8341         (gst_sinks_suite):
8342         Add a whole bunch of new testcases.
8343
8344 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8345
8346         * po/uk.po:
8347         * po/vi.po:
8348           Update translations.
8349
8350 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
8351
8352         * gst/gstpad.c:
8353         Fix typo in the docs.
8354
8355 2007-06-15  Wim Taymans  <wim@fluendo.com>
8356
8357         * docs/libs/gstreamer-libs-sections.txt:
8358         Add docs for new methods.
8359
8360 2007-06-15  Wim Taymans  <wim@fluendo.com>
8361
8362         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
8363         (gst_multi_queue_item_new):
8364         Don't use GSlice because we don't depend on >= 2.10 yet.
8365
8366 2007-06-15  Wim Taymans  <wim@fluendo.com>
8367
8368         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8369         (update_time_level), (apply_segment), (apply_buffer),
8370         (gst_single_queue_push_one), (gst_multi_queue_item_new),
8371         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
8372         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
8373         (single_queue_underrun_cb), (single_queue_check_full):
8374         Remove debug printf.
8375
8376 2007-06-15  Wim Taymans  <wim@fluendo.com>
8377
8378         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
8379         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
8380         (gst_data_queue_set_flushing), (gst_data_queue_push),
8381         (gst_data_queue_pop), (gst_data_queue_drop_head),
8382         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
8383         * libs/gst/base/gstdataqueue.h:
8384         Various cleanups.
8385         Added methods to get the current levels and to inform the queue that the
8386         'full' limits changed.
8387
8388         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
8389         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
8390         (gst_single_queue_flush), (update_time_level), (apply_segment),
8391         (apply_buffer), (gst_single_queue_push_one),
8392         (gst_multi_queue_item_steal_object),
8393         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
8394         (gst_multi_queue_loop), (gst_multi_queue_chain),
8395         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8396         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
8397         (gst_multi_queue_src_query), (single_queue_overrun_cb),
8398         (single_queue_underrun_cb), (single_queue_check_full),
8399         (gst_single_queue_new):
8400         Keep track of time in the queue by measuring the difference between
8401         running_time on input and output. This gives more accurate results and
8402         can compensate for segments correctly.
8403         Make a queue by default only 5 buffers deep. We will now increase the
8404         buffer size depending on the filledness of the other queues.
8405         Factor out commong flush code.
8406         Make sure we don't add additional refcounts to buffers when we can avoid
8407         it.
8408         Propagate GstFlowReturn differently.
8409         Use GSlice for intermediate GstMultiQueueItems.
8410         Keep track of EOS.
8411         Resize queues on over and underruns based on filled level of other
8412         queues.
8413         When checking if the queue is filled, prefer to measure in time if we
8414         can and fall back to bytes when no time is known.
8415
8416         * plugins/elements/gstqueue.c:
8417         Fix return value.
8418
8419 2007-06-15  Wim Taymans  <wim@fluendo.com>
8420
8421         * libs/gst/base/gstbasetransform.c:
8422         (gst_base_transform_sink_event):
8423         Work around the brokenness of the event vmethod in basetransform. Prefer
8424         to return TRUE when the subclass returned FALSE (meaning don't forward
8425         the event). 
8426
8427         * libs/gst/base/gstbasetransform.h:
8428         Clarify the docs.
8429
8430 2007-06-15  Wim Taymans  <wim@fluendo.com>
8431
8432         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
8433         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8434         (gst_base_src_default_query), (gst_base_src_get_range),
8435         (gst_base_src_start):
8436         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
8437         Improve debugging.
8438
8439 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8440
8441         * docs/pwg/advanced-types.xml:
8442           Added more formats to caps table.
8443
8444 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8445
8446         * tools/gst-launch.c: (main):
8447           Remove crufy code. GOption does not need this workaround.
8448
8449 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8450
8451         * libs/gst/controller/gstcontroller.c:
8452         (gst_controlled_property_set_interpolation_mode):
8453           Fix wrong getter for enums in controller.
8454
8455 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8456
8457         * libs/gst/check/gstcheck.c: (gst_check_init):
8458           Intercept criticals and warnings in the Gst-Phonon log domain, so
8459           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
8460           well.
8461         
8462 2007-06-14  Edward Hervey  <edward@fluendo.com>
8463
8464         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
8465         Since this file doesn't include "gst.h" it will not go through the
8466         macros that disable GST_LOG if debugging was disabled.
8467
8468 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8469
8470         * libs/gst/check/Makefile.am:
8471         * libs/gst/check/gstcheck.h:
8472         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8473         * pkgconfig/gstreamer-check.pc.in:
8474           Ugly 'fix' for the controller unit test on the p5 bot: in
8475           fail_unless_equals_float() check whether the values are 'almost
8476           equal' by allowing a small absolute error, which should be good
8477           enough for our use cases (normal numbers and values close to 0).
8478           Proper fixage left to floating point arithmetic aficionados.
8479
8480 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8481
8482         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
8483         (gst_base_sink_render_object), (gst_base_sink_get_position):
8484           Add two breaks thats where missing.
8485
8486 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8487
8488         * docs/libs/gstreamer-libs-sections.txt:
8489         * libs/gst/check/gstcheck.h:
8490           API: add fail_unless_equals_float() and assert_equals_float().
8491           Add documentation for some of the macros.
8492
8493         * tests/check/libs/controller.c: (GST_START_TEST):
8494           Use newly-added asserts.
8495
8496 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8497
8498         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
8499           Show the caps change in the log to help spotting the case of not
8500           exactly matching caps.
8501
8502 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8503
8504         * docs/pwg/building-boiler.xml:
8505           Fix typos, spotted by Thijs Vermeir (#447190).
8506
8507 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8508
8509         * docs/plugins/tmpl/.cvsignore:
8510         Ignore file to keep the buildbots happy
8511
8512 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8513
8514         * docs/plugins/Makefile.am:
8515         * docs/plugins/gstreamer-plugins-docs.sgml:
8516         * docs/plugins/gstreamer-plugins-sections.txt:
8517         Pull fdsink into the docs too.
8518
8519 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
8520
8521         * libs/gst/controller/gstinterpolation.c:
8522         Actually use the new functions with min/max checks for the trigger and
8523         none interpolation modes for get() and get_value_array() instead of
8524         just the latter.
8525
8526 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
8527
8528         * libs/gst/controller/gstcontroller.c:
8529         (gst_controlled_property_free):
8530         Unset the minimum and maximum GValues when freeing the corresponding
8531         GstControllerProperty struct.
8532
8533 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
8534
8535         * libs/gst/controller/gstcontroller.c:
8536         (gst_controlled_property_new):
8537         * libs/gst/controller/gstcontrollerprivate.h:
8538         * libs/gst/controller/gstinterpolation.c:
8539         (gst_controlled_property_find_control_point_node),
8540         (interpolate_none_get), (interpolate_none_get_enum_value_array),
8541         (interpolate_none_get_string_value_array),
8542         (interpolate_trigger_get),
8543         (interpolate_trigger_get_enum_value_array),
8544         (interpolate_trigger_get_string_value_array):
8545         Protect against values larger or smaller than the minimum or maximum
8546         allowed value for the property when using values that can be compared.
8547
8548         Optimize trigger interpolator a bit by taking the last requested value
8549         into account instead of always looping through the complete list.
8550
8551         Fix coding style a bit, everywhere else we use "return foo" instead
8552         of "return (foo)".
8553         
8554         * tests/check/libs/controller.c: (GST_START_TEST),
8555         (gst_controller_suite):
8556         Add unit test for the protection against too large or too small
8557         values.
8558
8559 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
8560
8561         * docs/random/slomo/controller.txt:
8562         Add some thoughts about the future of the controller.
8563
8564 2007-06-08  Wim Taymans  <wim@fluendo.com>
8565
8566         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8567         Don't overflow in retimestamping code.
8568
8569 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
8570
8571         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8572         Use gst_util_guint64_to_gdouble for conversions.
8573         * win32/common/libgstreamer.def:
8574         Add new exported functions.
8575
8576 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
8577
8578         * gst/gstutils.c:
8579           Small docs addition.
8580
8581 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8582
8583         * README:
8584           Remove that test line again.
8585
8586 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8587
8588         * README:
8589           Test commit mail sending.
8590
8591 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8592
8593         * configure.ac:
8594           Fix typo and test commit mail sending.
8595
8596 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8597
8598         * tests/examples/controller/audio-example.c:
8599           Improve comment and test commit mail sending.
8600
8601 2007-06-07  Wim Taymans  <wim@fluendo.com>
8602
8603         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8604         (gst_bin_remove_func), (gst_bin_element_set_state),
8605         (bin_handle_async_start), (bin_handle_async_done),
8606         (gst_bin_handle_message_func):
8607         Add helper function to find messages.
8608         Generate the async-done messages together with the state change
8609         messages.
8610         Small cleanups in handling toplevel bins.
8611
8612 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8613
8614         * libs/gst/base/gstdataqueue.c:
8615         * libs/gst/base/gstdataqueue.h:
8616         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8617         (gst_multi_queue_item_new), (gst_multi_queue_chain),
8618         (gst_multi_queue_sink_event):
8619         * tests/check/elements/multiqueue.c: (multiqueue_suite):
8620           Fix multiqueue leaking buffers and events when downstream or the
8621           queue are flushing. Make refcounting assumptions explicit and
8622           document them (shouldn't break existing code that uses it other than
8623           maybe leak miniobjects, but that already happens anyway). Add unit
8624           test for the most common flushing case. Fixes #423700.
8625           
8626 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8627
8628         * libs/gst/controller/gstcontroller.c:
8629         Clarify docs: The get_all, get_value_array(s) functions
8630         don't modify the GObject properties.
8631
8632 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8633
8634         * libs/gst/controller/gstcontroller.c:
8635         (gst_controlled_property_set_interpolation_mode),
8636         (gst_controlled_property_prepend_default),
8637         (gst_controlled_property_new), (gst_controller_set_unlocked),
8638         (gst_controller_set), (gst_controller_set_from_list),
8639         (gst_controller_unset), (gst_controller_unset_all):
8640         * libs/gst/controller/gstcontrollerprivate.h:
8641         * libs/gst/controller/gstinterpolation.c:
8642         Factor out the 'set' logic into gst_controller_set_unlocked for the
8643         gst_controller_set and gst_controller_set_from_list functions.
8644
8645         To make life of the interpolators easier always add a control point
8646         at timestamp zero with the default value.
8647
8648         In the linear interpolator make things more obvious by better variable
8649         naming (slope).
8650
8651         Implement cubic interpolation mode (by using a natural cubic spline)
8652         and map the quadratic interpolation mode to this too (as quadratic
8653         doesn't make much sense, see discussion on the list).
8654
8655         * tests/check/libs/controller.c: (GST_START_TEST),
8656         (gst_controller_suite):
8657         Add unit test for the cubic interpolation mode and check everywhere
8658         if the interpolation mode could be set as expected.
8659
8660 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8661
8662         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8663           Don't use GLib-2.10 functions, we still depend on
8664           GLib-how-old-is-it-again-2.8.
8665
8666 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8667
8668         * docs/gst/gstreamer-sections.txt:
8669         * gst/Makefile.am:
8670         * gst/gst.c:
8671         * gst/gst.h:
8672         * gst/gstparamspecs.c: (_gst_param_fraction_init),
8673         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8674         (_gst_param_fraction_values_cmp),
8675         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8676         * gst/gstparamspecs.h:
8677         * gst/gstvalue.c:
8678         * tests/check/Makefile.am:
8679         * tests/check/gst/.cvsignore:
8680         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8681         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8682         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8683         (GST_START_TEST), (gst_param_spec_suite):
8684           API: add GstParamSpecFraction, so elements can have fraction
8685           properties without lots of painful string parsing (#444648).
8686
8687 2007-06-05  Wim Taymans  <wim@fluendo.com>
8688
8689         * gst/gstobject.c: (gst_object_class_init):
8690         Fix signal signature.
8691
8692         * gst/gstsegment.c:
8693         Add small clarification in the api docs.
8694
8695         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8696         States are protected with object lock.
8697
8698 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8699
8700         * AUTHORS:
8701         I should probably be listed as an author by now.
8702
8703         * docs/random/release:
8704         Update the release doc
8705
8706 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
8707
8708         * gst/gstvalue.c:
8709           Make docs for gst_value_compare() mention return enums that
8710           actually exist.
8711
8712 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8713
8714         * configure.ac:
8715           Back to CVS
8716
8717 === release 0.10.13 ===
8718
8719 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
8720
8721         * configure.ac:
8722           releasing 0.10.13, "With or without you"
8723
8724 2007-05-25  Wim Taymans  <wim@fluendo.com>
8725
8726         * gst/gstbin.c: (bin_handle_async_done):
8727         Make sure that the child bin stops after completing the async state
8728         change so that the parent can continue the state change to PLAYING.
8729         Fixes #441159.
8730
8731 2007-05-25  Wim Taymans  <wim@fluendo.com>
8732
8733         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8734         (unref_data), (gst_collect_pads_remove_pad),
8735         (gst_collect_pads_check_pads):
8736         Use additional refcounting to avoid crashes when dynamically adding and
8737         removing pads. Fixes #420206.
8738
8739 2007-05-24  Wim Taymans  <wim@fluendo.com>
8740
8741         * tools/gst-launch.c: (event_loop):
8742         When buffering goes from a two digit to a single digit number, make sure
8743         to remove the old second digit by writing a blank over it.
8744
8745 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8746
8747         * libs/gst/base/gstdataqueue.c:
8748           Eliminate tabs and trailing comma in enum list; fix some typos.
8749
8750 2007-05-24  Wim Taymans  <wim@fluendo.com>
8751
8752         * tests/check/gst/gstbin.c: (GST_START_TEST):
8753         Allow refcount of 3 and 4 because some state thread might still be busy
8754         with it.
8755
8756 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8757
8758         * plugins/elements/Makefile.am:
8759         * plugins/elements/gstmultiqueue.h:
8760         * plugins/elements/gstqueue.h:
8761           These are not installed headers, no need for padding.
8762
8763 2007-05-24  Wim Taymans  <wim@fluendo.com>
8764
8765         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8766         (gst_bin_continue_func):
8767         Enable latency for next release.
8768         Restore STATE_LOCK around recalc_state that was left out during the
8769         rewrite and could result in racy behaviour when _get_state and
8770         recalc_state are run concurrently. See #440463.
8771
8772 2007-05-23  Wim Taymans  <wim@fluendo.com>
8773
8774         * tests/check/gst/gstsystemclock.c: (store_callback),
8775         (GST_START_TEST):
8776         Improve test_async_order to also work when both timers are already
8777         expired when we get scheduled to check it.
8778
8779 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8780
8781         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8782         (gst_bin_set_property), (gst_bin_get_property),
8783         (gst_bin_remove_func), (gst_bin_handle_message_func):
8784         * gst/gstbin.h:
8785           'private' is a c++ keyword, let's not use that in header files,
8786           otherwise c++ compilers will throw a tantrum.
8787
8788 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8789
8790         * plugins/elements/gstelements.c:
8791         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8792         (gst_file_sink_get_current_offset):
8793         * plugins/indexers/gstindexers.c: (plugin_init):
8794           Use #ifdef for HAVE_XYZ for consistency.
8795
8796         * tests/check/Makefile.am:
8797         * tests/check/elements/.cvsignore:
8798         * tests/check/elements/filesink.c: (setup_filesink),
8799         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8800           Add some unit tests for filesink.
8801
8802 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8803
8804         Patch by: Mark Nauwelaerts <manauw at skynet be>
8805
8806         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8807         (gst_file_sink_query), (gst_file_sink_do_seek),
8808         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8809         * plugins/elements/gstfilesink.h:
8810           Fix position reporting; rename data_written member to current_pos to
8811           reflect its real meaning (fixes #412648).
8812
8813 2007-05-22  Edward Hervey  <edward@fluendo.com>
8814
8815         * docs/gst/gstreamer-sections.txt:
8816         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8817         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8818         (gst_bin_remove_func), (gst_bin_handle_message_func):
8819         * gst/gstbin.h:
8820         Add a property for bins that handle the state change of their childs.
8821         Fixes #435880
8822
8823 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
8824
8825         * libs/gst/controller/gstinterpolation.c:
8826         Use an array of the correct type when using _get_value_array with
8827         linear interpolation.
8828
8829 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
8830
8831         * gst/gstelement.c (gst_element_requires_clock,
8832           gst_element_provides_clock, gst_element_request_pad,
8833           gst_element_class_set_details, gst_element_class_set_details_simple,
8834           gst_element_default_send_event, gst_element_abort_state,
8835           gst_element_continue_state, gst_element_set_state,
8836           gst_element_set_state_func, iterator_activate_fold_with_resync):
8837         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8838           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8839           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8840           gst_pad_get_range, gst_pad_pull_range):
8841         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8842           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8843           GstPadActivateModeFunction, GstPadChainFunction,
8844           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8845           GstPadFixateCapsFunction, GstPadTemplate):
8846         * gst/gstpipeline.c (gst_pipeline_change_state,
8847           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8848           gst_pipeline_set_clock, gst_pipeline_auto_clock,
8849           gst_pipeline_get_delay):
8850           Whitespace and docs fixes.
8851
8852 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8853
8854         * libs/gst/controller/gstinterpolation.c:
8855         (interpolate_trigger_get_enum_value_array),
8856         (interpolate_trigger_get_string_value_array):
8857         Add support for retrieving value arrays when using the trigger
8858         interpolation mode. 
8859
8860 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8861
8862         * libs/gst/controller/gstcontroller.c:
8863         (gst_controller_get_value_array):
8864         * libs/gst/controller/gstcontroller.h:
8865         Clarify the docs of gst_controller_get_value_array(): The array where
8866         the values should be written to must be allocated as there seems to be
8867         no way to get the size of a random GType. This doesn't change any
8868         behaviour. Also fix some typos all over the place and remove an unused,
8869         commented function that is not necessary as g_object_set() could be
8870         used instead.
8871         * tests/check/libs/controller.c: (GST_START_TEST),
8872         (gst_controller_suite):
8873         Add unit test for gst_controller_get_value_array().
8874
8875 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
8876
8877         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8878
8879         Disable part of the gst_buffer_try_new_and_alloc test, because
8880         it can happily succeed on 64-bit systems where there's more address
8881         space available.
8882
8883 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8884
8885         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8886         Add unit test for the improved caps checking from bug #421543.
8887
8888 2007-05-21  Wim Taymans  <wim@fluendo.com>
8889
8890         * docs/design/part-synchronisation.txt:
8891         Small addition.
8892
8893         * gst/gstbin.c: (gst_bin_query):
8894         * plugins/elements/gstqueue.c: (apply_segment):
8895         Improve debugging.
8896
8897         * gst/gstmessage.h:
8898         Improve docs.
8899
8900 2007-05-21  Wim Taymans  <wim@fluendo.com>
8901
8902         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8903         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8904         (gst_pad_configure_src):
8905         Added simple version of improved caps checking. It was previously
8906         assumed that a setcaps function would check the validity of the caps but
8907         people prefer us to check caps against the template automatically. 
8908         Fixes #421543.
8909
8910 2007-05-21  Wim Taymans  <wim@fluendo.com>
8911
8912         * libs/gst/base/gstbasetransform.h:
8913         Fix macro for locking/unlocking the transform lock.
8914
8915 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8916
8917         * docs/plugins/tmpl/.cvsignore:
8918           Ignore more.
8919
8920 2007-05-18  Edward Hervey  <edward@fluendo.com>
8921
8922         * plugins/elements/gstqueue.c: (gst_queue_loop):
8923         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8924         for the subtle art of warning a potentially blocking thread that it
8925         should check the source pad return value, and relay the information
8926         upstream.
8927
8928 2007-05-18  Edward Hervey  <edward@fluendo.com>
8929
8930         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8931         Release the queue lock !
8932
8933 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8934
8935         * docs/libs/gstreamer-libs-sections.txt:
8936         Add the two new controller functions to the appropiate places.
8937
8938 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8939
8940         reviewed by: Stefan Kost <ensonic@users.sf.net>
8941
8942         * libs/gst/controller/gstcontroller.c:
8943         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8944         (_gst_controller_get_property), (_gst_controller_set_property),
8945         (_gst_controller_init), (_gst_controller_class_init):
8946         * libs/gst/controller/gstcontroller.h:
8947         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8948         (gst_object_get_control_rate), (gst_object_set_control_rate):
8949         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8950         Add API that provides sync suggestion timestamps for elements that
8951         call gst_object_sync_values() from which those elements can subdivide
8952         their processing loop to get the best results for the controlled
8953         properties. For now it just suggests last_sync + control_rate as
8954         new timestamp but this will be improved in the future.
8955
8956         While doing that change the control-rate property to a GstClockTime
8957         from guint and change it's meaning from samples to nanoseconds as
8958         the GstController doesn't know anything about sampling rate. Strictly
8959         speaking this breaks ABI but as the control-rate property didn't do
8960         anything in the past and as such couldn't be used this should be no
8961         problem.        
8962
8963 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8964
8965         reviewed by: Stefan Kost <ensonic@users.sf.net>
8966
8967         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8968         (gst_controller_unset_all):
8969         * libs/gst/controller/gstcontrollerprivate.h:
8970         * libs/gst/controller/gstinterpolation.c:
8971         (gst_controlled_property_find_control_point_node):
8972         Save last synced value from the list to continue searching from there
8973         in future syncs. This speeds everything up a bit.
8974         
8975 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8976
8977         reviewed by: Stefan Kost <ensonic@users.sf.net>
8978
8979         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8980         (gst_control_point_find), (gst_controlled_property_new),
8981         (gst_control_point_free), (gst_controlled_property_free),
8982         (gst_controller_set), (gst_controller_set_from_list),
8983         (gst_controller_unset), (gst_controller_unset_all),
8984         (gst_controller_sync_values):
8985         * libs/gst/controller/gstcontroller.h:
8986         * libs/gst/controller/gstcontrollerprivate.h:
8987         * libs/gst/controller/gstinterpolation.c:
8988         (gst_controlled_property_find_control_point_node),
8989         (interpolate_none_get), (interpolate_trigger_get):
8990         Add a new private GstControlPoint struct which "inherits" from
8991         GstTimedValue to allow different interpolators to store internal
8992         values next to each control point. From the outside everything is
8993         still a GstControlPoint so we don't loose binary compatibility.
8994         Also fixup all the GValue handling to not leak GValues or list nodes.
8995         * tests/check/libs/controller.c: (GST_START_TEST):
8996         Free the list nodes and GValues in the controller_misc test.
8997
8998 2007-05-17  Edward Hervey  <edward@fluendo.com>
8999
9000         * gst/gstsegment.c:
9001         Small doc fix.
9002
9003 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
9004
9005         * gst/gstplugin.c: (gst_plugin_load_file):
9006           If we fail to load a plugin because of unresolved symbols or missing
9007           libraries and spew a warning to stderr, we may just as well mention
9008           which plugin it was that failed to load.
9009
9010 2007-05-13  David Schleef  <ds@schleef.org>
9011
9012         * docs/Makefile.am: the gtk-doc makefile snippet correctly
9013           handles the case when ENABLE_GTK_DOC is false, and installs
9014           the prebuilt documentation.  So gtk-doc subdirs are 
9015           unconditionally enabled.  Fixes: #349099.
9016
9017 2007-05-13  David Schleef  <ds@schleef.org>
9018
9019         * gst/gstutils.h: Reword some documentation.
9020
9021 2007-05-12  David Schleef  <ds@schleef.org>
9022
9023         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
9024           do anything with the passed "module" parameter, so remove it.
9025           Allows removal of additional vestigal code.
9026
9027 2007-05-12  David Schleef  <ds@schleef.org>
9028
9029         * gst/gstplugin.c:
9030           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
9031           Switch to using g_stat() because it's more portable.
9032
9033 2007-05-12  David Schleef  <ds@schleef.org>
9034
9035         * gst/gst.c:
9036           Add GST_DISABLE_OPTION_PARSING, in order to disable option
9037           parsing for embedded systems.
9038         * gst/gstelementfactory.c:
9039           Allow gst_element_register() to be called with plugin==NULL.
9040           Did nobody notice that static elements were broken?
9041
9042 2007-05-12  Wim Taymans  <wim@fluendo.com>
9043
9044         * tools/gst-launch.c: (event_loop):
9045         Give more interesting info when buffering starts and stops.
9046         Fix case where buffering starts but we fail to update the buffering flag
9047         because the target state is not PLAYING.
9048
9049 2007-05-12  Wim Taymans  <wim@fluendo.com>
9050
9051         * plugins/elements/gstqueue.c: (gst_queue_init),
9052         (gst_queue_finalize), (update_time_level), (apply_segment),
9053         (apply_buffer), (gst_queue_locked_flush),
9054         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
9055         (gst_queue_handle_sink_event), (gst_queue_chain),
9056         (gst_queue_push_one), (gst_queue_loop):
9057         * plugins/elements/gstqueue.h:
9058         Refactor an cleanup queue a bit.
9059         Do better time level calculations that also work when the srcpad is not
9060         yet running.
9061         Remove some unneeded debug lines.
9062
9063         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
9064         Added testcase for time level measurement.
9065         Try to make some stuff more racefree.
9066
9067 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
9068
9069         * gst/gsturi.c: (gst_element_make_from_uri):
9070           Don't leak plugin feature.
9071
9072         * tests/check/Makefile.am:
9073         * tests/check/gst/.cvsignore:
9074         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
9075           Add brain-dead unit test.
9076
9077 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
9078
9079         Patch by: Jeroen Wouters <woutersj at gmail com>
9080
9081         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
9082           Treat protocol strings in a case-insensitive way (#437563).
9083
9084 2007-05-11  Michael Smith <msmith@fluendo.com>
9085
9086         * gst/gstplugin.c: (gst_plugin_load_file):
9087         * gst/gstregistry.c: (gst_registry_scan_path_level):
9088           Don't print a g_warning for any failure to load a shared object.
9089           Instead, push this down into gstplugin.c, and warn _only_ if we
9090           failed to open the module (i.e. failure to link).
9091           Avoids warnings on normal, working, non-plugin .so files.
9092
9093 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
9094
9095         * gst/gstplugin.c (gst_plugin_load_file):
9096         * gst/gstregistry.c (GST_CAT_DEFAULT,
9097           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
9098           Print a g_warning if there was an error when loading a plugins during
9099           registry scan. The shuld help beginners starting with gst-plugin
9100           template.
9101
9102 2007-05-10  Wim Taymans  <wim@fluendo.com>
9103
9104         * plugins/elements/gstqueue.c: (gst_queue_class_init),
9105         (update_time_level), (gst_queue_locked_flush),
9106         (gst_queue_handle_sink_event), (gst_queue_chain),
9107         (gst_queue_push_one), (gst_queue_loop):
9108         * plugins/elements/gstqueue.h:
9109         Be smarter when calculating the current amount of data in the queue by
9110         measuring the difference between start and end timestamps (in running
9111         time) inside the queue. Fixes #432876.
9112         API: GstQueue::pushing to notify elements that we are pushing data again
9113         since the running signal is rather broken for this purpose.
9114
9115 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
9116
9117         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
9118           gst_queue_base_init, gst_queue_init):
9119           use GST_BOILERPLATE
9120
9121 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
9122
9123         * win32/common/libgstreamer.def:
9124         Add new exported functions.
9125         * win32/vs6/grammar.dsp:
9126         Use grammar pre-generated files.
9127
9128 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9129
9130         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
9131
9132         * gst/Makefile.am:
9133         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
9134         * gst/gstparse.h:
9135         * gst/gstutils.c: (gst_parse_bin_from_description):
9136         * gst/gstutils.h:
9137           Maintain API and ABI when --disable-parse is used. Now that
9138           we have an appropriate error code, we can just return NULL and the
9139           appropriate error when gst_parse_launch() is used despite it having
9140           been disabled (#342564).
9141
9142         * tests/check/Makefile.am:
9143         * tests/check/pipelines/.cvsignore:
9144         * tests/check/pipelines/parse-disabled.c:
9145           Make sure these functions exist and return NULL plus a GError when
9146           --disable-parse is used.
9147
9148 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9149
9150         * tests/benchmarks/complexity.c: (main):
9151         * tests/benchmarks/mass-elements.c: (main):
9152           Set a good example and don't leak messages.
9153
9154 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
9155
9156         * docs/gst/Makefile.am:
9157         * docs/libs/Makefile.am:
9158           Correct fixxrefs options.
9159
9160         * docs/plugins/Makefile.am:
9161         * docs/plugins/gstreamer-plugins-docs.sgml:
9162         * docs/plugins/gstreamer-plugins-sections.txt:
9163         * plugins/elements/Makefile.am:
9164         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
9165         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
9166           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
9167           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
9168           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
9169           _GstCapsFilterClass, trans_class):
9170         * plugins/elements/gstelements.c (name, rank, type, _elements):
9171         * plugins/elements/gstidentity.c
9172           (gst_identity_check_imperfect_timestamp,
9173           gst_identity_check_imperfect_offset):
9174           Document capsfilter and add doc-blurb to identity.
9175
9176 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
9177
9178         * libs/gst/controller/gstcontroller.c:
9179         (gst_controlled_property_set_interpolation_mode):
9180         * libs/gst/controller/gstinterpolation.c:
9181           Don't crash if someone tries to set an interpolation mode that
9182           is invalid or that isn't supported yet. Fixes #422295.
9183
9184         * tests/check/libs/controller.c: (GST_START_TEST),
9185         (gst_controller_suite):
9186           Add a test case for the above.
9187
9188 2007-05-03  Edward Hervey  <edward@fluendo.com>
9189
9190         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
9191         Properly set the last_stop position on GstSegment. This will only happen
9192         if there is a buffer to push out.
9193
9194 2007-05-03  Wim Taymans  <wim@fluendo.com>
9195
9196         * libs/gst/base/gstbasetransform.c:
9197         (gst_base_transform_buffer_alloc):
9198         always_in_place does not mean that the sink and source caps are the
9199         same! Make sure we don't blindly proxy the buffer_alloc in this case.
9200
9201 2007-05-03  Wim Taymans  <wim@fluendo.com>
9202
9203         * docs/libs/gstreamer-libs-sections.txt:
9204         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
9205         (gst_base_src_default_query), (gst_base_src_get_range):
9206         * libs/gst/base/gstbasesrc.h:
9207         API: gst_base_src_query_latency(). Added method so that subclasses can
9208         easily get the latency values of the base source class.
9209
9210 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
9211
9212         * tools/gst-inspect.c (print_implementation_info):
9213         Remove 0.8 cruft.
9214
9215 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
9216
9217         * tools/Makefile.am:
9218         * tools/gst-launch.1.in:
9219           Don't create a customised man page based on the host architecture,
9220           describe the default registry path generically. That way the man
9221           page is the same for all architectures and packagers have one
9222           multilib issue less to deal with. Fixes #434926.
9223
9224 2007-05-02  Wim Taymans  <wim@fluendo.com>
9225
9226         * gst/gstpad.c:
9227         Fix documentation as spotted by rg on IRC. 
9228
9229 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
9230
9231         * gst/gstutils.c:
9232           Improve docs for gst_element_{link,unlink}.
9233
9234 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
9235
9236         * docs/design/part-events.txt:
9237         * docs/design/part-overview.txt:
9238         * gst/gstevent.c:
9239         * gst/gsturi.c:
9240         * gst/gsturi.h:
9241         * libs/gst/base/gstbasesink.c:
9242           Typo fixes; minor docs addition.
9243
9244 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
9245
9246         * docs/gst/gstreamer-sections.txt:
9247         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
9248         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
9249         * gst/gsturi.h:
9250         API: Add gst_uri_protocol_is_supported(), which checks if a sink
9251         or src that supports a given URI protocol exists.
9252
9253 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
9254
9255         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9256         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9257         Set the location to NULL if "file://" is set as URI. Otherwise
9258         some random previous URI would still be set if "file://" is
9259         set on an already used filesink/filesrc.
9260
9261 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
9262
9263         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9264         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9265         Special case the "file://" URI as as this is used by some
9266         applications to test with gst_element_make_from_uri if there's
9267         an element that supports the URI protocol.
9268         Also move the g_path_is_absolute() check for the location part
9269         of the URI to also check this for "file://localhost/bla" URIs.
9270
9271 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
9272
9273         * docs/gst/gstreamer-sections.txt:
9274         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
9275         * gst/gstbuffer.h:
9276         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
9277         (gst_buffer_suite):
9278           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
9279
9280 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
9281
9282         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9283         (gst_registry_binary_load_pad_template),
9284         (gst_registry_binary_load_plugin),
9285         (gst_registry_binary_read_cache):
9286         * gst/gstregistrybinary.h:
9287           Implement no-mmap alternative for registry reading. Do code cleanups.
9288           Add more comments about avoiding strdups for all text data. Comments
9289           welcome.
9290
9291 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
9292
9293         * gst/gstregistrybinary.h (GstBinaryPluginElement,
9294           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
9295           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
9296           Comment structs and reformat to fix the build (that stuff should go
9297           into a priv. header).
9298
9299 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
9300
9301         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
9302         (gst_registry_binary_load_feature):
9303         * gst/gstregistrybinary.h:
9304           Refactor so that we can implement multiple features. Add support for
9305           TypeFindFactory features.
9306
9307 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
9308
9309         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
9310
9311         * configure.ac:
9312           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
9313
9314 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
9315
9316         * gst/gstbin.c: (gst_bin_element_set_state),
9317         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
9318         (bin_handle_async_done), (gst_bin_handle_message_func):
9319           Fix build with --gst-disable-gst-debug
9320
9321 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
9322
9323         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
9324           Make sure streaming has finished before calling the ::stop() vfunc,
9325           since that vfunc might clear state which is being used in the
9326           streaming thread. This fixes a race that caused crashes in
9327           audioresample when shutting down a pipeline (#420106).
9328
9329 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9330
9331         * docs/gst/gstreamer-sections.txt:
9332           That was one byte missing.
9333
9334 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9335
9336         * configure.ac:
9337         * docs/gst/gstreamer-sections.txt:
9338         * gst/Makefile.am:
9339         * gst/gstconfig.h.in:
9340         * gst/gstobject.c: (gst_object_class_init),
9341         (gst_signal_object_class_init):
9342         * gst/gstobject.h:
9343           2nd attempt to have a xml-less build as a joined effort of #413123
9344           and #421480.
9345
9346 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9347
9348         * docs/design/draft-tagreading.txt:
9349           Added open issues/thoughts to draft.
9350
9351 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9352
9353         * gst/parse/grammar.tab.pre.c:
9354         * gst/parse/grammar.tab.pre.h:
9355         * gst/parse/lex._gst_parse_yy.pre.c:
9356         Update the prebuild parser sources.
9357
9358 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9359
9360         * gst/parse/Makefile.am:
9361         And now fix the building of the flex sources. Now everything should
9362         work as expected.
9363
9364 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9365
9366         * gst/parse/Makefile.am:
9367         Now hopefully fix the build failures by setting proper rule
9368         dependencies and moving instead of copying.
9369
9370 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9371
9372         * tests/benchmarks/complexity.gnuplot:
9373         * tests/benchmarks/complexity.scm:
9374         * tests/benchmarks/mass-elements.gnuplot:
9375         * tests/benchmarks/mass-elements.scm:
9376           Total licensification.
9377
9378 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9379
9380         * gst/parse/Makefile.am:
9381           Fix the build by correcting the rule that gave wrong files to flex.
9382
9383 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9384
9385         * tests/benchmarks/complexity.c:
9386         * tests/benchmarks/mass-elements.c:
9387           Change licence to LGPL as granted by Benjamin and Andy.
9388
9389 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9390
9391         * gst/parse/Makefile.am:
9392         Add correct grammar.tab.h dependency if compiling without new enough
9393         flex. Fixes #431150.
9394
9395 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9396
9397         * gst/parse/Makefile.am:
9398         Fix typo and use outdated sources if the flex/bison sources are newer
9399         than the pregenerated ones but flex is too old. Print a warning in
9400         that case. This should fix the build on the build bot.
9401
9402 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9403
9404         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
9405         * gst/parse/Makefile.am:
9406         * gst/parse/grammar.y:
9407         * gst/parse/parse.l:
9408         Make the parser reentrant and recursively callable. This requires flex
9409         >= 2.5.31, for older versions pregenerated sources are used as we
9410         can't bump the build dependency. Finally fixes #349180.
9411
9412         * gst/gstparse.c: (gst_parse_launch):
9413         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
9414         now anyway.
9415
9416         * docs/gst/Makefile.am:
9417         * docs/gst/Makefile.am:
9418         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
9419         (__gst_parse_strfree), (__gst_parse_link_new),
9420         (__gst_parse_link_free), (__gst_parse_chain_new),
9421         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
9422         (gst_parse_element_set), (gst_parse_free_link),
9423         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
9424         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
9425         (_gst_parse_launch):
9426         * gst/parse/grammar.tab.pre.h:
9427         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
9428         (yy_get_previous_state), (yy_try_NUL_trans), (input),
9429         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
9430         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
9431         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
9432         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
9433         (_gst_parse_yypop_buffer_state),
9434         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
9435         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
9436         (yy_fatal_error), (_gst_parse_yyget_extra),
9437         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
9438         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
9439         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
9440         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
9441         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
9442         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
9443         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
9444         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
9445         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
9446         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
9447         (_gst_parse_yyfree):
9448         If the installed flex version is too old use pre-generated parser
9449         sources. These pre-generated parser sources are always updated when
9450         the actual flex/bison sources change but require everybody who wants
9451         to change something in the parser to have flex >= 2.5.31 installed.
9452
9453 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
9454
9455         * common/m4/gst-gettext.m4:
9456         * gst/gst-i18n-lib.h:
9457           Make --disable-nls to work
9458
9459 2007-04-17  Wim Taymans  <wim@fluendo.com>
9460
9461         * gst/gstconfig.h.in:
9462         Revert previous change that broke the build.
9463
9464 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
9465
9466         * configure.ac:
9467         * gst/Makefile.am:
9468         * gst/gstconfig.h.in:
9469           Drop libxml2 dependency when building with 
9470           --enable-binary-registry --disable-loadsave
9471
9472 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
9473
9474         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9475         (gst_registry_binary_read_cache):
9476         * gst/gstregistrybinary.h:
9477           Remove unnecessary <sys/mman.h> include which broke the win32 build
9478           with MingW; move includes from header file to .c file, even if the
9479           header file isn't installed; use g_strerror() where UTF-8 strings
9480           are expected, such as in GST_DEBUG messages.
9481
9482 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9483
9484         * docs/libs/gstreamer-libs-sections.txt:
9485         Remove bogus addition for API I didn't end up keeping.
9486
9487         * libs/gst/base/gstbasesrc.h:
9488         Mention Since: 0.10.13 in the documentation.
9489
9490         Add the API keyword to the previous ChangeLog entry.
9491
9492 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9493
9494         * docs/libs/gstreamer-libs-sections.txt:
9495         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9496         (gst_base_src_default_prepare_seek_segment),
9497         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
9498         * libs/gst/base/gstbasesrc.h:
9499         Allow basesrc derived classes to execute seeks in other formats
9500         by providing a prepare_seek_segment vmethod. Sub-classes can choose
9501         to prepare the GstSegment in any format that their perform_seek method
9502         will be able to understand. The default implementation provides the
9503         old behaviour of attempting to convert the seek offsets to the 
9504         configured native format.
9505
9506         API: basesrc::prepare_seek_segment vmethod.
9507
9508 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9509
9510         * gst/gstelement.c: (gst_element_get_state_func):
9511         Don't output the same debug statement twice.
9512
9513         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
9514         (gst_adapter_peek), (gst_adapter_take_buffer):
9515         Optimise the case where we have buffers at the head of the queue that
9516         can be joined quickly (because they're contiguous sub-buffers) by
9517         merging them together rather than copying data out into new memory.
9518
9519         * gst/parse/grammar.y:
9520         * tests/check/pipelines/parse-launch.c:
9521         Fix a leak in an error path for parse_launch, and add a check 
9522         for it to the testsuite.
9523
9524 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9525
9526         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9527           Don't deadlock when releasing a pad - gst_pad_set_active may try
9528           and take the multiqueue lock too.
9529
9530 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
9531
9532         * gst/gsterror.c: (_gst_core_errors_init):
9533         * gst/gsterror.h:
9534           API: add GST_CORE_ERROR_DISABLED (#392804).
9535
9536 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9537
9538         * docs/faq/gst-uninstalled:
9539           don't get empty paths on the PATH variables
9540         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
9541           Don't format for the uncommon terminal width of 84 characters.
9542
9543 2007-04-06  Wim Taymans  <wim@fluendo.com>
9544
9545         * gst/gstpipeline.c: (reset_stream_time),
9546         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
9547         Only try to select a different pipeline clock when we went back to
9548         PAUSED and not when we merely got flushed.
9549
9550 2007-04-05  Michael Smith  <msmith@fluendo.com>
9551
9552         * tools/gst-launch.1.in:
9553           fractions are better supported in gstreamer than ractions, so
9554           suggest using those.
9555
9556 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9557
9558         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9559
9560         * po/LINGUAS:
9561         * po/da.po:
9562           Added Danish translation.
9563
9564 2007-04-05  Wim Taymans  <wim@fluendo.com>
9565
9566         * libs/gst/base/gstbasesink.c:
9567         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9568         Fix leak caused when refusing newsegment after EOS.
9569
9570         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9571         (gst_fake_sink_init), (gst_fake_sink_set_property),
9572         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9573         (gst_fake_sink_render), (gst_fake_sink_change_state):
9574         * plugins/elements/gstfakesink.h:
9575         Add num-buffers property to make the element generate EOS after a
9576         configurable amount of buffers.
9577         API: fakesink::num-buffers property.
9578
9579         * tests/check/elements/fakesink.c: (GST_START_TEST),
9580         (fakesink_suite):
9581         Fix GstBus leak in test.
9582         Test for fakesink num-buffers.
9583
9584 2007-04-05  Wim Taymans  <wim@fluendo.com>
9585
9586         * libs/gst/base/gstbasesink.c:
9587         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9588         (gst_base_sink_change_state):
9589         Don't accept anything after an EOS, return UNEXPECTED instead.
9590
9591         * tests/check/elements/fakesink.c: (GST_START_TEST),
9592         (fakesink_suite):
9593         Unit test for new EOS behaviour.
9594
9595 2007-04-05  Wim Taymans  <wim@fluendo.com>
9596
9597         * gst/gstelement.c: (gst_element_get_request_pad):
9598         Make padtemplates also work when they don't contain %s or %d.
9599
9600 2007-04-05  Wim Taymans  <wim@fluendo.com>
9601
9602         * docs/gst/gstreamer-sections.txt:
9603         * gst/gstclock.c: (gst_clock_adjust_unlocked),
9604         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9605         * gst/gstclock.h:
9606         Improve _adjust_unlocked() so that it overflows less.
9607         Add gst_clock_unadjust_unlocked to convert from external time to
9608         internal time based on calibration.
9609         Add some more debug.
9610         API: GstClock::gst_clock_unadjust_unlocked()
9611
9612 2007-04-03  Wim Taymans  <wim@fluendo.com>
9613
9614         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9615
9616         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9617         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9618         when releasing sink pad. Fixes #425400.
9619
9620 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
9621
9622         * docs/random/ensonic/dynlink.txt:
9623           More work on proposal for new core api.
9624
9625         * docs/libs/gstreamer-libs-sections.txt:
9626         * libs/gst/base/gstbasetransform.h:
9627           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9628           
9629         * libs/gst/controller/gstcontroller.c:
9630         (on_object_controlled_property_changed),
9631         (gst_controller_sync_values),
9632         (gst_controller_set_interpolation_mode):
9633         * libs/gst/controller/gstcontroller.h:
9634           Less verbose logging add docs for unimplemented parts and correctly
9635           return when using unavailable parts.
9636
9637 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9638
9639         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9640         Move all the debug to the CLOCK category, and associate it with
9641         the clock object.
9642
9643 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9644
9645         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9646         Make take_buffer a bit quicker by removing redundant checks
9647         caused by calling gst_adapter_take.
9648
9649 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9650
9651         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9652           Don't leak GCond.
9653
9654         * tests/check/Makefile.am:
9655         * tests/check/elements/.cvsignore:
9656         * tests/check/elements/multiqueue.c: (setup_multiqueue),
9657         (GST_START_TEST), (multiqueue_suite):
9658           Add some dead simple unit tests for the 'multiqueue' element
9659           (some bits don't work yet and are disabled for now).
9660
9661 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9662
9663         * gst/gstelement.c: (gst_element_get_request_pad),
9664         (gst_element_class_get_request_pad_template):
9665           Make gst_element_get_request_pad() create request pads only for
9666           request pad templates and not for, say, sometimes pad templates.
9667
9668 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
9669
9670         * docs/design/draft-klass.txt:
9671           Add example that needs more thinking.
9672         
9673         * docs/design/draft-missing-plugins.txt:
9674           More thoughts about wrapper plugins.
9675         
9676         * docs/random/ensonic/embedded.txt:
9677         * docs/random/ensonic/profiling.txt:
9678           More design work.
9679
9680 2007-03-25  Wim Taymans  <wim@fluendo.com>
9681
9682         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9683         (gst_base_src_loop):
9684         Only push the segment events in the PLAYING state for live sources.
9685
9686 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
9687
9688         * gst/gstpipeline.c: (gst_pipeline_change_state):
9689         Modify the clock distribution path in PAUSED->PLAYING so that we 
9690         never attempt to choose a new clock unless we're actually leaving
9691         the PAUSED state for the first time. This prevents choosing a
9692         different clock when the state_change gets called for a 2nd time due
9693         to some element doing an async state change.
9694
9695 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9696
9697         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9698         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9699         (gst_pad_chain_unchecked), (gst_pad_push):
9700         Revert last commit. This needs some more thoughts.
9701
9702 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9703
9704         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9705         (gst_pad_chain_unchecked), (gst_pad_push):
9706         Check in set_caps if the caps are compatible with the pad and remove
9707         two functions that are redundant now. Fixes #421543.
9708
9709 2007-03-22  Wim Taymans  <wim@fluendo.com>
9710
9711         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9712         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9713         Unref some more to make valgrind happy.
9714
9715 2007-03-22  Wim Taymans  <wim@fluendo.com>
9716
9717         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9718         (gst_system_clock_id_wait_jitter),
9719         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9720         Fix anoying regression that survived a few releases. When adding an
9721         async entry while blocking on a sync entry, the sync entry will unblock
9722         but still be busy, so it should continue to wait instead of returning
9723         _BUSY to the app.
9724         Add some comments here and there.
9725
9726         * tests/check/gst/gstsystemclock.c: (mixed_thread),
9727         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9728         Add testcase for this.
9729
9730 2007-03-22  Wim Taymans  <wim@fluendo.com>
9731
9732         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9733         Handle errors from the clock sync better, only UNSCHEDULED indicates a
9734         WRONG_STATE and can silently pause the task. All other cases should
9735         error out.
9736
9737 2007-03-22  Wim Taymans  <wim@fluendo.com>
9738
9739         Patch by: Ville Syrjala <syrjala at sci dot fi>
9740
9741         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9742         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
9743         Improve debugging.
9744
9745 2007-03-21  Michael Smith  <msmith@fluendo.com>
9746
9747         * docs/pwg/advanced-types.xml:
9748           Fix some errors in the typefinding docs pointed out on irc.
9749
9750 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
9751
9752         * libs/gst/base/gstbasesrc.c:
9753         Clarify FIXME comment in the face of having added unlock_stop()
9754
9755 2007-03-21  Wim Taymans  <wim@fluendo.com>
9756
9757         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9758         Prepare for release where we warn against possible app breakage in the
9759         case of live pipelines along with an env var to enable/disable live
9760         preroll mode (GST_COMPAT=[no-]live-preroll).
9761
9762 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9763
9764         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9765         So we should use correct constants for checking for None offset.
9766
9767 2007-03-20  Wim Taymans  <wim@fluendo.com>
9768
9769         * docs/design/part-block.txt:
9770         Mention the fact that the newly switched element should be set to at
9771         least PAUSED.
9772
9773 2007-03-20  Wim Taymans  <wim@fluendo.com>
9774
9775         * gst/gst.c:
9776         Fix compilation with registry disabled as spotted by Saur.
9777
9778 2007-03-20  Wim Taymans  <wim@fluendo.com>
9779
9780         Patch by: Olivier Crete <tester at tester dot ca>
9781
9782         * gst/gstelement.c: (gst_element_sync_state_with_parent):
9783         Look at the pending state too when syncing the element state to the
9784         parent. Fixes #420133.
9785
9786 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
9787
9788         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9789         (gst_base_sink_change_state):
9790         * libs/gst/base/gstbasesink.h:
9791         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9792         (gst_base_src_default_event), (gst_base_src_unlock_stop),
9793         (gst_base_src_deactivate):
9794         * libs/gst/base/gstbasesrc.h:
9795         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9796         for sub-classes to correctly clear any state they set trying to
9797         unlock, such as clearing out unlock commands from a command fd.
9798         API: basesrc::unlock_stop
9799         API: basesink::unlock_stop
9800
9801         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9802         (gst_fd_sink_render), (gst_fd_sink_unlock),
9803         (gst_fd_sink_unlock_stop):
9804         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9805         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9806         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9807
9808         Implement unlock_stop in fdsrc and fdsink.
9809         Implement seeking in fdsrc when a seekable fd is passed, as in
9810         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9811
9812 2007-03-19  Wim Taymans  <wim@fluendo.com>
9813
9814         Patch by: Evan Nemerson <evan at coeus dash group dot com>
9815
9816         * gst/gstelement.c: (gst_element_class_init):
9817         Fix pad-added and pad-removed signal signatures so that the pad type is
9818         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9819
9820 2007-03-19  Wim Taymans  <wim@fluendo.com>
9821
9822         * docs/gst/gstreamer-sections.txt:
9823         Add new element field and method.
9824
9825         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9826         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9827         (gst_bin_recalc_state), (gst_bin_get_state_func),
9828         (gst_bin_element_set_state), (gst_bin_change_state_func),
9829         (gst_bin_continue_func), (bin_bus_handler),
9830         (bin_push_state_continue), (bin_handle_async_start),
9831         (bin_handle_async_done), (gst_bin_handle_message_func):
9832         Make async state changes a bit smarter by using new ASYNC_START and
9833         ASYNC_DONE messages. This reduces the number of times we run the state
9834         recalculation thread.
9835         Don't change state of element with a pending ASYNC_START message.
9836         Deprecate STATE_DIRTY messages.
9837         
9838         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9839         (gst_element_get_state_func), (gst_element_continue_state),
9840         (gst_element_lost_state), (gst_element_set_state_func),
9841         (gst_element_change_state):
9842         * gst/gstelement.h:
9843         Keep the state that was last set by the app in a new element field.
9844         Don't allow state changes when handling an element event.
9845         Post ASYNC_START and ASYNC_DONE messages.
9846         Change lost_state so that we go to PAUSED and wait for the parent to set
9847         us to PLAYING again (so latency calculation can be performed)
9848         Export gst_element_change_state() method so that subclasses can use it.
9849         API: gst_element_change_state()
9850         API: GST_STATE_TARGET
9851
9852         * gst/gstpipeline.c: (gst_pipeline_class_init),
9853         (reset_stream_time), (gst_pipeline_change_state),
9854         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9855         Using the new ASYNC_START message we can reset the base_time when
9856         needed. This can then be used to implement base_time redistribution in
9857         flushing seeks so that we can remove the explicit seek handling.
9858         Perform latency query and configuration when going to PLAYING.
9859
9860         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9861         (gst_base_sink_query), (gst_base_sink_change_state):
9862         Post new ASYNC_START/ASYNC_DONE messages.
9863
9864         * tests/check/generic/sinks.c: (GST_START_TEST):
9865         Fix test because the bin will not set the async element to PLAYING right
9866         away.
9867
9868         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9869         Make the message check a little stronger.
9870         Handle ASYNC messages.
9871
9872         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9873         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9874         Expect ASYNC_DONE messages.
9875
9876 2007-03-19  Wim Taymans  <wim@fluendo.com>
9877
9878         * docs/gst/gstreamer-sections.txt:
9879         * gst/gstmessage.c: (gst_message_new_async_start),
9880         (gst_message_new_async_done), (gst_message_parse_info),
9881         (gst_message_parse_async_start):
9882         * gst/gstmessage.h:
9883         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9884         support.
9885
9886 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
9887
9888         * tools/gst-inspect.c:
9889         (print_plugin_automatic_install_info_codecs):
9890           Now that we don't check for the 'Codec' keyword any longer in the
9891           klass, we shouldn't spew a warning if the klass isn't a decoder or
9892           encoder (since it might be a Source/Network, for example).
9893
9894 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
9895
9896         * tools/gst-inspect.c:
9897         (print_plugin_automatic_install_info_codecs):
9898           Don't require decoder/demuxer/depayloader elements or
9899           encoder/muxer/paylader elements to have 'Codec' as part of their
9900           factory class string when introspecting a plugin's capabilities.
9901           draft-klass.txt mentions that it might be removed in future, and
9902           flump3dec doesn't have it as part of its class string, so chances
9903           are others might also not have it.
9904
9905 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9906
9907         * po/af.po:
9908         * po/az.po:
9909         * po/bg.po:
9910         * po/ca.po:
9911         * po/cs.po:
9912         * po/de.po:
9913         * po/en_GB.po:
9914         * po/fr.po:
9915         * po/it.po:
9916         * po/nb.po:
9917         * po/nl.po:
9918         * po/ru.po:
9919         * po/sq.po:
9920         * po/sr.po:
9921         * po/sv.po:
9922         * po/tr.po:
9923         * po/uk.po:
9924         * po/vi.po:
9925         * po/zh_CN.po:
9926         * po/zh_TW.po:
9927           Update translations from translation project
9928
9929 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
9930
9931         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9932         (gst_child_proxy_set_property):
9933           Invert precondition check to be alike the ones in the mimiced gobject
9934           api.
9935
9936 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
9937
9938         * docs/design/draft-tagreading.txt:
9939         * docs/random/ensonic/audiobaseclasses.txt:
9940           Do some Architect work.
9941
9942         * gst/gstobject.c: (gst_object_set_name):
9943           Add a WARNING.
9944
9945         * gst/gstpad.c:
9946           Add docs that point from gst_pad_get_range to gst_pad_pull_range
9947
9948 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
9949
9950         * gst/gstsystemclock.c: (gst_system_clock_init),
9951         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9952         Defer starting the async system clock thread until the first async
9953         wait is scheduled. Fixes #414986.
9954
9955 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
9956
9957         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9958         (gst_single_queue_free):
9959           Fix small leak (free GstSingleQueue structure too, not only contents).
9960
9961 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
9962
9963         * gst/gstbin.c:(gst_bin_add):
9964         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9965         * win32/common/libgstbase.def:
9966         * win32/common/libgstreamer.def:
9967         Add new exported functions.
9968
9969 2007-03-09  Wim Taymans  <wim@fluendo.com>
9970
9971         * docs/plugins/gstreamer-plugins-sections.txt:
9972         Fix GstTee docs.
9973
9974 2007-03-09  Wim Taymans  <wim@fluendo.com>
9975
9976         * docs/gst/gstreamer-sections.txt:
9977         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9978         * gst/gstbuffer.h:
9979         Add metadata copy functions. Fixes #393099.
9980         API: gst_buffer_copy_metadata()
9981
9982         * gst/gstutils.c: (gst_buffer_stamp):
9983         * libs/gst/base/gstbasetransform.c:
9984         (gst_base_transform_prepare_output_buffer):
9985         Use new metadata copy functions.
9986
9987 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9988
9989         * plugins/elements/gstidentity.c: (gst_identity_class_init),
9990         (gst_identity_init), (gst_identity_check_perfect),
9991         (gst_identity_check_imperfect_timestamp),
9992         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9993         (gst_identity_set_property), (gst_identity_get_property):
9994         * plugins/elements/gstidentity.h:
9995         Separate out check-imperfect-timestamp and check-imperfect-offset.
9996         Put back check-perfect as it was to keep compatibility.
9997
9998 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
9999
10000         * gst/gstelement.c: (gst_element_dispose):
10001         There's no need to warn if VOID_PENDING is not NONE here, as
10002         long as the state is NULL it's ok, and that's checked immediately
10003         above.
10004
10005 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10006
10007         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
10008         Fix check for perfect stream to ignore buffers with -1 
10009         offsets/offset ends when checking data contiguity.
10010
10011 2007-03-08  Wim Taymans  <wim@fluendo.com>
10012
10013         * tools/gst-launch.c: (event_loop):
10014         Print INFO messages.
10015
10016 2007-03-08  Wim Taymans  <wim@fluendo.com>
10017
10018         * libs/gst/base/gstbasetransform.c:
10019         (gst_base_transform_sink_eventfunc),
10020         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
10021         (gst_base_transform_activate):
10022         * libs/gst/base/gstbasetransform.h:
10023         Add support for dropping buffers with custom GstFlowReturn.
10024         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
10025         buffers or dropped buffers.
10026
10027         * docs/libs/gstreamer-libs-sections.txt:
10028         docs for new custom return code.
10029
10030         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10031         Use drop support in base class to implement drop-probability.
10032
10033 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
10034
10035         * gst/gst.c: (load_plugin_func):
10036         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
10037         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10038         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
10039           Remove newlines at end of debug log strings.
10040
10041 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10042
10043         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
10044         Only post bus message at max, once per buffer received.
10045
10046 2007-03-07  Wim Taymans  <wim@fluendo.com>
10047
10048         * docs/design/Makefile.am:
10049         * docs/design/part-synchronisation.txt:
10050         Add doc about synchronisation
10051
10052         * docs/design/draft-latency.txt:
10053         * docs/design/part-TODO.txt:
10054         * docs/design/part-clocks.txt:
10055         * docs/design/part-events.txt:
10056         * docs/design/part-gstbus.txt:
10057         * docs/design/part-gstpipeline.txt:
10058         * docs/design/part-live-source.txt:
10059         * docs/design/part-messages.txt:
10060         * docs/design/part-overview.txt:
10061         * docs/design/part-streams.txt:
10062         * docs/design/part-trickmodes.txt:
10063         Documentation updates.
10064
10065 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
10066
10067         * gstreamer.doap:
10068         Update the doap file.
10069
10070 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10071
10072         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
10073         Rename non-perfect to imperfect for Mike and for the sanctity of the
10074         language.
10075         Also make sure bus message gets emitted for data-incontiguities.
10076
10077 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10078
10079         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
10080         (gst_identity_start):
10081         * plugins/elements/gstidentity.h:
10082         Emit bus message if check-perfect is true and we encounter a
10083         non-perfect stream between 2 consecutive buffers.
10084         Fixes #415394.
10085
10086 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
10087
10088         * configure.ac:
10089         Back to CVS
10090
10091 === release 0.10.12 ===
10092
10093 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
10094
10095         * configure.ac:
10096           releasing 0.10.12, "Inevitable Demise"
10097
10098 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
10099
10100         * configure.ac:
10101          Version 0.10.11.2 (0.10.12 pre-release)
10102          Bump libtool versioning.
10103
10104 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
10105
10106         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
10107           Log flow-names and not numbers.
10108
10109 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10110
10111         * configure.ac:
10112           Convert to new AG_GST style.
10113
10114 2007-02-28  Wim Taymans  <wim@fluendo.com>
10115
10116         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
10117         Don't unref query twice.
10118
10119 2007-02-28  Wim Taymans  <wim@fluendo.com>
10120
10121         * gst/gstvalue.c: (gst_value_transform_object_string),
10122         (_gst_value_initialize):
10123         Implement GstObject -> string transform so we print object names
10124         when serializing GValues containing GstObjects.
10125
10126 2007-02-28  Wim Taymans  <wim@fluendo.com>
10127
10128         * docs/gst/gstreamer-sections.txt:
10129         Add new stuff to docs.
10130
10131 2007-02-28  Wim Taymans  <wim@fluendo.com>
10132
10133         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
10134         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
10135         (gst_base_sink_change_state):
10136         Improve latency query code.
10137         Don't leak latency events.
10138
10139         * tests/check/gst/gstbin.c: (GST_START_TEST):
10140         Improve debugging.
10141
10142 2007-02-28  Wim Taymans  <wim@fluendo.com>
10143
10144         * gst/gstelement.c: (gst_element_message_full),
10145         (gst_element_get_state_func):
10146         * gst/gstelement.h:
10147         Improve docs a little. Added Since: for new macro.
10148
10149         * gst/gstobject.c: (gst_object_sink):
10150         * gst/gstpipeline.c: (gst_pipeline_change_state),
10151         (gst_pipeline_set_new_stream_time):
10152         * gst/gstpipeline.h:
10153         Improve debugging and docs.
10154
10155         * gst/gstutils.c: (gst_element_state_change_return_get_name):
10156         Improve debugging.
10157
10158 2007-02-28  Wim Taymans  <wim@fluendo.com>
10159
10160         * gst/gstelement.c: (gst_element_message_full),
10161         (gst_element_set_locked_state), (gst_element_get_state_func),
10162         (gst_element_change_state):
10163         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
10164         Documentation updates.
10165         Small code cleanups.
10166
10167         * gst/gstmessage.c: (gst_message_new_info),
10168         (gst_message_parse_info):
10169         * gst/gstmessage.h:
10170         API: gst_message_new_info()
10171         API: gst_message_parse_info()
10172         Add INFO message create and parse code.
10173
10174 2007-02-28  Wim Taymans  <wim@fluendo.com>
10175
10176         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
10177         (bin_query_latency_done):
10178         Also report the live parameter of a latency query.
10179
10180 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10181
10182         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
10183           Copy the current generic/states example from -base and adapt so
10184           we can use the exact same code everywhere.
10185           Check a STATES_IGNORE_ELEMENTS env var which can be used
10186           to ignore certain element factories for this test, which is
10187           what is being done in -base
10188         * tests/check/Makefile.am:
10189           Mention this environment variable.
10190
10191 2007-02-27  Wim Taymans  <wim@fluendo.com>
10192
10193         * docs/gst/gstreamer-sections.txt:
10194         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10195         (gst_bus_timed_pop), (gst_bus_pop):
10196         * gst/gstbus.h:
10197         API: gst_bus_timed_pop()
10198         Implement gst_bus_timed_pop() to do a blocking timed wait for a
10199         message to arrive on the bus.
10200
10201         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
10202         (gst_bus_suite):
10203         Two unit tests for new _timed_pop() function.
10204
10205 2007-02-23  Wim Taymans  <wim@fluendo.com>
10206
10207         * gst/gstpipeline.c: (gst_pipeline_change_state),
10208         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
10209         Don't ref a NULL clock in _provide_clock_func().
10210         Don't allow an INVALID delay.
10211         Don't try to calculate base_time with an invalid start_time.
10212         Also distribute and notify a NULL clock when it was selected.
10213
10214         * tools/gst-launch.c: (event_loop):
10215         Don't crash when a NULL clock was selected in the pipeline.
10216
10217 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
10218
10219         * docs/design/Makefile.am:
10220         * docs/design/draft-missing-plugins.txt:
10221         * docs/random/draft-missing-plugins.txt:
10222           Some small updates: update plugin system identifier prefix
10223           ('gstreamer.net' to 'gstreamer'), mention our new install
10224           API in libgstbaseutils rather than libgimme-codec, add
10225           reference to the online docs.
10226
10227 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10228
10229         * win32/common/config.h:
10230           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
10231           use moap cl ci to only check in what is mentioned in the ChangeLog.
10232
10233 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10234
10235         * docs/gst/gstreamer-sections.txt:
10236         * gst/gstelement.h:
10237           Fix up documentation to link to the correct GstGError section.
10238           Add GST_ELEMENT_INFO macro since someone else added a Info message.
10239
10240 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10241
10242         * tools/gst-launch.c: (event_loop):
10243           Make sure that we actually show the important message part of a
10244           warning message.
10245           No need to check if the gerror is not NULL to free; first of all
10246           g_free accepts NULL; and second the default error handler would
10247           segfault if gerror was NULL.
10248
10249 2007-02-21  Wim Taymans  <wim@fluendo.com>
10250
10251         * docs/gst/gstreamer-sections.txt:
10252         Removed docs as well.
10253
10254 2007-02-21  Wim Taymans  <wim@fluendo.com>
10255
10256         * gst/gstmessage.c: (gst_message_parse_duration):
10257         * gst/gstmessage.h:
10258         Remove new messages for release.
10259
10260 2007-02-20  Wim Taymans  <wim@fluendo.com>
10261
10262         * docs/design/part-gstghostpad.txt:
10263         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
10264         (gst_ghost_pad_new_full):
10265         Make the ghostpad a parent of the internal pad again for better backward
10266         compatibility. Don't write code that relies on this however.
10267
10268         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
10269         (gst_pad_link_check_hierarchy):
10270         Require that parents should be GstElements in the hierarchy check.
10271
10272 2007-02-20  Wim Taymans  <wim@fluendo.com>
10273
10274         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
10275         (gst_bin_change_state_func), (bin_query_min_max_init),
10276         (bin_query_latency_fold), (bin_query_latency_done),
10277         (gst_bin_query):
10278         Improve debug info.
10279         Implement latency query.
10280
10281 2007-02-20  Wim Taymans  <wim@fluendo.com>
10282
10283         * docs/design/part-gstghostpad.txt:
10284         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
10285         (gst_ghost_pad_internal_do_activate_push),
10286         (gst_ghost_pad_internal_do_activate_pull),
10287         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10288         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
10289         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
10290         Do not set the internal pad as a parent anymore so we can avoid
10291         hierarchy linking errors when the ghostpad has no parent yet. This also
10292         fixes failed activation because of unlinked internal pads, which in
10293         turn fixes the impossible case where you have to activate a pad before
10294         you can add it to a running element.
10295         Also fix the docs.
10296
10297         * gst/gstpad.c: (pre_activate), (post_activate),
10298         (gst_pad_set_active), (gst_pad_activate_pull),
10299         (gst_pad_activate_push), (gst_pad_check_pull_range):
10300         Add some more debug info.
10301         Mark activation mode in pre_activate so that we don't try to activate in
10302         endless loops. Fixes #385084.
10303
10304 2007-02-19  Wim Taymans  <wim@fluendo.com>
10305
10306         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
10307         (gst_base_transform_check_get_range):
10308         Implement a checkgetrange function instead of relying on the default
10309         core behaviour that assumes we can operate in pull mode if we have a
10310         getrange function. First step at fixing #385084.
10311
10312 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
10313
10314         * gst/gstchildproxy.h:
10315         * libs/gst/base/gstbasesink.h:
10316         * libs/gst/base/gstbasesrc.h:
10317         * libs/gst/base/gstbasetransform.h:
10318         More docs coverage and some ChangeLog surgery (add missing names)
10319
10320 2007-02-15  Wim Taymans  <wim@fluendo.com>
10321
10322         * docs/design/part-TODO.txt:
10323         * docs/design/part-activation.txt:
10324         * docs/design/part-block.txt:
10325         * docs/design/part-buffering.txt:
10326         * docs/design/part-clocks.txt:
10327         * docs/design/part-element-source.txt:
10328         * docs/design/part-events.txt:
10329         * docs/design/part-gstbin.txt:
10330         * docs/design/part-gstbus.txt:
10331         * docs/design/part-gstpipeline.txt:
10332         * docs/design/part-live-source.txt:
10333         * docs/design/part-messages.txt:
10334         * docs/design/part-overview.txt:
10335         * docs/design/part-qos.txt:
10336         * docs/design/part-query.txt:
10337         * docs/design/part-states.txt:
10338         * docs/design/part-trickmodes.txt:
10339         Some doc updates. Start renaming from stream_time to running_time where
10340         it was used wrongly.
10341
10342 2007-02-15  Wim Taymans  <wim@fluendo.com>
10343
10344         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
10345         Answer LATENCY query.
10346
10347 2007-02-15  Wim Taymans  <wim@fluendo.com>
10348
10349         * tests/check/gst/gstevent.c: (event_probe), (test_event),
10350         (GST_START_TEST):
10351         Improve debugging.
10352
10353 2007-02-15  Wim Taymans  <wim@fluendo.com>
10354
10355         * gst/gstpad.c: (gst_pad_get_internal_links_default),
10356         (gst_pad_dispatcher):
10357         Improve debugging of default pad dispatcher and query functions.
10358
10359 2007-02-15  Wim Taymans  <wim@fluendo.com>
10360
10361         * docs/gst/gstreamer-sections.txt:
10362         Remove old unused method.
10363
10364 2007-02-13  Wim Taymans  <wim@fluendo.com>
10365
10366         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10367         Fix check
10368
10369 2007-02-13  Wim Taymans  <wim@fluendo.com>
10370
10371         * docs/design/part-seeking.txt:
10372         Some small update.
10373
10374         * gst/gstsegment.c: (gst_segment_set_seek):
10375         Revert old bogus change that should make seeking work again.
10376
10377 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10378
10379         * docs/random/ensonic/dynlink.txt:
10380         * docs/random/ensonic/interfaces.txt:
10381         * docs/random/ensonic/receipies.txt:
10382           Possible dynamic reconnection api, plus some type fixes the other two
10383           docs.
10384
10385 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
10386
10387         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10388         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10389         Also check for an absolute path following file:// in the filesrc
10390         element. Remove redundant check and call g_path_is_absolute() on the
10391         unescaped location.
10392
10393 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10394
10395         * docs/design/draft-klass.txt:
10396           Add existing category analysis.
10397           
10398         * gst/gstcaps.c:
10399           Fix doc example, framerate is a fraction.
10400
10401 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10402
10403         * configure.ac:
10404         * docs/gst/Makefile.am:
10405         * docs/gst/gstreamer-sections.txt:
10406         * docs/libs/Makefile.am:
10407           Erm, forgot a bunch of --extra-dir.
10408
10409 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10410
10411         * configure.ac:
10412         * docs/gst/Makefile.am:
10413         * docs/libs/Makefile.am:
10414         * docs/plugins/Makefile.am:
10415           Add crossreferences to glib/gobject docs.
10416
10417 2007-02-12  Wim Taymans  <wim@fluendo.com>
10418
10419         * docs/design/draft-latency.txt:
10420         Small update.
10421
10422         * docs/libs/gstreamer-libs-sections.txt:
10423         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10424         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
10425         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
10426         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
10427         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
10428         (gst_base_sink_get_position), (gst_base_sink_query),
10429         (gst_base_sink_change_state):
10430         * libs/gst/base/gstbasesink.h:
10431         API: gst_base_sink_query_latency() to let subclasses query the upstream
10432         latency.
10433         API: gst_base_sink_get_latency() to let subclasses query the configured
10434         latency in the sink.
10435         Implement query and set latency.
10436         Update some docs.
10437         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
10438         don't continue preroll when we are flushing. Fixes #405284.
10439
10440         * tests/check/pipelines/stress.c: (change_state_timeout),
10441         (quit_timeout), (GST_START_TEST), (stress_suite):
10442         Test for #405284.
10443
10444 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
10445
10446         Patch by: René Stadler <mail at renestadler de>
10447
10448         * docs/gst/gstreamer-sections.txt:
10449         * gst/gsttaglist.c: (_gst_tag_initialize):
10450         * gst/gsttaglist.h:
10451           API: add GST_TAG_REFERENCE_LEVEL (#403597).
10452
10453 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
10454
10455         * docs/libs/Makefile.am:
10456           Fix path to core docs.
10457
10458         * gst/gstbin.c: (gst_bin_get_by_interface),
10459         (gst_bin_iterate_all_by_interface):
10460           Refix docs by also renaming 'interface' to 'iface' in implementation.
10461
10462         * docs/gst/gstreamer-sections.txt:
10463         * gst/gstcaps.c:
10464         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
10465         * gst/gstchildproxy.h:
10466         * gst/gstelementfactory.c:
10467         * gst/gstpadtemplate.h:
10468         * libs/gst/controller/gstcontroller.c:
10469         (gst_controlled_property_new):
10470           Document more.
10471
10472 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
10473
10474         * gst/gstbin.h:(gst_bin_get_by_interface),
10475         (gst_bin_iterate_all_by_interface):
10476         Replace interface parameter name by iface as interface is 
10477         a reserved keyword in Visual Studio for C++ projects so it removes
10478         a build error for application developpers using VS.
10479         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
10480         Fix a bug on Windows in uri format check. Now the prefix checked
10481         is file:// and next we check if the path after file:// is absolute.
10482         * win32/common/libgstbase.def:
10483         * win32/common/libgstdataprotocol.def:
10484         * win32/common/libgstgstreamer.def:
10485         Add new exported functions.
10486
10487 2007-02-09  Andy Wingo  <wingo@pobox.com>
10488
10489         * tests/check/pipelines/simple-launch-lines.c
10490         (simple_launch_lines_suite, test_tee): Disable tee test until I
10491         have time to fix it :-(
10492
10493         * tests/check/Makefile.am (noinst_HEADERS): 
10494         * tests/check/libs/libsabi.c: 
10495         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
10496         * tests/check/gst/gstabi.c: 
10497         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
10498
10499         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
10500         tests for push and pull tee behavior.
10501
10502         * plugins/elements/gsttee.h: 
10503         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
10504         mark as deprecated as well as unimplemented. It was a crack idea.
10505         Add support for tee operating in pull mode, off by default.
10506
10507         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
10508         normal-case logs down to LOG, raise errors to WARNING.
10509         (gst_registry_xml_read_cache): Don't log before calling a function
10510         that logs.
10511
10512         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
10513         exit (registry finalize).
10514         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
10515         DEBUG log when we emit signals that people don't even have the
10516         chance to connect to.
10517         (gst_registry_scan_path_level): Less logging in the normal case.
10518
10519 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10520
10521         Patch by: Michal Benes <michal dot benes at itonis dot tv>
10522
10523         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10524         Correctly generate EOS for non-seekable files. We don't have a total
10525         length for them and would get an unexpected end of file if we only
10526         special-cased for regular files. (Fixes: #404569)
10527
10528 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10529
10530         * tests/check/elements/filesrc.c: (GST_START_TEST),
10531         (filesrc_suite):
10532         Add unit test for the GstURIHandler interface in filesrc. This also
10533         tests the newly added file://localhost/foo/bar support.
10534
10535 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
10536
10537         * gst/gstelementfactory.h:
10538           The klass string is not a hierarchy. Add reference to the design doc
10539           for more information and common types.
10540
10541 2007-02-02  Wim Taymans  <wim@fluendo.com>
10542
10543         * gst/gstquery.c: (gst_query_new_latency):
10544         Remove old structure field.
10545
10546 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
10547
10548         * tools/gst-launch.1.in:
10549           Give example for network streaming (#351998)
10550
10551 2007-02-02  Wim Taymans  <wim@fluendo.com>
10552
10553         * docs/gst/gstreamer-sections.txt:
10554         Add docs for new methods.
10555
10556         * gst/gstevent.c: (gst_event_new_latency),
10557         (gst_event_parse_latency):
10558         * gst/gstevent.h:
10559         Add new LATENCY event to configure latency in a pipeline.
10560         API: gst_event_new_latency
10561         API: gst_event_parse_latency
10562
10563         * gst/gstmessage.c: (gst_message_new_buffering),
10564         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10565         (gst_message_new_latency), (gst_message_parse_buffering),
10566         (gst_message_parse_lost_preroll):
10567         * gst/gstmessage.h:
10568         Added messages used in draft-latency.
10569         API: gst_message_new_lost_preroll
10570         API: gst_message_parse_lost_preroll
10571         API: gst_message_new_prerolled
10572         API: gst_message_new_latency
10573
10574         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10575         (gst_query_parse_latency):
10576         * gst/gstquery.h:
10577         Implemented new latency query as in design doc.
10578         API: gst_query_new_latency
10579         API: gst_query_set_latency
10580         API: gst_query_parse_latency
10581
10582 2007-02-02  Wim Taymans  <wim@fluendo.com>
10583
10584         * docs/design/draft-latency.txt:
10585         Slight redesign to allow for dynamic latency adjustments.
10586
10587         * docs/design/part-negotiation.txt:
10588         Fix some typos.
10589
10590 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
10591
10592         reviewed by: Wim Taymans <wim@fluendo.com>
10593
10594         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10595         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10596         Allow file://localhost/foo/bar URLs and correctly fail for every other
10597         hostname that one sets. This was gnomevfssrc is linked for those if
10598         installed as it can handle it (#403172)
10599
10600 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10601
10602         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10603
10604         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10605         (unref_data), (gst_collect_pads_add_pad_full):
10606         * libs/gst/base/gstcollectpads.h:
10607         Don't put the previously added destroy notify in the GstCollectData
10608         struct as all it's padding is already used and we don't want to break
10609         ABI. Instead put in the pad's GObject data for now. This should be
10610         cleaned up for 0.11 (#402393).
10611
10612 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10613
10614         reviewed by: Wim Taymans <wim@fluendo.com>
10615
10616         * docs/libs/gstreamer-libs-sections.txt:
10617         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10618         (unref_data), (gst_collect_pads_add_pad),
10619         (gst_collect_pads_add_pad_full):
10620         * libs/gst/base/gstcollectpads.h:
10621         API: Add function to specify a destroy notification for custom
10622         GstCollectData when adding new pads in GstCollectPads (#402393).
10623
10624 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
10625
10626         * po/sv.po:
10627           Update Swedish translation (#378255).
10628
10629 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10630
10631         * docs/design/draft-klass.txt:
10632           Fix the previous change, this is a list of categories and not a hierarchy.
10633
10634 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10635
10636         * docs/design/draft-klass.txt:
10637           Add info about how to get a list of used classes.
10638
10639 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
10640
10641         * plugins/elements/gsttypefindelement.c:
10642         (gst_type_find_element_chain_do_typefinding),
10643         (gst_type_find_element_change_state):
10644           Don't leak found caps in chain function (no idea why that never
10645           showed up as a leak anywhere).
10646
10647 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
10648
10649         * gst/gstplugin.h:
10650           Fix and expand GstPluginDesc API docs.
10651
10652 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10653
10654         * gst/gstcaps.c:
10655         * gst/gstelementfactory.c:
10656         * gst/gstpadtemplate.h:
10657           api doc fixes
10658
10659         * libs/gst/controller/gstcontroller.c:
10660         (gst_controlled_property_new):
10661         * tests/examples/controller/audio-example.c:
10662           comment fixes
10663
10664 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10665
10666         * configure.ac:
10667           comment about refining the xml deps
10668
10669         * docs/manuals.mak:
10670           comments about moving away from jade for docs
10671         
10672         * gst/gst.c:
10673           recommit the ifdefs to use the binary registry
10674         
10675         * gst/gstbin.c: (gst_bin_change_state_func):
10676           this break is obsolete
10677
10678         * gst/gstelementfactory.h:
10679           better GST_ELEMENT_DETAILS docs, add comment about translation
10680
10681         * gst/gstinfo.h:
10682           remove eol slash
10683
10684         * gst/gstobject.c: (gst_signal_object_get_type):
10685           add G_UNLIKELY as usual
10686
10687         * gst/gstpad.c: (gst_pad_event_default):
10688           add fall trhu comment
10689
10690         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10691         (gst_registry_binary_initialize_magic),
10692         (gst_registry_binary_save_string),
10693         (gst_registry_binary_save_pad_template),
10694         (gst_registry_binary_save_feature),
10695         (gst_registry_binary_save_plugin),
10696         (gst_registry_binary_write_cache),
10697         (gst_registry_binary_check_magic),
10698         (gst_registry_binary_load_pad_template),
10699         (gst_registry_binary_load_feature),
10700         (gst_registry_binary_load_plugin),
10701         (gst_registry_binary_read_cache):
10702           comment typo and formatting
10703
10704         * gst/gstutils.c: (gst_element_state_get_name),
10705         (gst_element_state_change_return_get_name):
10706           remove obsolete breaks
10707
10708         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10709           add FIXME 0.11 and remove cpp comment
10710
10711 2007-01-29  Edward Hervey  <edward@fluendo.com>
10712
10713         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10714         Fix print statement in an even more portable way.
10715
10716 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
10717
10718         * docs/gst/gstreamer-sections.txt:
10719         * gst/gstutils.h:
10720           API: add GST_ROUND_DOWN_* macros (#401781).
10721
10722 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
10723
10724         * docs/gst/gstreamer.types.in:
10725         * gst/gstregistry.c: (gst_registry_class_init):
10726           Document registry signals and make gtk-doc pick them up (#401381).
10727
10728 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10729
10730         * docs/pwg/building-testapp.xml:
10731           Add some audioconverts and audioresample to the pipeline, and some
10732           more comments and error handling.
10733
10734 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10735
10736         * docs/manual/manual.xml:
10737         * docs/pwg/pwg.xml:
10738           Fix typo (#400987).
10739
10740 2007-01-26  Wim Taymans  <wim@fluendo.com>
10741
10742         * gst/gstcaps.c: (gst_static_caps_get):
10743         Init caps flags too.
10744
10745 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
10746
10747         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10748
10749         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10750         If not using mmap'ed files try to seek to the end instead of the
10751         start to determine whether we can seek at all. This fixes the case
10752         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10753         seeks for everything afterwards fail. Fixes #400656
10754
10755 2007-01-25  Wim Taymans  <wim@fluendo.com>
10756
10757         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10758         Add some refcount debugging.
10759         Make gst_static_caps_get threadsafe, which is needed when autoplugging
10760         in multiple streaming threads.
10761
10762 2007-01-25  Wim Taymans  <wim@fluendo.com>
10763
10764         Patch by: David Schleef <ds at schleef dot org>
10765
10766         * docs/libs/gstreamer-libs-sections.txt:
10767         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10768         * libs/gst/base/gstadapter.h:
10769         API: gst_adapter_copy() that can reduce the amount of memcpy when
10770         getting data from the adapter. Fixes #388201.
10771
10772 2007-01-25  Edward Hervey  <edward@fluendo.com>
10773
10774         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10775         In print statements, "%x" is for guint. Fixes build on macosx.
10776
10777 2007-01-24  Edward Hervey  <edward@fluendo.com>
10778
10779         * plugins/elements/gstmultiqueue.c:
10780         (gst_multi_queue_loop):
10781         Small fix.
10782         (single_queue_overrun_cb), (single_queue_underrun_cb),
10783         (single_queue_check_full), (gst_single_queue_new):
10784         Implement single queue growth system.
10785         This uses the extra-size properties, and will grow single queues by
10786         that much if one goes full whereas there are others empty. This is
10787         called extra-mode in the code.
10788         When a single queue's levels go back below the initial max-size
10789         limits, it is no longer in extra-mode. This is to ensure we don't
10790         consume too much memory.
10791         Fixes #399875
10792
10793 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
10794
10795         * gst/gst.c: (gst_init_get_option_group):
10796           Make warning about late g_thread_init() calls a bit more explicit,
10797           so that it's more obvious to application developers what they need
10798           to do if a user files a bug against their application.
10799
10800 2007-01-22  Edward Hervey  <edward@fluendo.com>
10801
10802         * plugins/elements/gstmultiqueue.c:
10803         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10804         Remove previous hack of unsetting the flushing flag for the source pad
10805         instead of activating it. Instead, fix the source pad activate function
10806         so that it no longer depends on having a parent set or not.
10807
10808 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
10809
10810         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10811
10812         * docs/manual/basics-bus.xml:
10813           Fix example code, gst_element_unref() doesn't exist any longer.
10814
10815 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
10816
10817         Patch by: Mark Nauwelaerts <manauw at skynet be>
10818
10819         * gst/gstpad.c:
10820           Fix two docs typoes (#399094).
10821
10822 2007-01-19  Edward Hervey  <edward@fluendo.com>
10823
10824         * docs/faq/gst-uninstalled:
10825         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10826         depending on libgstbaseutils can work in uninstalled environment.
10827
10828 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
10829
10830         * gst/gsttaglist.h:
10831         * gst/gsttagsetter.c:
10832         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10833         statement for new tag.
10834
10835 2007-01-17  Edward Hervey  <edward@fluendo.com>
10836
10837         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10838         When dynamically creating single queues, activate sinkpad before adding
10839         it.
10840         We should be doing the same thing for the source pad, but we can't
10841         since it would call a method which needs the parent to be set in order
10842         to work propertly. Instead of activating the source pad, we just unset
10843         the flushing flag, which is the minimal requirement for adding a pad
10844         to an element in a state greater than READY.
10845
10846 2007-01-17  Edward Hervey  <edward@fluendo.com>
10847
10848         * docs/faq/gst-uninstalled:
10849         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10850         Mac OS X.
10851
10852 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
10853
10854         * tests/check/gst/gstabi.c:
10855         * tests/check/gst/struct_hppa.h:
10856         * tests/check/libs/libsabi.c:
10857         * tests/check/libs/struct_hppa.h:
10858           Add ABI structs for HPPA (see #393796).
10859
10860 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
10861
10862         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10863           Actually write ABI structs to the file specified in the GST_ABI
10864           environment variable, as the message we print claims we would.
10865
10866 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10867
10868         * tests/check/gst/gsttask.c:
10869           Fix header comment.
10870
10871 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10872
10873         * gst/gsttaglist.c: (_gst_tag_initialize):
10874           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10875           previous two entries.
10876
10877 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10878
10879         * docs/gst/gstreamer-sections.txt:
10880         * gst/gsttaglist.c: (_gst_tag_initialize):
10881         * gst/gsttaglist.h:
10882           Add tag support for beat-per-minute.
10883
10884 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10885
10886         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10887         (gst_registry_binary_initialize_magic),
10888         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10889         (gst_registry_binary_save_pad_template),
10890         (gst_registry_binary_save_feature),
10891         (gst_registry_binary_save_plugin),
10892         (gst_registry_binary_write_cache),
10893         (gst_registry_binary_check_magic),
10894         (gst_registry_binary_load_pad_template),
10895         (gst_registry_binary_load_feature),
10896         (gst_registry_binary_load_plugin),
10897         (gst_registry_binary_read_cache):
10898         * gst/gstregistrybinary.h:
10899           Use glib types, cleanup comments, impement interfaces and uri-types.
10900
10901 2007-01-13  Andy Wingo  <wingo@pobox.com>
10902
10903         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10904         getrange() to return buffers with other caps, while we fix
10905         demuxers and typefind, or otherwise change part-negotiation.txt.
10906
10907 2007-01-12  Andy Wingo  <wingo@pobox.com>
10908
10909         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10910         Factor start/stop into this private function instead of partially
10911         in activate functions and partially in the change_state function.
10912         Fixes setup before the element has changed from READY->PAUSED, as
10913         is the case in pull-mode pipelines.
10914         (gst_base_transform_sink_activate_push)
10915         (gst_base_transform_src_activate_pull): Refactor to use
10916         gst_base_transform_activate().
10917         (gst_base_transform_change_state): Removed, not needed any more.
10918
10919         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10920         Truncate before fixating.
10921         
10922         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10923         Don't set_caps() if the result of fixating is ANY, as it's not
10924         supported, and not necessary in the case of a link with no
10925         template caps on either side. Fixes tests/check/libs/basesrc in
10926         some pull-mode tests.
10927
10928         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10929         (gst_base_transform_init, gst_base_transform_sink_activate_push)
10930         (gst_base_transform_src_activate_pull): 
10931         Track the activation mode.
10932         (gst_base_transform_setcaps): In pull mode, when activating the
10933         src pad, after activating the sink pad, activate the sink pad's
10934         peer, as discussed in part-negotiation.txt.
10935
10936         * libs/gst/base/gstbasesrc.h: 
10937         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10938         vmethod, as in basesink.
10939
10940         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10941
10942         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10943         mode, first proxy the setcaps to the peer pad.
10944         (gst_base_sink_pad_fixate): Add a fixate function that calls the
10945         new fixate vmethod.
10946         (gst_base_sink_default_activate_pull): Rename from
10947         gst_base_sink_activate_pull.
10948         (gst_base_sink_negotiate_pull): New function, performs negotiation
10949         in pull mode before calling ::activate_pull().
10950         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10951         vmethod instead of the default implementation. I have no idea how
10952         this worked before. Negotiate before calling activate_pull.
10953
10954         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10955         sink pads in pull mode. In addition to being correct, fixes
10956         filesrc ! decodebin ! identity ! fakesink.
10957         (gst_pad_get_range, gst_pad_pull_range): Don't call
10958         gst_pad_set_caps() if the caps changes; instead error out with
10959         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10960
10961 2007-01-12  Andy Wingo  <wingo@pobox.com>
10962
10963         * docs/design/part-negotiation.txt: Update with more policy.
10964
10965 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10966
10967         * libs/gst/check/gstbufferstraw.h:
10968         * libs/gst/check/gstcheck.h:
10969           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10970           belongs.
10971
10972 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10973
10974         * tests/check/Makefile.am:
10975         * tests/check/gst/.cvsignore:
10976         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10977         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10978         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10979         (GST_START_TEST), (gst_tag_setter_suite):
10980           Add minimal unit test for beforementioned GstTagSetter bug.
10981
10982 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10983
10984         Patch by: René Stadler <mail at renestadler dot de>
10985
10986         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10987           gst_tag_list_merge() returns a new list, so it's not the best idea
10988           to ingore its return value. Effectively meant that tags could only
10989           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10990           Also add function guard to require a non-NULL taglist as input (has
10991           always been so due to gst_tag_list_copy(), just making it explicit).
10992
10993 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10994
10995         * docs/random/draft-missing-plugins.txt:
10996           Some additions: mention new API that is supposed to be used at the
10997           various stages; short blob about new gst-inspect introspection
10998           option; mention potential future problem with plugins that have
10999           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
11000
11001 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
11002
11003         * tools/gst-inspect.c:
11004         (print_plugin_automatic_install_info_codecs),
11005         (print_plugin_automatic_install_info_protocols),
11006         (print_plugin_automatic_install_info), (main):
11007         Add --print-plugin-auto-install-info option to gst-inspect, so we can
11008         introspect plugin files and get machine-parsable output that corresponds
11009         to the last bit of the missing-plugin installer string (small gotcha:
11010         doesn't take into account ranks).
11011
11012 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
11013
11014         * configure.ac:
11015         * docs/gst/gstreamer-sections.txt:
11016         * gst/Makefile.am:
11017         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
11018         (gst_registry_lookup_locked):
11019         * gst/gstregistry.h:
11020         * gst/gstregistrybinary.c: (gst_registry_binary_write),
11021         (gst_registry_binary_initialize_magic),
11022         (gst_registry_binary_save_string),
11023         (gst_registry_binary_save_pad_template),
11024         (gst_registry_binary_save_feature),
11025         (gst_registry_binary_save_plugin),
11026         (gst_registry_binary_write_cache),
11027         (gst_registry_binary_check_magic),
11028         (gst_registry_binary_load_pad_template),
11029         (gst_registry_binary_load_feature),
11030         (gst_registry_binary_load_plugin),
11031         (gst_registry_binary_read_cache):
11032         * gst/gstregistrybinary.h:
11033         * gst/gstregistryxml.c: (load_feature),
11034         (gst_registry_xml_read_cache):
11035           commit binary registry (disabled by default, see #359653)
11036
11037 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
11038
11039         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
11040           Fix 'make check' too.
11041
11042 2007-01-10  Andy Wingo  <wingo@pobox.com>
11043
11044         * docs/design/part-negotiation.txt: Fix a typo, add a couple
11045         notes.
11046         
11047         * docs/design/part-negotiation.txt: Update with, um, one way that
11048         pull-mode negotiation might work?
11049
11050         * gst/gstpad.h: 
11051         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
11052         that the pad must be a src pad; makes sense to call it the other
11053         way in pull mode, and the logic is symmetric anyway.
11054
11055 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
11056
11057         * plugins/elements/gstfilesink.c:
11058           Include <stdio.h> for fseeko().
11059
11060 2007-01-10  Wim Taymans  <wim@fluendo.com>
11061
11062         * gst/gstevent.c:
11063         * gst/gstevent.h:
11064         Reserve LATENCY event.
11065
11066 2007-01-09  Wim Taymans  <wim@fluendo.com>
11067
11068         * docs/design/draft-latency.txt:
11069         Updates.
11070
11071 2007-01-09  Wim Taymans  <wim@fluendo.com>
11072
11073         * docs/design/draft-latency.txt:
11074         Updates.
11075
11076         * gst/gstelement.h:
11077         * gst/gststructure.c:
11078         * gst/gsttrace.c:
11079         Small typo fixes.
11080
11081 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
11082
11083         * tests/check/.cvsignore:
11084           Ignore test-registry.xml as well.
11085
11086 2007-01-09  Wim Taymans  <wim@fluendo.com>
11087
11088         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
11089         unref data at the end when we are done with the pad.
11090
11091 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
11092
11093         * docs/gst/gstreamer-sections.txt:
11094         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
11095         (init_post), (gst_deinit), (gst_update_registry):
11096         * gst/gst.h:
11097           API: add gst_update_registry() (#391296).
11098
11099         * tests/check/Makefile.am:
11100         * tests/check/gst/gstregistry.c:
11101         * tests/check/gst/.cvsignore:
11102           Simple unit test for the above.
11103
11104 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
11105
11106         * gst/gstregistry.c: (gst_registry_scan_path_level):
11107           Plugin extension on HP-UX is .sl, add that to the list of approved
11108           plugin extensions (see #393796).
11109
11110         * tests/check/gst/gstpad.c: (GST_START_TEST):
11111           ulong => gulong. Fixes compilation with HP-UX compiler.
11112
11113         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
11114           Fix compilation if valgrind headers are not available.
11115
11116 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
11117
11118         * win32/common/libgstreamer.def: 
11119           Add new exported function.
11120         * win32/vs6/libgstbase.dsp: 
11121           Add gstdataqueue.c to the build.
11122         * win32/vs6/libgstcoreelements.dsp:
11123           Add gstmultiqueue.c to the build.
11124         
11125 2007-01-06  Andy Wingo  <wingo@pobox.com>
11126
11127         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
11128         activate_pull(), providing for a way to specialize the process of
11129         spawning a thread to pull on the sink pad. There is a default
11130         implementation.
11131
11132         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
11133         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
11134         (gst_base_sink_init): Renamed pad activation functions (inserting
11135         "_pad" in their names). Refactor to use the new activate_pull
11136         vmethod, as appropriate.
11137         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
11138         default activate_pull function to start a task pulling from the
11139         sink pad, as before.
11140
11141         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
11142         on the pads if necessary, as in push()/chain(). Update docs.
11143         Shouldn't affect existing pull() usage as it is currently only
11144         being used on buffers without caps.
11145
11146 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
11147
11148         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
11149         (init_pre):
11150           Call g_thread_init() first thing in gst_init() / gst_check_init().
11151           When initialisation is done via gst_init_get_option_group() and
11152           GOption parsing, issue a warning if the GLib thread system has not
11153           been initialised yet by the time gst_init_get_option_group() is
11154           called, as it's quite likely other GLib functions such as
11155           g_option_context_new() have been called already then, and
11156           g_thread_init() must be called before any other GLib function. The
11157           application in question must be fixed in that case, since memory
11158           corruption might happen otherwise.
11159           We issue the warning because even if the GLib folks decide to work
11160           around the problem on their end in future, this is still an issue
11161           with all GLib versions >= 2.10.0, so we should warn until we depend
11162           on a GLib version we know to be safe.
11163           Update documentation as well.
11164           Closes bug #391278.
11165
11166 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
11167
11168         * tools/gst-inspect.c: (main):
11169         * tools/gst-launch.c: (main):
11170         * tools/gst-typefind.c: (main):
11171         * tools/gst-xmlinspect.c: (main):
11172           Call g_thread_init() really really early, before any other GLib
11173           function (see #342564 and recent discussion on gtk-devel-list).
11174
11175 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
11176
11177         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
11178
11179         * gst/gst_private.h:
11180         * gst/gstconfig.h.in:
11181         * gst/gstinfo.h:
11182           On win32, all the __declspec stuff for symbol exporting is
11183           apparently only needed with MSVC, but doesn't work with MingW.
11184           Fixes compilation with MingW and #391909.
11185
11186 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
11187
11188         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
11189           Change some GST_ERROR_OBJECT that aren't really errors to
11190           GST_WARNING_OBJECT in order to reduce terminal spam.
11191
11192 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
11193
11194         * tests/check/Makefile.am:
11195           disable test again, as there seem to be still race problems
11196
11197 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
11198
11199         * tests/check/Makefile.am:
11200         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11201         (GST_START_TEST), (queue_suite):
11202           enable queue test again, add tests for the leaky behaviour
11203
11204 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
11205
11206         * configure.ac:
11207         * tests/examples/Makefile.am:
11208           Compile adapter test/example only if the required headers are
11209           available (fixes #391915).
11210
11211 2007-01-01  David Schleef  <ds@schleef.org>
11212
11213         * gst/gstplugin.c:
11214           Restore the previous signal handler for SIGSEGV instead of
11215           setting to default, since we may have stolen it away from
11216           someone.  (i.e., Mono)
11217
11218 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
11219
11220         * docs/random/draft-missing-plugins.txt:
11221           Some small additions and clarifications.
11222
11223 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
11224
11225         * gst/gstregistryxml.c: (gst_registry_save_escaped):
11226           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
11227           since that can lead to random memory corruptions and crashes
11228           (may or may not be related to #383244, #386711, and #386711).
11229
11230 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11231
11232         * tests/check/.cvsignore:
11233         * tests/check/Makefile.am:
11234           sync .cvsignome and CLEANFILES
11235
11236 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11237
11238         * tests/check/Makefile.am:
11239           fix distcheck
11240
11241 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11242
11243         * docs/design/part-states.txt:
11244           two tiny additional comments
11245         
11246         * gst/gststructure.c:
11247           doc fixing
11248
11249         * tests/check/Makefile.am:
11250         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11251         (GST_START_TEST):
11252           disable test for now, unless it gets fixed
11253
11254 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11255
11256         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11257         (GST_START_TEST):
11258           fix race in underrun test
11259
11260 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11261
11262         * tests/check/elements/.cvsignore:
11263           ignore more
11264
11265         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11266         (GST_START_TEST):
11267           try to narrow test failure
11268
11269 2006-12-21  David Schleef  <ds@schleef.org>
11270
11271         * plugins/elements/gstfakesrc.c:
11272           Use g_random_int_range(), since it produces better random
11273           numbers in a range than almost-correct floating point code.
11274
11275 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11276
11277         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11278         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11279         (gst_check_teardown_sink_pad):
11280           do not automatically (de)activate pads
11281
11282         * tests/check/Makefile.am:
11283         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11284         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
11285           add new, yet simple tests for queue
11286
11287         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
11288         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
11289         * tests/check/elements/filesrc.c: (cleanup_filesrc),
11290         (GST_START_TEST):
11291         * tests/check/elements/identity.c: (cleanup_identity):
11292           consistent pad (de)activation
11293
11294 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
11295
11296         Patch by: Sebastian Dröge  <slomo ubuntu com>
11297
11298         * libs/gst/base/gstcollectpads.c:
11299           Fix two doc typos (#387866).
11300
11301 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
11302
11303         * docs/manual/advanced-dparams.xml:
11304           Fix typo (g_object_control_properties() doesn't exist).
11305
11306 2006-12-19  Edward Hervey  <edward@fluendo.com>
11307
11308         * gst/gstsegment.c: (gst_segment_set_seek):
11309         Fine tune the cases where the segment start/stop values are really
11310         updated.
11311         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11312         Add tests for the return values of gst_segment_set_seek().
11313
11314 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
11315
11316         * gst/gst.c:
11317           Docs typo fix.
11318
11319         * plugins/elements/gstqueue.c: (gst_queue_class_init),
11320         (gst_queue_init):
11321           Fix incorrect documentation and flesh it out a bit more.
11322           Set default values for the max properties on the GParamSpec as well,
11323           so it shows up correctly in gst-inspect.
11324
11325 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
11326
11327         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
11328           Correct docs of queue, add more detail and crosslink it more.
11329
11330 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
11331
11332         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
11333           Print additional debug info when the stream isn't perfectly
11334           timestamped; don't try to use invalid durations.
11335
11336 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
11337
11338         * docs/design/Makefile.am:
11339           Dist new design docs.
11340
11341 2006-12-16  Wim Taymans  <wim@fluendo.com>
11342
11343         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11344
11345         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
11346         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11347         (gst_collect_pads_stop), (gst_collect_pads_event),
11348         (gst_collect_pads_chain):
11349         * libs/gst/base/gstcollectpads.h:
11350         Add refcounting to the collectpads data so we can track when it's safe
11351         to free the data. Fixes #383382.
11352
11353 2006-12-15  Wim Taymans  <wim@fluendo.com>
11354
11355         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11356         (gst_collect_pads_remove_pad):
11357         Automatically activate/deactivate pads when they are added to a
11358         started/stoped collectpads.
11359
11360 2006-12-15  Wim Taymans  <wim@fluendo.com>
11361
11362         * gst/gstelement.c: (gst_element_add_pad):
11363         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
11364         * gst/gstpad.c: (gst_pad_init):
11365         Set pads to FLUSHING when they are created. Check, warn and fix when a
11366         demuxer adds an inactive pad to itself when running. Fixes #339326.
11367
11368 2006-12-15  Wim Taymans  <wim@fluendo.com>
11369
11370         * gst/gstelement.c: (gst_element_class_init),
11371         (gst_element_default_send_event), (gst_element_send_event),
11372         (gst_element_default_query), (gst_element_query):
11373         Expose default element send_event and query handling as vmethods that
11374         subclasses can chain up to.
11375
11376 2006-12-15  Wim Taymans  <wim@fluendo.com>
11377
11378         * gst/gstelement.c: (gst_element_set_state_func):
11379         Small documentation fixes.
11380
11381 2006-12-15  Wim Taymans  <wim@fluendo.com>
11382
11383         * docs/design/draft-latency.txt:
11384         Checked in draft for handling latency in pipelines.
11385
11386 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11387
11388         * Makefile.am:
11389         * gstreamer.doap:
11390         * gstreamer.spec.in:
11391           adding .doap file
11392
11393 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
11394
11395         * gst/gst.c: (init_pre), (init_post):
11396           init_pre() and init_post() might be called via our GOptionGroup or
11397           from gst_init(), and we should skip both of them if we've already
11398           been initialised, otherwise we will init some things twice or add
11399           two default log functions.
11400
11401 2006-12-13  Edward Hervey  <edward@fluendo.com>
11402
11403         * docs/manual/basics-bus.xml:
11404         No, gst_main_loop does not exist. Its g_main_loop.
11405         Discovered by somebody who abused the copy-paste technique of coding :)
11406
11407 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
11408
11409         * gst/gstghostpad.c:
11410           Log ghostpad debug stuff to the GST_PADS category as well rather
11411           than just to the default category.
11412
11413 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
11414
11415         * configure.ac:
11416         * gst/gst.c: (init_pre):
11417           Add some basic system details such as OS and architecture
11418           to the debug output if possible, courtesy of uname().
11419
11420 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11421
11422         * docs/gst/running.xml:
11423           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
11424           environment variables.
11425
11426 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11427
11428         * tests/check/gst/gstbin.c: (GST_START_TEST):
11429         It is acceptable to have a refcount of 2 or 3 at this point in the
11430         test, because the pipeline might be just posting its state_change
11431         message. The next line then waits for that message to appear using
11432         bus_poll, so that should be fine too.
11433
11434 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11435
11436         * gst/gst.c: (ensure_current_registry_forking):
11437         Ignore EINTR when reading from the child registry pipe.
11438         Explicitly ignore the return value from close, since it makes no
11439         difference.
11440
11441         * gst/gstminiobject.c: (gst_mini_object_ref),
11442         (gst_mini_object_unref):
11443         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
11444
11445         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
11446         When removing cached plugins, remove their features too, so they're
11447         not visible after they've disappeared.
11448
11449         * gst/gstutils.c: (prepare_link_maybe_ghosting):
11450         In the unlikely case that we are linking pads with no parents, don't
11451         crash trying to get the non-existent parent bin.
11452
11453         * gst/parse/grammar.y:
11454         Output debug in the PIPELINE category
11455
11456 2005-03-08  Wim Taymans  <wim@fluendo.com>
11457
11458         Patch by: René Stadler <mail at renestadler dot de>
11459
11460         * gst/gstclock.c: (gst_clock_new_periodic_id):
11461         Reject invalid clock times for interval of periodic ids.
11462         Fixes ##383506.
11463
11464 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11465
11466         * gst/gstelementfactory.c: (gst_element_factory_create):
11467         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11468         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
11469         * tools/gst-inspect.c: (print_element_info):
11470         Fix refcounting of gst_plugin_feature_load to match the docs. 
11471         Fixes: #380129
11472
11473 2006-12-07  Wim Taymans  <wim@fluendo.com>
11474
11475         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
11476         (gst_base_sink_get_position):
11477         Improve debugging of events.
11478
11479 2006-12-07  Wim Taymans  <wim@fluendo.com>
11480
11481         Patch by: René Stadler <mail at renestadler dot de>
11482
11483         * gst/gstclock.c: (gst_clock_id_wait):
11484         Make period ids add the interval to the origial requested time instead
11485         of the possibly updated time which can be wrong when there are multiple
11486         waiters for the same id. Fixes #382592.
11487
11488         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
11489         (gst_system_clock_id_wait_jitter_unlocked),
11490         (gst_system_clock_id_wait_jitter):
11491         Fix restart in the async notify thread when an async entry is added to
11492         the front of the list. Fixes #381492. 
11493
11494         * tests/check/gst/gstsystemclock.c: (store_callback),
11495         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
11496         Added test for multiple async waits.
11497         Added test for async wait order.
11498
11499 2006-12-07  Wim Taymans  <wim@fluendo.com>
11500
11501         * gst/gstbin.c: (gst_bin_query):
11502         Add some more docs about the POSITION query.
11503
11504 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11505
11506         * configure.ac:
11507         Bump version nano - back to CVS.
11508
11509 === release 0.10.11 ===
11510
11511 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
11512
11513         * configure.ac:
11514           releasing 0.10.11, "Love never runs on time"
11515
11516 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
11517
11518         * win32/common/libgstbase.def:
11519         * win32/common/libgstreamer.def:
11520         * win32/vs8/libgstbase.vcproj:
11521         * win32/vs8/libgstcoreelements.vcproj:
11522         * win32/vs8/libgstreamer.vcproj:
11523         Fix compilation on win32 under VS8
11524         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11525         Partially fixes #381175
11526
11527 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
11528
11529         * gst/gstvalue.c: (gst_value_compare_fraction):
11530         If someone is foolish enough to compare 2 fractions with denominator =
11531         0, return UNORDERED rather than aborting.
11532
11533 2006-11-28  Edward Hervey  <edward@fluendo.com>
11534
11535         * libs/gst/base/Makefile.am:
11536         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
11537         (gst_data_queue_base_init), (gst_data_queue_class_init),
11538         (gst_data_queue_init), (gst_data_queue_new),
11539         (gst_data_queue_cleanup), (gst_data_queue_finalize),
11540         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
11541         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
11542         (gst_data_queue_is_empty), (gst_data_queue_is_full),
11543         (gst_data_queue_set_flushing), (gst_data_queue_push),
11544         (gst_data_queue_pop), (gst_data_queue_drop_head),
11545         (gst_data_queue_set_property), (gst_data_queue_get_property):
11546         * libs/gst/base/gstdataqueue.h:
11547         New GstDataQueue object for threadsafe queueing. Most useful for
11548         elements that need some queueing functionnality.
11549         * docs/libs/gstreamer-libs-docs.sgml:
11550         * docs/libs/gstreamer-libs-sections.txt:
11551         Insert documentation for GstDataQueue
11552         * plugins/elements/Makefile.am:
11553         * plugins/elements/gstelements.c:
11554         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11555         (gst_multi_queue_class_init), (gst_multi_queue_init),
11556         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11557         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11558         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11559         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11560         (gst_multi_queue_loop), (gst_multi_queue_chain),
11561         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11562         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11563         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11564         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11565         (wake_up_next_non_linked), (compute_next_non_linked),
11566         (single_queue_overrun_cb), (single_queue_underrun_cb),
11567         (single_queue_check_full), (gst_single_queue_new):
11568         * plugins/elements/gstmultiqueue.h:
11569         New multiqueue element, using GstDataQueue. Used for queuing multiple
11570         streams.
11571         Closes #344639 and #347785
11572
11573 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
11574
11575         * docs/pwg/advanced-types.xml:
11576           add more missing type details
11577
11578         * tools/gst-run.c: (main):
11579           remove unused variable
11580
11581 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
11582
11583         * docs/libs/Makefile.am:
11584         * docs/libs/gstreamer-libs.types:
11585           add types of base classes to enable gobject specific stuff in the docs
11586
11587         * docs/random/ensonic/embedded.txt:
11588           more ideas about isolating platform specific things
11589
11590 2006-11-20  Wim Taymans  <wim@fluendo.com>
11591
11592         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11593
11594         * libs/gst/check/gstcheck.h:
11595         Fix compilation and running against 0.9.4. Fixes #377332.
11596
11597 2006-11-20  Wim Taymans  <wim@fluendo.com>
11598
11599         * gst/gstsegment.c: (gst_segment_set_seek),
11600         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11601         (gst_segment_to_running_time):
11602         Fix boundary checking in to_running_time() and to_stream_time().
11603         Fixes #377183.
11604
11605         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11606         stream and running time can now be calculated for the complete
11607         clipped segment.
11608
11609 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
11610
11611         * gst/gstpad.c: (gst_pad_push_event):
11612           Can't access event structure after giving away ownership of
11613           the event.
11614
11615 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
11616
11617         * docs/random/ensonic/embedded.txt:
11618         * docs/random/ensonic/profiling.txt:
11619         * docs/random/ensonic/receipies.txt:
11620           more thinking
11621
11622 2006-11-13  Wim Taymans  <wim@fluendo.com>
11623
11624         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11625
11626         * gst/gstpad.c:
11627         Fix documentation for gst_pad_dispatcher. Fixes #374475.
11628
11629 2006-11-13  Wim Taymans  <wim@fluendo.com>
11630
11631         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11632
11633         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11634         Store new length in segment duration so we don't keep on calling the
11635         potentially expensize get_size() call. Fixes #370865.
11636
11637 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
11638
11639         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
11640
11641         * win32/common/libgstreamer.def:
11642           Add two missing symbols (#366492).
11643
11644 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
11645
11646         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11647         (gst_adapter_take_buffer):
11648         Fix format string to use all its arguments.
11649         Remove useless >= check on a guint
11650
11651 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11652
11653         * tests/examples/adapter/.cvsignore:
11654         Ignore build file as commanded by the build-bot
11655
11656 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11657
11658         * tests/examples/adapter/Makefile.am:
11659         * tests/examples/adapter/adapter_test.c: (run_test_take),
11660         (run_test_take_buffer), (run_tests), (main):
11661
11662         Add new files from the previous commit
11663
11664 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11665
11666         * Makefile.am:
11667         * configure.ac:
11668         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11669         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11670         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11671         * libs/gst/base/gstadapter.h:
11672         * tests/check/libs/adapter.c: (create_and_fill_adapter),
11673         (GST_START_TEST), (gst_adapter_suite):
11674         * tests/examples/Makefile.am:
11675         Do some optimisation work in GstAdapter to avoid copies in more cases.
11676         It could still do slightly better by merging buffers when
11677         gst_buffer_is_span_fast is true, but is already faster. 
11678
11679         Also, avoid traversing a single-linked list to append each incoming 
11680         buffer inside the adapter.
11681
11682         Add simple test app that times the adapter behaviour in different
11683         situations, and extend the unit test to check that bytes enter and
11684         exit the adapter in their original order.
11685
11686 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
11687
11688         * docs/random/draft-missing-plugins.txt:
11689           Update: use element message instead of adding a new message
11690           type to the core; don't provide GStreamer API to initiate the
11691           plugin download, just provide API to compose the strings needed
11692           and let an external libgimmestuff handle the rest.
11693
11694 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
11695
11696         * tools/gst-inspect.c: (print_element_properties_info):
11697         Print a string instead of 'unknown type' for GValueArray properties
11698
11699 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
11700
11701         * docs/random/draft-missing-plugins.txt:
11702         More small fixes.
11703
11704 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11705
11706         * tests/examples/typefind/typefind.c: (type_found), (main):
11707           Make typefind element example work again (#371894); add a
11708           license header.
11709
11710 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11711
11712         * docs/random/draft-missing-plugins.txt:
11713           Commit initial draft about how to deal with missing plugins,
11714           needs work (API too).
11715
11716 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
11717
11718         * docs/pwg/advanced-types.xml:
11719           documents the new caps elements (see #363118)
11720
11721 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11722
11723         * gst/gstplugin.c: (gst_plugin_load_file):
11724         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11725         (gst_file_src_map_region), (gst_file_src_start):
11726         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11727         (gst_file_index_commit):
11728           Use g_strerror() instead of strerror() - we want UTF-8.
11729
11730 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11731
11732         Patch by: Peter Kjellerstedt <pkj at axis com>
11733
11734         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11735           Another printf fix (#371493).
11736
11737 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11738
11739         * tests/check/gst/gsttag.c:
11740           relicence (okay with author=company)
11741
11742 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11743
11744         * gst/gstpad.c: (gst_pad_event_default_dispatch),
11745         (gst_pad_push_event):
11746           Enhance debug and improve docs
11747         
11748         * gst/gsturi.c:
11749           Fix docs
11750
11751 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11752
11753         * docs/random/ensonic/distributed.txt:
11754         * docs/random/ensonic/profiling.txt:
11755           more ideas
11756
11757 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11758
11759         * docs/gst/gstreamer-sections.txt:
11760           add new API and fix the build
11761           
11762         * gst/gstbin.c: (gst_bin_recalc_state):
11763         * gst/gstelement.c: (gst_element_message_full),
11764         (gst_element_get_state_func), (gst_element_set_state_func):
11765           use new API and improve logging
11766         
11767         * gst/gstutils.c: (gst_element_state_change_return_get_name):
11768         * gst/gstutils.h:
11769           API: add function to get StateChangereturn names to improve logs 
11770
11771 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11772
11773         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11774           I'm considering shooting the next person to put strerror stuff
11775           in the translateable part of the message.
11776
11777 2006-11-03  Wim Taymans  <wim@fluendo.com>
11778
11779         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11780         Get the type and printf conversion specifiers right.
11781
11782 2006-11-03  Wim Taymans  <wim@fluendo.com>
11783
11784         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11785
11786         * gst/gstpad.c: (gst_pad_init), (pre_activate),
11787         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11788         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11789         Some small cleanups. Improve debugging.
11790         * gst/gstpad.h:
11791         Signal all waiting threads with a broadcast instead of just one.
11792         Fixes #369942.
11793
11794 2006-11-03  Wim Taymans  <wim@fluendo.com>
11795
11796         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11797         (gst_fd_src_create):
11798         Add some debugging. 
11799         Only update fd when it's different from the old.
11800
11801 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11802
11803         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11804           Printf fixes for PPC/OSX, take two (#369366).
11805
11806 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11807
11808         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
11809
11810         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11811         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11812         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11813           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11814           don't cast to long long for portability reasons, but use
11815           GLib's types instead.
11816
11817 2006-10-30  Michael Smith  <msmith@fluendo.com>
11818
11819         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11820           Get the arguments to lseek() the right way around.
11821           Fixes 367677.
11822
11823 2006-10-30  Wim Taymans  <wim@fluendo.com>
11824
11825         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11826
11827         * gst/gstinfo.h:
11828         _declspec should be __declspec (two underscores, not one). Fixes 366572.
11829
11830 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11831
11832         Patch by: Kjartan Maraas  <kmaraas at gnome org>
11833
11834         * docs/design/part-MT-refcounting.txt:
11835         * docs/random/wtay/capsnego2-docs:
11836         * gst/gstclock.c:
11837         * gst/gstxml.c:
11838           Typo fixes (#366212).
11839
11840 2006-10-28  Wim Taymans  <wim@fluendo.com>
11841
11842         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11843
11844         * gst/gst.c:
11845         * win32/common/libgstbase.def:
11846         * win32/common/libgstreamer.def:
11847         * win32/vs8/libgstbase.vcproj:
11848         * win32/vs8/libgstcontroller.vcproj:
11849         Add needed entries in .def files.
11850         Use HAVE_UNISTD_H.
11851         Rearrange def files in vs8 solutions. Fixes #366286.
11852
11853 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11854
11855         * win32/common/gstconfig.h:
11856           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11857           hand-made win32 gstconfig.h. Fixes #366321.
11858
11859 2006-10-27  Wim Taymans  <wim@fluendo.com>
11860
11861         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11862         (gst_ghost_pad_new_full):
11863         Make acceptcaps return TRUE when we don't have a target, just like
11864         setcaps does.
11865
11866 2006-10-27  Wim Taymans  <wim@fluendo.com>
11867
11868         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11869         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11870
11871 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
11872
11873         * gst/gststructure.c: (gst_structure_id_set_value):
11874           If someone tries to set a non-UTF8 string field on a structure,
11875           don't just print a warning, but also ignore the request and do
11876           not change/add that field to the structure.
11877
11878         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11879           Test for the above.
11880
11881 2006-10-25  David Schleef  <ds@schleef.org>
11882
11883         * gst/gstinfo.c:
11884           g_hash_table_insert() needs a cast to a non-const pointer duh.
11885
11886 2006-10-25  David Schleef  <ds@schleef.org>
11887
11888         * gst/gstinfo.c:
11889         * gst/gstinfo.h:
11890           Change name parameter of _gst_debug_register_funcptr to const
11891           to reflect the constness of its use in the function as well
11892           as to quiet a gcc warning.
11893
11894 2006-10-25  Edward Hervey  <edward@fluendo.com>
11895
11896         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11897         Don't push the buffer if it's empty.
11898         Closes #363095
11899
11900 2006-10-24  Wim Taymans  <wim@fluendo.com>
11901
11902         * gst/gstevent.h:
11903         Add small comment.
11904
11905         * libs/gst/base/gstbasetransform.c:
11906         (gst_base_transform_sink_eventfunc):
11907         Debug segment values *after* updating them as this is more
11908         interesting.
11909
11910 2006-10-23  Wim Taymans  <wim@fluendo.com>
11911
11912         * docs/design/part-events.txt:
11913         Update some docs.
11914
11915         * docs/design/part-block.txt:
11916         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11917         (gst_pad_push_event):
11918         Revert BLOCKING patch, it tries to be smart without really having a
11919         clear idea what or how. So, now we discard all FLUSHING events again on
11920         a blocking pad. Should fix gnonlin again.
11921
11922 2006-10-23  Wim Taymans  <wim@fluendo.com>
11923
11924         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11925
11926         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11927         (gst_base_src_start), (gst_base_src_activate_push):
11928         Make sure size is always initialized. Fixes #364388.
11929
11930 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
11931
11932         * docs/random/ensonic/distributed.txt:
11933           add some ideas about doing distributed processing
11934
11935         * docs/random/ensonic/profiling.txt:
11936           get_rusage look promising
11937
11938 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11939
11940         * docs/manual/basics-helloworld.xml:
11941           Add a cast in example to fix compile warning
11942
11943 2006-10-18  Wim Taymans  <wim@fluendo.com>
11944
11945         * gst/gstsegment.c: (gst_segment_set_last_stop),
11946         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11947         Relax arg checking again, -1 is allowed.
11948
11949 2006-10-18  Wim Taymans  <wim@fluendo.com>
11950
11951         * gst/gstsegment.c: (gst_segment_set_last_stop),
11952         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11953         _set_last_stop() must be with a value != -1
11954         A _TYPE_SET to -1 means seek to 0.
11955         Calc last_stop correctly for negative rates.
11956         Make sure we work with positive durations when updating a segment.
11957
11958 2006-10-18  Wim Taymans  <wim@fluendo.com>
11959
11960         * docs/design/part-live-source.txt:
11961         * gst/gstclock.h:
11962         Small docs fixes.
11963
11964 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
11965
11966         * gst/gstbuffer.h:
11967           Add an explicit cast to GstBuffer** to keep old code that added an
11968           explicit cast to GstMiniObject** for gst_mini_object_replace()
11969           compiling without warning.
11970
11971 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11972
11973         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11974           check for validity of dates
11975
11976 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11977
11978         * docs/gst/gstreamer-sections.txt:
11979           Forgot this one, makes gtk-doc shut up.
11980
11981 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11982
11983         Patch by: Peter Kjellerstedt <pkj at axis com>
11984
11985         * gst/gstobject.h:
11986           Don't define xmlNodePtr to gpointer if the core was built with
11987           --disable-loadsave and --disable-registry, this will break
11988           applications that want to use libxml2 but are buildling against a
11989           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11990           instead so we don't have to mess with the libxml2 namespace
11991           (#361675).
11992
11993 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11994
11995         * gst/gstbuffer.h:
11996           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11997           type-punned pointer warnings.
11998
11999 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
12000
12001         * gst/gstelement.h:
12002           Add casts to the correct return type to state <=> state transition
12003           macros.
12004
12005 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
12006
12007         * docs/design/part-live-source.txt:
12008           describe howto handle latency
12009         
12010         * docs/random/ensonic/profiling.txt:
12011           more ideas
12012
12013         * tools/gst-plot-timeline.py:
12014           fix log parsing for solaris, remove unused function
12015
12016 2006-10-16  Wim Taymans  <wim@fluendo.com>
12017
12018         * docs/design/part-trickmodes.txt:
12019         * gst/gstevent.c:
12020         Update some docs regarding reverse playback.
12021
12022 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
12023
12024         Patch by: Marcus Granado  <mrc dot gran at gmail com>
12025
12026         * win32/vs8/grammar.vcproj:
12027           Error out with a warning if glib-genmarshal.exe is not in path,
12028           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
12029
12030 2006-10-13  Wim Taymans  <wim@fluendo.com>
12031
12032         * gst/gstsegment.c: (gst_segment_set_seek):
12033         When seeking to stop -1, set last_stop (current position) to the
12034         duration of the segment.
12035
12036 2006-10-13  Wim Taymans  <wim@fluendo.com>
12037
12038         * gst/gstelement.h:
12039         Clarify _NO_PREROLL a bit more.
12040
12041         * gst/gstevent.c:
12042         Fix docs.
12043
12044         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
12045         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
12046         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
12047         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
12048         due to wrong locking order. Fixes #361769.
12049         Remove some redundant/misplaced checks in pad_block.
12050
12051         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
12052         For negative rates, count backwards from the duration.
12053
12054 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
12055
12056         * gst/gsterror.c: (_gst_library_errors_init):
12057           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
12058           up with something better).
12059
12060 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
12061
12062         * win32/vs6/libgstreamer.dsp:
12063         * win32/vs7/libgstreamer.vcproj:
12064         * win32/vs8/libgstreamer.vcproj:
12065           Don't reference glib-compat.c which is currently not used and not
12066           disted; add gstquark.c which was recently added. Fixes #361730.
12067
12068 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
12069
12070         * win32/common/libgstbase.def:
12071         * win32/common/libgstcontroller.def:
12072         * win32/common/libgstreamer.def:
12073           Add gst_caps_merge() and a bunch of other recently-added functions.
12074           Fixes #361732.
12075
12076 2006-10-11  Wim Taymans  <wim@fluendo.com>
12077
12078         * docs/plugins/gstreamer-plugins.args:
12079         * docs/plugins/inspect/plugin-coreelements.xml:
12080         * docs/plugins/inspect/plugin-coreindexers.xml:
12081         Update element args.
12082
12083         * gst/gstsystemclock.c:
12084         Small comment update.
12085
12086         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12087         (gst_tee_request_new_pad), (gst_tee_release_pad),
12088         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
12089         (gst_tee_sink_activate_pull):
12090         * plugins/elements/gsttee.h:
12091         Some tee loving:
12092         Add default property defines.
12093         Implement release pad function.
12094         Give properties better blubs etc.
12095         Activate pads before adding them to a running tee.
12096         Do simple buffer_alloc on the first requested pad.
12097         Post error when activation fails.
12098
12099 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
12100
12101         * gst/gst.c: (ensure_current_registry_forking):
12102           Check return value of write() to make compiler happy.
12103
12104 2006-10-11  Wim Taymans  <wim@fluendo.com>
12105
12106         Patch by: Sjoerd Simons <sjoerd at luon dot net>
12107
12108         * plugins/elements/gstqueue.c: (gst_queue_chain):
12109         Recheck queue filledness after signalling the overrun when we're about
12110         to leak downstream because we released the lock when emitting the signal
12111         and the queue could be empty again. Fixes #352345.
12112
12113 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
12114
12115         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
12116           Fix refcounting here too, just like we did for _new_valist() a few
12117           days ago (#357180) (thanks to René Stadler). Also remove all those
12118           'Since: 0.9' from the gtk-doc blobs.
12119
12120         * tests/check/libs/controller.c: (controller_refcount_new_list),
12121         (gst_controller_suite):
12122           Unit test for the above.
12123
12124 2006-10-10  Wim Taymans  <wim@fluendo.com>
12125
12126         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
12127
12128         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
12129         (gst_pad_save_thyself):
12130         Update some docs.
12131         Write pad direction in XML output. Fixes #345496.
12132
12133 2006-10-10  Wim Taymans  <wim@fluendo.com>
12134
12135         Patch by: René Stadler <mail at renestadler dot de>
12136
12137         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12138         (gst_controller_new_list), (_gst_controller_dispose),
12139         (_gst_controller_finalize), (_gst_controller_class_init):
12140         Take ref to controlled object so that it cannot disappear. 
12141         Fixes #357432.
12142
12143 2006-10-10  Wim Taymans  <wim@fluendo.com>
12144
12145         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
12146         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12147         (gst_check_teardown_sink_pad):
12148         Activate/deactivate pads in setup/teardown respectively.
12149
12150 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12151
12152         Patch by: Josep Torra Valles <josep@fluendo.com>
12153
12154         * gst/Makefile.am:
12155         Cast values when making gstenumtypes.h.  This pacifies Forte
12156         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
12157         in the enumeration.
12158
12159 2006-10-09  Wim Taymans  <wim@fluendo.com>
12160
12161         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
12162         Rename some more @cur to @start to fix docs. 
12163
12164         * gst/gstsegment.c: (gst_segment_set_seek):
12165         Fix typo.
12166         time and start must always stay in sync as defined in design doc.
12167
12168         * gst/gsttaglist.c: (gst_tag_list_is_empty):
12169         Rename param to fix docs.
12170
12171         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12172         Check that start and time are in sync.
12173
12174         * tests/check/pipelines/parse-launch.c:
12175         (gst_parse_test_element_change_state):
12176         Activate pad before adding to the element.
12177
12178 2006-10-09  Wim Taymans  <wim@fluendo.com>
12179
12180         * docs/design/part-qos.txt:
12181         Fix typo.
12182
12183         * gst/gstevent.c:
12184         * gst/gstevent.h:
12185         Update seek event docs regarding negative rates.
12186         Rename @cur to @start. 
12187
12188         * gst/gstsegment.c: (gst_segment_set_seek):
12189         * gst/gstsegment.h:
12190         Update set_seek docs regarding negative rates.
12191         Correctly update last_stop to @stop when dealing with negative
12192         rates.
12193         Rename @cur to @start. 
12194
12195         * tests/check/gst/gstpad.c: (GST_START_TEST):
12196         Activate pads before trying to use them.
12197
12198         * tests/check/gst/gstsegment.c: (GST_START_TEST),
12199         (gst_segment_suite):
12200         Add simple check for segments and negative rates.
12201
12202 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
12203
12204         * gst/gsttaglist.c: (gst_tag_list_is_empty):
12205         * gst/gsttaglist.h:
12206         * docs/gst/gstreamer-sections.txt:
12207           API: add gst_tag_list_is_empty() (#360467).
12208
12209         * tests/check/gst/gsttag.c: (GST_START_TEST):
12210           And a test case.
12211
12212 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12213
12214         * gst/gstmessage.h:
12215         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
12216         a value that doesn't fit on enumeration.
12217
12218 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12219
12220         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12221         Remove local debugging system and use Gstreamer's instead.
12222
12223 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12224
12225         Patch by: Josep Torra Valles <josep@fluendo.com>
12226
12227         * common/m4/gst-error.m4:
12228         Disable warning of statement not reached on Forte.
12229         * gst/gstmessage.h:
12230         Fix warning on Forte (value doesn't fit on enumeration).
12231         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
12232         Fix warning on Forte (value doesn't fit on enumeration).
12233         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12234         DEBUG macro says it takes minimum of 2 args and so Forte
12235         complains about the use with just 1 arg.
12236         * plugins/elements/gstfdsink.c:
12237         * plugins/elements/gstfdsrc.c:
12238         * plugins/elements/gstfilesink.c:
12239         * plugins/elements/gstfilesrc.c:
12240         Use correct return type for the uri handler implementations.
12241
12242         All these fix warnings in Forte.  Fixes bug #360860.
12243
12244 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
12245
12246         * gst/gstelement.h:
12247           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
12248           format string, so don't use G_GNUC_PRINTF for those versions.
12249
12250 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
12251
12252         * gst/gsttaglist.c: (gst_is_tag_list):
12253         * gst/gsttaglist.h:
12254           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
12255
12256         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12257           Small test for the above.
12258
12259 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
12260
12261         * gst/gsttaglist.h:
12262           Less tabs, more spaces.
12263
12264 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
12265
12266         * gst/gstinfo.h:
12267           Those two function declarations do actually belong there, revert
12268           commit from yesterday that turned them intro macros.
12269
12270 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12271
12272         Patch by: Josep Torra Valles <josep@fluendo.com>
12273
12274         * gst/gst.c: (gst_init_get_option_group):
12275         Fix empty declaration and type mismatch.
12276         * gst/gstbin.c: (gst_bin_change_state_func):
12277         Fix type mismatch.
12278         * gst/gstelement.c: (gst_element_continue_state),
12279         (gst_element_set_state_func), (gst_element_change_state),
12280         (gst_element_change_state_func):
12281         Fix type mismatches.
12282         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
12283         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
12284         Cast as appropriate.
12285         * gst/gstobject.c: (gst_class_signal_connect):
12286         Cast as appropriate.  The function pointer parameter really
12287         has the wrong type but would break API if we change it.
12288         * gst/gstquery.c:
12289         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
12290         order of including string.h.
12291         * gst/gstutils.c: (gst_element_state_get_name):
12292         Remove unreachable line.
12293         * gst/gstxml.c: (gst_xml_parse_doc):
12294         Fix type mismatch.
12295         All these caught by Forte.
12296
12297 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12298
12299         Patch by: Josep Torra Valles <josep@fluendo.com>
12300
12301         * common/m4/gst-error.m4:
12302         Fixed bug #360151.
12303         We need to disable warnings on Forte for empty declarations
12304         due to gst-indent adding ;s to lines that just use macros
12305         where the macro actually doesn't need a ; at end to end
12306         statement.
12307
12308 2006-10-06  Wim Taymans  <wim@fluendo.com>
12309
12310         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
12311         (gst_file_sink_close_file), (gst_file_sink_event),
12312         (gst_file_sink_render):
12313         Add some FIXME for the NEWSEGMENT handling.
12314
12315 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12316
12317         * gst/parse/grammar.y:
12318         Remove static function gst_parse_element_lock as all it does
12319         is return.  Looks like cruft from 0.8.
12320
12321 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12322
12323         Patch by: Josep Torra Valles <josep@fluendo.com>
12324
12325         * common/m4/gst-error.m4:
12326         * configure.ac:
12327         * libs/gst/net/Makefile.am:
12328         Fix a compilation issue with Forte on Solaris.  inet_aton is in
12329         libresolv.
12330
12331 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
12332
12333         * gst/gstpad.c: (pre_activate):
12334         * gst/gstregistry.c: (gst_registry_scan_path_level):
12335         * gst/gstregistryxml.c: (load_plugin):
12336         * libs/gst/controller/gstcontroller.c:
12337         (gst_controlled_property_set_interpolation_mode):
12338         * libs/gst/dataprotocol/dataprotocol.c:
12339         (gst_dp_packet_from_event_1_0):
12340         * libs/gst/net/gstnetclientclock.c:
12341         (gst_net_client_clock_observe_times):
12342         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
12343           Printf fixes.
12344
12345 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
12346
12347         * configure.ac:
12348         * docs/gst/gstreamer-sections.txt:
12349         * gst/gstconfig.h.in:
12350         * gst/gstelement.h:
12351         * gst/gstinfo.h:
12352           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
12353           whether we can use G_GNUC_PRINTF in other header files and at
12354           least check the printf format/arguments of debug messages and
12355           GST_ELEMENT_ERROR messages when the printf extension is not
12356           being used.
12357           Replace more tabs with spaces in gstinfo.h and remove two spurious
12358           function declarations in GST_DISABLE_DEBUG part with macros.
12359
12360 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
12361
12362         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
12363           More docs for the sync-message signal (mention that it is not
12364           emitted by default); log message structures of messages posted on
12365           the bus as well.
12366
12367 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
12368
12369         * gst/gst.c: (ensure_current_registry_forking):
12370         Use a pipe pair to receive status results from the forked child, and
12371         ignore the result from waitpid. Fixes #355499
12372
12373 2006-10-02  Wim Taymans  <wim@fluendo.com>
12374
12375         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12376         (gst_ghost_pad_suite):
12377         Fix leak in check.
12378
12379 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12380
12381         * gst/gstpad.c:
12382           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
12383
12384 2006-10-02  Edward Hervey  <edward@fluendo.com>
12385
12386         * docs/design/part-block.txt:
12387         Further explain the use of flushing on blocked pads.
12388         * docs/gst/gstreamer-sections.txt:
12389         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
12390         (gst_pad_push_event):
12391         * gst/gstpad.h:
12392         Added new GstPadFlag : GST_PAD_BLOCKING.
12393         Adds the notion of pads really blocking, which enables to properly
12394         handle FLUSH_START/FLUSH_STOP events on blocked pads.
12395         Fixes #358999
12396         API: gst_pad_is_blocking()
12397         API: GST_PAD_IS_BLOCKING() macro
12398         API: GST_PAD_BLOCKING GstPadFlag
12399         
12400 2006-10-02  Wim Taymans  <wim@fluendo.com>
12401
12402         Patch by: mrcgran <mrc.gran at gmail dot com>
12403
12404         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
12405         Filter the proxied caps against the padtemplate if we have one.
12406
12407         * gst/gstquery.c: (gst_query_new_segment):
12408         Add include for gstinfo.h so that compilation with
12409         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
12410
12411 2006-10-02  Wim Taymans  <wim@fluendo.com>
12412
12413         Patch by: Alessandro Decina  <alessandro at nnva org>
12414
12415         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
12416         (gst_file_sink_set_location), (gst_file_sink_open_file),
12417         (gst_file_sink_close_file), (gst_file_sink_event),
12418         (gst_file_sink_render):
12419         Set file to NULL when closing filesink so that we can set a new filename
12420         in READY. Fixes #358613.
12421
12422 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12423
12424         Patch by: Alessandro Decina  <alessandro at nnva org>
12425
12426         * gst/gstevent.c: (_gst_event_copy):
12427           Fix gst_mini_object_make_writable() and gst_event_copy() for events
12428           with event structures by setting the parent refcount address of the
12429           copied structure to the address of the refcount member of the newly
12430           copied event rather than the address of the refcount member of the
12431           original event. Fixes #358737.
12432
12433         * tests/check/gst/gstevent.c: (GST_START_TEST):
12434           Unit test for the above.
12435
12436 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
12437
12438         * docs/design/Makefile.am:
12439           Dist some more files.
12440
12441 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12442
12443         * tests/check/libs/controller.c: (GST_START_TEST),
12444         (gst_controller_suite):
12445           Add test for the previous fix; add some more tests
12446           for correct refcounting behaviour; fix a few leaks
12447           in test cases; call gst_controller_init() at start
12448           of all tests.
12449
12450 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12451
12452         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12453         (gst_controller_set_from_list):
12454           Don't g_return_val_if_fail() on timed values with invalid timestamps
12455           inside a critical section without unlocking the mutex. Spotted by
12456           René Stadler. (#357617)
12457           Also, fix up refcounting properly: when returning an existing
12458           controller, we should increase the reference only once and not
12459           once per property and when trying to control a property again
12460           we should also increase the refcount.
12461
12462 2006-09-29  Wim Taymans  <wim@fluendo.com>
12463
12464         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12465         * libs/gst/net/gstnettimeprovider.c:
12466         (gst_net_time_provider_thread):
12467         Stop reading commands when EOF as well.
12468
12469         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12470         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12471         * plugins/elements/gstidentity.c: (gst_identity_class_init):
12472         Unify description of the dump property.
12473
12474 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12475
12476         * tests/examples/manual/.cvsignore:
12477         OK, so it's actually cvsignore that needs changing. Stop laughing.
12478
12479 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12480
12481         * tests/examples/manual/Makefile.am:
12482         Gah, declare vars *before* using them
12483
12484 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12485
12486         * gst/gst.c: (init_pre), (scan_and_update_registry),
12487         (ensure_current_registry_nonforking),
12488         (ensure_current_registry_forking), (ensure_current_registry),
12489         (init_post), (gst_debug_help), (gst_deinit):
12490         * gst/gst_private.h:
12491         * gst/gstregistry.c: (gst_registry_finalize),
12492         (gst_registry_remove_features_for_plugin_unlocked),
12493         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12494         (gst_registry_scan_path),
12495         (_priv_gst_registry_remove_cache_plugins),
12496         (_priv_gst_registry_cleanup):
12497         * gst/gstregistry.h:
12498         Re-commit the registry changes, along with an extra fix:
12499           When a cached plugin is encountered at a different file path,
12500           update the stored path in the registry cache so that the parent
12501           process knows where it actually is now when it re-reads the registry
12502           cache. Fixes the thing that broke distcheck with the previous commit.
12503
12504         * tests/check/Makefile.am:
12505         Clean up files named 'core' too when running make clean.
12506
12507         * tests/examples/manual/Makefile.am:
12508         Set up a registry path for running these tests, and clean it properly
12509         for distcheck.
12510
12511 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12512
12513         * configure.ac:
12514         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
12515         want gmodule-no-export-2.0.pc instead so that we don't drag in
12516         --export-dynamic on every project that links to GStreamer.
12517
12518         Also, make our export regex only match the start of symbols, rather 
12519         than any symbol that contains '_gst' somewhere.
12520
12521         * libs/gst/check/Makefile.am:
12522         The libgstcheck we build does however need export-dynamic, as it
12523         produces some symbols that don't match our _gst... style regex.
12524         Fixes: #318031
12525
12526 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12527
12528         * gst/gst.c: (init_pre), (scan_and_update_registry),
12529         (ensure_current_registry_nonforking),
12530         (ensure_current_registry_forking), (ensure_current_registry),
12531         (init_post), (gst_debug_help), (gst_deinit):
12532         * gst/gst_private.h:
12533         * gst/gstregistry.c: (gst_registry_finalize),
12534         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12535         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
12536         (_gst_registry_cleanup):
12537         * gst/gstregistry.h:
12538           Revert previous change until I figure out why it breaks distcheck.
12539
12540 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12541
12542         * gst/gst.c: (init_pre), (scan_and_update_registry),
12543         (ensure_current_registry_nonforking),
12544         (ensure_current_registry_forking), (ensure_current_registry),
12545         (init_post), (gst_debug_help), (gst_deinit):
12546
12547           Make init_pre and init_post take the full complement of GOptionFunc
12548           args so they can return useful GErrors. Make the registry updating
12549           functions do so.
12550
12551           Call _priv_gst_registry_remove_cache_plugins after scanning files to
12552           ensure that the registry we're about to write out doesn't contain
12553           stale information about old-deleted plugin files.
12554
12555           Make _priv_gst_registry_remove_cache_plugins return a boolean so
12556           that deletion of plugin files is considered a registry change.
12557
12558         * gst/gst_private.h:
12559         * gst/gstregistry.c: (gst_registry_finalize),
12560         (gst_registry_remove_features_for_plugin_unlocked),
12561         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12562         (gst_registry_scan_path),
12563         (_priv_gst_registry_remove_cache_plugins),
12564         (_priv_gst_registry_cleanup):
12565         * gst/gstregistry.h:
12566         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12567         by adding _priv prefix, so that they won't appear in the global
12568         symbol table. They still do atm though because of #318031. Move the
12569         prototypes to gst_private.h
12570
12571         When removing a plugin, remove all features for that plugin too. 
12572         Fixes #340878.
12573
12574 2006-09-27  Wim Taymans  <wim@fluendo.com>
12575
12576         * docs/random/moving-plugins:
12577         Make it clear that the "compiled-in descriptions" really mean
12578         the element details.
12579
12580         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12581         (gst_base_sink_wait_preroll):
12582         Update docs.
12583
12584         * docs/libs/gstreamer-libs-sections.txt:
12585         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12586         (gst_base_src_get_range), (gst_base_src_activate_push):
12587         * libs/gst/base/gstbasesrc.h:
12588         Added function to block while waiting for PLAYING, this function
12589         is used by live sources that block on the clock.
12590         API: gst_base_src_wait_playing()
12591
12592 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12593
12594         Patch by: Peter Kjellerstedt <pkj at axis com>
12595
12596         * Makefile.am:
12597           gst-element-check.m4 is generated and should therefore be
12598           copied from the build dir rather than the source dir (#357593).
12599           'make distcheck' hasn't noticed this because we were disting
12600           the file as well, so stop doing that.
12601
12602 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12603
12604         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12605           Add some tests for gst_caps_intersect().
12606
12607         * tools/gst-launch.c: (event_loop):
12608           Print all buffering percentages we get, even the 100% one.
12609
12610 2006-09-26  Wim Taymans  <wim@fluendo.com>
12611
12612         * tools/gst-inspect.c: (print_element_properties_info),
12613         (print_signal_info):
12614         Fix printing of flags to match the look of enums.
12615
12616 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12617
12618         * gst/gstelementfactory.c:
12619           Fix typo in docs blurb.
12620
12621 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12622
12623         * gst/gsturi.c: (search_by_entry):
12624           Don't assert/crash here if a uri handler doesn't return any
12625           supported protocols. The list of protocols could be generated
12626           dynamically at runtime or at plugin registration, and an error
12627           in the underlying library shouldn't be fatal (#353301).
12628
12629 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12630
12631         * gst/gstinfo.c:
12632           Fix warning if HAVE_PRINTF_EXTENSION is undefined
12633           (spotted by Peter Kjellerstedt).
12634
12635 2006-09-23  Wim Taymans  <wim@fluendo.com>
12636
12637         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12638
12639         * libs/gst/base/gstbasesrc.c:
12640         (gst_base_src_default_check_get_range), (gst_base_src_start),
12641         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12642         (gst_base_src_change_state):
12643         Match _start/_stop calls in the activate functions. Remove redundant
12644         _stop call from the state change function. Fixes #356910.
12645         Turn failure DEBUG into ERROR. 
12646
12647 2006-09-22  Wim Taymans  <wim@fluendo.com>
12648
12649         * docs/design/part-buffering.txt:
12650         * gst/gstmessage.c: (gst_message_new_buffering),
12651         (gst_message_parse_buffering):
12652         Update docs about buffering.
12653
12654         * docs/design/part-trickmodes.txt:
12655         Fix typo.
12656
12657 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
12658
12659         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12660         (gst_controller_new_list):
12661           Ref instances when returning them again (fixes #357180)
12662
12663 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12664
12665         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12666           Don't forget to release proxy lock when there's an error.
12667
12668 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
12669
12670         * gst/gstcaps.h:
12671           Add extra initialisers for Caps things, to fix some plugin warnings
12672           when using -Wextra
12673
12674 2006-09-18  Wim Taymans  <wim@fluendo.com>
12675
12676         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12677           Also set template on the internal pad so that a getcaps from the 
12678           target pad returns the template caps.
12679
12680 2006-09-18  Wim Taymans  <wim@fluendo.com>
12681
12682         * gst/gstelement.c: (gst_element_post_message),
12683         (gst_element_dispose):
12684         Use _DEBUG_OBJECT some more.
12685
12686         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12687         Avoid typechecks.
12688
12689         * tools/gst-launch.c: (main):
12690         If the toplevel element is not a GstPipeline, it must be put in a
12691         pipeline so that a bus and clock is selected.
12692
12693 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12694
12695         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12696           JITTER, RATE, and LATENCY query should be handled by the
12697           default case and not by the CONVERT query code.
12698
12699 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12700
12701         * gst/gstformat.c: (gst_format_register):
12702           Fix locking order (must take lock before using n_values).
12703
12704         * gst/gstvalue.c: (gst_value_serialize_enum),
12705         (gst_value_deserialize_enum_iter_cmp),
12706         (gst_value_deserialize_enum):
12707           Fix serialisation/deserialisation of custom registered GstFormats.
12708
12709         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12710           Unit test for custom format serialisation/deserialisation.
12711
12712 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
12713
12714         * docs/pwg/building-boiler.xml:
12715         * plugins/elements/gstcapsfilter.c:
12716         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12717         section.
12718
12719 2006-09-16  Edward Hervey  <edward@fluendo.com>
12720
12721         * libs/gst/base/gstbasetransform.c:
12722         (gst_base_transform_buffer_alloc):
12723         Check if requested caps are the same as the sinks caps IF
12724         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12725         is FALSE.
12726         This fixes the renegotiation issues stated in #352827.
12727
12728 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12729
12730         * configure.ac:
12731         * docs/manual/advanced-autoplugging.xml:
12732         * tests/examples/Makefile.am:
12733         * tests/examples/manual/.cvsignore:
12734         * tests/examples/manual/Makefile.am:
12735         * tests/examples/manual/extract.pl:
12736           Extract the manual examples again like we used to do.
12737           Fix one of them.
12738
12739 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12740
12741         * win32/common/config.h:
12742           update for version
12743
12744 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
12745
12746         * gst/gsterror.c:
12747           Documents how to receive errors.
12748
12749 2006-09-15  Wim Taymans  <wim@fluendo.com>
12750
12751         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12752         (event_loop), (main):
12753         Added some comments here and there.
12754         Post an application message when an interrupt is caught instead of doing
12755         an uncontrolled state change.
12756         Clean up the event loop.
12757         Handle buffering messages, pause/resume the pipeline.
12758         Make shutdown because of an interrupt more reliable.
12759
12760 2006-09-15  Wim Taymans  <wim@fluendo.com>
12761
12762         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12763         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12764         (gst_base_sink_preroll_object):
12765         Make sure that our internal state is correct when we commit our state
12766         asynchronously. This solves a race where a state change to PLAYING
12767         could cause the sink to remain blocked in preroll in some situations.
12768
12769 2006-09-15  Wim Taymans  <wim@fluendo.com>
12770
12771         * tools/gst-inspect.c: (print_element_properties_info),
12772         (print_signal_info):
12773         List flags as hex so it's easier to deal with.
12774
12775 2006-09-15  Wim Taymans  <wim@fluendo.com>
12776
12777         * docs/libs/gstreamer-libs-sections.txt:
12778         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12779         (gst_base_sink_do_sync):
12780         * libs/gst/base/gstbasesink.h:
12781         Expose logic to wait for preroll so that subclasses such as audiosink
12782         can also use this method.
12783         API: gst_base_sink_wait_preroll()
12784
12785 2006-09-15  Wim Taymans  <wim@fluendo.com>
12786
12787         * gst/gstobject.c: (gst_object_set_parent):
12788         * gst/gstpipeline.c: (do_pipeline_seek):
12789         Small cleanups in docs and code.
12790
12791         * gst/gstsegment.c: (gst_segment_clip):
12792         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12793         if stop == start and start is in the segment, no clipping should be
12794         done. Also add a test for this.
12795
12796 2006-09-15  Wim Taymans  <wim@fluendo.com>
12797
12798         * docs/design/part-buffering.txt:
12799         * docs/gst/gstreamer-sections.txt:
12800         * gst/gstmessage.c: (gst_message_new_buffering),
12801         (gst_message_parse_buffering):
12802         * gst/gstmessage.h:
12803         Added methods to create and parse BUFFERING messages.
12804         Added preliminary docs about buffering.
12805         API: gst_message_new_buffering
12806         API: gst_message_parse_buffering
12807
12808 2006-09-06  Wim Taymans  <wim@fluendo.com>
12809
12810         * gst/gstbin.c:
12811         Update documentation.
12812
12813         * gst/gstelement.c: (gst_element_class_init),
12814         (gst_element_release_request_pad), (gst_element_set_clock),
12815         (gst_element_get_index), (gst_element_add_pad),
12816         (gst_element_remove_pad), (gst_element_get_random_pad),
12817         (gst_element_send_event), (gst_element_get_query_types),
12818         (gst_element_query), (gst_element_post_message),
12819         (gst_element_message_full), (gst_element_continue_state),
12820         (gst_element_lost_state), (gst_element_save_thyself),
12821         (gst_element_restore_thyself):
12822         Documentation updates.
12823         Rename last bit of the new-pad -> pad-added signal rename.
12824         Fix the case where an element query would only work if the source
12825         pad was linked.
12826         Avoid some useless type checking in message handling.
12827
12828         * gst/gstevent.c:
12829         * gst/gstevent.h:
12830         * gst/gstutils.c:
12831         Documentation updates.
12832
12833 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12834
12835         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12836           add an INFO line for when we actually update the fd
12837
12838 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12839
12840         * configure.ac:
12841           back to TRUNK
12842
12843 === release 0.10.10 ===
12844
12845 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
12846
12847         * configure.ac:
12848           releasing 0.10.10, "Pais"
12849
12850 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
12851
12852         * docs/manual/advanced-position.xml:
12853           Fix typo in sample code.
12854
12855 2006-09-05  Wim Taymans  <wim@fluendo.com>
12856
12857         * libs/gst/net/gstnetclientclock.c: (inet_aton),
12858         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12859         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12860         * libs/gst/net/gstnetclientclock.h:
12861         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12862         * libs/gst/net/gstnettimepacket.h:
12863         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12864         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12865         (gst_net_time_provider_thread), (gst_net_time_provider_new):
12866         * libs/gst/net/gstnettimeprovider.h:
12867         Make stuff compile on windows. Fixes #345295.
12868
12869 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12870
12871         * gst/gst.c: (ensure_current_registry_forking):
12872           Print better details when child was terminated by signal.
12873
12874 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12875
12876         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12877           Print a warning rather than g_assert() if a plugin feature
12878           is a URI handler but returns no protocols (#353976).
12879
12880 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
12881
12882         * docs/random/moving-plugins:
12883         Fix two typos.         
12884
12885 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12886
12887         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12888           Fix locking order, handle NULL function values properly.
12889
12890         * gst/gstinfo.h:
12891           Fix docs.
12892
12893         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12894           Initialise variable before using it and fix debug statement to
12895           print the address of the function rather than the address of the
12896           variable on the stack holding the address of the function.
12897
12898 2006-09-01  Wim Taymans  <wim@fluendo.com>
12899
12900         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12901         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12902         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12903         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12904         (gst_ghost_pad_parent_unset),
12905         (gst_ghost_pad_internal_do_activate_push),
12906         (gst_ghost_pad_internal_do_activate_pull),
12907         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12908         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12909         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12910         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12911         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12912         (gst_ghost_pad_new_no_target_from_template),
12913         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12914         More cleanups.
12915         Avoid needless typechecking in macros.
12916         Since the internal pad is always present and never changes, there is
12917         no need to locking or ref when retrieving it.
12918         Improve debugging a bit.
12919         Handle link errors when setting the target. Fixes #341029.
12920
12921 2006-09-01  Wim Taymans  <wim@fluendo.com>
12922
12923         * docs/libs/gstreamer-libs-sections.txt:
12924         * docs/plugins/gstreamer-plugins-sections.txt:
12925         Fix docs some more.
12926
12927         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12928         (gst_collect_pads_event):
12929         * libs/gst/base/gstcollectpads.h:
12930         Documentation updates.
12931         Free queued buffer when removing a pad.
12932
12933 2006-08-31  Michael Smith  <msmith@fluendo.com>
12934
12935         * gst/gstutils.c: (gst_element_link_pads),
12936         (gst_element_link_pads_filtered):
12937           Ensure that we set a capsfilter to NULL if we failed to link it
12938           when doing filtered linking, to avoid criticals.
12939
12940           No need to check for unreffing srcpad, which is explicly NULLed
12941           above (a trivial code cleanup).
12942
12943 2006-08-31  Wim Taymans  <wim@fluendo.com>
12944
12945         * docs/design/part-gstghostpad.txt:
12946         Update ascii art in documentation.
12947
12948         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12949         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12950         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12951         (gst_ghost_pad_internal_do_activate_push),
12952         (gst_ghost_pad_internal_do_activate_pull),
12953         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12954         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12955         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12956         (gst_ghost_pad_set_target):
12957         Small cleanups and leak fixes.
12958         Remove some checks now that the internal pad is never NULL.
12959         Fix the case where linking pads without a target would create nasty
12960         criticals. Fixes #341029.
12961         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12962         value of _set_target().
12963
12964         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12965         (gst_ghost_pad_suite):
12966         Some more tests for creating and linking untargeted ghostpads.
12967
12968 2006-08-31  Edward Hervey  <edward@fluendo.com>
12969
12970         * docs/gst/gstreamer-sections.txt:
12971         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12972         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12973         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12974         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12975         (gst_ghost_pad_new_from_template),
12976         (gst_ghost_pad_new_no_target_from_template):
12977         * gst/gstghostpad.h:
12978         Refactored *_new() functions.
12979         Templates are now used as a g_object_new() parameter.
12980         Use template in _do_getcaps() if we don't have a target.
12981         Small documentation cleanups.
12982         Added two new constructors:
12983         gst_ghost_pad_new_from_template()
12984         gst_ghost_pad_new_no_target_from_template()
12985         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12986         (gst_ghost_pad_suite):
12987         Added tests for new ghostpad instanciation functions.
12988
12989         API additions: gst_ghost_pad_new_from_template,
12990         gst_ghost_pad_new_no_target_from_template
12991
12992 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
12993
12994         * docs/random/ensonic/profiling.txt:
12995           Ideas about qos profiling.
12996
12997 2006-08-29  Wim Taymans  <wim@fluendo.com>
12998
12999         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
13000         Code cleanups.
13001         Fix memleak.
13002
13003 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
13004
13005         * gst/gstxml.c:
13006           Improve and detypofy docs.
13007
13008         * tests/check/Makefile.am:
13009         * tests/check/gst/.cvsignore:
13010         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
13011           Add a basic test suite for GstXML.
13012
13013 2006-08-29  Wim Taymans  <wim@fluendo.com>
13014
13015         * gst/gstelement.c: (activate_pads), (clear_caps),
13016         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13017         Clear the pad caps when the element shut down all of the pads and
13018         is not streaming data that could modify the caps. 
13019         Fixes #352958.
13020
13021 2006-08-28  Michael Smith  <msmith@fluendo.com>
13022
13023         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
13024           Revert previous change; I misunderstood single-segment mode.
13025
13026 2006-08-28  Michael Smith  <msmith@fluendo.com>
13027
13028         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
13029           Unset DISCONT on buffers when using single-segment mode.
13030
13031 2006-08-28  Wim Taymans  <wim@fluendo.com>
13032
13033         * gst/gstcaps.c: (gst_caps_merge_structure):
13034         * gst/gstcaps.h:
13035         Fix docs and indentation again.
13036
13037         * tests/check/gst/gstquery.c: (GST_START_TEST):
13038         Fix leak in tests and add some more tests.
13039
13040 2006-08-28  Edward Hervey  <edward@fluendo.com>
13041
13042         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
13043         Inform GstSegment of the last stop position in order for the current
13044         segment to have a proper duration if it doesn't have a specific stop
13045         position from which a duration could be calculated.
13046         This bug was noticeable when a non-flushing, non-update new segment was
13047         followed by another segment (all buffers from the new segment were being
13048         dropped).
13049
13050 2006-08-28  Wim Taymans  <wim@fluendo.com>
13051
13052         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
13053         Small comment update.
13054
13055         * plugins/elements/gstidentity.c: (gst_identity_class_init),
13056         (gst_identity_transform_ip):
13057         Drop-probability is broken, mention this in the code with a 
13058         FIXME and also in the property description.
13059         Make silent also be silent about the drop messages.
13060
13061 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
13062
13063         * docs/manual/appendix-win32.xml:
13064           Remove mention of popt, we don't depend on that any
13065           longer (#353136). Add some comments pointing out that
13066           this section is slightly outdated.
13067
13068 2006-08-28  Wim Taymans  <wim@fluendo.com>
13069
13070         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
13071
13072         * gst/gstquery.c: (gst_query_new_segment):
13073         * tests/check/gst/gstquery.c: (GST_START_TEST):
13074         Initialize variables when creating a new segment query.
13075         Fixes #353121.
13076
13077 2006-08-28  Wim Taymans  <wim@fluendo.com>
13078
13079         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
13080
13081         * gst/gstelement.c: (gst_element_get_bus):
13082         * tests/check/gst/gstelement.c: (GST_START_TEST):
13083         Check for NULL before _reffing the bus. Fixes #353122.
13084
13085 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
13086
13087         * docs/manual/basics-bus.xml:
13088           Docs update: fix wrong callback return value explanation; add
13089           some lines about the implicit relationship between main loop
13090           and main context; remove duplicate main loop variable declaration.
13091
13092 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
13093
13094         * tests/check/gst/gstcaps.c: (GST_START_TEST):
13095           Don't leak caps in unit test; add a few more simple
13096           checks. 
13097
13098 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
13099
13100         * docs/gst/gstreamer-sections.txt:
13101         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
13102         (gst_caps_structure_is_subset), (gst_caps_merge),
13103         (gst_caps_merge_structure):
13104         * gst/gstcaps.h:
13105         * libs/gst/base/gstbasetransform.c:
13106         (gst_base_transform_transform_caps):
13107         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13108           implement caps merging (fixes #352580)
13109
13110 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
13111
13112         * tools/Makefile.am:
13113         * tools/gst-plot-timeline.py:
13114           add debug-log plotting developer tool (#340674)
13115
13116 2006-08-23  Wim Taymans  <wim@fluendo.com>
13117
13118         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
13119         (gst_pad_stop_task):
13120         Improve debugging for task functions.
13121
13122         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
13123         (gst_task_start), (gst_task_pause), (gst_task_join):
13124         Make sure that the task function started and finished after a 
13125         join(). 
13126         Don't try to push the task function on the threadpool multiple
13127         times.
13128         Improve the g_warning message with some useful suggestions
13129         about how to fix the problem. 
13130
13131 2006-08-23  Wim Taymans  <wim@fluendo.com>
13132
13133         * gst/gstutils.c: (gst_pad_proxy_getcaps):
13134         Handle RESYNC correctly in _proxy_getcaps.
13135
13136 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
13137
13138         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
13139         (gst_xml_parse_memory), (gst_xml_get_element):
13140           Chain up to parent class in dispose function and also
13141           unref the elements in the toplevel_elements GList.
13142           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
13143           Always return a reference in gst_xml_get_element() rather
13144           than only sometimes.
13145
13146         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
13147           Don't leak GstXml object.
13148
13149 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
13150
13151         * docs/gst/gstreamer-sections.txt:
13152         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
13153         (gst_caps_merge):
13154         * gst/gstcaps.h:
13155         * libs/gst/base/gstbasetransform.c:
13156         (gst_base_transform_transform_caps):
13157           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
13158           in a better way
13159
13160 2006-08-21  Edward Hervey  <edward@fluendo.com>
13161
13162         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
13163         Implement GObject::dispose virtual method in GstXML so we can free the
13164         top_elements GList.
13165
13166 2006-08-21  Wim Taymans  <wim@fluendo.com>
13167
13168         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
13169         (gst_buffer_create_sub):
13170         Copy duration/offset_end/caps when creating a subbuffer of the
13171         complete parent.
13172         Make the subbuffer read-only when we make the metadata writable for
13173         now. Fixes #351768.
13174
13175         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
13176         Added check for metadata copy when creating subbuffers.
13177
13178 2006-08-21  Edward Hervey  <edward@fluendo.com>
13179
13180         * libs/gst/base/gstbasetransform.c:
13181         (gst_base_transform_buffer_alloc):
13182         Only call downstream buffer_alloc if transform element is passthrough
13183         or always_in_place. Closes #350449.
13184
13185 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
13186
13187         * ChangeLog:
13188           ChangeLog surgery to add comments to previous changes
13189
13190 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
13191
13192         * gst/gst.c:
13193           Add comments
13194
13195         * gst/gstpad.c: (gst_pad_set_active):
13196           Be more verbose in the log
13197
13198         * libs/gst/base/gstbasetransform.c:
13199         (gst_base_transform_transform_caps):
13200           Simplify caps to get rid of duplicates, fixes #345444
13201
13202 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
13203
13204         * gst/gstvalue.c:
13205         * gst/gstvalue.h:
13206           Use these optimizations only internally.
13207
13208 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
13209
13210         * gst/gstvalue.c: (gst_value_compare_list),
13211         (gst_value_compare_fraction_range),
13212         (gst_value_intersect_fraction_fraction_range),
13213         (gst_value_intersect_fraction_range_fraction_range),
13214         (gst_value_subtract_fraction_fraction_range),
13215         (gst_value_subtract_fraction_range_fraction_range),
13216         (gst_value_get_compare_func), (gst_value_compare),
13217         (gst_value_compare_with_func):
13218         * gst/gstvalue.h:
13219           Saves the expensive lookup of the compare function in many cases
13220          (#345444)
13221
13222 2006-08-18  Edward Hervey  <edward@fluendo.com>
13223
13224         * tests/check/gst/gstinfo.c: (gst_info_suite):
13225         Disable test that require gstdebug if it wasn't built in core.
13226
13227 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
13228
13229         * docs/random/ensonic/logging.txt:
13230           update ideas
13231           
13232         * gst/gstinfo.c: (gst_debug_log_default):
13233           reorder fields, save some columns, add optional color codes for log
13234           levels
13235
13236 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
13237
13238         * docs/random/ensonic/logging.txt:
13239           add ideas about making the logs a bit more useful
13240
13241 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
13242
13243         * docs/pwg/advanced-events.xml:
13244         * docs/pwg/titlepage.xml:
13245           Update for 0.10 API (#340627). Add myself
13246           to authors list.
13247
13248 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
13249
13250         * docs/libs/gstreamer-libs-docs.sgml:
13251         * docs/libs/gstreamer-libs-sections.txt:
13252         * libs/gst/check/gstbufferstraw.c:
13253           Make gstcheck stuff show up in docs (still needs to
13254           be documented properly though).
13255
13256 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
13257
13258         * docs/gst/gstreamer-sections.txt:
13259         * gst/Makefile.am:
13260         * gst/gst.c: (init_post):
13261         * gst/gst_private.h:
13262         * gst/gstquark.c: (_priv_gst_quarks_initialize):
13263         * gst/gstquark.h:
13264         * gst/gstquery.c: (gst_query_new_position),
13265         (gst_query_set_position), (gst_query_parse_position),
13266         (gst_query_new_duration), (gst_query_set_duration),
13267         (gst_query_parse_duration), (gst_query_new_convert),
13268         (gst_query_set_convert), (gst_query_parse_convert),
13269         (gst_query_new_segment), (gst_query_set_segment),
13270         (gst_query_parse_segment), (gst_query_new_seeking),
13271         (gst_query_set_seeking), (gst_query_parse_seeking):
13272         Add internal helpers for pre-registering quarks from static strings
13273         and using the quark values directly instead of looking them up when
13274         creating and parsing queries. Can be used for event construction too.
13275         Closes #350432.
13276
13277 2006-08-16  Wim Taymans  <wim@fluendo.com>
13278
13279         * gst/gstbin.c:
13280         Fix bogus docs.
13281
13282 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13283
13284         * gst/gstutils.c: (gst_util_set_value_from_string):
13285           Fix memleak (#351502).
13286
13287         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13288           Add unit test for most of gst_util_set_value_from_string()
13289           (not that one would want to encourage use of this function).
13290
13291 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13292
13293         * libs/gst/check/gstcheck.h:
13294           Use const gchar * variables in fail_unless_equals_string
13295           macro to avoid compiler warnings (and don't use tabs for
13296           indenting).
13297
13298 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13299
13300         * tools/gst-launch.c: (print_tag):
13301           More space on the left for the tag names, to cater
13302           for the 'extended comment' tag (not touching the
13303           string for the first line since it's translated).
13304
13305 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13306
13307         * libs/gst/check/gstcheck.h:
13308           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
13309           print something when they fail.
13310
13311 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13312
13313         * docs/gst/gstreamer-sections.txt:
13314         * gst/gsttaglist.c: (_gst_tag_initialize):
13315         * gst/gsttaglist.h:
13316           API: add GST_TAG_EXTENDED_COMMENT (#350935).
13317           Also change merge function for GST_TAG_COMMENT to
13318           use_first.
13319
13320 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13321
13322         * gst/gstinfo.c: (gst_debug_print_object):
13323           Make GST_PTR_FORMAT print messages as well.
13324
13325         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
13326         (GST_START_TEST), (gst_info_suite):
13327           More tests.
13328
13329 2006-08-14  Edward Hervey  <edward@fluendo.com>
13330
13331         * gst/gstelementfactory.c: (gst_element_register):
13332         If the GstElementClass doesn't have a GstElementDetails with all fields
13333         filled up correctly (longname, description AND author), then error out
13334         nicely instead of crashing.
13335
13336 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13337
13338         * gst/gststructure.c:
13339           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
13340
13341         * gst/gstvalue.h:
13342           Expand on the difference between arrays and lists as we use them.
13343           
13344 2006-08-14  Wim Taymans  <wim@fluendo.com>
13345
13346         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
13347         If the parent state change function failed, don't assume we can safely
13348         stop the source, this will be done when the pads are deactivated.
13349
13350 2006-08-14  Wim Taymans  <wim@fluendo.com>
13351
13352         * gst/gstbuffer.c:
13353         * gst/gsttask.c: (gst_task_join):
13354         Small doc updates.
13355
13356         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
13357         (gst_pad_stop_task):
13358         When pad (de)activation failed for some reason, restore the old
13359         activation mode and set the pad to flushing instead of assuming the
13360         pad is deactivated.
13361         If the _task_join() failed, reinstall the task on the pad so that it can
13362         be stopped later and return an error.
13363
13364 2006-08-11  Andy Wingo  <wingo@pobox.com>
13365
13366         * configure.ac:
13367         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13368         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
13369         is only for users of API that don't want to see deprecated
13370         functions in the headers; people that want to compile out
13371         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
13372         CFLAGS. Fixes the build of multifdsink, or will soon..
13373
13374 2006-08-11  Wim Taymans  <wim@fluendo.com>
13375
13376         * docs/gst/gstreamer-sections.txt:
13377         Add GstClockClass vmethod docs.
13378
13379         * gst/gstcaps.h:
13380         Mark #endif with comment for associated #if
13381
13382         * gst/gstclock.c: (gst_clock_id_wait):
13383         * gst/gstclock.h:
13384         Add vmethod wait_jitter to avoid an unneeded _get_time() for
13385         most clock implementations.
13386         Document vmethods.
13387         Flesh out docs about resolution methods.
13388         API: GstClockClass::wait_jitter
13389
13390         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13391         (gst_system_clock_async_thread),
13392         (gst_system_clock_id_wait_jitter_unlocked),
13393         (gst_system_clock_id_wait_jitter):
13394         Use base class wait_jitter variant for improved performance
13395         due to less clock polling.
13396
13397 2006-08-11  Edward Hervey  <edward@fluendo.com>
13398
13399         * gst/gst.c: (gst_init_check), (init_post):
13400         Set gst as being initialized before scanning/updating the registry,
13401         since there might be my python plugin loader that calls gst_init() and
13402         we don't want to loop back in.
13403         Closes #350879
13404
13405 2006-08-11  Wim Taymans  <wim@fluendo.com>
13406
13407         * docs/design/part-qos.txt:
13408         Bring docs in line with the code. Mostly the sign of the jitter was
13409         wrong in the docs. Fixes #349943.
13410
13411         * gst/gstclock.c:
13412         Fix the docs for the jitter.
13413
13414         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
13415         (gst_event_parse_tag), (gst_event_new_buffer_size),
13416         (gst_event_parse_buffer_size), (gst_event_parse_qos),
13417         (gst_event_new_seek), (gst_event_parse_seek),
13418         (gst_event_new_navigation):
13419         Make sure the GstStructure has no parent when creating custom
13420         events.
13421         Add some more argument checking so that we avoid 0.0 rates.
13422         Flesh out the docs for the QoS event some more.
13423
13424 2006-08-11  Wim Taymans  <wim@fluendo.com>
13425
13426         * docs/gst/gstreamer-sections.txt:
13427         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
13428         (ensure_current_registry_forking), (ensure_current_registry),
13429         (parse_one_option), (parse_goption_arg), (gst_deinit),
13430         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
13431         * gst/gst.h:
13432         Doc updates.
13433         Added API and command line option to disable registry forking in
13434         addition to the environment variable.
13435         Constify some static arrays.
13436         Added some more debug.
13437         Don't deinit twice.
13438         API: gst_registry_fork_is_enabled()
13439         API: gst_registry_fork_set_enabled()
13440         API: --gst-disable-registry-fork command line option
13441         Fixes #348918.
13442
13443 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
13444
13445         * gst/gst.c: (gst_init):
13446           Fix typo in error message.
13447
13448 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13449
13450         * libs/gst/controller/gstcontroller.h:
13451           fix ABI size-correction
13452
13453         * tests/check/libs/gdp.c: (gst_dp_suite):
13454           make tests that use deprecated API conditional
13455
13456 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13457
13458         * docs/libs/gstreamer-libs-sections.txt:
13459         * libs/gst/controller/gstcontroller.c:
13460         (_gst_controller_get_property), (_gst_controller_set_property),
13461         (_gst_controller_init), (_gst_controller_class_init):
13462         * libs/gst/controller/gstcontroller.h:
13463         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
13464         (gst_object_set_control_rate):
13465           API: add gst_object_{s,g}et_control_rate(), add private data section,
13466           fix docs
13467
13468         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13469         * libs/gst/dataprotocol/dataprotocol.h:
13470           add deprecation guards to make gtk-doc happy and allow disabling cruft
13471
13472 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13473
13474         * tests/check/Makefile.am:
13475         * tests/check/gst/.cvsignore:
13476           Let's enable the new unit test as well.
13477
13478 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13479
13480         * configure.ac:
13481         * docs/gst/gstreamer-sections.txt:
13482         * gst/gstconfig.h.in:
13483         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
13484         (_gst_info_printf_extension_ptr),
13485         (_gst_info_printf_extension_segment):
13486           API: add GST_SEGMENT_FORMAT, which is a printf extension we
13487           register that lets us easily dump GstSegments into debug
13488           logs (#350419).
13489
13490         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
13491         (info_segment_format_printf_extension), (gst_info_suite):
13492           Add simple unit test that logs a bunch of different segments (not
13493           valgrinded at the moment because of leaks in
13494           gst_debug_add_log_function).
13495
13496 2006-08-09  Edward Hervey  <edward@fluendo.com>
13497
13498         * libs/gst/base/gstbasetransform.c:
13499         (gst_base_transform_buffer_alloc):
13500         Even if we can't figure out the proper format to request downstream,
13501         call buffer_alloc() downstream with the input parameters without setting
13502         the caps on the srcpad. This will force negotiation in the chain
13503         function.
13504         Closes #350449
13505
13506 2006-08-08  Edward Hervey  <edward@fluendo.com>
13507
13508         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13509         Unlinking from a pad without a target is now a perfectly valid case
13510         which should NOT raise an assertion.
13511         This case would happen if a linked ghostpad its target set to NULL after
13512         it was previously linked.
13513
13514 2006-08-08  Edward Hervey  <edward@fluendo.com>
13515
13516         * tests/check/libs/gdp.c:
13517         Also comment out the test (see below).
13518
13519 2006-08-08  Edward Hervey  <edward@fluendo.com>
13520
13521         * tests/check/libs/gdp.c: (gst_dp_suite):
13522         Use the architecture information from config.h and not gcc macros
13523         in order to properly disable a test that fails on PPC64.
13524
13525 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
13526
13527         * gst/gstelement.c: (gst_element_remove_pad):
13528           Don't crash printing the warning if the pad has no parent.
13529
13530 2006-08-02  Wim Taymans  <wim@fluendo.com>
13531
13532         * libs/gst/dataprotocol/dataprotocol.c:
13533         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13534         (gst_dp_crc), (gst_dp_header_payload_length),
13535         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
13536         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
13537         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
13538         (gst_dp_event_from_packet), (gst_dp_validate_header),
13539         (gst_dp_validate_payload):
13540         Make debug category static
13541         Constify the crc table.
13542         Do some more arg checking in public functions.
13543         Fix some docs and do some small cleanups.
13544
13545         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
13546         Add some more checks to see if GDP deals with bogus input.
13547
13548 2006-07-31  Wim Taymans  <wim@fluendo.com>
13549
13550         * gst/gstvalue.c: (gst_value_compare_list):
13551         Fix GstValueList comparison code. Fixes #347293.
13552
13553         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13554         Check to test GstValueList comparison.
13555
13556 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13557
13558         * gst/gstelementfactory.c: (gst_element_factory_create):
13559         Remove unnecessary ref/unref pair
13560
13561         * gst/parse/grammar.y:
13562         Make sure to free the parse buffer on all code paths.
13563         Move a g_free up to the error handler where it's easier to see.
13564
13565         * tests/check/gst/gstevent.c: (test_event):
13566         Extending timeout for downstream travelling events to 10 seconds to
13567         hopefully avoid intermittent failure on the buildbots.
13568
13569         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13570         Don't manually set the state of the src element - it will happen as a
13571         natural consequence of the pipeline changing state, and that way it
13572         will do it in the right order too.
13573
13574 2006-07-31  Wim Taymans  <wim@fluendo.com>
13575
13576         * libs/gst/base/gstbasetransform.c:
13577         (gst_base_transform_buffer_alloc):
13578         Use OBJECT_LOCK and refcounting to get the pad caps in the
13579         buffer_alloc function because the caps could change while we are
13580         busy with them. Fixes #349105
13581
13582 2006-07-31  Wim Taymans  <wim@fluendo.com>
13583
13584         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13585         Protect _PAD_CAPS with OBJECT_LOCK.
13586
13587 2006-07-31  Wim Taymans  <wim@fluendo.com>
13588
13589         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13590         (gst_pad_get_property), (gst_pad_activate_pull),
13591         (gst_pad_activate_push), (gst_pad_set_blocked_async),
13592         (gst_pad_set_activate_function),
13593         (gst_pad_set_activatepull_function),
13594         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13595         (gst_pad_set_getrange_function),
13596         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13597         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13598         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13599         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13600         (gst_pad_set_acceptcaps_function),
13601         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13602         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13603         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13604         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13605         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13606         (gst_pad_configure_sink), (gst_pad_configure_src),
13607         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13608         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13609         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13610         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13611         (gst_pad_send_event):
13612         Use _DEBUG_OBJECT when it makes sense.
13613         Protect GST_PAD_CAPS with the OBJECT_LOCK.
13614         Small cleanups and code reflows.
13615         Avoid caps refcounting in _accept_caps.
13616         Refactor alloc_buffer so that the code performed on the peer is in a
13617         separate function. Also if the pad does not implement a buffer alloc
13618         function, we should still check if the pad is flushing before falling
13619         back to the default allocator.
13620
13621 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13622
13623         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13624         Make all uses of identity and fakesink have silent=true to avoid
13625         serialising every passing data structure, which is breaking tests
13626         on FC4 for some unknown reason.
13627
13628 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13629
13630         * gst/parse/Makefile.am:
13631         * gst/parse/grammar.y:
13632         * gst/parse/parse.l:
13633           Reverted previous patch as it required to bump the flex dependency to
13634           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13635
13636 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13637
13638         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13639
13640         * gst/parse/Makefile.am:
13641         * gst/parse/grammar.y:
13642         * gst/parse/parse.l:
13643           push & pop the state of the lexer for reentrant use case
13644           Fixes #349180
13645
13646 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
13647
13648         * libs/gst/base/gstbasesrc.h:
13649           Note in the docs that the ::newsegment vfunc is not actually used by
13650           GstBaseSrc.
13651
13652 2006-07-28  Wim Taymans  <wim@fluendo.com>
13653
13654         * libs/gst/base/gstcollectpads.c:
13655         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13656         (gst_collect_pads_clear), (gst_collect_pads_flush),
13657         (gst_collect_pads_event), (gst_collect_pads_chain):
13658         When flushing a pad, also clear the queued buffer so that we don't
13659         accidentally use it when we shouldn't.
13660         Fix leaks by inreffing incomming buffer.
13661         Flush out queued buffers in case of errors.
13662         Fixes #347452.
13663
13664 2006-07-28  Wim Taymans  <wim@fluendo.com>
13665
13666         * docs/random/phonon-gst:
13667         Random notes about a Phonon backend.
13668
13669 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13670
13671         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13672         Extra debug output
13673         * tests/check/libs/gdp.c: (gst_dp_suite):
13674         Take a whack at fixing the ppc compile using a different define to
13675         disable the broken test.
13676
13677         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13678         Remove excess g_print()
13679
13680 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13681
13682         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13683         Oops, meant to uncomment this line too to dampen the noise a bit.
13684
13685 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13686
13687         * gst/parse/grammar.y:
13688         * gst/parse/parse.l:
13689         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13690         (GST_START_TEST), (parse_suite):
13691         Fix some of the leaks exposed by extending the parse-launch testsuite,
13692         and move the 3 I can't figure out into a separate test that won't run
13693         the pipelines unless the appropriate line is uncommented.
13694
13695 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13696
13697         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13698           Requesting 0 bytes before the end of the file should result in
13699           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13700           unit test.
13701
13702 2006-07-27  Wim Taymans  <wim@fluendo.com>
13703
13704         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13705         Fix useless assert, a uint is always positive.
13706
13707         * gst/gststructure.c: (gst_structure_nth_field_name),
13708         (gst_structure_foreach), (gst_structure_map_in_place):
13709         Check input arguments for public functions to avoid obvious crashes.
13710
13711         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13712         * plugins/elements/gstfakesink.h:
13713         Do less useless typechecking.
13714
13715 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13716
13717         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13718           Do not use mmap() by default since there are a number of error
13719           conditions that we would like to handle in a non-fatal way that
13720           will result in a SIGBUS if we use mmap(). Examples: external
13721           devices (USB harddrive, portable music player) being unplugged
13722           while in use; file on mounted CD/DVD that can't be read because
13723           the medium is partly damaged. Fixes #348455 and #348475.
13724
13725 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13726
13727         * gst/gstquery.h:
13728         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13729         rates are a gdouble
13730
13731 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
13732
13733         * gst/gstregistry.c:
13734           Move big documentation comment into class section header, so that it
13735           appears in the API docs.
13736
13737 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13738
13739         * docs/gst/gstreamer-sections.txt:
13740         Oops. Commit the docs additions too for new API.
13741         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13742
13743 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13744
13745         * gst/gststructure.c: (gst_structure_id_set),
13746         (gst_structure_id_set_valist):
13747         * gst/gststructure.h:
13748         Add API for setting values into structures without performing
13749         a quark lookup, if the appropriate quark is already known.
13750
13751         API: gst_structure_id_set
13752         API: gst_structure_id_set_valist
13753
13754         * gst/parse/grammar.y:
13755         * gst/parse/parse.l:
13756         Remove some dead code shown by the coverage information.
13757         Don't throw a critical g_warning when encountering a syntax error,
13758         just warn and let the normal error path handle it.
13759
13760         * plugins/elements/gstelements.c:
13761         Bump the rank of filesink up to PRIMARY so that it is preferred over
13762         gnomevfssink for file:// sink uri's
13763
13764         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13765         (GST_START_TEST), (run_delayed_test),
13766         (gst_parse_test_element_base_init),
13767         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13768         (gst_parse_test_element_change_state),
13769         (gst_register_parse_element), (parse_suite):
13770         Beef up the tests for parse syntax to check that more error cases
13771         fail as they are supposed to. Increases the test coverage a bit.
13772
13773 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
13774
13775         * docs/manual/basics-elements.xml:
13776           Fix gst_element_link() example.
13777
13778         * gst/gstutils.c:
13779           Mention in API docs that one should usually gst_bin_add()
13780           elements to a bin or pipeline before doing the linking.
13781           
13782 2006-07-26  Wim Taymans  <wim@fluendo.com>
13783
13784         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13785         (gst_subbuffer_get_type), (gst_buffer_create_sub):
13786         Avoid function call for known types by keeping the buffer and
13787         subbuffer GType global.
13788
13789         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13790         Random silly optimisations in read() path.
13791
13792 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13793
13794         * tools/gst-launch.c: (main):
13795           If the top-level of the parse is a normal bin, it doesn't do the
13796           right logic to run as a top-level element, so place it inside a
13797           pipeline.
13798
13799 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
13800
13801         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13802           Remove superfluous g_object_notify() calls, GObject does
13803           that for us automatically.
13804
13805 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
13806
13807         * gst/gstinfo.h:
13808           on Win32, use dllspec to export the debug category symbols
13809
13810 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
13811
13812         * gst/gsttaglist.c: (_gst_tag_initialize):
13813           Allow more than one GST_TAG_IMAGE per taglist.
13814
13815 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13816
13817         * gst/gstminiobject.c:
13818           update docs
13819         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13820         (gst_fd_src_create):
13821           log recurring events at LOG level
13822           add more debug for when the fd gets set
13823
13824 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13825
13826         * gst/gstparse.c: (gst_parse_launch):
13827           Also remove reentrance checks if flex is MT safe (#348179)
13828          Fix my empty ChangeLog entry below
13829
13830 2006-07-21  Andy Wingo  <wingo@pobox.com>
13831
13832         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13833
13834         * libs/gst/check/Makefile.am
13835         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13836         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
13837         * libs/gst/check/gstbufferstraw.h:
13838         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13839         functions, thus proving I am still a GStreamer haxor. OK I wrote
13840         them a long time ago, but anyways.
13841
13842 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13843
13844         * configure.ac:
13845         * gst/gstparse.c: (gst_parse_launch):
13846           Check for flex version and omit mutex if we have a MT save flex
13847           (fixes #348179)
13848
13849 2006-07-21  Wim Taymans  <wim@fluendo.com>
13850
13851         * gst/gstparse.c: (gst_parse_launch):
13852         Protect recursive calls to _parse with a recursive mutex
13853         and busy flag.
13854
13855 2006-07-21  Wim Taymans  <wim@fluendo.com>
13856
13857         * tests/check/gst/gstpad.c: (GST_START_TEST):
13858         Fix leak in test.
13859
13860 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
13861
13862         * gst/gstparse.c: (gst_parse_launch):
13863           Do not hang on recursive usage of gst_parse_launch()
13864
13865 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13866
13867         * gst/gsttaglist.c:
13868           Add some more docs, comments and FIXME 0.11s here and there
13869           and also fix some typos.
13870
13871 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13872
13873         * gst/gstsegment.h:
13874           Convert tabs to spaces for better readability. 
13875
13876 2006-07-20  Edward Hervey  <edward@fluendo.com>
13877
13878         * tests/check/libs/gdp.c: (gst_dp_suite):
13879         the test_buffer test fails at line 140 on ppc64 at the following
13880         check:
13881         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13882                 GST_BUFFER_FLAG_IN_CAPS),
13883                 "GST_BUFFER_IN_CAPS flag should have been copied !");
13884         See bug #348114 for more details.
13885
13886 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
13887
13888         * docs/pwg/advanced-scheduling.xml:
13889         * gst/gstpad.c:
13890           Fix typos (#348000).
13891
13892 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
13893
13894         * docs/pwg/intro-basics.xml:
13895           Fix wrong links (#347927).
13896
13897 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
13898
13899         * gst/gstregistry.h:
13900         * gst/gstregistryxml.c: (load_feature),
13901         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13902         * win32/common/config.h:
13903           make --disable-index work (#342564)
13904
13905 2006-07-18  Wim Taymans  <wim@fluendo.com>
13906
13907         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13908
13909         * gst/Makefile.am:
13910         * gst/gsttrace.h:
13911         The attached patch adds two missing defines to gsttrace.h when tracing
13912         is disabled.  It also corrects one existing define.
13913         Fixes #347756.
13914
13915 2006-07-17  Wim Taymans  <wim@fluendo.com>
13916
13917         * docs/gst/gstreamer-sections.txt:
13918         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13919         * gst/gst.h:
13920         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13921         Add two functions to check and change the SIGSEGV behaviour
13922         when loading plugins.
13923         Don't mess with the SIGSEGV handler when we were told not to.
13924         Fixes #347794.
13925         API: gst_segtrap_is_enabled
13926         API: gst_segtrap_set_enabled
13927
13928 2006-07-14  Wim Taymans  <wim@fluendo.com>
13929
13930         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13931         * tests/check/elements/filesrc.c: (GST_START_TEST):
13932         Revert fix for regression in #347408 after release.
13933
13934 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
13935
13936         Patch by: Antoine Tremblay <hexa00 at gmail com>
13937
13938         * gst/gstutils.c: (gst_element_unlink):
13939           Free iterator when done (#347311).
13940
13941         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13942           And add a test case for this.
13943
13944 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
13945
13946         * configure.ac:
13947         Bump nano back to CVS
13948
13949 === release 0.10.9 ===
13950
13951 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
13952
13953         * configure.ac:
13954           releasing 0.10.9, "On the road again"
13955
13956 2006-07-13  Wim Taymans  <wim@fluendo.com>
13957
13958         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13959         * tests/check/elements/filesrc.c: (GST_START_TEST):
13960         Revert pull-0 fix for release. Disable check. Fixes #347408.
13961
13962 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13963
13964         * libs/gst/dataprotocol/dataprotocol.c:
13965         (gst_dp_event_from_packet_1_0):
13966           Fixes #347337: failure to deserialize event packets with
13967           empty payload (only event type)
13968
13969 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13970
13971         * gst/Makefile.am:
13972           do not install a .c file in the header directory
13973
13974 2006-07-13  Edward Hervey  <edward@fluendo.com>
13975
13976         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13977         GhostPad no longer implicitely use the padtemplates of the targets.
13978         Fixes #347384
13979
13980 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
13981
13982         * gst/gstvalue.c: (gst_value_compare_list),
13983         (gst_value_compare_array), (_gst_value_initialize):
13984         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13985         Make GstValueArray comparison be order dependent as designed.
13986         Add checks for value lists and value array comparisons.
13987         Fixes #347221
13988
13989 2006-07-11  Edward Hervey  <edward@fluendo.com>
13990
13991         * gst/gstbin.c: (activate_pads),
13992         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13993         (gst_bin_change_state_func):
13994         (de)activate src pads before calling state_change on the childs.
13995         This is to avoid the case where a src ghostpad is blocked (holding the
13996         stream lock), which would block the deactivation of the ghostpad's
13997         target pad.
13998         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13999         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
14000         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
14001         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
14002         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
14003         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
14004         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
14005         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
14006         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
14007         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
14008         (gst_ghost_pad_class_init),
14009         (gst_ghost_pad_internal_do_activate_push),
14010         (gst_ghost_pad_internal_do_activate_pull),
14011         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
14012         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
14013         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
14014         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
14015         GhostPads now create their internal GstProxyPad at creation (and not
14016         when they're linked, as it was being done previously).
14017         The internal and target pads are linked straight away.
14018         The data will also travel through the other pad in order to make
14019         pad blocking and probes non-hackish (the probe/block now really happens
14020         on the GhostPad and not on the target).
14021         * gst/gstpad.c: (gst_pad_set_blocked_async),
14022         (gst_pad_link_prepare), (gst_pad_push_event):
14023         Remove previous ghostpad cruft.
14024         * gst/gstutils.c: (gst_pad_add_data_probe),
14025         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14026         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14027         (gst_pad_remove_buffer_probe):
14028         Remove previous ghost pad cruft.
14029         Added more detailed debug statements.
14030         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
14031         Fix the testsuite for refcounting changes.
14032         The comments about who has references were correct, but the refcount
14033         being checked wasn't the same (!?!).
14034
14035         Fixes #341029
14036
14037 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
14038
14039         * docs/gst/gstreamer-sections.txt:
14040         * gst/gstconfig.h.in:
14041         More docs for configuration options, add docs to gtk-doc.
14042
14043 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
14044
14045         * gst/Makefile.am:
14046         * gst/gstconfig.h.in:
14047         * win32/common/config.h:
14048         Fix build when disabling tracing (fixes #344016). Also start to document
14049         the defines that disable the sub-systems.
14050
14051 2006-07-10  Edward Hervey  <edward@fluendo.com>
14052
14053         * gst/gst.c: (ensure_current_registry_forking):
14054         let's make valgrind happy...
14055
14056 2006-07-09  Wim Taymans  <wim@fluendo.com>
14057
14058         * gst/gstelement.c: (activate_pads),
14059         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
14060         Better pad activation code: Reset the collect value too on resync.
14061         Add some comments.
14062
14063 2006-07-09  Wim Taymans  <wim@fluendo.com>
14064
14065         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
14066         (gst_pad_activate_push):
14067         Use some more macros where it makes sense.
14068         Allow pad mode switching instead of asserting. When a pad
14069         is activated in one mode and we activate it in another, 
14070         deactivate it first before activating it in a different mode.
14071         Fixes #329198.
14072
14073 2006-07-08  Andy Wingo  <wingo@pobox.com>
14074
14075         * tools/gst-launch.c (main): Handle err == NULL.
14076
14077         * gst/gst.c (init_post, ensure_current_registry)
14078         (ensure_current_registry_forking)
14079         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
14080         factoring out the registry scanning into separate functions. Don't
14081         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
14082         Better environment var name/interface suggestions accepted.
14083
14084 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
14085
14086         * gst/gstobject.c: (gst_object_set_name_default),
14087         (gst_object_set_name):
14088           Random micro-optimisation: don't use a hash table
14089           with strings as keys and the usual strdup/strcmp
14090           involved, but rather just use the GQuark of the
14091           type name as key, since it needs to be looked up
14092           anyway to get the type name string.
14093
14094         * tests/check/gst/gstobject.c: (GST_START_TEST):
14095           Fix various leaks.
14096
14097 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
14098
14099         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
14100         (gst_bin_iterate_all_by_interface):
14101           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
14102           GTypes are gulongs and thus the top 4 bytes might be cut
14103           off on some platforms when doing GPOINTER_TO_INT, leading
14104           to invalid GTypes and bad things happening (see RH bug #179654).
14105           Also add a check to make sure the type passed in is really
14106           an interface type.
14107
14108 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
14109
14110         * .cvsignore:
14111           Ignore more.
14112
14113 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
14114
14115         * Makefile.am:
14116         * configure.ac:
14117         * gst-element-check.m4:
14118         * gst-element-check.m4.in:
14119           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
14120           instead of the unversioned gst-inspect (#324176, #168659).
14121
14122 2006-07-06  Wim Taymans  <wim@fluendo.com>
14123
14124         * gst/gstmessage.h:
14125         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
14126         warnings.
14127
14128 2006-07-06  Wim Taymans  <wim@fluendo.com>
14129
14130         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14131         (gst_base_src_wait), (gst_base_src_update_length),
14132         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
14133         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
14134         (gst_base_src_loop), (gst_base_src_start),
14135         (gst_base_src_activate_pull):
14136         Update docs.
14137         blocksize == 0 now means the default blocksize when working in push
14138         based mode.
14139         Remove some pointless asserts in _wait function.
14140         Fix offset/length calculations and EOS handling. We can now pull 0
14141         bytes as well, which is allowed.
14142         use _check_get_range() to decide if we can operate in _pull based
14143         mode.
14144         Fix refcounting leak when check_get_range function was not 
14145         implemented.
14146         API GstBaseSrc::blocksize range can be 0 too now (default)
14147
14148         * tests/check/elements/filesrc.c: (GST_START_TEST),
14149         (filesrc_suite):
14150         Added check to test _get_range() behaviour.
14151
14152 2006-07-06  Wim Taymans  <wim@fluendo.com>
14153
14154         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14155         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
14156         (gst_pad_pull_range):
14157         * gst/gstpad.h:
14158         Lots of comments and docs added to the pad functions.
14159         Flesh out the expected behaviour of the get_range() functions.
14160
14161 2006-07-06  Wim Taymans  <wim@fluendo.com>
14162
14163         * gst/gstbus.h:
14164         * gst/gstclock.h:
14165         * gst/gstevent.h:
14166         * gst/gstiterator.h:
14167         * gst/gstpad.h:
14168         * gst/gstplugin.h:
14169         * gst/gsttask.h:
14170         Remove comma at end of enumerator list. 
14171
14172 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
14173
14174         * win32/common/libgstbase.def:
14175         * win32/common/libgstdataprotocol.def:
14176         * win32/common/libsgtreamer.def:
14177         Add new exported functions.
14178
14179 2006-07-05  Wim Taymans  <wim@fluendo.com>
14180
14181         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
14182         Add some more docs here and there.
14183
14184 2006-07-05  Wim Taymans  <wim@fluendo.com>
14185
14186         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
14187         (gst_base_sink_loop), (gst_base_sink_get_position):
14188         When operating in pull mode update the offset so that we
14189         read sequentially.
14190
14191 2006-07-05  Wim Taymans  <wim@fluendo.com>
14192
14193         * gst/gstregistryxml.c: (read_string):
14194         Avoid strdup. (will happen in libxml, but hey!)
14195
14196         * gst/gsturi.c:
14197         Add some more docs.
14198
14199 2006-07-05  Wim Taymans  <wim@fluendo.com>
14200
14201         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
14202         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
14203         (gst_buffer_suite):
14204         No point in checking if the size of the subbuffer > 0, the
14205         code handles it correclty as demonstrated by unit test.
14206         Also add a unit test for the zero sized _new_and_alloc and
14207         _copy. Fixes #346663.
14208
14209 2006-07-05  Wim Taymans  <wim@fluendo.com>
14210
14211         * libs/gst/base/gstbasetransform.c:
14212         (gst_base_transform_prepare_output_buffer),
14213         (gst_base_transform_buffer_alloc),
14214         (gst_base_transform_handle_buffer):
14215         Make sure the buffer we pass to transform_ip has a refcount of
14216         1 and thus is writable. Fixes #343196
14217
14218 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
14219
14220         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14221         (gst_file_src_init), (gst_file_src_set_property),
14222         (gst_file_src_get_property), (gst_file_src_map_region):
14223         * plugins/elements/gstfilesrc.h:
14224         Add "sequential" property, off by default, to use madvise and hint
14225         to the kernel that sequential access is desired.
14226         Touch all retrieved pages by default to ensure they are pulled
14227         into memory. (Closes #345720)
14228
14229 2006-07-03  Wim Taymans  <wim@fluendo.com>
14230
14231         * docs/design/part-block.txt:
14232         * docs/design/part-dynamic.txt:
14233         Small docs updates.
14234
14235 2006-07-03  Wim Taymans  <wim@fluendo.com>
14236
14237         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
14238         (gst_caps_unref), (gst_static_caps_get),
14239         (gst_caps_append_structure):
14240         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
14241         Use GSlice when the glib we build against is >= 2.10
14242
14243 2006-07-03  Wim Taymans  <wim@fluendo.com>
14244
14245         * gst/gstelement.c: (gst_element_pads_activate):
14246         Small cleanup in pad activation code.
14247
14248 2006-07-03  Wim Taymans  <wim@fluendo.com>
14249
14250         Patch by: Peter Kjellerstedt <pkj at axis dot com>
14251
14252         * gst/gst-i18n-app.h:
14253         * gst/gst-i18n-lib.h:
14254         * tools/gst-inspect.c: (print_signal_info):
14255         The attached patch will make the inclusion of gettext.h unconditional in
14256         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
14257         libintl.h in tools/gst-inspect.c.
14258         This allows use of --disable-nls again and fixes #344642.
14259
14260 2006-07-03  Edward Hervey  <edward@fluendo.com>
14261
14262         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
14263         Implement pad blocking on events according to part-block.txt.
14264         More comments on behaviour.
14265         * tests/check/gst/gstevent.c: (test_event):
14266         Send event to peer pad of blocked pad (else it will block).
14267
14268 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14269
14270         * libs/gst/check/gstcheck.c: (gst_check_message_error),
14271         (gst_check_run_suite):
14272           if we get the wrong message, give us the types as string
14273         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
14274           Fix a translatable
14275         * tests/check/elements/filesrc.c: (GST_START_TEST):
14276           add a test for trying to open a non-existing file
14277
14278 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14279
14280         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14281           add a test for adding self
14282
14283 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14284
14285         * libs/gst/check/gstcheck.h:
14286           add some assert_ as alias for fail_unless_*
14287         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
14288           increase test coverage
14289
14290 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14291
14292         * Makefile.am:
14293           include lcov.mak for lcov coverage generation
14294         * tools/Makefile.am:
14295           add to CLEANFILES
14296
14297 2006-07-02  Edward Hervey  <edward@fluendo.com>
14298
14299         * tests/check/elements/.cvsignore:
14300         moaping
14301
14302 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14303
14304         * configure.ac:
14305           don't set CFLAGS and friends for gcov, done from GST_GCOV now
14306         * tests/check/Makefile.am:
14307           clean up gcov files
14308
14309 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14310
14311         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
14312           remove gst_caps_simplify; it was not declared and not used
14313           and deprecated in 0.8
14314
14315 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14316
14317         * docs/faq/gst-uninstalled:
14318           don't put empty paths on PYTHONPATH
14319         * docs/gst/gstreamer-sections.txt:
14320           remove some symbols that are not there
14321
14322 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14323
14324         * gst/gstcaps.c: (gst_caps_compare_structures):
14325           whitespace fixes
14326         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
14327         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
14328           add more tests
14329
14330 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14331
14332         * libs/gst/dataprotocol/Makefile.am:
14333           build dataprotocol test by linking to the lib, instead of
14334           compiling the source, so we get coverage
14335         * tests/check/Makefile.am:
14336         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
14337         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
14338           add a test for filesrc
14339
14340 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14341
14342         * tests/check/gst/gststructure.c: (GST_START_TEST),
14343         (gst_structure_suite):
14344           Push coverage from 59.04% to 70.00%
14345
14346 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14347
14348         * tests/check/Makefile.am:
14349           gst-inspect every element; this makes sure that we also get
14350           coverage on element's get/set functions
14351
14352 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14353
14354         * configure.ac:
14355           set CFLAGS and friends to -O0 if gcov is being used
14356           add GCOV LIBS
14357         * gst/Makefile.am:
14358         * libs/gst/base/Makefile.am:
14359         * libs/gst/check/Makefile.am:
14360         * libs/gst/controller/Makefile.am:
14361         * libs/gst/dataprotocol/Makefile.am:
14362         * libs/gst/net/Makefile.am:
14363         * plugins/elements/Makefile.am:
14364         * plugins/indexers/Makefile.am:
14365           add makefile rules to generate gcov data and clean up
14366         * tests/check/Makefile.am:
14367           add a coverage target that generates an html overview
14368           of coverage data
14369
14370 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14371
14372         * tests/check/elements/fakesink.c:
14373         * tests/check/elements/fakesrc.c:
14374         * tests/check/elements/fdsrc.c:
14375         * tests/check/elements/identity.c:
14376         * tests/check/generic/sinks.c: (gst_sinks_suite):
14377         * tests/check/generic/states.c:
14378         * tests/check/gst/gst.c:
14379         * tests/check/gst/gstabi.c:
14380         * tests/check/gst/gstbin.c:
14381         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
14382         * tests/check/gst/gstbus.c: (gst_bus_suite):
14383         * tests/check/gst/gstcaps.c: (GST_START_TEST):
14384         * tests/check/gst/gstelement.c:
14385         * tests/check/gst/gstevent.c: (gst_event_suite):
14386         * tests/check/gst/gstghostpad.c:
14387         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
14388         * tests/check/gst/gstmessage.c: (gst_message_suite):
14389         * tests/check/gst/gstminiobject.c:
14390         * tests/check/gst/gstobject.c:
14391         * tests/check/gst/gstpad.c:
14392         * tests/check/gst/gstpipeline.c:
14393         * tests/check/gst/gstplugin.c:
14394         * tests/check/gst/gstquery.c: (gst_query_suite):
14395         * tests/check/gst/gstsegment.c: (gst_segment_suite):
14396         * tests/check/gst/gststructure.c:
14397         * tests/check/gst/gstsystemclock.c:
14398         * tests/check/gst/gsttag.c:
14399         * tests/check/gst/gsttask.c: (gst_task_suite):
14400         * tests/check/gst/gstutils.c:
14401         * tests/check/gst/gstvalue.c:
14402         * tests/check/libs/adapter.c:
14403         * tests/check/libs/basesrc.c:
14404         * tests/check/libs/collectpads.c:
14405         * tests/check/libs/controller.c:
14406         * tests/check/libs/gdp.c: (gst_dp_suite):
14407         * tests/check/libs/gstnetclientclock.c:
14408         * tests/check/libs/gstnettimeprovider.c:
14409         * tests/check/libs/libsabi.c: (libsabi_suite):
14410         * tests/check/libs/typefindhelper.c:
14411         * tests/check/pipelines/cleanup.c:
14412         * tests/check/pipelines/parse-launch.c:
14413         * tests/check/pipelines/simple-launch-lines.c:
14414         * tests/check/pipelines/stress.c: (stress_suite):
14415           use the new macro
14416
14417 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14418
14419         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
14420         * libs/gst/check/gstcheck.h:
14421           create a macro and function so that the simple unit test
14422           case can be just one macro to create main()
14423
14424 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
14425
14426         * gst/gstbin.c: (gst_bin_restore_thyself):
14427         * gst/gstxml.c: (gst_xml_make_element):
14428           Fix deserialisation from XML. Set parent manually
14429           instead of using gst_bin_add(), since gst_bin_add()
14430           will unlink all pads of the element being added.
14431           Fixes #341667.
14432
14433 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
14434
14435         Patch by: Peter Kjellerstedt <pkj at axis com>
14436
14437         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
14438           Fix missing g_strdup() and double free when using the
14439           --gst-plugin-load command line option (#346097).
14440
14441 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14442
14443         * gst/gstinfo.c:
14444           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
14445
14446         * libs/gst/net/gstnetclientclock.c:
14447         * libs/gst/net/gstnettimeprovider.c:
14448           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
14449
14450 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14451
14452         * docs/manual/advanced-dataaccess.xml:
14453           Fix buffer probe example compilation in
14454           ADM (#345708).
14455         
14456 2006-06-22  Edward Hervey  <edward@fluendo.com>
14457
14458         * gst/gstelement.c: (gst_element_pads_activate):
14459         We need to deactivate src pads first and then sink pads.
14460         The reason is the src pads might be blocking while holding the streaming
14461         lock, so we need to deactivate them first so that deactivating the sink
14462         pads doesn't block (since it will require the streaming lock).
14463
14464 2006-06-22  Wim Taymans  <wim@fluendo.com>
14465
14466         * libs/gst/base/gstbasetransform.c:
14467         (gst_base_transform_buffer_alloc):
14468         Forgot to remove two unneeded unrefs.
14469         Simplify a check _is_equal allready checks the obvious case.
14470
14471 2006-06-22  Wim Taymans  <wim@fluendo.com>
14472
14473         * docs/design/part-block.txt:
14474         Some docs about what pad_block should do.
14475
14476 2006-06-22  Wim Taymans  <wim@fluendo.com>
14477
14478         * gst/gstcaps.c: (gst_caps_replace):
14479         Fix crasher when passed NULL. Doc clarification.
14480         Optimize for the trivial case.
14481
14482         * gst/gstpipeline.c: (gst_pipeline_change_state):
14483         Small cleanups.
14484
14485         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14486         Small documentation cleanup.
14487
14488         * libs/gst/base/gstbasetransform.c:
14489         (gst_base_transform_buffer_alloc):
14490         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
14491         is what we need and it avoids a whole lot of redundant 
14492         refcount operations.
14493
14494 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
14495
14496         Patch by: Philip Jägenstedt  <philip at lysator liu se>
14497
14498         * docs/manual/advanced-dataaccess.xml:
14499           Fix 'Embedding static elements' section to use
14500           GST_PLUGIN_DEFINE_STATIC (#345607).
14501
14502 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14503
14504         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
14505           Attempt to 'fix' spuriously failing test case: it seems like the
14506           timeout of half a second is simply too small when the system is under
14507           load otherwise, and the timeout doesn't really seem to serve any
14508           particular purpose here. Give the pipeline a few seconds to preroll
14509           first, and then give it another half a second to go from PAUSED to
14510           PLAYING and marshal the message into the main thread.
14511
14512 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14513
14514         * tools/gst-feedback-m.m:
14515           Don't only use unversioned tools, try versioned tools as well
14516           (#345086).
14517
14518 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14519
14520         * gst/gstbus.c: (gst_bus_class_init):
14521           Fix some typos, make docs more explicit.
14522
14523 2006-06-20  Wim Taymans  <wim@fluendo.com>
14524
14525         * tests/check/gst/gstghostpad.c: (block_callback),
14526         (GST_START_TEST), (gst_ghost_pad_suite):
14527         Added some more ghostpad tests, mainly blocking
14528         and probes.
14529
14530 2006-06-16  Wim Taymans  <wim@fluendo.com>
14531
14532         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
14533         (gst_file_sink_close_file), (gst_file_sink_do_seek),
14534         (gst_file_sink_event), (gst_file_sink_render):
14535         * plugins/elements/gstfilesink.h:
14536         Check if we can seek in the file instead of assuming
14537         we always can. Post an error when we are asked to seek in a
14538         non-seekable file (like a fifo). Fixes #343312.
14539         Some cleanups.
14540
14541 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14542
14543         * tools/gst-launch.1.in:
14544           Un-garble (fourcc) bit in filtered caps section.
14545
14546 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14547
14548         * docs/manual/advanced-autoplugging.xml:
14549         * docs/manual/basics-helloworld.xml:
14550         * docs/manual/highlevel-components.xml:
14551           Don't leak bus reference in sample code.
14552
14553 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
14554
14555         * autogen.sh:
14556           Add default for new --enable-plugin-docs switch.
14557
14558         * configure.ac:
14559           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14560           Fixes #344039.
14561
14562         * docs/Makefile.am:
14563           Use new ENABLE_PLUGIN_DOCS conditional.
14564
14565 2006-06-14  Wim Taymans  <wim@fluendo.com>
14566
14567         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14568         Make it clear with a FIXME and a real define what the #if 0
14569         previously disabled.
14570
14571 2006-06-14  Wim Taymans  <wim@fluendo.com>
14572
14573         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14574         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14575         * libs/gst/base/gstbasetransform.c:
14576         (gst_base_transform_sink_eventfunc):
14577         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14578         Don't randomly and silently reset a segment when the format 
14579         changes as this is a bug somewhere upstream. Fixes #330379.
14580
14581 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
14582
14583         Patch by: Wouter Paesen  <wouter at kangaroot net>
14584
14585         * libs/gst/controller/gstcontroller.c:
14586         (gst_controlled_property_new):
14587           Fix controlling of float properties (#344849).
14588
14589         * tests/check/libs/controller.c:
14590         (gst_test_mono_source_get_property),
14591         (gst_test_mono_source_set_property),
14592         (gst_test_mono_source_class_init), (GST_START_TEST):
14593           While we're at it, add some float stuff to unit test.
14594
14595 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14596
14597         * docs/README:
14598         * docs/images/gdp-header.svg:
14599           add a gdp image
14600         * docs/libs/Makefile.am:
14601         * docs/libs/gdp-header.png:
14602         * libs/gst/dataprotocol/dataprotocol.c:
14603           add it to the API docs
14604         * docs/manual/intro-motivation.xml:
14605           fix typo
14606
14607 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14608
14609         * gst/gst.c: (scan_and_update_registry), (init_post):
14610           If the fork()'ed child process can't write the updated registry cache
14611           file to disk for some reason, make it exit with a failure exit code,
14612           so that the parent can then re-scan the plugins itself and update the
14613           registry structures in memory and work with that (rather than failing
14614           when creating elements because seemingly no plugins are available).
14615           Refactor registry scanning code into separate function for this and
14616           also separate fork() and non-fork() code paths. Fixes #344748.
14617
14618 2006-06-13  Wim Taymans  <wim@fluendo.com>
14619
14620         * docs/manual/advanced-dataaccess.xml:
14621         Fix wrong PluginDesc. Fixes #344755.
14622
14623 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14624
14625         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14626           Fix silly bug that prevented us from creating
14627           ~/.gstreamer-0.10 and writing the registry in one
14628           go (the first call to g_mkstemp() would overwrite the
14629           placeholder in the template string, so the second call
14630           to g_mkstemp() after creating the missing directory
14631           would then error out with 'invalid argument').
14632
14633 2006-06-13  Edward Hervey  <edward@fluendo.com>
14634
14635         * gst/gst.c: (init_post):
14636         Free string.
14637
14638 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14639
14640         * gst/glib-compat-private.h:
14641         * gst/glib-compat.c:
14642         * gst/glib-compat.h:
14643         * gst/gstvalue.c: (gst_value_serialize_flags):
14644           remove GLib 2.6 compatibility code
14645
14646 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
14647
14648         * gst/parse/Makefile.am:
14649           Fix build with 'make -j N' even more (#340016).
14650
14651 2006-06-12  Wim Taymans  <wim@fluendo.com>
14652
14653         * docs/gst/gstreamer-sections.txt:
14654         Fix docs.
14655
14656 2006-06-12  Wim Taymans  <wim@fluendo.com>
14657
14658         * gst/gstsegment.c: (gst_segment_set_duration),
14659         (gst_segment_set_last_stop), (gst_segment_set_seek),
14660         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14661         (gst_segment_to_running_time), (gst_segment_clip):
14662         Use G_UNLIKELY to help the compiler a bit.
14663
14664 2006-06-12  Wim Taymans  <wim@fluendo.com>
14665
14666         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14667
14668         * gst/gstevent.c: (gst_event_get_type):
14669         * gst/gstmessage.c:
14670         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14671         (gst_pad_push):
14672         constify quark registration strings. Fixes #344115
14673         Avoid unneeded type checking is _pad_push() by internally
14674         calling gst_pad_chain_unchecked().
14675
14676 2006-06-12  Wim Taymans  <wim@fluendo.com>
14677
14678         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14679         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14680         (gst_subbuffer_finalize), (gst_buffer_create_sub),
14681         (gst_buffer_is_span_fast), (gst_buffer_span):
14682         Init _type for consistency.
14683         Use _FLAGS macro to avoid type check.
14684         Avoid unneeded type checks in subbufer code.
14685
14686 2006-06-12  Wim Taymans  <wim@fluendo.com>
14687
14688         * gst/gst.c: (gst_debug_help):
14689         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14690         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14691         (gst_plugin_feature_list_free):
14692         * gst/gstregistry.c: (gst_registry_add_plugin),
14693         (gst_registry_add_feature), (gst_registry_plugin_filter),
14694         (gst_registry_feature_filter), (gst_registry_find_plugin),
14695         (gst_registry_find_feature), (gst_registry_get_plugin_list),
14696         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14697         * gst/gstregistryxml.c: (load_feature),
14698         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14699         * gst/gstminiobject.c: (gst_mini_object_unref),
14700         (gst_mini_object_replace), (gst_value_mini_object_free),
14701         (gst_value_mini_object_copy):
14702         Use _CAST macros to avoid unneeded type checking.
14703         Added some more G_UNLIKELY.
14704
14705 2006-06-12  Wim Taymans  <wim@fluendo.com>
14706
14707         * gst/gstbuffer.h:
14708         Avoid unneeded type checking.
14709         API: GST_BUFFER_IS_DISCONT
14710
14711         * gst/gstminiobject.h:
14712         Avoid type check in flag accessor.
14713
14714         * gst/gstelementfactory.h:
14715         * gst/gstplugin.h:
14716         * gst/gstpluginfeature.h:
14717         Add _CAST macros.
14718         API: GST_ELEMENT_FACTORY_CAST
14719         API: GST_PLUGIN_CAST
14720         API: GST_PLUGIN_FEATURE_CAST
14721
14722 2006-06-12  Wim Taymans  <wim@fluendo.com>
14723
14724         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14725         (gst_object_unref):
14726         Add G_UNLIKELY in type registration.
14727         Avoid type check in _ref/_unref since that is also
14728         done in glib.
14729
14730 2006-06-12  Wim Taymans  <wim@fluendo.com>
14731
14732         * gst/gsterror.c: (gst_g_error_get_type):
14733         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14734         (gst_static_pad_template_get_type):
14735         * gst/gsttaglist.c: (gst_tag_list_get_type):
14736         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14737         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14738         * gst/gsturi.c: (gst_uri_handler_get_type):
14739         * gst/gstvalue.c: (gst_date_get_type):
14740         * gst/gstxml.c: (gst_xml_get_type):
14741         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14742         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14743         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14744         Add G_UNLIKELY in type registration.
14745
14746 2006-06-12  Wim Taymans  <wim@fluendo.com>
14747
14748         * tools/gst-inspect.c: (print_signal_info):
14749         Properly print enum values.
14750
14751 2006-06-12  Wim Taymans  <wim@fluendo.com>
14752
14753         * gst/gstinfo.c: (gst_debug_set_active),
14754         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14755         * gst/gstinfo.h:
14756         Add some G_[UN]LIKELY.
14757         Maintain __gst_debug_min to avoid formatting the arguments of
14758         debug messages that will be dropped anyway to avoid a lot of 
14759         overhead from the debugging system.
14760
14761 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14762
14763         * po/POTFILES.in:
14764         * po/POTFILES.skip:
14765           add missing files containing translatable strings, tell intltool about
14766           one exception
14767
14768 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14769
14770         * tests/check/libs/.cvsignore:
14771         add test-binary to ignore list
14772
14773 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14774
14775         * docs/libs/gstreamer-libs-docs.sgml:
14776         reorder (put dp into a chapter) and indent
14777
14778 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14779
14780         * configure.ac:
14781           back to HEAD
14782
14783 === release 0.10.8 ===
14784
14785 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
14786
14787         * configure.ac:
14788           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14789
14790 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14791
14792         * gst/gst.c: (init_post):
14793           move pid declaration to declaration block
14794
14795 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14796
14797         * gst/gst.c: (init_post):
14798           use _exit() instead of exit() in our forked child; this ensures
14799           that none of the registered exit handlers from whatever is using
14800           GStreamer get executed.  This fixes gnome-mixer-applet failing
14801           to load, because ORBit would shut down.
14802           Spotted by: Edward Hervey  <edward@fluendo.com>
14803           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
14804           Fixes #344474
14805
14806 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14807
14808         * configure.ac:
14809           back to TRUNK
14810
14811 === release 0.10.7 ===
14812
14813 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
14814
14815         * configure.ac:
14816           releasing 0.10.7, "Soepeke, ik zie ou"
14817
14818 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14819
14820         * configure.ac:
14821         * po/af.po:
14822         * po/az.po:
14823         * po/bg.po:
14824         * po/ca.po:
14825         * po/cs.po:
14826         * po/de.po:
14827         * po/en_GB.po:
14828         * po/fr.po:
14829         * po/it.po:
14830         * po/nb.po:
14831         * po/nl.po:
14832         * po/ru.po:
14833         * po/sq.po:
14834         * po/sr.po:
14835         * po/sv.po:
14836         * po/tr.po:
14837         * po/uk.po:
14838         * po/vi.po:
14839         * po/zh_CN.po:
14840         * po/zh_TW.po:
14841         * win32/common/config.h:
14842           0.10.6.2 prerelease
14843
14844 2006-06-07  Wim Taymans  <wim@fluendo.com>
14845
14846         * gst/gstindex.c: (gst_index_gtype_resolver):
14847         * tools/gst-xmlinspect.c: (print_plugin_info):
14848         Fix leak spotted by coverity checker. Fixes #343827
14849         Fix another other leak found by paolo borelli.
14850
14851 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14852
14853         * libs/gst/dataprotocol/dataprotocol.c:
14854         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14855         (gst_dp_version_get_type), (gst_dp_init),
14856         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14857         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14858         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14859         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14860         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14861         (gst_dp_packetizer_free):
14862         * libs/gst/dataprotocol/dataprotocol.h:
14863           API: add a GstDPPacketizer object, and create/free functions
14864           API: add GstDPVersion enum
14865           Add 1.0 event function that uses the string serialization
14866           Serialize more useful buffer flags
14867           Fixes #343988
14868
14869 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14870
14871         * tests/check/Makefile.am:
14872         * tests/check/gst/gstabi.c:
14873         * tests/check/gst/struct_ppc64.h:
14874         * tests/check/libs/libsabi.c:
14875         * tests/check/libs/struct_ppc64.h:
14876           add ppc64 structure sizes
14877
14878 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14879
14880         * tests/check/Makefile.am:
14881         * tests/check/gst/gstabi.c:
14882         * tests/check/gst/struct_x86_64.h:
14883         * tests/check/libs/libsabi.c:
14884         * tests/check/libs/struct_x86_64.h:
14885           generate and add structure size lists for x86_64
14886
14887 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14888
14889         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14890         * libs/gst/check/gstcheck.h:
14891           factor out the method from tests that checks size of structures,
14892           and add code to generate the header containing these sizes
14893         * tests/check/gst/gstabi.c: (GST_START_TEST):
14894         * tests/check/gst/struct_i386.h:
14895         * tests/check/libs/libsabi.c: (GST_START_TEST):
14896         * tests/check/libs/struct_i386.h:
14897           use it
14898
14899 2006-06-06  Michael Smith  <msmith@fluendo.com>
14900
14901         * gst/gstsegment.h:
14902           Don't use c++-style comments, fixes #343929
14903
14904 2006-06-05  Edward Hervey  <edward@fluendo.com>
14905
14906         * gst/gst.c:
14907         plugin_paths is not used if we build without registry support.
14908
14909         * gst/gstsegment.c: (gst_segment_copy): 
14910         _copy() was always returning NULL...
14911
14912 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14913
14914         * libs/gst/dataprotocol/dataprotocol.c:
14915         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14916         (gst_dp_packet_from_event):
14917           factor out CRC code
14918
14919 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14920
14921         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14922           make sure we unset caps
14923
14924 2006-06-02  Michael Smith  <msmith@fluendo.com>
14925
14926         * libs/gst/check/gstcheck.c: (gst_check_init),
14927         (gst_check_chain_func):
14928         * libs/gst/check/gstcheck.h:
14929           Add a cond/mutex to the check support lib, signal this whenever we
14930           add to the buffers list. This will allow tests to not busy-wait on
14931           the buffer-list.
14932
14933 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14934
14935         * libs/gst/dataprotocol/dataprotocol.c:
14936         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14937         (gst_dp_packet_from_event):
14938           factor out some common header init code
14939
14940 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14941
14942         * docs/libs/gstreamer-libs-sections.txt:
14943         * docs/libs/tmpl/gstdataprotocol.sgml:
14944         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14945         * libs/gst/dataprotocol/dataprotocol.h:
14946           API: make gst_dp_crc() public
14947
14948 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14949
14950         * plugins/indexers/gstindexers.c: (plugin_init):
14951         conditionally register fileindexer (fixes #343598)
14952
14953 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14954
14955         * gst/gsttagsetter.h:
14956         Can't cast ifaces to a class
14957
14958         * libs/gst/net/gstnetclientclock.h:
14959         * libs/gst/net/gstnettimeprovider.h:
14960         * plugins/elements/gstfakesink.h:
14961         * plugins/elements/gstfakesrc.h:
14962         * plugins/elements/gstfdsink.h:
14963         * plugins/elements/gstfdsrc.h:
14964         * plugins/elements/gstfilesink.h:
14965         * plugins/elements/gstfilesrc.h:
14966         * plugins/elements/gstidentity.h:
14967         * plugins/elements/gstqueue.h:
14968         * plugins/elements/gsttee.h:
14969         * plugins/indexers/gstfileindex.c:
14970         * plugins/indexers/gstmemindex.c:
14971         * tests/old/examples/plugins/example.h:
14972         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14973
14974 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14975
14976         * libs/gst/dataprotocol/dataprotocol.c:
14977         (gst_dp_header_from_buffer):
14978           make sure we zero the whole ABI-compatible area
14979
14980 2006-06-01  Wim Taymans  <wim@fluendo.com>
14981
14982         Patch by: Alessandro Decina <alessandro at nnva dot org>
14983
14984         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14985         Make sure the EOS flag is cleared from pads after a flush
14986         or stop. Fixes #343538.
14987
14988         * tests/check/libs/collectpads.c: (GST_START_TEST),
14989         (gst_collect_pads_suite):
14990         Added test for collectpads reusage after EOS.
14991
14992 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
14993
14994         * gst/gst.c:
14995          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14996         * win32/common/libgstbase.def:
14997          export gst_collect_pads_set_flushing
14998         * win32/common/libgstreamer.def:
14999          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
15000          gst_value_fraction_multiply
15001         * win32/vs6/gst_inspect.dsp:
15002          add a link to intl.lib
15003
15004 2006-05-30  Wim Taymans  <wim@fluendo.com>
15005
15006         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
15007         (gst_collect_pads_chain):
15008         Handle the case where a pad is removed from the collection
15009         that could cause the other pads to become collectable.
15010
15011 2006-05-30  Wim Taymans  <wim@fluendo.com>
15012
15013         * gst/gstelement.c:
15014         Clarify the use of _release_request_pad() and
15015         _get_request_pad() a bit better.
15016
15017         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
15018         (gst_adapter_take_buffer):
15019         Fix some doc and comment typos.
15020
15021 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15022
15023         * docs/gst/gstreamer-sections.txt:
15024         * docs/libs/gstreamer-libs-sections.txt:
15025           add declared symbols
15026
15027 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
15028
15029         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
15030         Add debug that can be enabled using a #define at the top of the file,
15031         for dumping stats about how late/early we were when waking up from
15032         waiting on the clock.
15033
15034 2006-05-30  Wim Taymans  <wim@fluendo.com>
15035
15036         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
15037         When rebuilding the pad list, don't leak the previous list.
15038
15039 2006-05-30  Wim Taymans  <wim@fluendo.com>
15040
15041         Patch by: Lutz Mueller <lutz at topfrose dot de>
15042
15043         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15044         (gst_base_src_get_query_types), (gst_base_src_update_length):
15045         Publish supported query types.
15046         Update last_stop field in get_range mode so the position
15047         query works. Fixes #342321.
15048
15049 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
15050
15051         * docs/gst/gstreamer-sections.txt:
15052         * gst/gsttaglist.c: (_gst_tag_initialize):
15053         * gst/gsttaglist.h:
15054           API: add GST_TAG_PREVIEW_IMAGE (#343341).
15055
15056 2006-05-30  Wim Taymans  <wim@fluendo.com>
15057
15058         Patch by: Alessandro Decina <alessandro at nnva dot org>
15059
15060         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
15061         Unlock mutex when removing an unknown pad.
15062         Fixes #343334.
15063
15064         * tests/check/Makefile.am:
15065         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
15066         (push_event), (setup), (teardown), (GST_START_TEST),
15067         (gst_collect_pads_suite), (main):
15068         Added collecpads check, disabled for now as check crashes for
15069         some reason.
15070
15071 2006-05-29  Wim Taymans  <wim@fluendo.com>
15072
15073         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
15074         Don't leak pads lists.
15075
15076 2006-05-29  Wim Taymans  <wim@fluendo.com>
15077
15078         * docs/libs/gstreamer-libs-sections.txt:
15079         * libs/gst/base/gstcollectpads.c:
15080         (gst_collect_pads_set_flushing_unlocked),
15081         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15082         (gst_collect_pads_stop):
15083         * libs/gst/base/gstcollectpads.h:
15084         API: gst_collect_pads_set_flushing()
15085         Added api to set the pads to flushing, useful for seeking
15086         code in elements using collectpads.
15087         Clear segment when receiving a flush.
15088
15089 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
15090
15091         * gst/gst.c: (add_path_func), (init_post):
15092           Don't scan registry paths passed via --gst-plugin-path immediately
15093           (will crash, because absolutely nothing is set up and no types are
15094           registered etc.); do this later in init_post(). Fixes #343057.
15095
15096 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15097
15098         * gst/gst.c: (init_post):
15099           if we have fork, fork while reading/rebuilding the registry
15100           so the parent doesn't take the hit of having all plugins loaded
15101           in memory.  Fixes #342777.
15102         * configure.ac:
15103           Check if we have fork()
15104         * win32/common/config.h.in:
15105           no fork() on win32
15106
15107 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
15108
15109         * plugins/elements/gstelements.c:
15110         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
15111         (gst_file_src_init), (gst_file_src_set_property),
15112         (gst_file_src_get_property), (gst_file_src_start):
15113         * plugins/elements/gstfilesrc.h:
15114           API: GstFileSrc::use-mmap
15115
15116         Add a use-mmap property to enable easier testing of all code paths.
15117         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
15118         in the absence of gnomevfssrc. (Closes #340501)
15119
15120 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
15121
15122         * tools/gst-inspect.c:
15123         Add missing include, removes warning of ngettext not being defined on
15124         some arches.
15125
15126 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
15127
15128         * gst/gstvalue.c: (gst_value_deserialize_fraction):
15129         Handle NULL input and output pointers silently as a failed conversion,
15130         rather than g_warnings.
15131
15132 2006-05-25  Wim Taymans  <wim@fluendo.com>
15133
15134         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
15135         Initialize variable before using. Fixes #342820.
15136
15137 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
15138
15139         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
15140           Fix off-by-one bug that would only allow peeks of N-1 bytes
15141           from the start even if the buffer to typefind on contains
15142           in fact N bytes of data (makes vorbis typefinding from a
15143           vorbis identification header buffer work).
15144
15145         * tests/check/Makefile.am:
15146         * tests/check/libs/.cvsignore:
15147         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
15148         (gst_typefindhelper_suite), (main), (foobar_typefind),
15149         (plugin_init):
15150           Add very basic unit test for gst_type_find_helper_for_buffer()
15151           that checks for the problem fixed above.
15152
15153 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15154
15155         * tools/gst-inspect.c: (print_interfaces),
15156         (print_element_properties_info), (print_element_list), (main):
15157           add more translatable strings
15158
15159 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
15160
15161         Patch by: Julien Moutte  <julien at moutte net>
15162
15163         * docs/gst/gstreamer-sections.txt:
15164           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
15165           
15166         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
15167         (gst_fake_sink_preroll):
15168         * plugins/elements/gstfakesink.h:
15169           API: Add new GstFakeSink::preroll-handoff signal (#337100).
15170
15171 2006-05-23  Wim Taymans  <wim@fluendo.com>
15172
15173         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
15174         * gst/gstpad.h:
15175         Added _CUSTOM error and success GstFlowReturn that can be
15176         used be elements internally. 
15177         Added macro to check for SUCCESS flowreturns.
15178         API: GST_FLOW_CUSTOM_SUCCESS
15179         API: GST_FLOW_CUSTOM_ERROR
15180         API: GST_FLOW_IS_SUCCESS
15181
15182         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
15183         Added check for GstFlowReturn sanity.
15184
15185 2006-05-23  Wim Taymans  <wim@fluendo.com>
15186
15187         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
15188
15189         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
15190         (gst_collect_pads_event):
15191         clear/reset segment info in FLUSH_STOP.
15192         Fixes #336929.
15193
15194 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
15195
15196         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
15197         (gst_collect_pads_check_collected):
15198         Flush queued buffer on _stop(), fixes playing again (#342454)
15199
15200 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15201
15202         * tests/check/gst/gststructure.c: (GST_START_TEST),
15203         (gst_structure_suite):
15204           add a test for a complete structure
15205
15206 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
15207
15208         * docs/faq/developing.xml:
15209         * docs/faq/faq.xml:
15210         * docs/faq/troubleshooting.xml:
15211         * docs/faq/using.xml:
15212           Some minor FAQ updates that won't change the fact that
15213           our FAQ is badly structured, full of information hardly
15214           anyone new to GStreamer needs to know and lacking lots
15215           of information people constantly ask for.
15216           
15217 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
15218
15219         * gst/gstpad.c: (gst_pad_set_caps):
15220           Short-circuit gst_pad_set_caps if setting the existing
15221           caps pointer again, and avoid printing debug and 
15222           reffing/unreffing the caps.
15223
15224         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15225           There's actually no need to set the caps before pushing -
15226           the acceptcaps method will handle it anyway.
15227
15228 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
15229
15230         * docs/gst/gstreamer-sections.txt:
15231         * win32/common/libgstreamer.def:
15232         * gst/gstutils.c: (gst_element_seek_simple):
15233         * gst/gstutils.h:
15234           API: add gst_element_seek_simple() (#342238).
15235
15236 2006-05-18  Edward Hervey  <edward@fluendo.com>
15237
15238         * gst/gsttypefind.c: (gst_type_find_get_type):
15239         * gst/gsttypefind.h:
15240         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
15241         registered for GstTypeFind pointers. This allows wrapping the structure
15242         in bindings (i.e. gst-python).
15243
15244 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
15245
15246         * gst/gsttagsetter.c:
15247           Docs additions and fixes (see #339918).
15248
15249 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
15250
15251         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
15252         The caps intersection algorithm can produce multiple copies of the
15253         caps. Until that is fixed, we need to simplify the result to be
15254         sure whether the allowed caps are fixed or not.
15255
15256         * plugins/elements/gstqueue.c: (gst_queue_init),
15257         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
15258         (gst_queue_push_one):
15259         Proxied buffer alloc should not set the caps on the source pad.
15260         When pushing buffers, we always accept the caps change that triggers.
15261         This prevents negotiation errors caused by caps changing mid-stream 
15262         and then being refused on our source pad (because upstream is now
15263         refusing those caps).
15264
15265 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
15266
15267         * tests/examples/helloworld/helloworld.c: (main):
15268           Must plug audioconvert and audioresample between decoder
15269           and audio sink.
15270
15271 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
15272
15273         * gst/gstregistryxml.c: (read_string), (load_pad_template),
15274         (load_feature), (load_plugin):
15275         Allow empty strings for some of the plugin fields so we don't 
15276         drop valid plugin entries that were written out correctly
15277         (Fixes #341479)
15278
15279 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
15280         
15281         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
15282           Use g_remove and g_rename instead of remove and rename that don't 
15283           handle utf8 characters. rename was failing for users who had specific
15284           characters in their name then the registry was built at each 
15285           gstreamer init.
15286         * win32/vs6/gst_inspect.dsp:
15287         * win32/vs6/gst_launch.dsp:
15288         * win32/vs6/libgstbase.dsp:
15289         * win32/vs6/libgstcoreelements.dsp:
15290         * win32/vs6/libgstreamer.dsp:
15291           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
15292           build of libgstreamer and clean unused libraries in projects link 
15293           settings.
15294
15295 2006-05-17  Edward Hervey  <edward@fluendo.com>
15296
15297         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15298         The queue is not responsible for pushing an EOS when receiving a fatal
15299         flow error. It's up to the real element driving the pipeline to do that.
15300
15301 2006-05-16  Edward Hervey  <edward@fluendo.com>
15302
15303         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15304         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
15305         buffer returned a fatal error. It should just send an EOS and stop
15306         its task.
15307         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
15308         when pushing buffers on the queue and will be able to handle the event.
15309
15310 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
15311
15312         * docs/manual/basics-bins.xml:
15313         * docs/manual/basics-init.xml:
15314           Fix typos and minor errors in sample code (#341856).
15315
15316 2006-05-16  Wim Taymans  <wim@fluendo.com>
15317
15318         * docs/design/part-qos.txt:
15319         Fix indexes in formulas to make more sense.
15320
15321 2006-05-15  Wim Taymans  <wim@fluendo.com>
15322
15323         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15324         Don't report POSITION based on clock time if sync is
15325         disabled in a sink.
15326
15327 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
15328
15329         * gst/gstobject.h:
15330           Add cast to make compiler happy - refcount variable was a gint
15331           in GstObject but is a guint in GObject and g_atomic_int_get()
15332           wants a gint *.
15333
15334 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15335
15336         * gst/parse/Makefile.am:
15337           chain commands using &&, which also makes parallel make work
15338
15339 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
15340
15341         * docs/gst/gstreamer-sections.txt:
15342         * gst/gstevent.c:
15343         * gst/gstevent.h:
15344         * gst/gstmessage.h:
15345           Minor docs fixes.
15346
15347 === release 0.10.6 ===
15348
15349 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
15350
15351         * configure.ac:
15352           releasing 0.10.6, "Take the cannoli"
15353
15354 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15355
15356         * tools/gst-launch.c: (print_tag):
15357           Fix use of uninitialized variable in the hypothetical
15358           case that some broken plugin creates a GST_TAG_IMAGE
15359           tag containing a NULL buffer (#341667).
15360
15361 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
15362
15363         * tools/gst-launch.c: (print_tag):
15364           Print something more intelligible for image tags when
15365           using the -t switch (#341556).
15366
15367 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15368
15369         * Makefile.am:
15370           updates for win32
15371         * configure.ac:
15372           define GST_MAJORMINOR so we have it available in win32/common/config.h
15373           Possibly remove it from our Makefile.am files later
15374         * win32/common/config.h:
15375         * win32/common/config.h.in:
15376           added GST_MAJORMINOR
15377         * win32/common/gstenumtypes.c: (register_gst_resource_error):
15378         * win32/common/gstversion.h:
15379           updated
15380
15381 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
15382
15383         * win32/MANIFEST:
15384           Update win32 files listing.
15385         * win32/common/gstversion.h:
15386           Add GST_MAJORMINOR definition.
15387         * win32/common/libgstreamer.def:
15388           Add new exported functions.
15389           
15390 2006-05-12  Michael Smith  <msmith@fluendo.com>
15391
15392         * gst/gstplugin.c: (gst_plugin_load_file):
15393           If an so file has no plugin entry point, unload the module.
15394
15395 2006-05-11  Wim Taymans  <wim@fluendo.com>
15396
15397         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
15398         (gst_queue_set_property):
15399         Don't forget to signal the _chain or _loop function 
15400         when the queue size or thresholds change since that might
15401         cause them to make progres again.
15402
15403 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
15404
15405         * gst/gstclock.c: (gst_clock_class_init):
15406         * gst/gstindex.c: (gst_index_class_init):
15407         * gst/gstobject.c: (gst_object_class_init):
15408         * gst/gstpad.c: (gst_pad_class_init):
15409         * gst/gstpipeline.c: (gst_pipeline_class_init):
15410         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15411         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
15412         * libs/gst/base/gstbasetransform.c:
15413         (gst_base_transform_class_init):
15414         * libs/gst/net/gstnetclientclock.c:
15415         (gst_net_client_clock_class_init):
15416         * libs/gst/net/gstnettimeprovider.c:
15417         (gst_net_time_provider_class_init):
15418         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
15419         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
15420         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
15421         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
15422         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15423         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
15424         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
15425         * plugins/elements/gstidentity.c: (gst_identity_class_init):
15426         * plugins/elements/gsttee.c: (gst_tee_class_init):
15427         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15428         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15429           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
15430
15431 2006-05-11  Wim Taymans  <wim@fluendo.com>
15432
15433         * gst/gstbuffer.c: (_gst_buffer_initialize):
15434         Register subbufer along with the buffer type so that
15435         it does not accidentally gets registered from N
15436         different streaming threads in a non threadsafe way.
15437
15438 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15439
15440         * gst/gstbuffer.h:
15441         * gst/gstevent.h:
15442         * gst/gstmessage.h:
15443           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
15444           gst_event_ref() and gst_message_ref() functions again
15445           (ugly hack, please do fix if there's a better way besides
15446           overrides.txt, which doesn't seem to work).
15447
15448 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15449
15450         * libs/gst/check/gstcheck.h:
15451           add an assert for setting state to avoid lots of repetitive code
15452           in the future
15453
15454 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15455
15456         * gst/gstvalue.c: (gst_value_serialize_flags):
15457           fix a leak if no flags are set
15458         * tests/check/gst/gstvalue.c: (GST_START_TEST):
15459           fix leak in tests
15460
15461 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15462
15463         * docs/manual/basics-pads.xml:
15464           Expand a bit on caps and filtered links and update
15465           examples that were still using the no longer existing
15466           gst_pad_link_filtered() (#338206).
15467
15468 2006-05-10  Wim Taymans  <wim@fluendo.com>
15469
15470         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15471         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15472         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15473         (gst_collect_pads_stop):
15474         * libs/gst/base/gstcollectpads.h:
15475         No need to call _stop in _finalize.
15476         Iterate the main pad list in _finalize.
15477         Added some more debug.
15478         Free lists and data in the right order.
15479         Also free data whem doing _remove_pad when stopped for
15480         backward compatibility protect ::started with PAD_LOCK as
15481         well.
15482
15483 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15484
15485         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
15486         (gst_structure_parse_value):
15487           add some comments
15488           rename a method so that it actually says what it does better
15489
15490 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15491
15492         * gst/gstevent.c: (_gst_event_initialize):
15493         * gst/gstformat.c: (_gst_format_initialize):
15494           make sure some essential types used by events are registered
15495           as part of gst_init()
15496         * gst/gstvalue.c: (gst_value_serialize_flags):
15497           if no flags are set, serialize them to a value that represents NONE
15498           so that deserializing them works
15499         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15500           add tests for serialization and deserialization of flags
15501
15502 2006-05-10  Wim Taymans  <wim@fluendo.com>
15503
15504         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
15505         (gst_collect_pads_collect_range), (gst_collect_pads_available),
15506         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
15507         (gst_collect_pads_event), (gst_collect_pads_chain):
15508         Update docs.
15509         Better debug info.
15510         Catch and return errors from the collect function
15511         Refuse data on eos pads.
15512
15513 2006-05-10  Edward Hervey  <edward@fluendo.com>
15514
15515         * gst/gstinterface.h:
15516         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
15517         GInterface type checking.
15518         They were previously using non-defined macros.
15519
15520 2006-05-09  Wim Taymans  <wim@fluendo.com>
15521
15522         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
15523         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
15524         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
15525         (gst_collect_pads_start), (gst_collect_pads_stop),
15526         (gst_collect_pads_peek), (gst_collect_pads_pop),
15527         (gst_collect_pads_available), (gst_collect_pads_read),
15528         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
15529         (gst_collect_pads_is_collected), (gst_collect_pads_event),
15530         (gst_collect_pads_chain):
15531         * libs/gst/base/gstcollectpads.h:
15532         Clean up the mess that is collectpads, add comments and
15533         FIXMEs where needed.
15534         Maintain a separate pad list so we can add pads while
15535         collecting the other ones. For this we need a new separate 
15536         lock (see comics).
15537         Fix memory leak in finalize.
15538         Refactor some weird code to set/unset pad flushing flags, mark
15539         with comments.
15540         Don't crash in _available, _read, _flush when we're EOS.
15541
15542         * tests/check/libs/.cvsignore:
15543         Ignore adapter check binary.
15544
15545 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15546
15547         * gst/gstindex.c: (gst_index_resolver_get_type):
15548         * plugins/elements/gstfakesink.c:
15549         (gst_fake_sink_state_error_get_type):
15550         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15551         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15552         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15553           Const-ify GEnumValue arrays.
15554
15555 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15556
15557         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15558           Add test case for flags + gst_buffer_make_metadata_writable().
15559
15560 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15561
15562         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15563           gst_buffer_make_metadata_writable() should maintain the
15564           buffer flags (those that make sense at least) (see #340859).
15565
15566 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15567
15568         * tools/gst-inspect.c:
15569         * tools/gst-launch.c:
15570         * tools/gst-typefind.c:
15571         * tools/gst-xmlinspect.c:
15572         * tools/tools.h:
15573           Fix up includes: need to include stdlib.h in tools.h for exit().
15574
15575 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15576
15577         * gst/gsttaglist.c: (_gst_tag_initialize):
15578         * gst/gsttaglist.h:
15579           API: add GST_TAG_IMAGE tag (#340721).
15580
15581 2006-05-08  Wim Taymans  <wim@fluendo.com>
15582
15583         * gst/gstquery.c:
15584         Added some docs for the segment query.
15585
15586 2006-05-08  Wim Taymans  <wim@fluendo.com>
15587
15588         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15589         (gst_base_src_loop), (gst_base_src_change_state):
15590         Always push non-flushing serialized events in the streaming 
15591         thread.
15592
15593 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15594
15595         * gst/gsterror.c: (_gst_stream_errors_init):
15596           Add a missing error string.
15597
15598 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
15599
15600         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15601         Add applied_rate to the debug
15602
15603         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15604         Copy applied_rate into the outgoing NEWSEGMENT event
15605
15606 2006-05-08  Wim Taymans  <wim@fluendo.com>
15607
15608         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15609
15610         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15611         (gst_base_sink_change_state):
15612         call ::unlock before taking the PREROLL_LOCK so we can safely
15613         handle elements that lock in ::render.
15614         Fixes #340174.
15615
15616 2006-05-08  Edward Hervey  <edward@fluendo.com>
15617
15618         * autogen.sh: (CONFIGURE_DEF_OPT): 
15619         Darwin's libtoolize is in fact called glibtoolize.
15620         Adding glibtoolize to the list of accepted names for libtoolize.
15621
15622 2006-05-08  Wim Taymans  <wim@fluendo.com>
15623
15624         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15625         Unify error handling, don't post an error message
15626         when a push() returns EOS but perform our normal EOS
15627         handling code. Fixes #340772.
15628
15629 2006-05-08  Wim Taymans  <wim@fluendo.com>
15630
15631         * docs/design/part-overview.txt:
15632         Make upsteam/downstream concepts more clear.
15633         Give an example of serialized/non-serialized events.
15634
15635         * docs/design/part-events.txt:
15636         * docs/design/part-streams.txt:
15637         Mention applied_rate.
15638
15639         * docs/design/part-trickmodes.txt:
15640         Mention applied rate, flesh out some more use cases.
15641
15642         * gst/gstevent.c: (gst_event_new_new_segment),
15643         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15644         (gst_event_parse_new_segment_full), (gst_event_new_tag),
15645         (gst_event_parse_tag), (gst_event_new_buffer_size),
15646         (gst_event_parse_buffer_size), (gst_event_new_qos),
15647         (gst_event_parse_qos), (gst_event_parse_seek),
15648         (gst_event_new_navigation):
15649         * gst/gstevent.h:
15650         Add applied_rate field to NEWSEGMENT event.
15651         API: gst_event_new_new_segment_full()
15652         API: gst_event_parse_new_segment_full()
15653
15654         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15655         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15656         (gst_segment_to_stream_time), (gst_segment_to_running_time):
15657         * gst/gstsegment.h:
15658         Add applied_rate to GstSegment structure.
15659         Make calculation of stream_time and running_time more correct
15660         wrt rate/applied_rate.
15661         Add some more docs.
15662         API: GstSegment::applied_rate field
15663         API: gst_segment_set_newsegment_full();
15664
15665         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15666         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15667         * libs/gst/base/gstbasetransform.c:
15668         (gst_base_transform_sink_eventfunc),
15669         (gst_base_transform_handle_buffer):
15670         Parse and use applied_rate in the GstSegment field.
15671
15672         * tests/check/gst/gstevent.c: (GST_START_TEST):
15673         Add check for applied_rate field.
15674
15675         * tests/check/gst/gstsegment.c: (GST_START_TEST),
15676         (gstsegments_suite):
15677         Add more checks for various GstSegment operations.
15678
15679 2006-05-08  Wim Taymans  <wim@fluendo.com>
15680
15681         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15682         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15683         (gst_base_sink_get_position), (gst_base_sink_change_state):
15684         Store the sync time of the buffer end position separatly in a
15685         new variable eos_rtime so we can properly sync the EOS event.
15686         Fixes #340697.
15687         Fix the docs for gst_base_sink_set_qos_enabled().
15688         Don't set segment start to invalid value when we receive a 
15689         non TIME newsegment.
15690         get closer to handling position reporting for negative rates 
15691         correctly.
15692
15693 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15694
15695         * gst/gstcaps.c:
15696         Docs about how to print caps for debug purposes.
15697
15698         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15699         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15700
15701 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15702
15703         * gst/gstelement.c:
15704           use full enum names and preprend a '%' in docs strings to make recent 
15705           gtk-doc turn that into a link
15706
15707 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15708
15709         * docs/manual/basics-bins.xml:
15710         * docs/manual/basics-bus.xml:
15711         * docs/manual/basics-pads.xml:
15712           Some typo fixes, some additions, some clarifications. 
15713
15714 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15715
15716         * tools/gst-inspect.c: (main):
15717         * tools/gst-launch.c: (main):
15718         * tools/gst-run.c: (main):
15719         * tools/gst-typefind.c: (main):
15720         * tools/gst-xmlinspect.c: (main):
15721           Use the string passed to g_option_context_new() for
15722           what it's intended for - the program name is already
15723           printed elsewhere.
15724
15725 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15726
15727         * tools/Makefile.am:
15728         * tools/gst-inspect.c: (main):
15729         * tools/gst-launch.c: (main):
15730         * tools/gst-xmlinspect.c: (main):
15731         * tools/tools.h:
15732           Add back --version command line option (#340460).
15733
15734         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15735           Add --version option and use GOption for argument parsing; refactor a
15736           bit; accept directories as arguments and recurse into them; lastly,
15737           print a decent error message when things go wrong.
15738
15739 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15740
15741         * docs/manual/basics-bins.xml:
15742         Don't mention GstThread (#340611)
15743         * docs/manual/basics-elements.xml:
15744         Update link to GObject tutorial (#340607)
15745         
15746 2006-05-05  Wim Taymans  <wim@fluendo.com>
15747
15748         * gst/gstbuffer.h:
15749         * gst/gstminiobject.c:
15750         Add note about refcounting and miniobject/buffer writeability
15751         to docs. Fixes #340604
15752
15753         * gst/gstelementfactory.h:
15754         Added some explanation about @klass.
15755
15756 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15757
15758         * docs/manual/intro-motivation.xml:
15759         * docs/manual/manual.xml:
15760         Avoid CORBA & Bonobo references (#340598)
15761
15762 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15763
15764         * docs/manual/basics-bus.xml:
15765         * docs/manual/basics-pads.xml:
15766         Fix up some inaccuracies and omissions (#340609)
15767         
15768 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15769
15770         * gst/gstghostpad.c:
15771           Small typo in docs (#340625)
15772
15773 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15774
15775         * gst/parse/Makefile.am:
15776           Make 'make -j' proof (see #340698).
15777
15778 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15779
15780         * configure.ac:
15781           Require GLib-2.8 here as well.
15782
15783 2006-05-05  Wim Taymans  <wim@fluendo.com>
15784
15785         * gst/glib-compat.c:
15786         * gst/gst.c: (init_pre):
15787         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15788         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15789         (gst_object_dispatch_properties_changed):
15790         * gst/gstobject.h:
15791         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15792         * gst/gststructure.c: (gst_structure_set_valist):
15793         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15794         Remove pre glib2.8 compatibility, fixes #340508
15795
15796 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15797
15798         * gst/gsttaglist.h:
15799           Mention type of tags in doc blurbs.
15800
15801 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
15802
15803         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15804         (gst_pad_configure_src), (gst_pad_push):
15805         Restore acceptcaps checking behaviour now that good plugins have
15806         been released.
15807
15808 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15809
15810         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15811
15812         * gst/gst.c:
15813         * gst/gstbus.c:
15814         * gst/gstclock.c:
15815         * gst/gstevent.c:
15816         * gst/gstformat.c:
15817         * gst/gstmessage.c:
15818         * gst/gstparse.c:
15819         * gst/gstquery.c:
15820         * gst/gstutils.c:
15821         * gst/parse/Makefile.am:
15822         * libs/gst/base/gstadapter.c:
15823         * libs/gst/base/gstbasesrc.c:
15824         * libs/gst/base/gstpushsrc.c:
15825         * libs/gst/base/gsttypefindhelper.c:
15826         * plugins/elements/gstfakesrc.c:
15827         * plugins/elements/gstidentity.c:
15828           Make sure gstprivate.h and/or config.h are
15829           always included first, otherwise some of our
15830           defines (like _FILE_OFFSET_BITS) might be
15831           redefined in the system headers. Fixes build
15832           on opensolaris (#340016).
15833
15834 2006-05-04  Wim Taymans  <wim@fluendo.com>
15835
15836         * docs/libs/gstreamer-libs-sections.txt:
15837         API: addition: gst_adapter_take_buffer()
15838         
15839         * libs/gst/base/gstadapter.c: (gst_adapter_push),
15840         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15841         (gst_adapter_available_fast):
15842         * libs/gst/base/gstadapter.h:
15843         Prepare for optimizing the hell out of this hugely inefficient
15844         piece of code. 
15845         Added gst_adapter_take_buffer() so we can at least start thinking
15846         about subbuffering and merging.
15847         Added some comments.
15848
15849         * tests/check/Makefile.am:
15850         * tests/check/libs/adapter.c: (GST_START_TEST),
15851         (gst_adapter_suite), (main):
15852         Added GstAdapter check.
15853
15854 2006-05-04  Wim Taymans  <wim@fluendo.com>
15855
15856         * docs/design/part-overview.txt:
15857         Fix some typos, add blurb about buffer flags.
15858
15859 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15860
15861         * docs/libs/gstreamer-libs-sections.txt:
15862           make sure GstBaseTransformClass shows up in the docs
15863         * libs/gst/base/gstbasetransform.c:
15864         * libs/gst/base/gstbasetransform.h:
15865           move docs so gtk-doc picks it up now
15866
15867 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15868
15869         * docs/libs/gstreamer-libs-sections.txt:
15870           add missing symbols to docs
15871
15872 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15873
15874         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15875           back out the newsegment handling change, see #340060 for ongoing
15876           discussion
15877
15878 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
15879
15880         * tools/gst-run.c: (get_candidates), (main):
15881           Fix wrong g_file_test() usage (see glib docs for why it doesn't
15882           work); fix typo in error message. Fixes #340079.
15883
15884 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15885
15886         * common/Makefile.am:
15887         * docs/Makefile.am:
15888         * docs/faq/Makefile.am:
15889         * docs/gst/Makefile.am:
15890         * docs/libs/Makefile.am:
15891         * docs/manual/Makefile.am:
15892         * docs/plugins/Makefile.am:
15893         * docs/pwg/Makefile.am:
15894         * docs/slides/Makefile.am:
15895         * docs/upload.mak:
15896         * common/upload.mak:
15897           move upload.mak to common
15898
15899 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15900
15901         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15902           add more asserts on refcounts
15903           do more cleanup at end of tests
15904           fix test leaks showing in FC5
15905
15906 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
15907
15908         * plugins/elements/gsttypefindelement.c:
15909         (gst_type_find_element_handle_event):
15910         reverted wrong change and reflowed code to avoid others falling into
15911         this trap
15912
15913 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15914
15915         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15916           fix changelog entry about last collectpads change,
15917           add notes about proper fix
15918
15919 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15920
15921         * gst/gst.c:
15922         * gst/gstregistry.c: (gst_registry_scan_path_level),
15923         (gst_registry_scan_path):
15924         * gst/gstregistry.h:
15925           only write out registry if it has changed, fixes #338339
15926
15927 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15928
15929         * gst/gstbin.c:
15930         * gst/gstpipeline.c:
15931         * plugins/elements/gstcapsfilter.c:
15932         * plugins/elements/gstfakesink.c:
15933         * plugins/elements/gstfakesrc.c:
15934         * plugins/elements/gstfdsink.c:
15935         * plugins/elements/gstfdsrc.c:
15936         * plugins/elements/gstfilesink.c:
15937         * plugins/elements/gstfilesrc.c:
15938         * plugins/elements/gstidentity.c:
15939         * plugins/elements/gstqueue.c:
15940         * plugins/elements/gsttee.c:
15941         * plugins/elements/gsttypefindelement.c:
15942         (gst_type_find_element_handle_event):
15943           make GstElementDetails const
15944
15945 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15946
15947         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15948         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15949         (gst_collect_pads_is_collected), (gst_collect_pads_event):
15950           more detailed debug and formatting cleanup,
15951           forward newsegments to src-pad (so that e.g. adder not eats them)
15952
15953 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15954
15955         * gst/gstutils.c: (gst_element_link_pads):
15956           cleanup double code
15957
15958 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15959
15960         * libs/gst/controller/gstcontroller.c:
15961         (gst_controller_sync_values):
15962           some little tuning
15963         * tests/check/libs/controller.c: (GST_START_TEST),
15964         (gst_controller_suite):
15965           a new test for live value handling
15966
15967 2006-04-28  Wim Taymans  <wim@fluendo.com>
15968
15969         * gst/gstutils.c: (push_and_ref):
15970         Added some more docs.
15971         Fix refcount issue whith gst_element_found_tags() helper 
15972         function. Fixes #338335
15973
15974         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15975         Added testsuite for gst_element_found_tags().
15976
15977 2006-04-28  Michael Smith  <msmith@fluendo.com>
15978
15979         * gst/gstvalue.c: (gst_value_serialize_flags):
15980           Avoid NULL dereference when trying to serialize flags containing
15981           invalid values.
15982
15983 2006-04-28  Michael Smith  <msmith@fluendo.com>
15984
15985         * plugins/elements/gsttypefindelement.c:
15986         (gst_type_find_element_handle_event):
15987           If we get EOS before any data is accumulated, don't use
15988           uninitialised local variables.
15989
15990 2006-04-28  Michael Smith  <msmith@fluendo.com>
15991
15992         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15993         (gst_dp_event_from_packet):
15994           Fixes in reading/writing events over GDP (not currently used?) - 
15995           dereferencing NULL events for unknown/invalid event types, memory
15996           leak, and change g_warning to GST_WARNING.
15997
15998 2006-04-28  Wim Taymans  <wim@fluendo.com>
15999
16000         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
16001         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
16002         (gst_base_sink_get_position), (gst_base_sink_change_state):
16003         When frame dropping is enabled, we should not ignore frames
16004         without a duration.
16005         Update some documentation.
16006
16007 2006-04-28  Wim Taymans  <wim@fluendo.com>
16008
16009         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16010         (gst_base_src_send_event), (gst_base_src_change_state):
16011         Documentation updates.
16012
16013 2006-04-28  Wim Taymans  <wim@fluendo.com>
16014
16015         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
16016         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
16017         handle EAGAIN, EINTR and short writes correctly. Also clean
16018         up some error cases, avoid a deadlock on bad file descriptors and
16019         use GST_DEBUG_OBJECT.
16020         Fixes #339843
16021
16022 2006-04-28  Wim Taymans  <wim@fluendo.com>
16023
16024         * gst/gstvalue.c: (gst_value_serialize_buffer),
16025         (gst_value_deserialize_buffer):
16026         Don't try to serialize a GValue with a NULL buffer. 
16027         Fixes #339821.
16028
16029         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
16030         Added check for serialisation of NULL buffers.
16031
16032 2006-04-28  Wim Taymans  <wim@fluendo.com>
16033
16034         * gst/gstminiobject.c: (gst_value_take_mini_object):
16035         Taking a NULL miniobject is valid, fix the case where
16036         we try to unref the NULL miniobject.
16037
16038 2006-04-28  Wim Taymans  <wim@fluendo.com>
16039
16040         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
16041
16042         * gst/gstbin.c: (gst_bin_handle_message_func):
16043         Update docs.
16044         Don't leak bin refcount when a state recalc is
16045         in progress and we delay another one #339808.
16046
16047 2006-04-28  Wim Taymans  <wim@fluendo.com>
16048
16049         * docs/design/part-TODO.txt:
16050         Mention QoS as an ongoing work item.
16051
16052         * docs/design/part-buffering.txt:
16053         New doc about buffering that needs to be fleshed out
16054         at some point.
16055
16056         * docs/design/part-qos.txt:
16057         More QoS policy for decoders/demuxers/transforms
16058
16059         * docs/design/part-trickmodes.txt:
16060         Small update.
16061
16062 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
16063
16064         * configure.ac:
16065           back to HEAD
16066
16067 === release 0.10.5 ===
16068
16069 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
16070
16071         * configure.ac:
16072           releasing 0.10.5, "Fogo"
16073
16074 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16075
16076         patch by: Wim Taymans
16077
16078         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
16079         (gst_pad_configure_src), (gst_pad_push):
16080         * gst/gstpipeline.c: (gst_pipeline_init):
16081           Fix internal data flow errors.  Fixes #338711.
16082
16083 2006-04-12  Wim Taymans  <wim@fluendo.com>
16084
16085         * tests/check/gst/gstelement.c: (GST_START_TEST):
16086         Don't leak the factory.
16087
16088 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16089
16090         * configure.ac:
16091         * win32/common/config.h:
16092           prerelease
16093
16094 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
16095
16096         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
16097         (gst_controller_unset_all):
16098           Free allocated GstTimedValues when freeing list nodes.
16099           Should fix leaks 'make check-valgrind' complains about.
16100
16101         * win32/common/libgstcontroller.def:
16102           Add gst_controller_unset_all.
16103
16104 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
16105
16106         * docs/libs/gstreamer-libs-sections.txt:
16107         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
16108         (gst_controller_unset_all):
16109         * libs/gst/controller/gstcontroller.h:
16110         API: Added new method gst_controller_unset_all()
16111         fixed gst_controller_unset()
16112         * tests/check/libs/controller.c: (GST_START_TEST),
16113         (gst_controller_suite):
16114         Added two testcases for new and fixed method
16115
16116 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
16117
16118         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
16119           MSG_DONTWAIT is not defined on Cygwin, so work
16120           around that (fixes #317048).
16121           
16122 2006-04-11  Wim Taymans  <wim@fluendo.com>
16123
16124         * gst/gstelementfactory.c: (gst_element_register),
16125         (gst_element_factory_create), (gst_element_factory_make):
16126         Some cleanups.
16127         Fixed a FIXME.
16128         Updated docs (Fixes #131079)
16129
16130         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
16131         Small cleanups.
16132
16133         * tests/check/gst/gstelement.c: (GST_START_TEST),
16134         (gst_element_suite):
16135         Added testcase for elementfactory class field.
16136
16137 2006-04-10  Wim Taymans  <wim@fluendo.com>
16138
16139         * gst/gstsegment.c:
16140         Added some more docs.
16141
16142         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
16143         (gst_base_sink_reset_qos):
16144         Calculate more accurate rate values.
16145
16146 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
16147
16148         * gst/gst_private.h:
16149           add a new #ifdef to use __declspec(dllimport) only for
16150           other modules and not for gstreamer core
16151         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
16152           use gst_guint64_to_gdouble for conversion
16153         * win32/common/libgstreamer.def:
16154           add new exported functions
16155         * win32/vs6/gst_inspect.dsp:
16156         * win32/vs6/gst_launch.dsp:
16157         * win32/vs6/libgstbase.dsp:
16158         * win32/vs6/libgstcontroller.dsp:
16159         * win32/vs6/libgstcoreelements.dsp:
16160         * win32/vs6/libgstdataprotocol.dsp:
16161         * win32/vs6/libgstnet.dsp:
16162           update project files
16163
16164 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
16165
16166         * gst/gstbuffer.c: (gst_subbuffer_class_init):
16167         * gst/gstclock.c: (gst_clock_class_init):
16168         * gst/gstelement.c: (gst_element_class_init):
16169         * gst/gstindex.c: (gst_index_class_init):
16170         * gst/gstindexfactory.c: (gst_index_factory_class_init):
16171         * gst/gstobject.c: (gst_object_class_init),
16172         (gst_signal_object_class_init):
16173         * gst/gstpad.c: (gst_pad_class_init):
16174         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
16175         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
16176         * gst/gstregistry.c: (gst_registry_class_init):
16177         * gst/gstsystemclock.c: (gst_system_clock_class_init):
16178         * gst/gsttask.c: (gst_task_class_init):
16179         * gst/gstxml.c: (gst_xml_class_init):
16180         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16181         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16182         (gst_base_src_loop):
16183         * libs/gst/controller/gstcontroller.c:/
16184         (_gst_controller_class_init):
16185         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
16186         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
16187         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
16188         * tests/old/examples/plugins/example.c: (gst_example_class_init):
16189         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
16190         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
16191
16192 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
16193
16194         * gst/gstpad.c: (gst_pad_link):
16195           Must set peer pads before calling the link function, otherwise
16196           a task started from a link function might get a flow-not-linked
16197           result when trying to push because the other thread where the
16198           linking happens hasn't had a chance to set the peers yet. This
16199           might happen for example when a queue gets linked to a downstream
16200           element, as queue starts a streaming task when its source pad
16201           gets linked. Happens in real life when playing back flac/musepack
16202           files in playbin (#332390).
16203           
16204 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
16205
16206         * gst/gstindex.h:
16207         * gst/gstxml.h:
16208         * libs/gst/base/gstadapter.h:
16209         * libs/gst/base/gstbasesink.h:
16210         * libs/gst/base/gstbasesrc.h:
16211         * libs/gst/base/gstbasetransform.h:
16212         * libs/gst/base/gstcollectpads.h:
16213         * libs/gst/base/gstpushsrc.h:
16214         Fix broken GObject macros
16215
16216 2006-04-07  Wim Taymans  <wim@fluendo.com>
16217
16218         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16219         Initialize start and stop times, thanks valgrind.
16220
16221 2006-04-07  Wim Taymans  <wim@fluendo.com>
16222
16223         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16224         Be a bit nicer to badly behaving upstream elements that expect
16225         us to deal with non TIME segments and timestamps (such as fakesrc
16226         in the testsuite).
16227
16228 2006-04-07  Wim Taymans  <wim@fluendo.com>
16229
16230         * gst/gstbus.c:
16231         Small documentation clarification about the signal watch.
16232
16233         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
16234         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16235         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16236         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
16237         (gst_base_sink_get_position_last),
16238         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
16239         Convert and store timestamps in stream time and running time, the
16240         raw timestamps are not useful, also document this better.
16241         Use different window sizes for good and bad QoS observations so
16242         we react to badness a little quicker.
16243         Keep track of the amount of rendered and dropped buffers.
16244         Send QoS timestamps in running time.
16245
16246         * libs/gst/base/gstbasetransform.c:
16247         (gst_base_transform_sink_eventfunc),
16248         (gst_base_transform_handle_buffer):
16249         Compare QoS timestamps against running time.
16250
16251 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
16252
16253         * gst/gstpad.c:
16254           Typo fixes in docs.
16255
16256 2006-04-06  Michael Smith  <msmith@fluendo.com>
16257
16258         * gst/gstpad.c: (gst_pad_set_property):
16259           Use g_value_get_object() instead of g_value_dup_gst_object(),
16260           to avoid double-reffing the pad template (which we then sink,
16261           so this worked previously if (and only if) the pad template
16262           was floating.
16263
16264         * gst/gstpadtemplate.c: (gst_pad_template_init),
16265         (gst_pad_template_pad_created):
16266           Never return floating references to pad templates, create
16267           them as initially-sunken.
16268
16269           Document an extra function (and make this stop sinking our
16270           pad template, since that is now guaranteed to do nothing,
16271           since we created it sunken).
16272
16273         * gst/gstghostpad.c:
16274           Fix docs typo.
16275
16276 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
16277
16278         * gst/gstinfo.c: (__gst_in_valgrind):
16279           Add some newlines.
16280
16281         * plugins/elements/gsttypefindelement.c:
16282         (gst_type_find_element_chain):
16283           Don't leak buffer caps.
16284
16285 2006-04-06  Michael Smith  <msmith@fluendo.com>
16286
16287         * gst/parse/grammar.y:
16288           Fix a leak in parse-launch for any source-or-sink named element 
16289           references used.
16290
16291         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
16292           Unref the pipeline if it exists after we've failed parsing.
16293
16294 2006-04-05  Michael Smith  <msmith@fluendo.com>
16295
16296         * gst/gstpipeline.c: (gst_pipeline_init):
16297           When we create a pipeline bus, initially create it in flushing mode.
16298           Fixes leaks in at least one test, and makes a new pipeline work the
16299           same as one that has gone to READY and then back to NULL.
16300
16301         * gst/gstelement.c:
16302           Typo fix in docs.
16303
16304 2006-04-05  Michael Smith  <msmith@fluendo.com>
16305
16306         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
16307           Unref a pad we reffed.
16308         * tests/check/gst/gstutils.c: (GST_START_TEST):
16309           Unref bins
16310
16311 2006-04-05  Michael Smith  <msmith@fluendo.com>
16312
16313         * gst/gstquery.c: (gst_query_set_formats),
16314         (gst_query_set_formatsv):
16315           Fix leaking GValues in queries, as shown by valgrind/testsuite.
16316
16317 2006-04-05  Michael Smith  <msmith@fluendo.com>
16318
16319         * tests/check/generic/sinks.c: (GST_START_TEST):
16320           Fix a variety of memleaks in sinks check, which are only sometimes 
16321           shown by running the tests under valgrind (weird?).
16322
16323 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
16324
16325         * docs/version.entities.in:
16326           Fix the substituted entity name after thomas' changes on the
16327           weekend.
16328
16329 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
16330
16331         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
16332         VALGRIND_PRINTF
16333         
16334 2006-04-05  Andy Wingo  <wingo@pobox.com>
16335
16336         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
16337
16338         * libs/gst/base/gstbasetransform.c
16339         (gst_base_transform_sink_eventfunc): When resetting our segment on
16340         FLUSH_STOP, also update the flag saying we haven't seen a
16341         newsegment.
16342
16343 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16344
16345         Patch by: Paolo Borelli  <pborelli at katamail dot com>
16346
16347         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
16348         (gst_plugin_check_license):
16349           minor clean-ups: G_DEFINE_TYPE already takes care of the
16350           parent_class stuff, no need to do it twice. Mark array of
16351           license strings as constant. (#337103)
16352           
16353 2006-04-04  Michael Smith  <msmith@fluendo.com>
16354
16355         * tools/gst-inspect.c: (print_element_list):
16356           Free the right plugin list; fixes a memory leak.
16357
16358 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16359
16360         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
16361
16362         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16363           Don't error out on empty buffers (#336945).
16364           
16365 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
16366
16367         * docs/libs/gstreamer-libs-sections.txt:
16368         * gst/gsttaglist.c:
16369         * libs/gst/base/gstbasesink.c:
16370         * libs/gst/base/gstbasesink.h:
16371         * libs/gst/base/gstbasesrc.c:
16372         * libs/gst/base/gstbasesrc.h:
16373           Documentation updates. Make BaseSink and BaseSrc docs contain the
16374           class structure so that people can actually see the prototypes for
16375           virtual functions they're supposed to be overriding.
16376
16377 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16378
16379         * plugins/elements/gsttypefindelement.c:
16380         (gst_type_find_element_chain):
16381           More debug info; when skipping typefinding, send cached
16382           events in all cases.
16383
16384 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16385
16386         * configure.ac:
16387           use new AS_VERSION and AS_NANO macros
16388         * gst/gst-i18n-lib.h:
16389         * gst/gst.c:
16390         * gst/gsterror.c:
16391         * gst/gstversion.h.in:
16392         * win32/common/config.h:
16393         * win32/common/config.h.in:
16394           update accordingly
16395
16396 2006-03-31  Michael Smith  <msmith@fluendo.com>
16397
16398         * plugins/elements/gsttypefindelement.c:
16399         (gst_type_find_element_chain):
16400           Do not typefind content if the buffers already have caps.
16401           Neccesary for icydemux (#333657), and the right thing to do anyway.
16402
16403 2006-03-30  Wim Taymans  <wim@fluendo.com>
16404
16405         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16406         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
16407         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
16408         (gst_base_sink_record_qos_observation),
16409         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16410         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16411         (gst_base_sink_change_state):
16412         More QoS measurements as described in the design doc.
16413         Get rid of ringbuffer with observations, running average is
16414         more simple and equally good.
16415         Calculates valid proportion now.
16416         Added beginning of flood measurement.
16417
16418 2006-03-29  Wim Taymans  <wim@fluendo.com>
16419
16420         * docs/design/part-qos.txt:
16421         * gst/gstclock.c:
16422         Small documentation updates and additions.
16423
16424 2006-03-29  Wim Taymans  <wim@fluendo.com>
16425
16426         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16427         (gst_base_src_send_event), (gst_base_src_loop),
16428         (gst_base_src_change_state):
16429         Perform the EOS logic when we reach the segment stop position.
16430         Fix compilation on gcc4.1
16431
16432 2006-03-29  Wim Taymans  <wim@fluendo.com>
16433
16434         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
16435
16436         * plugins/elements/gstqueue.c: (gst_queue_init),
16437         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16438         (gst_queue_set_property):
16439         * plugins/elements/gstqueue.h:
16440         In queue, when EOS is received, if minimum threshold > max_size -
16441         current_level, there is chance that queue blocks forever in conditional
16442         item del wait. This is because the queue is not emptied completely due
16443         to minimum threshold.  Here is another approach. Instead of setting
16444         cur_levels to max in EOS, just zero all minimum threshold levels. This
16445         should make sure that queue gives out all data. When going to READY
16446         (stop) state, just reset the original minimum threshold levels.
16447         Fixes #336336.
16448
16449 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
16450
16451         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
16452         (gst_type_find_element_handle_event),
16453         (gst_type_find_element_send_cached_events),
16454         (gst_type_find_element_change_state):
16455         * plugins/elements/gsttypefindelement.h:
16456           When typefinding is done in push mode, we should cache
16457           events we receive during typefinding instead of just
16458           dropping them (e.g. newsegment, custom events from
16459           dvdreadsrc etc.) and then send them out once we've
16460           determined the type of the stream (and decodebin
16461           has had a chance to plug in a decoder/demuxer).
16462           
16463 2006-03-27  Wim Taymans  <wim@fluendo.com>
16464
16465         * docs/design/part-qos.txt:
16466         First QoS ideas.
16467
16468 2006-03-27  Wim Taymans  <wim@fluendo.com>
16469
16470         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
16471
16472         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16473         (gst_base_src_send_event), (gst_base_src_change_state):
16474         Handle element seek correctly when we are streaming.
16475         Fixes #326998.
16476
16477 2006-03-24  Michael Smith  <msmith@fluendo.com>
16478
16479         * docs/faq/gst-uninstalled:
16480           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
16481           allow you to correctly run intalled applications built against old 
16482           core, using plugins that require updated core (e.g. running
16483           installed totem against a full uninstalled gstreamer stack)
16484
16485 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16486
16487         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16488         more debug details
16489
16490 2006-03-24  Wim Taymans  <wim@fluendo.com>
16491
16492         * docs/gst/gstreamer-sections.txt:
16493         Rearrange the order of the methods so that related methods
16494         are grouped together in sections.
16495
16496 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16497
16498         * gst/gstelement.c:
16499           Little clarification in the docs
16500
16501 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16502
16503         * docs/README:
16504         formatting fix
16505         * plugins/elements/gstidentity.c:
16506         * plugins/elements/gstqueue.c:
16507         * plugins/elements/gsttee.c:
16508         * plugins/elements/gsttypefindelement.c:
16509         GST_ELEMENT_DETAILS formatting
16510
16511 2006-03-24  Wim Taymans  <wim@fluendo.com>
16512
16513         * libs/gst/base/gstbasesink.h:
16514         Only add fields, not insert or we break ABI.
16515
16516 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16517
16518         * win32/common/libgstbase.def:
16519         * win32/common/libgstreamer.def:
16520           Update, add recently added functions.
16521
16522 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16523
16524         * docs/gst/gstreamer-sections.txt:
16525         * gst/gstutils.c: (gst_pad_query_peer_position),
16526         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
16527         * gst/gstutils.h:
16528           API: add some new utility functions:
16529            - gst_pad_query_peer_position()
16530            - gst_pad_query_peer_duration()
16531            - gst_pad_query_peer_convert()
16532           
16533 2006-03-23  Wim Taymans  <wim@fluendo.com>
16534
16535         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16536         (gst_base_sink_init), (gst_base_sink_finalize),
16537         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
16538         (gst_base_sink_set_property), (gst_base_sink_get_property),
16539         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
16540         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16541         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
16542         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16543         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16544         (gst_base_sink_preroll_object), (gst_base_sink_event),
16545         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
16546         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
16547         (gst_base_sink_query), (gst_base_sink_change_state):
16548         Decouple max-lateness and the fact that QoS messages are generated
16549         with a new property (qos).
16550         added API: GstBaseSink::async_play()
16551         Add vmethod so subclasses can be notified of ASYNC playing
16552         state changes.
16553         Collect timestamp start and stop to report better current
16554         position in EOS/PLAYING/PAUSED/READY/NULL.
16555         Refactor QoS/frame dropping and other measurements.
16556         API: GstBaseSrc::qos
16557         Fixes #326311
16558
16559         * libs/gst/base/gstbasesink.h:
16560         Added Private struct.
16561         API: gst_base_sink_set_qos_enabled()
16562         API: gst_base_sink_is_qos_enabled()
16563
16564 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16565
16566         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16567           If compiling against GLib-2.8 or newer, try to read the
16568           registry file using GMappedFile first before falling back
16569           to fopen() + fread() (#332151).
16570
16571 2006-03-22  Wim Taymans  <wim@fluendo.com>
16572
16573         * gst/gstinfo.c: (gst_debug_set_active),
16574         (gst_debug_category_set_threshold):
16575         Disable debugging unless explicitly activated.
16576         Fixes #335480.
16577
16578 2006-03-22  Wim Taymans  <wim@fluendo.com>
16579
16580         * gst/gstelement.c: (gst_element_set_locked_state),
16581         (gst_element_dispose):
16582         Cleanup the error case.
16583
16584         * gst/gstobject.c: (gst_object_dispose):
16585         print a critical when some object was disposed with
16586         a parent, also revive the object since it might
16587         crash the parent.
16588
16589 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
16590
16591         * tools/gst-launch.1.in:
16592           Fix another typo.
16593
16594 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16595
16596         * configure.ac:
16597         * tests/check/Makefile.am:
16598           disable some tests when we don't have a registry
16599         * tests/check/gst/gstutils.c: (gst_utils_suite):
16600           don't build the part that needs parsing
16601
16602 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16603
16604         * gst/Makefile.am
16605         * tests/examples/Makefile.am:
16606           fix --disable-parse build
16607
16608 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16609
16610         * tools/gst-feedback.1.in:
16611           Fix typo: s/feeback/feedback/ (#133494).
16612
16613 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16614
16615         * tools/Makefile.am:
16616         * tools/gst-launch.1.in:
16617           Add FILES section and correct entry about GST_REGISTRY_PATH
16618           environment variable (#133495; #133494).
16619
16620 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16621
16622         * tools/Makefile.am:
16623         * tools/gst-md5sum.1.in:
16624         * tools/gst-md5sum.c:
16625           Remove gst-md5sum and man page (the md5sink element
16626           required was removed ages ago)
16627
16628 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16629
16630         * gst/gststructure.c: (gst_structure_id_set_value):
16631           Make sure that string fields in structures/taglists
16632           contain valid UTF-8 - we don't want to pass rubbish to
16633           applications because of a buggy plugin (cp. #334167).
16634
16635 2006-03-21  Edward Hervey  <edward@fluendo.com>
16636
16637         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16638         (gst_bin_handle_message_func):
16639         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16640         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16641         (gst_element_set_bus_func):
16642         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16643         * gst/gstminiobject.c: (gst_value_set_mini_object),
16644         (gst_value_take_mini_object):
16645         * gst/gstpad.c: (gst_pad_set_pad_template):
16646         * gst/gstpipeline.c: (gst_pipeline_dispose),
16647         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16648         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16649         (gst_collect_pads_chain):
16650         * libs/gst/net/gstnettimeprovider.c:
16651         (gst_net_time_provider_set_property):
16652         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16653         It's in fact all issues with gst_*object_replace().
16654
16655 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16656
16657         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
16658         
16659         * pkgconfig/gstreamer-check-uninstalled.pc.in:
16660         * pkgconfig/gstreamer-check.pc.in:
16661           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16662
16663 2006-03-21  Edward Hervey  <edward@fluendo.com>
16664
16665         * gst/gstbuffer.h:
16666         * gst/gstevent.h:
16667         * gst/gstmessage.h:
16668         gst_[buffer|event|message]_ref() macros are replaced by a static
16669         inline functions because gcc-4.1 will about if the return value
16670         isn't used.
16671         * tests/check/gst/gstevent.c: (event_probe):
16672         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16673
16674 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
16675
16676         * gst/gstutils.h:
16677         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16678         the type' case. (Closes: #335195 for now). In the future, when we
16679         depend on GLib 2.10, we could also intern the type name using
16680         g_intern_static_string()
16681
16682 2006-03-20  Wim Taymans  <wim@fluendo.com>
16683
16684         * gst/gstbin.c: (gst_bin_handle_message_func),
16685         (bin_query_max_init), (bin_query_position_fold),
16686         (bin_query_position_done), (gst_bin_query):
16687         Position query should also take max of all streams.
16688
16689 2006-03-20  Wim Taymans  <wim@fluendo.com>
16690
16691         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16692         (gst_fake_src_finalize):
16693         Fix leaks in fakesrc.
16694
16695         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16696         Fix leaks in the testcase.
16697
16698 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
16699
16700         * gst/gst_private.h:
16701           add win32 specific import decoration(__declspec(dllimport)) 
16702           for all extern GstDebugCategory * variables
16703         * win32/common/libgstbase.def:
16704         * win32/common/libgstcontroller.def:
16705         * win32/common/libgstreamer.def:
16706           Add some exports, remove empty lines
16707         * win32/common/libgstdataprotocol.def:
16708         * win32/common/libgstdataprotocol.dsp:
16709         * win32/common/libgstnet.def:
16710         * win32/common/libgstnet.dsp:
16711           new project files and exportation files added
16712         
16713 2006-03-19  Wim Taymans  <wim@fluendo.com>
16714
16715         * tests/check/libs/basesrc.c: (eos_event_counter):
16716         Use proper return value for probe.
16717
16718 2006-03-17  Wim Taymans  <wim@fluendo.com>
16719
16720         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16721         (gst_pad_push):
16722         Don't leak buffers, caps and pads on negotiation errors.
16723
16724 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
16725
16726         * docs/faq/cvs.xml:
16727         * docs/faq/dependencies.xml:
16728         * docs/faq/developing.xml:
16729         * docs/faq/faq.xml:
16730         * docs/faq/general.xml:
16731         * docs/faq/getting.xml:
16732         * docs/faq/legal.xml:
16733         * docs/faq/troubleshooting.xml:
16734         * docs/faq/using.xml:
16735         Faq review and update.
16736
16737 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
16738
16739         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16740         (gst_pad_push):
16741         Don't pound the cpu to pieces by checking get_caps when accept_caps
16742         is called with the same caps as the pad already has.
16743         Use GST_DEBUG_OBJECT when outputting caps change information.
16744
16745 2006-03-15  Wim Taymans  <wim@fluendo.com>
16746
16747         * gst/gstclock.c: (gst_clock_class_init):
16748         Fix docs.
16749
16750 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
16751
16752         * gst/gstbuffer.h:
16753         Documentation fix.
16754
16755         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16756         (gst_pad_accept_caps), (gst_pad_configure_sink),
16757         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16758         Make the default acceptcaps behaviour be to check the requested 
16759         caps against the gst_pad_get_caps output. 
16760
16761         Ensure that gst_pad_accept_caps is used to check caps when a pad
16762         doesn't have a setcaps function, so that pads automatically refuse 
16763         caps that they don't allow in their pad template. (Fixes #332986)
16764
16765         When a buffer with attached caps is pushed, ensure that the source 
16766         pad receives those caps even if the element didn't call
16767         gst_pad_set_caps first.
16768
16769 2006-03-15  Wim Taymans  <wim@fluendo.com>
16770
16771         * libs/gst/base/gstadapter.c:
16772         Add some docs.
16773
16774 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
16775
16776         * win32/common/libgstbase.def:
16777         * win32/common/libgstcontroller.def:
16778         * win32/common/libgstreamer.def:
16779           Add a whole bunch of missing functions (#334434).
16780
16781 2006-03-14  Wim Taymans  <wim@fluendo.com>
16782
16783         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16784         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16785         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16786         Better debug info when we receive a segment event.
16787         Reorganize a bit so we can pass the get_times() results around.
16788         Use the segment format when calculating the running time.
16789         Don't do QoS is sync is disabled or we have no clock or the
16790         element does not want us to sync to the clock.
16791         Don't drop buffers if QoS is disabled for now.
16792
16793 2006-03-14  Wim Taymans  <wim@fluendo.com>
16794
16795         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16796         Marked the stats property as unimplemented so people don't get
16797         wild ideas.
16798         Add debug message when regression goes wrong.
16799         Added some more docs.
16800
16801 2006-03-14  Wim Taymans  <wim@fluendo.com>
16802
16803         * gst/gstsegment.c: (gst_segment_to_stream_time):
16804         Return correct return type in case of errors.
16805
16806 2006-03-14  Wim Taymans  <wim@fluendo.com>
16807
16808         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16809           Don't segfault on invalid formats.
16810
16811 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16812
16813         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16814           Can't use gst_segment_to_running_time() when the segment
16815           is not in GST_TIME_FORMAT (like with filesink, for example).
16816           Stops flac encoding pipelines from spewing critical warnings
16817           at EOS (#331248).
16818           
16819 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16820
16821         * gst/gstpipeline.c: (gst_pipeline_class_init):
16822           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16823
16824         * plugins/elements/gsttypefindelement.c:
16825         (gst_type_find_element_handle_event):
16826           Don't try to typefind empty streams.
16827
16828 2006-03-14  Wim Taymans  <wim@fluendo.com>
16829
16830         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16831         (gst_base_sink_do_qos):
16832         Separate QoS calculation.
16833         Only drop buffers when lateness is bigger than the 
16834         duration of the buffer.
16835
16836 2006-03-13  Wim Taymans  <wim@fluendo.com>
16837
16838         * gst/gstpipeline.c: (gst_pipeline_set_property),
16839         (gst_pipeline_get_property), (do_pipeline_seek),
16840         (gst_pipeline_change_state), (gst_pipeline_set_delay),
16841         (gst_pipeline_get_delay):
16842         Don't deadlock when reading properties.
16843
16844 2006-03-13  Wim Taymans  <wim@fluendo.com>
16845
16846         * libs/gst/base/gstbasetransform.c:
16847         (gst_base_transform_class_init), (gst_base_transform_init),
16848         (gst_base_transform_sink_event),
16849         (gst_base_transform_sink_eventfunc),
16850         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16851         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16852         (gst_base_transform_set_property),
16853         (gst_base_transform_get_property),
16854         (gst_base_transform_change_state), (gst_base_transform_update_qos),
16855         (gst_base_transform_set_qos_enabled),
16856         (gst_base_transform_is_qos_enabled):
16857         * libs/gst/base/gstbasetransform.h:
16858         Make basetransform virtual method for src events too.
16859         Handle QOS in basetransform.
16860         API: gst_base_transform_update_qos()
16861         API: gst_base_transform_set_qos_enabled()
16862         API: gst_base_transform_is_qos_enabled()
16863
16864 2006-03-13  Wim Taymans  <wim@fluendo.com>
16865
16866         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16867         (gst_base_sink_do_sync):
16868         Small cleanups.
16869         Use QOS debug category.
16870
16871 2006-03-13  Wim Taymans  <wim@fluendo.com>
16872
16873         * plugins/elements/gstqueue.c:
16874         Very small doc update.
16875
16876 2006-03-13  Wim Taymans  <wim@fluendo.com>
16877
16878         * gst/gst_private.h:
16879         * gst/gstinfo.c: (_gst_debug_init):
16880         Added QOS debug category
16881
16882 2006-03-13  Wim Taymans  <wim@fluendo.com>
16883
16884         * docs/gst/gstreamer-sections.txt:
16885         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16886         * gst/gstbin.h:
16887         * gst/gstbus.c: (gst_bus_class_init):
16888         * gst/gstbus.h:
16889         * gst/gstclock.c:
16890         * gst/gstelement.c: (gst_element_set_locked_state):
16891         * gst/gstsegment.c:
16892         Documentation updates.
16893
16894         * gst/gstpipeline.c: (gst_pipeline_get_type),
16895         (gst_pipeline_class_init), (gst_pipeline_init),
16896         (gst_pipeline_dispose), (gst_pipeline_set_property),
16897         (gst_pipeline_get_property), (do_pipeline_seek),
16898         (gst_pipeline_send_event), (gst_pipeline_change_state),
16899         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16900         (gst_pipeline_get_delay):
16901         * gst/gstpipeline.h:
16902         Added methods for setting the delay.
16903         API: gst_pipeline_set_delay()
16904         API: gst_pipeline_get_delay()
16905         Add pipeline debug category
16906         Various cleanups.
16907         Updated docs.
16908         Don't reset stream time when seek failed.
16909
16910 2006-03-13  Wim Taymans  <wim@fluendo.com>
16911
16912         * docs/design/draft-klass.txt:
16913         * docs/design/part-clocks.txt:
16914         * docs/design/part-events.txt:
16915         * docs/design/part-gstbin.txt:
16916         * docs/design/part-gstpipeline.txt:
16917         * docs/design/part-messages.txt:
16918         * docs/design/part-negotiation.txt:
16919         * docs/design/part-overview.txt:
16920         * docs/design/part-preroll.txt:
16921         * docs/design/part-seeking.txt:
16922         * docs/design/part-states.txt:
16923         * docs/design/part-streams.txt:
16924         Documentation updates.
16925
16926 2006-03-12  Julien MOUTTE  <julien@moutte.net>
16927
16928         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16929         us to leak strings...
16930
16931 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16932
16933         * libs/gst/net/gstnettimeprovider.c:
16934           fix docs
16935         * win32/common/config.h:
16936           update
16937
16938 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
16939
16940         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16941
16942         * configure.ac:
16943           Don't check for libgnomeui (leftover from old examples
16944           that aren't built or disted any longer) (#334303).
16945           
16946 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
16947
16948         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16949         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16950           Emit RESOURCE_NO_SPACE_LEFT error here as well when
16951           there's no space left on the device.
16952
16953 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
16954
16955         * gst/gstclock.h:
16956           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16957           to cast the input to GstClockTime before comparing with
16958           another GstClockTime value.
16959
16960 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16961
16962         * configure.ac:
16963           back to trunk
16964
16965 === release 0.10.4 ===
16966
16967 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
16968
16969         * configure.ac:
16970           releasing 0.10.4, "Light"
16971
16972 2006-03-10  Michael Smith  <msmith@fluendo.com>
16973
16974         * libs/gst/dataprotocol/dataprotocol.c:
16975           Fix docs for dataprocotol to not get the return types completely
16976           wrong for a few functions.
16977
16978 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16979
16980         * docs/gst/gstreamer-sections.txt:
16981         * gst/gstpipeline.c: (gst_pipeline_class_init),
16982         (gst_pipeline_init), (gst_pipeline_set_property),
16983         (gst_pipeline_get_property), (gst_pipeline_change_state),
16984         (gst_pipeline_set_auto_flush_bus),
16985         (gst_pipeline_get_auto_flush_bus):
16986         * gst/gstpipeline.h:
16987           Add new API: gst_pipeline_set_auto_flush_bus() and
16988           gst_pipeline_get_auto_flush_bus() to disable automatic
16989           flushing of the pipeline's GstBus when going from READY
16990           to NULL state (#332045).
16991
16992 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16993
16994         * docs/gst/gstreamer-sections.txt:
16995         * gst/gsturi.c: (gst_uri_has_protocol):
16996         * gst/gsturi.h:
16997            Add new API: gst_uri_has_protocol() (#333779).
16998
16999 2006-03-09  Wim Taymans  <wim@fluendo.com>
17000
17001         * gst/gstclock.c: (gst_clock_entry_new),
17002         (gst_clock_id_compare_func), (gst_clock_id_wait),
17003         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
17004         (gst_clock_init), (gst_clock_get_internal_time),
17005         (gst_clock_set_master), (do_linear_regression),
17006         (gst_clock_add_observation), (gst_clock_set_property):
17007         * gst/gstclock.h:
17008         Review docs.
17009         Small cleanups.
17010         Fix a possible segfault when the window-size is made smaller.
17011         Calculate jitter before performing the clock wait. Ideally
17012         the clock implementation should calculate jitter but we need
17013         API breakage for that.
17014
17015         * gst/gstsystemclock.c: (gst_system_clock_init):
17016         Docs review.
17017         
17018         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17019         Remove leftover else
17020
17021         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
17022         (gst_systemclock_suite):
17023         Added check to test GST_CLOCK_DIFF.
17024
17025 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
17026
17027         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
17028         (gst_type_find_helper_get_range):
17029           If we are provided with the size, we should implement
17030           GstTypeFind::get_length, so that typefind functions who
17031           want to can actually peek at the middle of a file.
17032
17033 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
17034
17035         * docs/manual/advanced-dataaccess.xml:
17036           Add some very very basic error checking.
17037
17038         * docs/pwg/appendix-checklist.xml:
17039           Some updates to the list of things to check when writing an element.
17040
17041 2006-03-08  Wim Taymans  <wim@fluendo.com>
17042
17043         * docs/design/part-element-transform.txt:
17044         Added some docs about the design of tranform elements.
17045
17046         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
17047         (gst_base_src_loop), (gst_base_src_change_state):
17048         Mark buffers with the DISCONT flag.
17049
17050 2006-03-08  Michael Smith  <msmith@fluendo.com>
17051
17052         * gst/gstregistry.h:
17053         * gst/gstregistryxml.c: (gst_registry_save),
17054         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
17055         (gst_registry_xml_save_pad_template),
17056         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
17057         (gst_registry_xml_write_cache):
17058           Rewrite registry-saving to avoid race conditions and check for
17059           failed writes.
17060
17061 2006-03-08  Wim Taymans  <wim@fluendo.com>
17062
17063         * libs/gst/base/gstbasetransform.c:
17064         (gst_base_transform_transform_caps),
17065         (gst_base_transform_transform_size),
17066         (gst_base_transform_prepare_output_buffer),
17067         (gst_base_transform_get_unit_size),
17068         (gst_base_transform_buffer_alloc),
17069         (gst_base_transform_handle_buffer),
17070         (gst_base_transform_change_state):
17071         Cleanups, separate normal flow from errors, add sensible
17072         DEBUG lines.
17073         Don't try to renegotiate when allocating an output buffer.
17074         Also copy DISCONT buffer flag when copying a buffer.
17075         Reset the transform after we finish streaming, not during.
17076
17077 2006-03-08  Wim Taymans  <wim@fluendo.com>
17078
17079         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17080         Use last buffer timestamp in qos message.
17081
17082 2006-03-07  Wim Taymans  <wim@fluendo.com>
17083
17084         Patch by: Christophe Fergeau
17085
17086         * docs/pwg/advanced-tagging.xml:
17087         * docs/pwg/building-pads.xml:
17088           fixes #333416
17089
17090 2006-03-07  Wim Taymans  <wim@fluendo.com>
17091
17092         * docs/libs/gstreamer-libs-sections.txt:
17093         Added basesink new methods.
17094
17095         * gst/gstevent.c:
17096         * gst/gstevent.h:
17097         Docs updates. Flesh out the QoS docs.
17098
17099         * libs/gst/base/gstadapter.c:
17100         Small doc clarification about ownership and flushing.
17101
17102         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
17103         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
17104         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
17105         (gst_base_sink_get_property), (gst_base_sink_do_sync):
17106         * libs/gst/base/gstbasesink.h:
17107         API additions: 
17108         Added new methods to allow subclass to control max-lateness 
17109         and sync.
17110         Generate very basic QoS events based on last sync observation.
17111         Updated docs, fix typo, added some QoS blurb.
17112
17113         * libs/gst/base/gstbasesrc.c:
17114         Remove obsolete _get_state() calls from docs.
17115
17116 2006-03-07  Wim Taymans  <wim@fluendo.com>
17117
17118         * docs/libs/gstreamer-libs-sections.txt:
17119         * libs/gst/base/gstbasetransform.h:
17120         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
17121         Fix docs for GstBaseSrc.
17122
17123 2006-03-07  Wim Taymans  <wim@fluendo.com>
17124
17125         * docs/gst/gstreamer-sections.txt:
17126         * gst/gstbuffer.h:
17127         * gst/gstvalue.c:
17128         * libs/gst/base/gstbasetransform.h:
17129         Small documentation fixes.
17130
17131 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
17132
17133         * gst/gstvalue.c:
17134           Document thread-unsafety of gst_value_register_foo_func()
17135           when used at the same time as gst_value_foo() (#322628).
17136
17137 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
17138
17139         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
17140         (gst_push_src_check_get_range):
17141           Push sources don't support pull mode by default.
17142
17143 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
17144
17145         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17146         (gst_base_src_init), (gst_base_src_pad_check_get_range),
17147         (gst_base_src_default_check_get_range):
17148         * libs/gst/base/gstbasesrc.h:
17149           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
17150           provide default implementation, and rename
17151           gst_base_src_check_get_range() to
17152           gst_base_src_pad_check_get_range() for clarity.
17153
17154 2006-03-06  Wim Taymans  <wim@fluendo.com>
17155
17156         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
17157         Make property overridable.
17158
17159 2006-03-06  Wim Taymans  <wim@fluendo.com>
17160
17161         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
17162         (gst_base_sink_init), (gst_base_sink_set_property),
17163         (gst_base_sink_get_property), (gst_base_sink_do_sync):
17164         * libs/gst/base/gstbasesink.h:
17165         API addition: Make max-lateness a property.
17166
17167 2006-03-06  Wim Taymans  <wim@fluendo.com>
17168
17169         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
17170         (gst_base_sink_do_sync), (gst_base_sink_render_object):
17171         Don't ever draw a frame that is >10ms late.
17172
17173 2006-03-06  Michael Smith  <msmith@fluendo.com>
17174
17175         * gst/gstmessage.c: (_gst_message_copy):
17176           When copying a message, set the parent_refcount of the enclosed
17177           structure to point at the copy, not the original message.
17178
17179 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
17180
17181         Patch by: Christophe Fergeau
17182
17183         * gst/gstutils.h:
17184           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
17185           usable in c++ code (#333417)
17186
17187 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17188
17189         * gst/gstclock.h:
17190           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
17191
17192 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
17193
17194         * libs/gst/base/gstbasetransform.c:
17195         (gst_base_transform_transform_caps):
17196           Make sure caps are writable before passing them to
17197           gst_caps_append().
17198
17199 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
17200
17201         * gst/gsterror.h:
17202           Fix some minor docs errors.
17203
17204 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
17205
17206           Patch by: Ross Burton <ross at burtonini dot com>
17207
17208         * gst/gsterror.c: (_gst_resource_errors_init):
17209         * gst/gsterror.h:
17210           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
17211
17212 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
17213
17214         * gst/gst.c:
17215         Add a check and output a g_warning when GStreamer is built
17216         against GLib 2.6 but running against 2.8 or higher, and vice 
17217         versa. (Closes: #323542)
17218
17219 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
17220
17221         * gst/parse/parse.l:
17222           Commit patch for parse_launch syntax from #331255. Removes 
17223           support for quoted strings and mimetypes when writing filtered 
17224           caps. See the bug report for more details - I'm pretty sure this
17225           obscure feature is not in use by _anyone_ anywhere.
17226
17227           With this simple change, the size of the gstreamer.so here 
17228           drops from 2193KB to 1565KB.
17229
17230 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
17231
17232         * plugins/elements/gsttypefindelement.h:
17233         * plugins/elements/gsttypefindelement.c:
17234         (gst_type_find_element_src_event), (start_typefinding),
17235         (stop_typefinding), (gst_type_find_element_handle_event),
17236         (gst_type_find_element_chain),
17237         (gst_type_find_element_chain_do_typefinding):
17238           Use gst_type_find_helper_for_buffer() for chain-based
17239           typefinding.
17240
17241 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
17242
17243         * plugins/elements/gsttypefindelement.c:
17244         (gst_type_find_element_class_init),
17245         (gst_type_find_element_set_property),
17246         (gst_type_find_element_get_property):
17247           Deprecate "maximum" property (not only was it only taken into
17248           account for typefinding in push-mode anyway, it also was never
17249           actually possible to set it in the first place because the
17250           property was registered with the numeric property ID for the
17251           "minimum" property). Register "maximum" property correctly,
17252           for the sake of future copy'n'pasters. Remove some cruft
17253           from property get/set functions.
17254
17255 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
17256
17257         * plugins/elements/gsttypefindelement.c:
17258         (gst_type_find_element_activate):
17259           Use gst_type_find_helper_get_range() here, so we
17260           can honour the "minimum" property and also emit
17261           the signal with the correct probability of the found caps.
17262
17263 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
17264
17265         * docs/libs/gstreamer-libs-sections.txt:
17266         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
17267         (helper_find_suggest), (gst_type_find_helper_get_range),
17268         (gst_type_find_helper):
17269         * libs/gst/base/gsttypefindhelper.h:
17270           New API: gst_type_find_helper_get_range() (#333042).
17271
17272 2006-03-02  Michael Smith  <msmith@fluendo.com>
17273
17274         * gst/gstregistryxml.c: (load_feature):
17275           Asserting on a failure to read part of the registry is Not Cool.
17276           Just log a warning and return NULL (which is already handled)
17277
17278 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
17279
17280         * win32/common/libgstbase.def:
17281           added export of gst_type_find_helper_for_buffer
17282         * win32/common/libgstbase.def:
17283           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
17284           gst_ghost_pad_get_target
17285
17286 2006-02-28  Wim Taymans  <wim@fluendo.com>
17287
17288         * docs/design/draft-klass.txt:
17289         We use Filter now.
17290         Added Connector to mark elements that are only used to
17291         allow pipeline connections.
17292         Moved Debug to extra feature since most of them are 
17293         functionally something else.
17294
17295 2006-02-28  Wim Taymans  <wim@fluendo.com>
17296
17297         * docs/design/draft-klass.txt:
17298         Some updates and clarifications.
17299
17300 2006-02-28  Wim Taymans  <wim@fluendo.com>
17301
17302         * docs/design/draft-klass.txt:
17303         Proposal for klass field values.
17304
17305         * docs/design/part-streams.txt:
17306         Start of a doc describing stream anatomy.
17307
17308 2006-02-28  Wim Taymans  <wim@fluendo.com>
17309
17310         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
17311         Help the compiler a bit with type registration.
17312         Use existing forward cod path instead of duplicating it when 
17313         handling a message.
17314         
17315         * gst/gstbus.c: (gst_bus_get_type):
17316         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
17317         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
17318         * gst/gstclock.c: (gst_clock_get_type):
17319         * gst/gstelement.c: (gst_element_get_type),
17320         * gst/gstelementfactory.c: (gst_element_factory_get_type):
17321         * gst/gstindexfactory.c: (gst_index_factory_get_type):
17322         * gst/gstminiobject.c: (gst_mini_object_get_type):
17323         * gst/gstpad.c: (gst_pad_get_type):
17324         * gst/gstsegment.c: (gst_segment_get_type):
17325         * gst/gststructure.c: (gst_structure_get_type):
17326         * gst/gstsystemclock.c: (gst_system_clock_get_type):
17327         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
17328         * gst/gstvalue.c:
17329         Help compiler with type registration.
17330
17331         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
17332         Small doc update.
17333
17334 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17335
17336         * plugins/elements/gsttypefindelement.c:
17337         (gst_type_find_element_handle_event):
17338           When we get an EOS event and have not found a type yet
17339           (most likely because we had not yet accumulated
17340           TYPE_FIND_MIN_SIZE of data yet), try to determine the
17341           type given the data we have so far. Fixes typefinding
17342           for very short streams again, most notably quicktime
17343           redirections as used on Apple's trailer site (#331701).
17344
17345 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17346
17347         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
17348         (gst_type_find_helper):
17349           Try typefinding factories with the highest rank first.
17350
17351 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17352
17353         * docs/libs/gstreamer-libs-docs.sgml:
17354         * docs/libs/gstreamer-libs-sections.txt:
17355         * libs/gst/base/gsttypefindhelper.c:
17356           Add section for typefind helper and add documentation
17357           for the old and the new function.
17358
17359 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17360
17361         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
17362         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
17363         (gst_type_find_helper_for_buffer):
17364         * libs/gst/base/gsttypefindhelper.h:
17365           New API: gst_type_find_helper_for_buffer() (#332723).
17366           
17367 2006-02-27  Michael Smith  <msmith@fluendo.com>
17368
17369         Patch by: Loïc Minier
17370
17371         * configure.ac:
17372         * docs/Makefile.am:
17373         * docs/slides/Makefile.am:
17374           prevent CVS directories getting disted.
17375
17376 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17377
17378         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
17379           Use the REFCOUNTING category for caps refcounting.
17380           
17381 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17382
17383         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
17384           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
17385
17386 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17387
17388         * plugins/elements/gsttypefindelement.c:
17389         (gst_type_find_element_activate):
17390           Use gst_pad_check_pull_range() before _activate_pull()
17391           to avoid unnecessary open/close (see #331690).
17392
17393 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17394
17395         * gst/gstutils.c:
17396           Docs enhancement: make it crystal clear what the
17397           gst_pad_add_*_probe() callbacks should look like.
17398
17399 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17400
17401         * libs/gst/base/gstbasesrc.c:
17402           Document how applications can stop recording from
17403           live sources (see #330996).
17404
17405 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17406
17407         * tests/check/Makefile.am:
17408         * tests/check/libs/basesrc.c: (eos_event_counter),
17409         (basesrc_eos_events_pull), (basesrc_eos_events_push),
17410         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
17411         (gst_basesrc_suite), (main):
17412           ... and add some tests for the base source EOS stuff.
17413
17414 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17415
17416         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
17417           Test case originally showed the problem fixed below,
17418           but was then amended. Add checks back at the place
17419           where they used to be.
17420
17421 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17422
17423         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17424         (gst_base_src_init), (gst_base_src_loop),
17425         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17426         (gst_base_src_change_state):
17427         * libs/gst/base/gstbasesrc.h:
17428           Don't unconditionally send EOS when going from PAUSED to
17429           READY state, esp. make sure we don't send two EOS events
17430           in some cases (e.g. one when reaching EOS and one when
17431           going from PAUSED to READY). Also, we don't want to send
17432           EOS events when operating in pull mode. However, we do
17433           want to send an EOS event when shutting down a live
17434           source explicitly, for example (fixes #330996).
17435           
17436 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17437
17438         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
17439           Update src->read_position after a seek when not using mmap.
17440           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
17441
17442 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
17443
17444         * gst/Makefile.am:
17445         * gst/gstparse.h:
17446         * gst/gstutils.c:
17447         * gst/gstutils.h:
17448         Make things work with --disable-parse as they do with 
17449         --disable-load-save - the symbols involved disappear, but the
17450         header is still installed and GST_DISABLE_PARSE is included via
17451         gstconfig.h
17452
17453 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17454
17455         * libs/gst/base/gstbasetransform.c:
17456         (gst_base_transform_change_state): Fix a stupid bug. I was 
17457         sure I compiled that.
17458
17459 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17460
17461         * gst/gstpad.c: (gst_pad_set_blocked_async):
17462         * gst/gstutils.c: (gst_pad_add_data_probe),
17463         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17464         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17465         (gst_pad_remove_buffer_probe): Make those function act on the
17466         ghostpad target when it's a ghostpad. (Closes #331727)
17467
17468 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17469
17470         * libs/gst/base/gstbasetransform.c:
17471         (gst_base_transform_change_state): Make basetransform reusable.
17472         (Closes #331898)
17473
17474 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
17475
17476         * docs/random/release:
17477         Move the current documentation of how to do a release to the top
17478         of the file.
17479
17480         * gst/gstbin.c: (gst_bin_class_init),
17481         (gst_bin_handle_message_func):
17482         Allow multiple state-recalculation threads. (Closes #328873)
17483
17484 2006-02-19  Julien MOUTTE  <julien@moutte.net>
17485
17486         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
17487         * gst/gstpad.c: (gst_pad_set_event_function),
17488         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17489         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
17490         2 strings. You can't use the STR_NULL macro on that.
17491
17492 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
17493
17494         * gst/gstpad.c: (gst_pad_set_event_function),
17495         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17496         (gst_pad_set_getcaps_function)
17497         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
17498           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
17499           So now, we can use --gst-debug-level=5 on Windows
17500         * win32/common/libgstcontroller.def:
17501           Added export of gst_controller_init
17502         * win32/vs6/libgstcontroller.dsp:
17503           Fixed Release post build configuration
17504
17505 2006-02-17  Wim Taymans  <wim@fluendo.com>
17506
17507         * tests/check/gst/gstquery.c: (GST_START_TEST):
17508         Added another check.
17509
17510 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
17511
17512         * plugins/elements/gsttypefindelement.c: (find_peek):
17513           We can do peeks at non-zero offsets, as long as they
17514           fall within the buffer we have.
17515
17516 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
17517
17518         * tests/check/Makefile.am:
17519         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
17520         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
17521         (parse_suite), (main):
17522           Add testsuite for parse launch syntax
17523
17524 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
17525
17526         * plugins/elements/gsttypefindelement.c:
17527         (gst_type_find_element_chain):
17528           When typefinding is unsuccessful in the chain function, don't
17529           error out immediately. Only error out with NO_CAPS_FOUND if
17530           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
17531           otherwise simply wait for more data so we can try typefinding
17532           again with more data later. Also, don't attempt to typefind
17533           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
17534           this should improve typefinding from network sources where the
17535           size of the first buffer can be somewhat random.
17536
17537 2006-02-14  Wim Taymans  <wim@fluendo.com>
17538
17539         * docs/gst/gstreamer-sections.txt:
17540         * gst/gstpadtemplate.c:
17541         * gst/gstpadtemplate.h:
17542         Fix padtemplate docs, fixes #328805.
17543
17544 2006-02-14  Wim Taymans  <wim@fluendo.com>
17545
17546         * tools/gst-launch.c: (main):
17547         NO_PREROLL is not an ERROR so don't send confusing messages
17548         to the user.
17549
17550 2006-02-14  Wim Taymans  <wim@fluendo.com>
17551
17552         Patch by: Torsten Schoenfeld
17553
17554         * gst/gstregistry.c: (gst_registry_get_default),
17555         (_gst_registry_cleanup):
17556         Protect default registry with lock and ref/sink it.
17557         Fixes #324818
17558
17559 2006-02-14  Wim Taymans  <wim@fluendo.com>
17560
17561         * gst/gstbuffer.c:
17562         * gst/gstquery.c: (gst_query_list_add_format),
17563         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17564         (gst_query_parse_formats_nth):
17565         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17566         Docs fixes.
17567
17568 2006-02-14  Wim Taymans  <wim@fluendo.com>
17569
17570         * docs/gst/gstreamer-sections.txt:
17571         Reworked query docs.
17572
17573         * gst/gstquery.c: (gst_query_new_formats),
17574         (gst_query_list_add_format), (gst_query_set_formats),
17575         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17576         (gst_query_parse_formats_nth):
17577         * gst/gstquery.h:
17578         Flesh out formats query, added some new methods.
17579         Fix part of #324398.
17580
17581         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17582         Added query creation tests.
17583
17584 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
17585
17586         * gst/gstpad.c: (fixate_value):
17587         Add a default fixation for fraction lists.
17588
17589 2006-02-13  Wim Taymans  <wim@fluendo.com>
17590
17591         * gst/gsttask.c: (gst_task_init), (gst_task_func),
17592         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17593         (gst_task_join):
17594         * gst/gsttask.h:
17595         Detect and warn for obvious deadlocks. fixes #320340
17596         Fix error case where lock was not released.
17597
17598         * tests/check/Makefile.am:
17599         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17600         (task_func), (gst_element_suite), (main):
17601         Add task check.
17602
17603 2006-02-13  Wim Taymans  <wim@fluendo.com>
17604
17605         * docs/gst/gstreamer-sections.txt:
17606         * gst/gstbus.c:
17607         Add new functions to docs.
17608
17609 2006-02-13  Wim Taymans  <wim@fluendo.com>
17610
17611         * docs/design/part-TODO.txt:
17612         Updated TODO list, basesrc supports seeking to non-bytes
17613         formats.
17614
17615         * docs/design/part-element-sink.txt:
17616         Update docs.
17617
17618         * gst/gstbin.c: (bin_replace_message),
17619         (gst_bin_handle_message_func):
17620         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17621         * gst/gstevent.c: (gst_event_finalize):
17622         * gst/gstpad.c: (gst_pad_event_default_dispatch),
17623         (gst_pad_send_event):
17624         Use shiny new _TYPE_NAME macros.
17625
17626         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17627         Move debug statement up.
17628
17629         * gst/gstelement.c: (gst_element_set_locked_state):
17630         Add some debugging.
17631
17632 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
17633
17634         * docs/gst/gstreamer-sections.txt:
17635         * gst/gstmessage.h:
17636         * gst/gstquery.h:
17637           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17638           macros (#330906). Also, document the already existing
17639           GST_QUERY_TYPE macro.
17640
17641 2006-02-13  Wim Taymans  <wim@fluendo.com>
17642
17643         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17644         (event_probe), (GST_START_TEST):
17645         Only events up to the pipeline EOS are counted, there are
17646         some more when going to NULL currently which we don't care
17647         about for now.
17648
17649 2006-02-13  Wim Taymans  <wim@fluendo.com>
17650
17651         * gst/gstpad.c: (gst_pad_send_event):
17652         Correctly check flushing and emit probes. fixes #330125
17653
17654 2006-02-10  Andy Wingo  <wingo@pobox.com>
17655
17656         * gst/gstbus.c (gst_bus_class_init): Declare our private data
17657         structure.
17658         (gst_bus_init): Cache the location of the private data in the
17659         instance structure.
17660         (gst_bus_enable_sync_message_emission) 
17661         (gst_bus_disable_sync_message_emission): Implement new public
17662         functions.
17663         (gst_bus_post): Emit the sync-message signal if the user asked for
17664         it. Fixes #330684.
17665
17666         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17667         location of the bus-private structure.
17668         (gst_bus_enable_sync_message_emission)
17669         (gst_bus_disable_sync_message_emission): API addition
17670
17671 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
17672
17673         Patch by: Vincent Torri
17674
17675         * docs/pwg/building-boiler.xml:
17676         PWG patch from #326800
17677
17678 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
17679
17680         * configure.ac:
17681         * docs/Makefile.am:
17682         * docs/design/Makefile.am:
17683           Dist design docs.
17684
17685 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17686
17687         * configure.ac:
17688           back to CVS
17689
17690 === release 0.10.3 ===
17691
17692 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
17693
17694         * configure.ac:
17695           releasing 0.10.3, "Like a virgin"
17696
17697 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17698
17699         * configure.ac:
17700           2nd prerelease of 0.10.3
17701           Bump libtool versioning.
17702
17703 2006-02-07  Andy Wingo  <wingo@pobox.com>
17704
17705         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17706         update last_stop if we're in TIME format and the timestamp is
17707         valid.
17708
17709         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
17710         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
17711         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17712         If we get a new newsegment with a different format, adapt
17713         accordingly.
17714
17715         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17716         of 0. Not a problem, really.
17717
17718         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17719         warn if sync=true.
17720
17721 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
17722
17723         * configure.ac:
17724           Prelease of 0.10.3
17725
17726 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
17727
17728         * win32/vs7:
17729           project files updated to the default vs7 configuration
17730         * win32/common/libgstbase.def:
17731         * win32/common/libgstreamer.def:
17732           added new symbols,
17733           removed empty lines,
17734           sorted all exported symbols alphabetically
17735         * win32/common/dirent.c:
17736         * win32/common/dirent.h:
17737         * win32/common/gchar.h:
17738           use windows line end.
17739           
17740 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17741
17742         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17743           Send EOS event when stopping.
17744
17745 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17746
17747         * docs/README:
17748           Tell folks what to do if the plugin-foobar.xml file
17749           hasn't been generated for a newly-added plugin.
17750
17751 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17752
17753         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17754         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17755         (gst_collect_pads_start), (gst_collect_pads_stop),
17756         (gst_collect_pads_event): Collectpads now holds a reference
17757         to the GstPad that was added. Indeed we don't want to look
17758         at pads that might just go away with no warning...
17759
17760 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17761
17762         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17763         (gst_collect_pads_start), (gst_collect_pads_stop),
17764         (gst_collect_pads_event), (gst_collect_pads_chain):
17765         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17766         Mark Nauwelaerts's patch on bug #328491.
17767
17768 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17769
17770         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17771         (gst_utils_suite):
17772           Add some simple tests for gst_parse_bin_from_description() and
17773           gst_bin_find_unconnected_pad() (#329069).
17774
17775 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17776
17777         * tools/gst-launch.c: (event_loop), (main):
17778           Catch errors during preroll (#320084).
17779
17780 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
17781
17782         * plugins/elements/gsttypefindelement.c:
17783         (gst_type_find_element_activate):
17784           Post TYPE_NOT_FOUND error message when typefinding
17785           is unsuccessful in the activate function as well.
17786
17787 2006-02-02  Wim Taymans  <wim@fluendo.com>
17788
17789         * docs/design/part-element-sink.txt:
17790         Updated doc.
17791
17792 2006-02-02  Wim Taymans  <wim@fluendo.com>
17793
17794         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17795         (gst_base_sink_render_object),
17796         (gst_base_sink_queue_object_unlocked):
17797         Only keep track of prerollable items when we are 
17798         prerolling.
17799         Before rendering after preroll, always check if we
17800         have queued items.
17801         Added some more debugging.
17802
17803 2006-02-02  Wim Taymans  <wim@fluendo.com>
17804
17805         * gst/gstelement.c: (gst_element_continue_state),
17806         (gst_element_set_state_func), (gst_element_change_state):
17807         Fixed #326576, been running this for quite some time with
17808         no regressions at all.
17809
17810 2006-02-02  Wim Taymans  <wim@fluendo.com>
17811
17812         * common/gst.supp:
17813         Added more suppressions
17814
17815 2006-02-02  Wim Taymans  <wim@fluendo.com>
17816
17817         * docs/design/part-element-sink.txt:
17818         Updated document.
17819
17820         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17821         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17822         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17823         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17824         (gst_base_sink_do_sync), (gst_base_sink_render_object),
17825         (gst_base_sink_preroll_object),
17826         (gst_base_sink_queue_object_unlocked),
17827         (gst_base_sink_queue_object), (gst_base_sink_event),
17828         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17829         (gst_base_sink_loop), (gst_base_sink_activate_pull),
17830         (gst_base_sink_get_position), (gst_base_sink_change_state):
17831         * libs/gst/base/gstbasesink.h:
17832         Totally refactored matching the design doc.
17833         Use two segments, one to clip incomming buffers and another to
17834         perform sync.
17835         Handle queueing correctly, bypass the queue when playing.
17836         Make EOS cancelable.
17837         Handle errors correctly when operating in pull based mode.
17838
17839         * tests/check/elements/fakesink.c: (GST_START_TEST),
17840         (fakesink_suite):
17841         Added new check for sinks.
17842
17843 2006-02-02  Wim Taymans  <wim@fluendo.com>
17844
17845         * gst/gstsegment.c: (gst_segment_clip):
17846         No reason to refuse to clip when start == -1
17847
17848 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
17849
17850         * docs/README:
17851         * docs/manual/intro-basics.xml:
17852         * docs/manual/intro-preface.xml:
17853         * docs/manual/manual.xml:
17854         * docs/pwg/advanced-dparams.xml:
17855         * docs/pwg/intro-basics.xml:
17856         * docs/pwg/intro-preface.xml:
17857         * docs/pwg/pwg.xml:
17858           describe dparams (controller) for plugins
17859           unify docs a little more
17860
17861 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
17862
17863         * docs/gst/gstreamer-sections.txt:
17864         * gst/gstutils.c: (element_find_unconnected_pad),
17865         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17866         * gst/gstutils.h:
17867           Add new API: gst_parse_bin_from_description() and
17868           gst_bin_find_unconnected_pad() (#329069).
17869
17870 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
17871
17872         * docs/manual/README:
17873           uncover a nasty detail of the docs build
17874
17875 2006-01-31  Wim Taymans  <wim@fluendo.com>
17876
17877         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17878         Don't cache duration messages if we're not going to use or
17879         free them.
17880
17881 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
17882
17883         * docs/manual/advanced-dparams.xml:
17884         * docs/pwg/advanced-dparams.xml:
17885           more dparam docs
17886         * gst/gstindex.c:
17887           fix docs
17888         * libs/gst/controller/lib.c: (gst_controller_init):
17889           init just once
17890
17891 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
17892
17893         * gst/gstelement.c: (gst_element_message_full):
17894           also show file/line/func if no additional debug was given
17895
17896 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
17897         
17898         * win32/vs7/grammar.vcproj:
17899           activate copy of autogenerated files for Release mode
17900
17901 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17902         
17903         * win32/common/libgstreamer.def:
17904           export gst_value_compare
17905
17906 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
17907
17908         * plugins/elements/Makefile.am:
17909         * plugins/elements/gstelements.c:
17910         * plugins/elements/gstfdsink.c: (_do_init),
17911         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17912         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17913         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17914         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17915         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17916         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17917         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17918         * plugins/elements/gstfdsink.h:
17919         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17920
17921 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
17922
17923         * docs/manual/advanced-dparams.xml:
17924           describe controller
17925         * docs/manual/advanced-position.xml:
17926         * docs/manual/basics-init.xml:
17927         * docs/manual/manual.xml:
17928         * docs/manual/titlepage.xml:
17929         * docs/pwg/pwg.xml:
17930         * docs/pwg/titlepage.xml:
17931           cleanup xml (more to come)
17932         * libs/gst/controller/gstcontroller.c:
17933           fix typo
17934
17935 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17936         
17937         * win32/vs6/grammar.dsp:
17938           add autogen of gstmarshal.c,h for Release mode
17939                 
17940 2006-01-30  Wim Taymans  <wim@fluendo.com>
17941
17942         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17943         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17944         (gst_base_sink_handle_object), (gst_base_sink_event),
17945         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17946         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17947         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17948         (gst_base_sink_deactivate), (gst_base_sink_activate),
17949         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17950         (gst_base_sink_query), (gst_base_sink_change_state):
17951         Basesink cleanups, remove some old code.
17952         Handle the case where a subclass can preroll in the render
17953         method (mostly audiosinks).
17954         Handle more events.
17955         Remove some locks around variables that are now protected
17956         with the PREROLL_LOCK (clock_id, flushing, ..).
17957         Optimize position query some more, do correct locking.
17958         Remove old code to push queue in state change, this is not
17959         needed anymore since preroll blocks on all prerollable items 
17960         now.
17961         Almost implemented as described in design doc.
17962
17963 2006-01-30  Wim Taymans  <wim@fluendo.com>
17964
17965         * tests/check/gst/gstbin.c: (GST_START_TEST):
17966         Wait for refcount to settle down before checking.
17967
17968 2006-01-30  Wim Taymans  <wim@fluendo.com>
17969
17970         * docs/design/part-element-sink.txt:
17971         Pseudo code overview of desired sink behaviour regarding
17972         preroll.
17973
17974 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17975         * win32/vs6/grammar.dsp:
17976           fix some bugs in Release mode for autogenerated files
17977                 
17978 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17979         * win32/common/libgstbase.def:
17980         * win32/common/libgstreamer.def:
17981           export some new symbols: gst_base_src_set_format,
17982           gst_iterator_next, gst_structure_set_valist
17983
17984 2006-01-29  Julien MOUTTE  <julien@moutte.net>
17985
17986         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17987         Set pad functions unconditionally. Fixes #329105.
17988
17989 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17990         * win32/vs8:
17991           add vs8 project files created by Sergey Scobich
17992
17993 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
17994
17995         * gst/gstutils.c: (gst_element_unlink_pads):
17996         Don't leak pad references.
17997
17998         * tests/check/elements/fakesink.c: (GST_START_TEST):
17999         * tests/check/generic/sinks.c: (GST_START_TEST):
18000         * tests/check/generic/states.c: (GST_START_TEST):
18001         * tests/check/gst/gstbin.c: (GST_START_TEST):
18002         * tests/check/gst/gstcaps.c: (GST_START_TEST):
18003         * tests/check/gst/gstelement.c: (GST_START_TEST):
18004         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
18005         * tests/check/gst/gstiterator.c: (GST_START_TEST):
18006         * tests/check/gst/gstvalue.c: (GST_START_TEST):
18007         Fix a bunch of leaks. Make generic/sinks.c
18008         use a bit less cpu by slowing the buffer rate
18009         between fakesrc and fakesink.
18010         
18011 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
18012         * gst/gstcaps.c:
18013         * gst/gstelement.c: (gst_element_send_event):
18014         * gst/gstevent.c:
18015         * gst/gstinfo.c:
18016         * gst/gstiterator.c:
18017         * gst/gstiterator.h:
18018         * gst/gstpad.c: (gst_pad_send_event):
18019         * gst/gststructure.c:
18020         * gst/gsturi.c:
18021         * gst/gstutils.c:
18022         * gst/gstvalue.c:
18023         * libs/gst/base/gstadapter.c:
18024           doc fixes, to link to function, just write gst_cool_function(), don't
18025           prefix with '#'
18026
18027 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
18028
18029         * plugins/elements/gsttee.c: (gst_tee_do_push),
18030         (gst_tee_handle_buffer):
18031         Always prefer an actual return value from a src
18032         pad in place of NOT_LINKED. This means we return
18033         WRONG_STATE when all src pads are WRONG_STATE
18034         instead of NOT_LINKED.
18035
18036         Lock when replacing the last message to prevent
18037         racing with the get_property method.
18038
18039         Add debug output
18040
18041 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
18042
18043         * tests/check/Makefile.am:
18044         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
18045         (main):
18046         Add a very simple check that should have caught the memleak I fixed
18047         last night (if not for the slice allocator hiding it)
18048
18049 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
18050
18051         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
18052         (gst_bin_remove_func), (gst_bin_handle_message_func),
18053         (bin_query_duration_fold), (bin_query_generic_fold):
18054         Clean up references to the clock provider when disposed or when
18055         handling a clock-lost message from it.
18056
18057         Unref sinks when performing a query via gst_iterator_fold, as the
18058         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
18059
18060         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
18061         (gst_clock_set_master):
18062         Drop our reference to the master clock, if any, when we are disposed.
18063
18064         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
18065         Chain up in dispose. 
18066
18067 2006-01-26  Wim Taymans  <wim@fluendo.com>
18068
18069         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
18070         Add some debugging.
18071
18072 2006-01-26  Julien MOUTTE  <julien@moutte.net>
18073
18074         * plugins/elements/gsttee.c: (gst_tee_do_push),
18075         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
18076         handles pad being NOT_LINKED or in WRONG_STATE.
18077
18078 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
18079
18080         * win32/MANIFEST:
18081           more updating
18082
18083 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
18084
18085         * win32/MANIFEST:
18086           remove obsolete entry
18087
18088 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
18089
18090         * docs/gst/gstreamer-sections.txt:
18091         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
18092         (gst_bin_iterate_sources), (gst_bin_send_event):
18093         * gst/gstbin.h:
18094         * gst/gstelement.c: (gst_element_send_event):
18095         * gst/gstevent.c:
18096         * gst/gstpad.c: (gst_pad_send_event):
18097           added code for downstream events, reviewed docs in gstevent.c
18098
18099 2006-01-25  Julien MOUTTE  <julien@moutte.net>
18100
18101         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18102         We only query position using the clock in the playing state.
18103         Query peer in the other cases.
18104         * win32/common/config.h: Updates.
18105
18106 2006-01-24  Wim Taymans  <wim@fluendo.com>
18107
18108         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
18109         A clock entry that is scheduled for the exact time of the
18110         clock is still in time.
18111
18112         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18113         (gst_base_sink_do_sync):
18114         Add some more debug info.
18115
18116 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
18117
18118         * win32/vs7:
18119           Add new vs7 project files and solution.
18120
18121 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
18122
18123         * win32/vs7:
18124           all files removed as they were out-dated.
18125
18126 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18127
18128         * docs/random/release:
18129           update notes
18130         * gst/gstbin.c: (gst_bin_init):
18131         * gst/gstbus.c: (gst_bus_new):
18132         * gst/gstbus.h:
18133         * gst/gstpipeline.c: (gst_pipeline_init):
18134           use gst_bus_new(), improve logging, fix docs
18135         * win32/common/config.h:
18136           update for cvs build
18137
18138 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18139
18140         * autogen.sh:
18141           up required version of automake to 1.7
18142
18143 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
18144
18145         * win32/common/libgstreamer.def:
18146           export gst_buffer_is_metadata_writable
18147
18148 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
18149
18150         * docs/gst/gstreamer-sections.txt:
18151         * gst/gstevent.h:
18152           Add gst_event_replace() (#327001)
18153
18154 2006-01-20  Wim Taymans  <wim@fluendo.com>
18155
18156         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
18157         Make it actually compile too..
18158
18159 2006-01-20  Wim Taymans  <wim@fluendo.com>
18160
18161         * gst/gstcaps.c:
18162         Clarify behaviour of _is_equal() when passing NULL parameters.
18163
18164         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
18165         (gst_pad_set_caps):
18166         Cleanups. Don't unref NULL caps.
18167         When setting the same caps, protect caps of the pad with
18168         proper lock.
18169         Use full functionality of _is_equal() when comparing caps.
18170
18171 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
18172
18173         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
18174         Don't loop infinitely if there are no buffers to present. Partially
18175         fixes #327197, but collectpads is just broken for reusing elements
18176         to do multiple encodes atm.
18177
18178 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
18179
18180         * tools/gst-inspect.c: (print_element_features):
18181         * tools/gst-xmlinspect.c: (main):
18182         URL_HANDLER is not a plugin feature we can search for in
18183         the registry.
18184
18185 2006-01-19  Edward Hervey  <edward@fluendo.com>
18186
18187         * gst/gstelement.c: (gst_element_pads_activate): 
18188         When activating, do src pads first, then sink pads.
18189         When de-activating, do sink pads first, then src pads.
18190
18191 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
18192
18193         * docs/gst/gstreamer-sections.txt:
18194         Add gst_index_add_associationv to the docs
18195
18196 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
18197
18198         * gst/gstevent.c:
18199           Fix docs typo
18200
18201         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
18202         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
18203           Do some refactoring. Doesn't actually change functionality,
18204           but makes landing the DRAIN event easier later.
18205
18206 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
18207
18208         * docs/pwg/advanced-scheduling.xml:
18209           Update from 0.9.x to 0.10 API and make example a bit
18210           clearer.
18211
18212 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
18213
18214         * docs/gst/gstreamer-sections.txt:
18215         Add gst_buffer_(is|make)_metadata_writable methods.
18216
18217 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
18218
18219         * docs/design/part-sparsestreams.txt:
18220         Update sparse streams doc, hopefully for greater clarity
18221
18222 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
18223
18224         * docs/design/part-events.txt:
18225         Remove mention of FILLER events.
18226         Add DRAIN event.
18227
18228         * docs/design/part-sparsestreams.txt:
18229         Write some things about using NEWSEGMENT to keep sparse streams
18230         flowing.
18231
18232 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
18233
18234         * gst/gstbin.c: (gst_bin_dispose):
18235           Guard gst_object_unref call against a NULL object (dispose
18236           can theoretically be called multiple times).
18237           
18238 2006-01-18  Wim Taymans  <wim@fluendo.com>
18239
18240         * gst/gstbin.c: (gst_bin_element_set_state):
18241         * gst/gstclock.c: (gst_clock_id_wait):
18242         Added some more debug info.
18243
18244         * libs/gst/base/gstadapter.c:
18245         Added more docs.
18246
18247         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18248         (gst_base_sink_do_sync), (gst_base_sink_chain):
18249         Added some comments.
18250
18251 2006-01-18  Wim Taymans  <wim@fluendo.com>
18252
18253         * tests/check/Makefile.am:
18254         * tests/check/elements/fakesink.c: (chain_async_buffer),
18255         (chain_async), (chain_async_return), (GST_START_TEST),
18256         (fakesink_suite), (main):
18257         Added fakesink test that checks prerolling and clipping
18258         behaviour.
18259
18260         * tests/check/gst/gstutils.c: (GST_START_TEST):
18261         Make check run faster so that buildbots don't timeout.
18262
18263 2006-01-18  Wim Taymans  <wim@fluendo.com>
18264
18265         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18266         (gst_base_sink_do_sync):
18267         Some cleanups.
18268         When the sink finishes blocking on the preroll buffer, it can
18269         immediatly render it instead of rendering when the next buffer
18270         arrives.
18271
18272 2006-01-18  Wim Taymans  <wim@fluendo.com>
18273
18274         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
18275         (gst_base_sink_get_property), (gst_base_sink_do_sync),
18276         (gst_base_sink_chain):
18277         Small cleanups.
18278         GST_ELEMENT_CLOCK and sync are protected with LOCK.
18279         Don't store _last_stop if the buffer is dropped.
18280
18281 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
18282
18283         * plugins/elements/gsttypefindelement.c:
18284         (gst_type_find_element_class_init):
18285           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
18286           object method handler that sets the caps on the pad and we want
18287           that to happen before we emit the signal (fixes e.g. feeding a
18288           plain text file to decodebin).
18289
18290 2006-01-18  Christian Schaller  <Christian@fluendo.com>
18291
18292         * gst/gstplugin.c: Add MPL and Proprietary as license options
18293
18294 2006-01-18  Andy Wingo  <wingo@pobox.com>
18295
18296         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
18297         symbol was exported before, it appears this was just an oversight.
18298         Fixes #168703.
18299         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
18300
18301         * gst/gstindex.c (gst_index_add_associationv): Changed int in
18302         prototype to gint. OK since this prototype was not in the header.
18303
18304 2006-01-17  Andy Wingo  <wingo@pobox.com>
18305
18306         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
18307         registry while we remove plugins.
18308
18309         * tools/gst-inspect.c (print_element_info): Don't unref the
18310         factory arg, that should be the responsibility of whatever code
18311         received the ref. Fixes a double-free when called from
18312         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
18313         (main): Unref the factory if we have one.
18314         (print_element_list): No change -- relies on the
18315         plugin_feature_list_free to free the list of features.
18316
18317 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
18318
18319         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18320         (gst_buffer_make_metadata_writable):
18321         * gst/gstbuffer.h:
18322         * libs/gst/base/gstbasetransform.c:
18323         (gst_base_transform_prepare_output_buf):
18324         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18325         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18326           Replace gst_buffer_(make|is)_metadata_writable patch now
18327           that the release is out.
18328
18329 2006-01-17  Andy Wingo  <wingo@pobox.com>
18330
18331         * gst/gstregistry.c: Reflow design comment. Update so as to speak
18332         in the present tense without reference to versions.
18333
18334         * gst/gstregistry.c (gst_registry_add_plugin)
18335         (gst_registry_remove_plugin, gst_registry_remove_feature)
18336         (gst_registry_find_feature, gst_registry_get_feature_list)
18337         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
18338         (gst_registry_lookup, gst_registry_scan_path)
18339         (_gst_registry_remove_cache_plugins)
18340         (gst_registry_get_feature_list_by_plugin): Add argument
18341         validation.
18342
18343 === release 0.10.2 ===
18344
18345 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
18346
18347         * configure.ac:
18348           releasing 0.10.2, "If man is five"
18349
18350 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18351
18352         * gst/gstbuffer.c:
18353         * gst/gstbuffer.h:
18354         * libs/gst/base/gstbasetransform.c:
18355         (gst_base_transform_prepare_output_buf):
18356         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18357         * tests/check/gst/gstbuffer.c: (gst_test_suite):
18358           Back out patch until after the release.
18359
18360 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18361
18362         * gst/gstminiobject.c:
18363           Spelling fix in docs.
18364         * ChangeLog - remove conflict indicator
18365
18366 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18367
18368         Reviewed By: Andy Wingo
18369
18370         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18371         (gst_buffer_make_metadata_writable):
18372         * gst/gstbuffer.h:
18373           Add gst_buffer_(is|make)_metadata_writable as analogues of
18374           gst_buffer_(is|make)_writable.
18375
18376         * libs/gst/base/gstbasetransform.c:
18377         (gst_base_transform_prepare_output_buf):
18378         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18379           Use name gst_buffer_(is|make)_metadata_writable functions.
18380
18381         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18382           Test gst_buffer_(is|make)_metadata_writable
18383         
18384           (Closes: #324162)
18385
18386 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
18387
18388         * docs/manual/Makefile.am:
18389           don't do parallel make
18390         * configure.ac:
18391           AC_SUBST HOST_CPU
18392         * win32/common/config.h.in:
18393           add generations for HOST_CPU and GST_MAJORMINOR
18394         * win32/common/config.h:
18395           commit generated result
18396
18397 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
18398
18399         * docs/manual/appendix-integration.xml:
18400           Update GNOME integration section to use gst_init_get_option_group()
18401           instead of the old popt stuff (#322911). Also, GNOME applications
18402           should  now use gconf*sink and gconf*src instead of the old gconf
18403           helper lib we had.
18404
18405 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
18406
18407
18408         * docs/gst/gstreamer-docs.sgml:
18409         * docs/gst/gstreamer-sections.txt:
18410         * docs/libs/gstreamer-libs-sections.txt:
18411           add new API entries to the docs
18412         * libs/gst/controller/Makefile.am:
18413         * libs/gst/controller/gstcontroller.c:
18414         * libs/gst/controller/gstcontroller.h:
18415         * libs/gst/controller/gstcontrollerprivate.h:
18416         * libs/gst/controller/gsthelper.c:
18417         * libs/gst/controller/gstinterpolation.c:
18418           move private structs to private header
18419         * po/README:
18420           gstreamer-0.7 -> gstreamer-0.10
18421         * tests/check/libs/struct_i386.h:
18422           remove private structs
18423
18424 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18425
18426         * plugins/indexers/Makefile.am:
18427           Fixes as part of #317048
18428
18429 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18430
18431         * plugins/indexers/Makefile.am:
18432           fix #316086 - compilation when mmap is missing
18433
18434 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
18435
18436         * libs/gst/base/gstbasesink.c:
18437           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
18438           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
18439         * win32/common/config.h:
18440           added some defines GST_MAJORMINOR and HOST_CPU
18441         * win32/common/libgstbase.def:
18442         * win32/common/libgstreamer.def:
18443           added some exported functions.
18444
18445 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18446
18447         * libs/gst/controller/gstcontroller.c:
18448         (gst_controlled_property_set_interpolation_mode),
18449         (gst_controlled_property_new):
18450         * libs/gst/controller/gstcontroller.h:
18451         * libs/gst/controller/gstinterpolation.c:
18452         (interpolate_none_get_string_value_array):
18453           make G_TYPE_STRING controlable
18454
18455 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18456
18457         * tools/README:
18458         * tools/gst-feedback.1.in:
18459         * tools/gst-inspect.1.in:
18460         * tools/gst-launch.1.in:
18461         * tools/gst-md5sum.1.in:
18462         * tools/gst-typefind.1.in:
18463         * tools/gst-xmlinspect.1.in:
18464         * tools/gst-xmllaunch.1.in:
18465           cleanup man-pages, remove reference to gst-register, document env-vars
18466
18467 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
18468
18469         * gst/gstbuffer.c: (gst_buffer_span):
18470           gst_buffer_span should copy the timestamp of the first buffer
18471           if they were both originally overlapping subbuffers of the 
18472           same parent, using the same logic as the 'slow copy' case.
18473
18474 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
18475
18476         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
18477           Need to awaken ALL the pads when we pop a buffer, otherwise
18478           collectpads only works when there is 2 input streams.
18479
18480 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
18481
18482         * docs/random/ensonic/media-device-daemon.txt:
18483           more ideas (dbus)
18484         * gst/gstbuffer.c:
18485           fix doc example, add clarification
18486         * tools/gst-launch.1.in:
18487           add initial info about GST_PLUGIN_PATH, needs more work
18488
18489 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
18490
18491         * docs/manual/basics-bins.xml:
18492         * docs/manual/basics-elements.xml:
18493         * docs/manual/intro-basics.xml:
18494           Some more minor docs additions and updates.
18495
18496 2006-01-11  Wim Taymans  <wim@fluendo.com>
18497
18498         * docs/manual/basics-bins.xml:
18499         * docs/manual/basics-elements.xml:
18500         Some small fixes as pointed out by Ser-ver on IRC.
18501
18502 2006-01-10  Edward Hervey  <edward@fluendo.com>
18503
18504         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18505         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
18506         the single-segment mode.
18507
18508 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
18509
18510         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18511
18512         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
18513         (gst_base_src_perform_seek), (gst_base_src_send_event),
18514         (gst_base_src_set_property), (gst_base_src_get_property),
18515         (gst_base_src_loop), (gst_base_src_start),
18516         (gst_base_src_activate_push):
18517         * libs/gst/base/gstbasesrc.h:
18518           Name (private) union; makes Sun's Forte compiler happy (#324900).
18519
18520 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
18521
18522         * README:
18523           gst-register is gone.
18524
18525 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
18526
18527         * gst/gstvalue.c: (_gst_value_initialize):
18528           make the G_TYPE_DATE instantiation work if debug is disabled
18529
18530 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
18531
18532         * gst/gstmessage.c: (gst_message_parse_tag),
18533         (gst_message_parse_error), (gst_message_parse_warning):
18534           Don't crash when return location for error/warning debug
18535           string is NULL; add fact that return locations can be
18536           NULL to docs where appropriate.
18537
18538 2006-01-05  Wim Taymans  <wim@fluendo.com>
18539
18540         * gst/gstplugin.c: (gst_plugin_load_file):
18541         Replace strdup by g_strdup.
18542
18543 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18544
18545         * docs/pwg/advanced-types.xml:
18546           fix doc borkage
18547
18548 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18549
18550         submitted by: Abel Cheung
18551
18552         * po/LINGUAS:
18553         * po/zh_TW.po:
18554           Added Chinese (traditional) translation
18555
18556 2006-01-04  Wim Taymans  <wim@fluendo.com>
18557
18558         * docs/manual/basics-pads.xml:
18559         * docs/plugins/Makefile.am:
18560         * docs/plugins/gstreamer-plugins-docs.sgml:
18561         * docs/plugins/gstreamer-plugins-sections.txt:
18562         * docs/pwg/advanced-clock.xml:
18563         * docs/pwg/advanced-scheduling.xml:
18564         * docs/pwg/advanced-types.xml:
18565         * plugins/elements/gstfdsink.c:
18566         * plugins/elements/gstfdsrc.c:
18567         * plugins/elements/gstfdsrc.h:
18568         * plugins/elements/gstidentity.c: (gst_identity_class_init):
18569         * plugins/elements/gstidentity.h:
18570         * plugins/elements/gstqueue.h:
18571         * plugins/elements/gsttee.c:
18572         * plugins/elements/gsttee.h:
18573         * plugins/elements/gsttypefindelement.c:
18574         (gst_type_find_element_class_init):
18575         * plugins/elements/gsttypefindelement.h:
18576         Small updates to various docs.
18577         Added core plugins to docs.
18578
18579 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18580
18581         * common/gst.supp:
18582           add a suppression for liboil's uninitialized variable
18583
18584 2006-01-02  James Livingston  <jrl at ids dot org dot au>
18585
18586         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18587
18588         * gst/gstutils.h:
18589           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18590           macro, so that gcc doesn't complain if the -Wmissing-prototypes
18591           compiler switch is being used (#325429).
18592
18593 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
18594
18595         * gst/gstbin.c: (gst_bin_query):
18596           Disable duration query caching in bins until it gets
18597           fixed (see #324807).
18598
18599 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18600
18601         * tools/gst-inspect.c: (print_element_properties_info):
18602           Handle properties of POINTER and BOXED type.
18603
18604 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18605
18606         * gst/gst.c: (init_post):
18607           Init tags stuff and some other things before loading
18608           any static plugins (there may be other static plugins
18609           than just the GStreamer ones, and they may want to
18610           register their own tags or formats or whatever, and
18611           preferably without segfaulting).
18612
18613         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18614           Print at least a warning in the debug logs if we drop a
18615           query just because we don't know how to adjust the value
18616           in the particular format.
18617
18618 2005-12-24  David Schleef  <ds@schleef.org>
18619
18620         * tools/gstreamer-completion:
18621           Replacement for gst-complete written in sh and sed.  Only
18622           completes names of features, but that's 90% of what I want
18623           it for.  Properties are not available in registry.xml.  (Maybe
18624           they should be...)
18625
18626 === release 0.10.1 ===
18627
18628 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
18629
18630         * configure.ac:
18631           releasing 0.10.1, "Nollaig chridheil"
18632
18633 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
18634
18635         * docs/faq/cvs.xml:
18636           Add missing quote, should be make ERROR_CFLAGS="".
18637
18638 2005-12-20  Wim Taymans  <wim@fluendo.com>
18639
18640         * docs/design/part-trickmodes.txt:
18641         More documentation on trickmodes.
18642
18643 2005-12-20  Edward Hervey  <edward@fluendo.com>
18644
18645         * gst/gstcaps.c: (gst_static_caps_get_type):
18646         * gst/gstcaps.h:
18647           API addition: GST_TYPE_STATIC_CAPS
18648         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18649         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18650         * gst/gstpadtemplate.h:
18651           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18652         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18653         bindings.
18654
18655 2005-12-18  Wim Taymans  <wim@fluendo.com>
18656
18657         * libs/gst/base/gstadapter.c:
18658         * libs/gst/base/gstadapter.h:
18659         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18660         (gst_base_sink_get_position):
18661         * libs/gst/base/gstbasesink.h:
18662         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18663         (gst_base_src_default_query), (gst_base_src_default_do_seek),
18664         (gst_base_src_do_seek), (gst_base_src_perform_seek),
18665         (gst_base_src_send_event), (gst_base_src_update_length),
18666         (gst_base_src_get_range), (gst_base_src_loop),
18667         (gst_base_src_start):
18668         * libs/gst/base/gstbasesrc.h:
18669         * libs/gst/base/gstbasetransform.h:
18670         * libs/gst/base/gstcollectpads.h:
18671         * libs/gst/base/gstpushsrc.c:
18672         * libs/gst/base/gstpushsrc.h:
18673         * libs/gst/dataprotocol/dataprotocol.c:
18674         * libs/gst/dataprotocol/dataprotocol.h:
18675         * libs/gst/net/gstnetclientclock.h:
18676         * libs/gst/net/gstnettimeprovider.h:
18677         Documentation updates.
18678
18679 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
18680
18681         * docs/manual/basics-helloworld.xml:
18682           Remove superfluous closing bracket in helloworld example.
18683
18684 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
18685
18686         * tools/gst-launch.1.in:
18687           Update gst-launch man page; add a section with useful
18688           environment variables. Fixes #323882.
18689
18690 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
18691
18692         * gst/gst.c:
18693         * gst/gst_private.h:
18694           change some char* into char[]
18695
18696 2005-12-16  Wim Taymans  <wim@fluendo.com>
18697
18698         * gst/gstregistryxml.c: (load_feature):
18699         Cleanups.
18700         Don't use g_object_unref on GstObjects so that we avoid
18701         leaks on unsafe glibs.
18702
18703 2005-12-16  Wim Taymans  <wim@fluendo.com>
18704
18705         * gst/gstbin.c: (gst_bin_recalc_state):
18706         Small doc updates.
18707
18708 2005-12-16  Wim Taymans  <wim@fluendo.com>
18709
18710         * common/check.mak:
18711         Added make forever target for check.
18712
18713 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18714
18715         * gst/gst.c: (init_post):
18716           make the registry cache file HOST_CPU-dependent
18717
18718 2005-12-16  Andy Wingo  <wingo@pobox.com>
18719
18720         * plugins/elements/gstbufferstore.c
18721         (gst_buffer_store_cleared_func): Pay attention to g_list_append
18722         return value.
18723
18724         * tests/check/gst/gstobject.c
18725         (test_fake_object_name_threaded_unique): Pay attention to
18726         g_list_sort return value.
18727
18728 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
18729
18730         * tools/gst-feedback-m.m:
18731           Update for 0.9/0.10 (fixes #323870).
18732
18733 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
18734
18735         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18736           Fix lcopy for mini objects, the mini object needs to be ref'ed.
18737           
18738         * tests/check/gst/gstminiobject.c: (my_foo_init),
18739         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18740         (test_value_collection), (gst_mini_object_suite):
18741           Add test to ensure refcounts end up as expected when passing
18742           GstMiniObjects through g_object_get() and g_object_set().
18743
18744 2005-12-14  Julien MOUTTE  <julien@moutte.net>
18745
18746         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18747         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18748         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18749         of collectpads. This version removes a lot of races without
18750         touching API/ABI. Yay !
18751
18752 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
18753
18754         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18755           Don't allow activation of a srcpad in pull_range if it has no
18756           getrange function.
18757           Change some debug statements to be a little clearer
18758
18759         * plugins/elements/gsttypefindelement.c:
18760         (gst_type_find_handle_src_query):
18761           Check that we have a peer before executing queries thereupon.
18762
18763         * tests/examples/metadata/read-metadata.c: (message_loop):
18764           Use gst_bus_pop instead of gst_bus_poll when we just want it to
18765           immediately return us any available message with 0 timeout.
18766
18767 2005-12-12  Michael Smith  <msmith@fluendo.com>
18768
18769         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18770           Don't unref factories after calling them.
18771         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18772         * plugins/elements/gsttypefindelement.c:
18773         (gst_type_find_element_chain):
18774           Free lists of factories after using them. Fixing typefinding memory
18775           leaks.
18776
18777 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18778
18779         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18780         (gst_plugin_feature_load):
18781           more meaningful debug output
18782         * configure.ac:
18783         * tests/Makefile.am:
18784         * tests/old/examples/Makefile.am:
18785           make make distcheck happy again
18786
18787 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18788
18789         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18790           Catch the special case where we are operating chain-based,
18791           but the downstream peer pad has no chain function. Emit a
18792           custom error message in this case instead of letting the
18793           core generate one implying that this is some sort of core
18794           bug. It's not, it just means that whatever got plugged
18795           into the pipeline downstream when we announced the type
18796           can only operate pull-based, while our source can only
18797           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18798           Error string has not been marked for translation yet, as
18799           it probably needs some more work first.
18800
18801         (gst_type_find_element_get_best_possibility):
18802           Add helper function to find the best of all available
18803           found possibilities that qualify given the min. threshold.
18804
18805         (gst_type_find_element_handle_event):
18806           Fix the case where we get an EOS while still in TYPEFIND
18807           mode (we want to chose the best of all possible types,
18808           not just the first type that happens to be in our unsorted
18809           list of possible types).
18810
18811         (gst_type_find_element_chain):
18812           Make sure we return GST_FLOW_ERROR when we errored out
18813           in stop_typefinding(); also, don't just find the best of
18814           all found type entries and then use the last examined
18815           type entry, but actually use the best entry.
18816
18817 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18818
18819         * tests/examples/typefind/typefind.c: (type_found):
18820         * tests/examples/xml/runxml.c: (xml_loaded):
18821           More gcc4 fixes and a mem leak fix.
18822
18823 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18824
18825         * tests/examples/xml/createxml.c: (object_saved):
18826           gcc 4 fixes
18827
18828 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18829
18830         * tests/Makefile.am:
18831           enable the examples even more
18832
18833 2005-12-12  Andy Wingo  <wingo@pobox.com>
18834
18835         * libs/gst/net/gstnettimeprovider.c
18836         (gst_net_time_provider_class_init, gst_net_time_provider_init)
18837         (gst_net_time_provider_set_property)
18838         (gst_net_time_provider_get_property):
18839         API addition: Export "active" as a GObject property.
18840         (gst_net_time_provider_thread): Only respond to time queries if
18841         the time provider is active.
18842
18843         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18844         NetTimeProvider, preserving binary compat.
18845
18846 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18847
18848         * tests/examples/controller/audio-example.c: (main):
18849         * tests/examples/launch/Makefile.am:
18850           convert comments again
18851
18852 2005-12-12  Wim Taymans  <wim@fluendo.com>
18853
18854         * libs/gst/base/gstpushsrc.c:
18855         Fix typo.
18856
18857 2005-12-12  Wim Taymans  <wim@fluendo.com>
18858
18859         * docs/libs/gstreamer-libs-sections.txt:
18860         Added new symbol to docs.
18861
18862         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18863         (gst_base_src_init), (gst_base_src_set_format),
18864         (gst_base_src_default_query), (gst_base_src_query),
18865         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18866         (gst_base_src_perform_seek), (gst_base_src_send_event),
18867         (gst_base_src_default_event), (gst_base_src_event_handler),
18868         (gst_base_src_set_property), (gst_base_src_get_property),
18869         (gst_base_src_wait), (gst_base_src_do_sync),
18870         (gst_base_src_update_length), (gst_base_src_get_range),
18871         (gst_base_src_check_get_range), (gst_base_src_loop),
18872         (gst_base_src_default_negotiate), (gst_base_src_start),
18873         (gst_base_src_activate_push), (gst_base_src_activate_pull),
18874         (gst_base_src_change_state):
18875         * libs/gst/base/gstbasesrc.h:
18876         Implement seeking to other formats than _BYTES.
18877         Implement more seeking methods correctly.
18878         Doc updates.
18879         Added query vmethod.
18880         Added do_seek vmethod to make life easier for subclasses
18881         when seeking.
18882         API addition: gst_base_src_set_format()
18883
18884 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18885
18886         * tests/examples/Makefile.am:
18887           added that too
18888
18889 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18890
18891         * configure.ac:
18892         * docs/random/ensonic/media-device-daemon.txt:
18893         * tests/examples/controller/.cvsignore:
18894         * tests/examples/controller/Makefile.am:
18895         * tests/examples/controller/audio-example.c: (main):
18896         * tests/examples/helloworld/.cvsignore:
18897         * tests/examples/helloworld/Makefile.am:
18898         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18899         * tests/examples/launch/.cvsignore:
18900         * tests/examples/launch/Makefile.am:
18901         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18902         * tests/examples/metadata/.cvsignore:
18903         * tests/examples/metadata/Makefile.am:
18904         * tests/examples/metadata/read-metadata.c: (message_loop),
18905         (make_pipeline), (print_tag), (main):
18906         * tests/examples/queue/.cvsignore:
18907         * tests/examples/queue/Makefile.am:
18908         * tests/examples/queue/queue.c: (event_loop), (main):
18909         * tests/examples/typefind/.cvsignore:
18910         * tests/examples/typefind/Makefile.am:
18911         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18912         (main):
18913         * tests/examples/xml/.cvsignore:
18914         * tests/examples/xml/Makefile.am:
18915         * tests/examples/xml/createxml.c: (object_saved), (main):
18916         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18917         * tests/old/examples/Makefile.am:
18918         * tests/old/examples/TODO:
18919         * tests/old/examples/controller/.cvsignore:
18920         * tests/old/examples/controller/Makefile.am:
18921         * tests/old/examples/controller/audio-example.c:
18922         * tests/old/examples/helloworld/.cvsignore:
18923         * tests/old/examples/helloworld/Makefile.am:
18924         * tests/old/examples/helloworld/helloworld.c:
18925         * tests/old/examples/launch/.cvsignore:
18926         * tests/old/examples/launch/Makefile.am:
18927         * tests/old/examples/launch/mp3parselaunch.c:
18928         * tests/old/examples/launch/mp3play:
18929         * tests/old/examples/manual/Makefile.am:
18930         * tests/old/examples/metadata/Makefile.am:
18931         * tests/old/examples/metadata/read-metadata.c:
18932         * tests/old/examples/queue/.cvsignore:
18933         * tests/old/examples/queue/Makefile.am:
18934         * tests/old/examples/queue/queue.c:
18935         * tests/old/examples/typefind/.cvsignore:
18936         * tests/old/examples/typefind/Makefile.am:
18937         * tests/old/examples/typefind/typefind.c:
18938         * tests/old/examples/xml/.cvsignore:
18939         * tests/old/examples/xml/Makefile.am:
18940         * tests/old/examples/xml/createxml.c:
18941         * tests/old/examples/xml/runxml.c:
18942           applied some simple fixing to some examples
18943           re-enabled the working examples
18944
18945 2005-12-12  Wim Taymans  <wim@fluendo.com>
18946
18947         * gst/gstsegment.c: (gst_segment_init),
18948         (gst_segment_set_last_stop), (gst_segment_set_seek),
18949         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18950         (gst_segment_to_running_time):
18951         Added more documentation.
18952         Make sure the last_pos value is updated properly.
18953         Make sure to_stream_time and to_running_time don't
18954         operate on wrong values.
18955
18956         * tests/check/gst/gstsegment.c: (GST_START_TEST):
18957         Update check.
18958
18959 2005-12-12  Michael Smith  <msmith@fluendo.com>
18960
18961         * plugins/elements/gsttypefindelement.c: (free_entry),
18962         (gst_type_find_element_chain):
18963           Now that we're not leaking factories, make sure we keep references
18964           to them while we need them.
18965
18966 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18967
18968         * tests/check/gst/struct_i386.h:
18969           ifdef out the XML structs
18970
18971 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18972
18973         * gst/gstvalue.c: (gst_value_transform_double_fraction):
18974           floor is not needed, F is always positive; this obviates the
18975           need for adding -lm when building without libxml
18976
18977 2005-12-12  Wim Taymans  <wim@fluendo.com>
18978
18979         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18980         Take current playback rate into account when reporting
18981         the position.
18982
18983 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18984
18985         * docs/manual/mime-world.fig:
18986           Let's try this again, this time with a file that is
18987           actually in XFig format.
18988
18989 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18990
18991         * docs/manual/mime-world.fig:
18992           Add audioconvert element to diagram so that it
18993           matches the text and the code (fixes #319526).
18994
18995 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18996
18997         * docs/pwg/building-chainfn.xml:
18998         * docs/pwg/building-pads.xml:
18999         * docs/pwg/building-state.xml:
19000         * docs/pwg/other-source.xml:
19001           Update state change stuff for 0.10 (fixes #322969).
19002
19003 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
19004
19005         * docs/manual/advanced-dataaccess.xml:
19006         * docs/manual/appendix-checklist.xml:
19007         * docs/manual/appendix-programs.xml:
19008         * docs/manual/basics-pads.xml:
19009         * docs/manual/highlevel-components.xml:
19010         * docs/manual/manual.xml:
19011           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
19012           add converters in front of pipelines; remove curly
19013           brackets for threads stuff, they no longer exist; use
19014           GST_TYPE_FRACTION for framerates; update some pieces of
19015           code to 0.10, but there's plenty more to do.
19016
19017         * docs/manual/appendix-porting.xml:
19018           Expand on asynchroneous state changes; s/0.9/0.10/;
19019           mention disappearance of gst_init_get_popt_table()
19020           (fixes #322916).
19021
19022 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
19023
19024         * docs/faq/using.xml:
19025           Spider no longer exists, and neither does gst-launch-ext.
19026           Update examples to use decodebin and playbin and put
19027           converters in front of sinks (fixes #323726).
19028
19029 2005-12-09  Michael Smith  <msmith@fluendo.com>
19030
19031         * plugins/elements/gsttypefindelement.c: (find_peek),
19032         (gst_type_find_element_chain):
19033           Fix leaking element factories in typefinding.
19034           Fix problem where we forgot about a probable type on non-seekable
19035           files, and thus later mis-typefound it.
19036
19037 2005-12-09  Michael Smith  <msmith@fluendo.com>
19038
19039         * common/m4/gst-makecontext.m4:
19040         * common/m4/gst-mcsc.m4:
19041         * configure.ac:
19042         * win32/common/config.h:
19043         * win32/common/config.h.in:
19044           Remove makecontext stuff; not used in 0.10 and causes problems on
19045           HPUX according to bug #322441
19046
19047 2005-12-07  Wim Taymans  <wim@fluendo.com>
19048
19049         * tests/check/Makefile.am:
19050         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
19051         (main):
19052         * tests/check/libs/struct_i386.h:
19053         Added ABI check for libs
19054
19055 2005-12-07  Wim Taymans  <wim@fluendo.com>
19056
19057         * tests/check/Makefile.am:
19058         And add the struct_i386.h to dist.
19059
19060 2005-12-07  Wim Taymans  <wim@fluendo.com>
19061
19062         * tests/check/Makefile.am:
19063         * tests/check/gst/.cvsignore:
19064         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
19065         (main):
19066         * tests/check/gst/struct_i386.h:
19067         Added check for ABI compatibility.
19068
19069 2005-12-07  Wim Taymans  <wim@fluendo.com>
19070
19071         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
19072         (gst_fake_src_get_times), (gst_fake_src_create):
19073         Fix broken sync option, fixes #323259
19074
19075 2005-12-07  Wim Taymans  <wim@fluendo.com>
19076
19077         * gst/gstbuffer.c:
19078         Small docs update.
19079
19080         * gst/gstcaps.c: (gst_caps_is_equal):
19081         Don't assert on NULL <--> X. Fixes #323260
19082
19083         * gst/gstminiobject.c: (gst_mini_object_replace):
19084         If we're doing atomic operations, we might just as well use
19085         the proper way to get an atomic pointer.
19086
19087         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
19088         Clean up debugging.
19089
19090 2005-12-07  Michael Smith  <msmith@fluendo.com>
19091
19092         * gst/parse/grammar.y:
19093           Remove handling of { } for threads.
19094
19095 2005-12-06  David Schleef  <ds@schleef.org>
19096
19097         * libs/gst/base/gstbasetransform.c: speling fix.
19098
19099 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19100
19101         * docs/libs/tmpl/gstdataprotocol.sgml:
19102         * docs/random/omega/testing/gstobject.c:
19103         * gst/gst.c:
19104         * gst/gstclock.c:
19105         * gst/gstelement.c:
19106         * gst/gstelementfactory.c:
19107         * gst/gsterror.c:
19108         * gst/gstevent.c:
19109         * gst/gstghostpad.c:
19110         * gst/gstinfo.c:
19111         * gst/gstpadtemplate.c:
19112         * gst/gstregistryxml.c:
19113         * gst/gsttaglist.c:
19114         * gst/gsttagsetter.c:
19115         * gst/gsttypefind.c:
19116         * gst/gstvalue.c:
19117         * libs/gst/base/gstbasesrc.c:
19118         * libs/gst/net/gstnetclientclock.c:
19119         * libs/gst/net/gstnettimeprovider.c:
19120         * plugins/elements/gstfakesrc.c:
19121         * plugins/elements/gstfdsrc.c:
19122         * plugins/elements/gstfilesrc.c:
19123         * plugins/elements/gstidentity.c:
19124         * plugins/elements/gstqueue.c:
19125         * plugins/elements/gsttypefindelement.c:
19126         * plugins/indexers/gstfileindex.c:
19127         * plugins/indexers/gstmemindex.c:
19128         * tests/check/gst/gsttag.c:
19129         * tests/old/examples/cutter/cutter.c:
19130         * tests/old/examples/mixer/mixer.c:
19131         * tests/old/examples/xml/runxml.c: (main):
19132         * tests/old/testsuite/caps/normalisation.c:
19133         * tests/old/testsuite/debug/global.c:
19134         * tests/old/testsuite/parse/parse1.c:
19135         * tools/gst-xmlinspect.c:
19136         * win32/common/dirent.c:
19137           expand tabs
19138
19139 === release 0.10.0 ===
19140
19141 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19142
19143         * configure.ac:
19144           releasing 0.10.0, "Maroilles"
19145
19146 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
19147
19148         submitted by: Funda Wang <fundawang@linux.net.cn>
19149
19150         * po/LINGUAS:
19151         * po/zh_CN.po:
19152           added Chinese (Traditional) translation
19153
19154 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
19155
19156         * docs/gst/gstreamer-sections.txt:
19157         * docs/libs/tmpl/gstdataprotocol.sgml:
19158         * docs/random/thomasvs/TODO:
19159         * gst/gstutils.c:
19160         * gst/gstutils.h:
19161           fix docs
19162
19163 2005-12-05  Andy Wingo  <wingo@pobox.com>
19164
19165         patch by: Wim Taymans <wim@fluendo.com>
19166
19167         * libs/gst/base/gstbasetransform.c
19168         (gst_base_transform_prepare_output_buf)
19169         (gst_base_transform_buffer_alloc):
19170         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
19171         alloc_buffer_and_set_caps.
19172
19173         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
19174         set_caps on the source pad.
19175         (gst_pad_alloc_buffer_and_set_caps): New function, does what
19176         alloc_buffer used to do. Fixes #322874.
19177
19178         * docs/gst/gstreamer-sections.txt: 
19179         * docs/design/part-negotiation.txt: 
19180         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
19181         changes.
19182
19183 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
19184
19185         patch by: Sebastien Moutte
19186
19187         * win32/MANIFEST:
19188         * win32/common/config.h.in:
19189         * win32/vs6/libgstcontroller.dsp:
19190           win32 build fixes
19191
19192 2005-12-05  Wim Taymans  <wim@fluendo.com>
19193
19194         * gst/gstcaps.c: (gst_caps_is_equal):
19195         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
19196         (gst_fake_src_create):
19197         Back out previous code changes, leave doc updates, file bugs 
19198         instead. 
19199
19200 2005-12-05  Wim Taymans  <wim@fluendo.com>
19201
19202         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
19203         (gst_fake_src_get_times), (gst_fake_src_create):
19204         * plugins/elements/gstfakesrc.h:
19205         Fix broken sync code.
19206
19207 2005-12-05  Wim Taymans  <wim@fluendo.com>
19208
19209         * gst/gstcaps.c: (gst_caps_is_equal):
19210         Comparing NULL against !NULL yields different caps, not a
19211         failure.
19212
19213 2005-12-05  Wim Taymans  <wim@fluendo.com>
19214
19215         * gst/gstpipeline.c:
19216         Fix small typo in docs.
19217
19218 2005-12-05  Andy Wingo  <wingo@pobox.com>
19219
19220         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
19221
19222         * gst/gst.c (init_post): remove hard-coded 0.9 location for
19223         registries/plugins with a MAJORMINOR one.
19224         (plugin_desc): Rename library from gstcoreleements to
19225         staticelements. Fixes #323222.
19226
19227 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
19228
19229         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
19230           Change debug category to 'collectpads' from 'collect_pads'
19231           (fixes #323250).
19232
19233 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
19234
19235         patch by: Sebastien Moutte
19236
19237         * libs/gst/controller/gstinterpolation.c:
19238           use convert function for uint64/double
19239         * win32/vs6/libgstcontroller.dsp:
19240           link to GLib
19241
19242 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
19243
19244         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
19245         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
19246         * gst/gstutils.h:
19247         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19248           add tests that seem to show that the guint64/gdouble conversions
19249           are correct.
19250
19251 2005-12-02  Wim Taymans  <wim@fluendo.com>
19252
19253         * gst/gstregistry.c: (gst_registry_add_path):
19254         * gst/gstregistry.h:
19255         * gst/gstregistryxml.c:
19256         Fix docs again.
19257
19258 2005-12-02  Wim Taymans  <wim@fluendo.com>
19259
19260         * gst/gstutils.c: (gst_util_uint64_scale_int64),
19261         (gst_util_uint64_scale_int):
19262         Small cleanup.
19263
19264         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19265         Add debug log line.
19266
19267         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
19268         Add FIXME.
19269
19270 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19271
19272         * win32/MANIFEST:
19273         * win32/common/config.h:
19274         * win32/vs6/gstreamer.dsw:
19275         * win32/vs6/libgstcoreelements.dsp:
19276         * win32/vs6/libgstelements.dsp:
19277           renamed core elements plugin
19278
19279 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19280
19281         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
19282         (get_candidates):
19283           do piece-wise major/minor comparison so 0.9 < 0.10
19284           also allow .exe extensions for tools
19285
19286 2005-12-02  Michael Smith  <msmith@fluendo.com>
19287
19288         * gst/gst.c:
19289           Escape a % to make gtkdoc happier; bug 322958.
19290
19291 === release 0.9.7 ===
19292
19293 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19294
19295         * configure.ac:
19296           releasing 0.9.7, "My Dog Has No Nose"
19297
19298 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19299
19300         * common/gst-xmlinspect.py:
19301         * configure.ac:
19302         * docs/libs/tmpl/gstdataprotocol.sgml:
19303         * docs/random/release:
19304         * po/af.po:
19305         * po/az.po:
19306         * po/bg.po:
19307         * po/ca.po:
19308         * po/cs.po:
19309         * po/de.po:
19310         * po/en_GB.po:
19311         * po/fr.po:
19312         * po/it.po:
19313         * po/nb.po:
19314         * po/nl.po:
19315         * po/ru.po:
19316         * po/sq.po:
19317         * po/sr.po:
19318         * po/sv.po:
19319         * po/tr.po:
19320         * po/uk.po:
19321         * po/vi.po:
19322         * win32/common/config.h:
19323         * win32/common/config.h.in:
19324         * win32/vs6/gst_inspect.dsp:
19325         * win32/vs6/gst_launch.dsp:
19326         * win32/vs6/libgstbase.dsp:
19327         * win32/vs6/libgstelements.dsp:
19328         * win32/vs6/libgstreamer.dsp:
19329         * win32/vs7/GStreamer.vcproj:
19330         * win32/vs7/gst-inspect.vcproj:
19331         * win32/vs7/gst-launch.vcproj:
19332         * win32/vs7/libgstbase.vcproj:
19333           bump GST_MAJORMINOR to 0.10
19334           reset libtool version
19335
19336 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19337
19338         * po/LINGUAS:
19339         * po/bg.po:
19340           Added Bulgarian translation by (Alexander Shopov)
19341
19342 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19343
19344         * tests/check/gst/gstplugin.c:
19345           fix test
19346
19347 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19348
19349         * common/gst-xmlinspect.py:
19350         * common/gtk-doc-plugins.mak:
19351         * configure.ac:
19352         * docs/Makefile.am:
19353         * docs/gst/Makefile.am:
19354         * docs/gst/gstreamer-docs.sgml:
19355         * docs/gst/gstreamer-sections.txt:
19356         * docs/gst/gstreamer.types:
19357         * docs/gst/gstreamer.types.in:
19358         * docs/plugins/Makefile.am:
19359         * docs/plugins/gstreamer-plugins-docs.sgml:
19360         * docs/plugins/gstreamer-plugins-sections.txt:
19361         * docs/plugins/gstreamer-plugins.types:
19362         * docs/plugins/inspect.stamp:
19363         * docs/plugins/inspect/plugin-coreelements.xml:
19364         * docs/plugins/inspect/plugin-coreindexers.xml:
19365         * docs/plugins/scanobj-build.stamp:
19366         * gstreamer.spec.in:
19367         * plugins/elements/Makefile.am:
19368         * plugins/elements/gstelements.c:
19369         * plugins/elements/gstfakesink.c:
19370         * plugins/elements/gstfakesrc.c:
19371         * plugins/elements/gstfilesink.c:
19372         * plugins/elements/gstfilesrc.c:
19373         * plugins/elements/gstqueue.c:
19374         * plugins/indexers/Makefile.am:
19375         * plugins/indexers/gstindexers.c:
19376           document core plugins in a separate document just like all the
19377           others
19378           rename these plugins to something starting with core
19379
19380 2005-12-01  Andy Wingo  <wingo@pobox.com>
19381
19382         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
19383         padding here before, but it missed the commit.
19384
19385 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19386
19387         * libs/gst/controller/gstinterpolation.c:
19388           whitespace prices have crashed, we should feel free to use some now
19389           use gst_guint64_to_gdouble
19390
19391 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19392
19393         * libs/gst/controller/gstcontroller.c:
19394         * libs/gst/controller/gsthelper.c:
19395         * libs/gst/controller/gstinterpolation.c:
19396         * libs/gst/controller/lib.c:
19397           wrap config.h include
19398
19399 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19400
19401         * docs/gst/gstreamer-sections.txt:
19402           update docs
19403
19404 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19405
19406         * plugins/elements/gstelements.c:
19407         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
19408         (gst_fd_sink__class_init), (gst_fd_sink__init),
19409         (gst_fd_sink__chain), (gst_fd_sink__set_property),
19410         (gst_fd_sink__get_property):
19411         * plugins/elements/gstfdsink.h:
19412         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
19413         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
19414         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
19415         (gst_fd_src_unlock), (gst_fd_src_set_property),
19416         (gst_fd_src_get_property), (gst_fd_src_create),
19417         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
19418         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
19419         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
19420         (gst_fd_src_uri_handler_init):
19421         * plugins/elements/gstfdsrc.h:
19422         * plugins/elements/gstqueue.c: (gst_queue_get_type):
19423           more anal cleanup
19424
19425 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19426
19427         * docs/gst/Makefile.am:
19428         * docs/gst/gstreamer.types.in:
19429         * gst/Makefile.am:
19430           fix the docs build
19431
19432 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19433
19434         * configure.ac:
19435         * gst/Makefile.am:
19436         * gst/gst.c:
19437         * gst/gstplugin.h:
19438         * gst/gstregistry.h:
19439         * tests/benchmarks/complexity.c:
19440         * tests/benchmarks/mass-elements.c:
19441         * tests/check/Makefile.am:
19442         * tools/Makefile.am:
19443         * tools/gst-inspect.c:
19444         * tools/gst-xmlinspect.c:
19445           various fixes to make
19446           --disable-nls --disable-registry --disable-loadsave
19447           --disable-parse --disable-gst-debug
19448           work and get the core .so down to 360444 bytes after stripping
19449
19450 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19451
19452         * Makefile.am:
19453         * configure.ac:
19454           descend into tests
19455         * docs/random/thomasvs/TODO:
19456         * tests/Makefile.am:
19457         * tests/README:
19458           add a README
19459
19460 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19461
19462         * win32/GStreamer.vcproj:
19463         * win32/MANIFEST:
19464         * win32/Makefile:
19465         * win32/Makefile.inspect:
19466         * win32/Makefile.launch:
19467         * win32/Makefile.register:
19468         * win32/README.txt:
19469         * win32/gst-inspect.vcproj:
19470         * win32/gst-launch.vcproj:
19471         * win32/gst-register.vcproj:
19472         * win32/gstelements.vcproj:
19473         * win32/gstgetbits.def:
19474         * win32/gstgetbits.vcproj:
19475         * win32/gstreamer-dbg.def:
19476         * win32/gstreamer.def:
19477         * win32/libgstbase.def:
19478         * win32/libgstbase.vcproj:
19479         * win32/link_oldruntime.c:
19480         * win32/mman.c:
19481         * win32/mman.h:
19482         * win32/mman.inl:
19483         * win32/msvc71.sln:
19484           move even more stuff, win32/ is nice and clean now
19485
19486 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19487
19488         * libs/gst/control/.cvsignore:
19489         * win32/MANIFEST:
19490         * win32/config.h:
19491         * win32/dirent.c:
19492         * win32/dirent.h:
19493         * win32/gstbytestream.def:
19494         * win32/gstbytestream.vcproj:
19495         * win32/gstconfig.h:
19496         * win32/gstenumtypes.c:
19497         * win32/gstenumtypes.h:
19498         * win32/gstoptimalscheduler.vcproj:
19499         * win32/gstversion.h:
19500         * win32/gtchar.h:
19501         * win32/testsuite/bins.vcproj:
19502         * win32/testsuite/bytestream.vcproj:
19503         * win32/testsuite/caps.vcproj:
19504         * win32/testsuite/cleanup.vcproj:
19505         * win32/testsuite/clock.vcproj:
19506         * win32/testsuite/debug.vcproj:
19507         * win32/testsuite/dlopen.vcproj:
19508         * win32/testsuite/dynparams.vcproj:
19509         * win32/testsuite/elements.vcproj:
19510         * win32/testsuite/ghostpads.vcproj:
19511         * win32/testsuite/indexers.vcproj:
19512         * win32/testsuite/negotiation.vcproj:
19513         * win32/testsuite/parse.vcproj:
19514         * win32/testsuite/plugin.vcproj:
19515         * win32/testsuite/refcounting.vcproj:
19516         * win32/testsuite/schedulers.vcproj:
19517         * win32/testsuite/states.vcproj:
19518         * win32/testsuite/tags.vcproj:
19519         * win32/testsuite/threads.vcproj:
19520           remove old win32 stuff that isn't maintained and should be
19521           reorganized
19522
19523 2005-11-30  Andy Wingo  <wingo@pobox.com>
19524
19525         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
19526         loading the gst.interfaces python module bork.
19527
19528         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
19529         available since GLib 2.2. Fixes #318031.
19530
19531 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19532
19533         * Makefile.am:
19534         * check/.cvsignore:
19535         * check/Makefile.am:
19536         * check/elements/.cvsignore:
19537         * check/elements/fakesrc.c:
19538         * check/elements/fdsrc.c:
19539         * check/elements/identity.c:
19540         * check/generic/.cvsignore:
19541         * check/generic/states.c:
19542         * check/gst-libs/.cvsignore:
19543         * check/gst-libs/controller.c:
19544         * check/gst-libs/gdp.c:
19545         * check/gst/.cvsignore:
19546         * check/gst/capslist.h:
19547         * check/gst/gst.c:
19548         * check/gst/gstbin.c:
19549         * check/gst/gstbuffer.c:
19550         * check/gst/gstbus.c:
19551         * check/gst/gstcaps.c:
19552         * check/gst/gstelement.c:
19553         * check/gst/gstevent.c:
19554         * check/gst/gstghostpad.c:
19555         * check/gst/gstiterator.c:
19556         * check/gst/gstmessage.c:
19557         * check/gst/gstminiobject.c:
19558         * check/gst/gstobject.c:
19559         * check/gst/gstpad.c:
19560         * check/gst/gstpipeline.c:
19561         * check/gst/gstplugin.c:
19562         * check/gst/gstsegment.c:
19563         * check/gst/gststructure.c:
19564         * check/gst/gstsystemclock.c:
19565         * check/gst/gsttag.c:
19566         * check/gst/gstutils.c:
19567         * check/gst/gstvalue.c:
19568         * check/net/.cvsignore:
19569         * check/net/gstnetclientclock.c:
19570         * check/net/gstnettimeprovider.c:
19571         * check/pipelines/.cvsignore:
19572         * check/pipelines/cleanup.c:
19573         * check/pipelines/simple_launch_lines.c:
19574         * check/pipelines/stress.c:
19575         * check/states/.cvsignore:
19576         * check/states/sinks.c:
19577         * configure.ac:
19578         * examples/Makefile.am:
19579         * examples/appreader/.cvsignore:
19580         * examples/appreader/Makefile.am:
19581         * examples/appreader/appreader.c:
19582         * examples/controller/.cvsignore:
19583         * examples/controller/Makefile.am:
19584         * examples/controller/audio-example.c:
19585         * examples/cutter/.cvsignore:
19586         * examples/cutter/Makefile.am:
19587         * examples/cutter/cutter.c:
19588         * examples/cutter/cutter.h:
19589         * examples/events/Makefile.am:
19590         * examples/events/seek.c:
19591         * examples/helloworld/.cvsignore:
19592         * examples/helloworld/Makefile.am:
19593         * examples/helloworld/helloworld.c:
19594         * examples/helloworld2/.cvsignore:
19595         * examples/helloworld2/Makefile.am:
19596         * examples/helloworld2/helloworld2.c:
19597         * examples/launch/.cvsignore:
19598         * examples/launch/Makefile.am:
19599         * examples/launch/mp3parselaunch.c:
19600         * examples/launch/mp3play:
19601         * examples/manual/.cvsignore:
19602         * examples/manual/Makefile.am:
19603         * examples/manual/extract.pl:
19604         * examples/metadata/Makefile.am:
19605         * examples/metadata/read-metadata.c:
19606         * examples/mixer/.cvsignore:
19607         * examples/mixer/Makefile.am:
19608         * examples/mixer/mixer.c:
19609         * examples/mixer/mixer.h:
19610         * examples/pingpong/.cvsignore:
19611         * examples/pingpong/Makefile.am:
19612         * examples/pingpong/pingpong.c:
19613         * examples/plugins/.cvsignore:
19614         * examples/plugins/Makefile.am:
19615         * examples/plugins/example.c:
19616         * examples/plugins/example.h:
19617         * examples/pwg/.cvsignore:
19618         * examples/pwg/Makefile.am:
19619         * examples/pwg/extract.pl:
19620         * examples/queue/.cvsignore:
19621         * examples/queue/Makefile.am:
19622         * examples/queue/queue.c:
19623         * examples/queue2/.cvsignore:
19624         * examples/queue2/Makefile.am:
19625         * examples/queue2/queue2.c:
19626         * examples/queue3/.cvsignore:
19627         * examples/queue3/Makefile.am:
19628         * examples/queue3/queue3.c:
19629         * examples/queue4/.cvsignore:
19630         * examples/queue4/Makefile.am:
19631         * examples/queue4/queue4.c:
19632         * examples/retag/.cvsignore:
19633         * examples/retag/Makefile.am:
19634         * examples/retag/retag.c:
19635         * examples/retag/transcode.c:
19636         * examples/thread/.cvsignore:
19637         * examples/thread/Makefile.am:
19638         * examples/thread/thread.c:
19639         * examples/typefind/.cvsignore:
19640         * examples/typefind/Makefile.am:
19641         * examples/typefind/typefind.c:
19642         * examples/xml/.cvsignore:
19643         * examples/xml/Makefile.am:
19644         * examples/xml/createxml.c:
19645         * examples/xml/runxml.c:
19646         * tests/Makefile.am:
19647         * tests/check/Makefile.am:
19648         * testsuite/.cvsignore:
19649         * testsuite/Makefile.am:
19650         * testsuite/Rules:
19651         * testsuite/caps/.cvsignore:
19652         * testsuite/caps/Makefile.am:
19653         * testsuite/caps/app_fixate.c:
19654         * testsuite/caps/audioscale.c:
19655         * testsuite/caps/caps.c:
19656         * testsuite/caps/caps.h:
19657         * testsuite/caps/caps_strings:
19658         * testsuite/caps/compatibility.c:
19659         * testsuite/caps/deserialize.c:
19660         * testsuite/caps/enumcaps.c:
19661         * testsuite/caps/eratosthenes.c:
19662         * testsuite/caps/filtercaps.c:
19663         * testsuite/caps/fixed.c:
19664         * testsuite/caps/fraction-convert.c:
19665         * testsuite/caps/fraction-multiply-and-zero.c:
19666         * testsuite/caps/intersect2.c:
19667         * testsuite/caps/intersection.c:
19668         * testsuite/caps/normalisation.c:
19669         * testsuite/caps/random.c:
19670         * testsuite/caps/renegotiate.c:
19671         * testsuite/caps/sets.c:
19672         * testsuite/caps/simplify.c:
19673         * testsuite/caps/string-conversions.c:
19674         * testsuite/caps/structure.c:
19675         * testsuite/caps/subtract.c:
19676         * testsuite/caps/union.c:
19677         * testsuite/debug/.cvsignore:
19678         * testsuite/debug/Makefile.am:
19679         * testsuite/debug/category.c:
19680         * testsuite/debug/commandline.c:
19681         * testsuite/debug/global.c:
19682         * testsuite/debug/output.c:
19683         * testsuite/debug/printf_extension.c:
19684         * testsuite/dlopen/.cvsignore:
19685         * testsuite/dlopen/Makefile.am:
19686         * testsuite/dlopen/dlopen_gst.c:
19687         * testsuite/dlopen/loadgst.c:
19688         * testsuite/elements/.cvsignore:
19689         * testsuite/elements/Makefile.am:
19690         * testsuite/elements/gst-inspect-check.in:
19691         * testsuite/elements/struct_i386.h:
19692         * testsuite/elements/struct_size.c:
19693         * testsuite/indexers/.cvsignore:
19694         * testsuite/indexers/Makefile.am:
19695         * testsuite/indexers/cache1.c:
19696         * testsuite/indexers/indexdump.c:
19697         * testsuite/parse/.cvsignore:
19698         * testsuite/parse/Makefile.am:
19699         * testsuite/parse/parse1.c:
19700         * testsuite/parse/parse2.c:
19701         * testsuite/plugin/.cvsignore:
19702         * testsuite/plugin/Makefile.am:
19703         * testsuite/plugin/README:
19704         * testsuite/plugin/dynamic.c:
19705         * testsuite/plugin/linked.c:
19706         * testsuite/plugin/loading.c:
19707         * testsuite/plugin/registry.c:
19708         * testsuite/plugin/static.c:
19709         * testsuite/plugin/static2.c:
19710         * testsuite/plugin/testplugin.c:
19711         * testsuite/plugin/testplugin2.c:
19712         * testsuite/plugin/testplugin2_s.c:
19713         * testsuite/plugin/testplugin_s.c:
19714         * testsuite/refcounting/.cvsignore:
19715         * testsuite/refcounting/Makefile.am:
19716         * testsuite/refcounting/bin.c:
19717         * testsuite/refcounting/element.c:
19718         * testsuite/refcounting/element_pad.c:
19719         * testsuite/refcounting/mainloop.c:
19720         * testsuite/refcounting/mem.c:
19721         * testsuite/refcounting/mem.h:
19722         * testsuite/refcounting/object.c:
19723         * testsuite/refcounting/pad.c:
19724         * testsuite/refcounting/sched.c:
19725         * testsuite/refcounting/thread.c:
19726         * testsuite/states/.cvsignore:
19727         * testsuite/states/Makefile.am:
19728         * testsuite/states/bin.c:
19729         * testsuite/states/locked.c:
19730         * testsuite/states/parent.c:
19731         * testsuite/threads/.cvsignore:
19732         * testsuite/threads/159566.c:
19733         * testsuite/threads/159852.c:
19734         * testsuite/threads/Makefile.am:
19735         * testsuite/threads/queue.c:
19736         * testsuite/threads/signals.c:
19737         * testsuite/threads/staticrec.c:
19738         * testsuite/threads/thread.c:
19739         * testsuite/threads/threadb.c:
19740         * testsuite/threads/threadc.c:
19741         * testsuite/threads/threadd.c:
19742         * testsuite/threads/threade.c:
19743         * testsuite/threads/threadf.c:
19744         * testsuite/threads/threadg.c:
19745         * testsuite/threads/threadh.c:
19746         * testsuite/threads/threadi.c:
19747           move all of these under tests
19748
19749 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19750
19751         * configure.ac:
19752         * tests/Makefile.am:
19753           fix distcheck
19754
19755 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19756
19757         * docs/gst/gstreamer-sections.txt:
19758         * tests/sched/.cvsignore:
19759         * tests/sched/Makefile.am:
19760         * tests/sched/cases/(fs-fs).xml:
19761         * tests/sched/cases/(fs-i-fs).xml:
19762         * tests/sched/cases/(fs-i-i-fs).xml:
19763         * tests/sched/cases/(fs-i-q[i-fs]).xml:
19764         * tests/sched/dynamic-pipeline.c:
19765         * tests/sched/interrupt1.c:
19766         * tests/sched/interrupt2.c:
19767         * tests/sched/interrupt3.c:
19768         * tests/sched/runtestcases:
19769         * tests/sched/runxml.c:
19770         * tests/sched/sched-stress.c:
19771         * tests/sched/sort.c:
19772         * tests/sched/testcases:
19773         * tests/sched/testcases1.tc:
19774         * tests/seeking/.cvsignore:
19775         * tests/seeking/Makefile.am:
19776         * tests/seeking/seeking1.c:
19777         * tests/threadstate/.cvsignore:
19778         * tests/threadstate/Makefile.am:
19779         * tests/threadstate/test1.c:
19780         * tests/threadstate/test2.c:
19781         * tests/threadstate/threadstate1.c:
19782         * tests/threadstate/threadstate2.c:
19783         * tests/threadstate/threadstate3.c:
19784         * tests/threadstate/threadstate4.c:
19785         * tests/threadstate/threadstate5.c:
19786           remove obsolete tests
19787         * configure.ac:
19788         * tests/bench-complexity.scm:
19789         * tests/bench-mass_elements.scm:
19790         * tests/complexity.c:
19791         * tests/complexity.gnuplot:
19792         * tests/instantiate/.cvsignore:
19793         * tests/instantiate/Makefile.am:
19794         * tests/instantiate/caps.c:
19795         * tests/mass_elements.c:
19796         * tests/network-clock-utils.scm:
19797         * tests/network-clock.scm:
19798         * tests/plot-data:
19799         First pass at cleaning up tests/ dir before moving the rest
19800         Combined with CVS surgery
19801
19802 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19803
19804         * po/POTFILES.in:
19805           queue has moved, update
19806
19807 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19808
19809         * docs/gst/gstreamer-sections.txt:
19810           remove double entries from the docs
19811         * gst/gst_private.h:
19812         * gst/gstinfo.c: (_gst_debug_init):
19813           remove the THREAD debug category
19814         * gst/Makefile.am:
19815         * gst/gstqueue.c:
19816         * gst/gstqueue.h:
19817         * docs/gst/gstreamer.types:
19818         * plugins/elements/gstqueue.c: (gst_queue_get_type),
19819         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19820           completely move queue and fix up debugging categories
19821
19822 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19823
19824         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19825           make initialization portable, using LL is not
19826
19827 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19828
19829         * win32/common/gstconfig.h:
19830           add large padding
19831
19832 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19833
19834         * win32/common/libgstreamer.def:
19835           rename symbols; sort base section
19836
19837 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19838
19839         * gst/gstclock.c: (do_linear_regression):
19840           remove crack non-portable handrolled DEBUG macro
19841
19842 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19843
19844         * docs/random/release:
19845           update notes
19846         * win32/common/gstenumtypes.c: (register_gst_object_flags),
19847         (gst_object_flags_get_type), (register_gst_bin_flags),
19848         (gst_bin_flags_get_type), (register_gst_buffer_flag),
19849         (gst_buffer_flag_get_type), (register_gst_bus_flags),
19850         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19851         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19852         (gst_caps_flags_get_type), (register_gst_clock_return),
19853         (gst_clock_return_get_type), (register_gst_clock_entry_type),
19854         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19855         (gst_clock_flags_get_type), (register_gst_state),
19856         (gst_state_get_type), (register_gst_state_change_return),
19857         (gst_state_change_return_get_type), (register_gst_state_change),
19858         (gst_state_change_get_type), (register_gst_element_flags),
19859         (gst_element_flags_get_type), (register_gst_core_error),
19860         (gst_core_error_get_type), (register_gst_library_error),
19861         (gst_library_error_get_type), (register_gst_resource_error),
19862         (gst_resource_error_get_type), (register_gst_stream_error),
19863         (gst_stream_error_get_type), (register_gst_event_type_flags),
19864         (gst_event_type_flags_get_type), (register_gst_event_type),
19865         (gst_event_type_get_type), (register_gst_seek_type),
19866         (gst_seek_type_get_type), (register_gst_seek_flags),
19867         (gst_seek_flags_get_type), (register_gst_format),
19868         (gst_format_get_type), (register_gst_index_certainty),
19869         (gst_index_certainty_get_type), (register_gst_index_entry_type),
19870         (gst_index_entry_type_get_type),
19871         (register_gst_index_lookup_method),
19872         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19873         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19874         (gst_index_resolver_method_get_type), (register_gst_index_flags),
19875         (gst_index_flags_get_type), (register_gst_debug_level),
19876         (gst_debug_level_get_type), (register_gst_debug_color_flags),
19877         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19878         (gst_iterator_result_get_type), (register_gst_iterator_item),
19879         (gst_iterator_item_get_type), (register_gst_message_type),
19880         (gst_message_type_get_type), (register_gst_mini_object_flags),
19881         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19882         (gst_pad_link_return_get_type), (register_gst_flow_return),
19883         (gst_flow_return_get_type), (register_gst_activate_mode),
19884         (gst_activate_mode_get_type), (register_gst_pad_direction),
19885         (gst_pad_direction_get_type), (register_gst_pad_flags),
19886         (gst_pad_flags_get_type), (register_gst_pad_presence),
19887         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19888         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19889         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19890         (gst_plugin_error_get_type), (register_gst_plugin_flags),
19891         (gst_plugin_flags_get_type), (register_gst_rank),
19892         (gst_rank_get_type), (register_gst_query_type),
19893         (gst_query_type_get_type), (register_gst_tag_merge_mode),
19894         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19895         (gst_tag_flag_get_type), (register_gst_task_state),
19896         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19897         (gst_alloc_trace_flags_get_type),
19898         (register_gst_type_find_probability),
19899         (gst_type_find_probability_get_type), (register_gst_uri_type),
19900         (gst_uri_type_get_type), (register_gst_parse_error),
19901         (gst_parse_error_get_type):
19902         * win32/common/gstenumtypes.h:
19903         * win32/common/gstversion.h:
19904           update visual studio generated files
19905
19906 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19907
19908         * win32/vs6/libgstbase.dsp:
19909         * win32/vs6/libgstelements.dsp:
19910           update project files for new locations
19911
19912 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19913
19914         * Makefile.am:
19915           remove some files
19916         * README:
19917           reinstate and update
19918         * DEVEL:
19919         * REQUIREMENTS:
19920           removed
19921         * LICENSE:
19922         * docs/random/LICENSE:
19923           moved to random
19924
19925 2005-11-30  Edward Hervey  <edward@fluendo.com>
19926
19927         * gst/gsttypefind.c: (gst_type_find_register):
19928         * gst/gsttypefind.h:
19929         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19930         (gst_type_find_factory_dispose):
19931         * gst/gsttypefindfactory.h:
19932         Fix memory leak in GstTypeFindFactory.
19933
19934 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19935
19936         * gst/gst.c:
19937         * plugins/elements/Makefile.am:
19938         * plugins/elements/gstelements.c:
19939         * plugins/elements/gstqueue.c:
19940           move queue from core to the elements plugin
19941
19942 2005-11-29  Andy Wingo  <wingo@pobox.com>
19943
19944         * libs/gst/base/gstbasetransform.h: 
19945         * libs/gst/base/gstbasesrc.h: 
19946         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19947
19948         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19949         of pointers by which to pad very extensible base classes (like the
19950         ones in libs/gst/base).
19951
19952 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19953
19954         * docs/gst/gstreamer-docs.sgml:
19955         * docs/gst/gstreamer-sections.txt:
19956         * docs/libs/gstreamer-libs-docs.sgml:
19957         * docs/libs/gstreamer-libs-sections.txt:
19958           moving documentation from core to lib
19959
19960 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19961
19962         * check/Makefile.am:
19963         * configure.ac:
19964         * docs/gst/Makefile.am:
19965         * gst/Makefile.am:
19966         * gst/base/.cvsignore:
19967         * gst/base/Makefile.am:
19968         * gst/base/README:
19969         * gst/base/gstadapter.c:
19970         * gst/base/gstadapter.h:
19971         * gst/base/gstbasesink.c:
19972         * gst/base/gstbasesink.h:
19973         * gst/base/gstbasesrc.c:
19974         * gst/base/gstbasesrc.h:
19975         * gst/base/gstbasetransform.c:
19976         * gst/base/gstbasetransform.h:
19977         * gst/base/gstcollectpads.c:
19978         * gst/base/gstcollectpads.h:
19979         * gst/base/gstpushsrc.c:
19980         * gst/base/gstpushsrc.h:
19981         * gst/base/gsttypefindhelper.c:
19982         * gst/base/gsttypefindhelper.h:
19983         * gst/check/Makefile.am:
19984         * gst/check/gstcheck.c:
19985         * gst/check/gstcheck.h:
19986         * gst/net/Makefile.am:
19987         * gst/net/gstnet.h:
19988         * gst/net/gstnetclientclock.c:
19989         * gst/net/gstnetclientclock.h:
19990         * gst/net/gstnettimepacket.c:
19991         * gst/net/gstnettimepacket.h:
19992         * gst/net/gstnettimeprovider.c:
19993         * gst/net/gstnettimeprovider.h:
19994         * libs/gst/Makefile.am:
19995         * libs/gst/base/Makefile.am:
19996         * libs/gst/base/gstbasetransform.c:
19997         * libs/gst/check/Makefile.am:
19998         * plugins/elements/Makefile.am:
19999         * po/POTFILES.in:
20000           CVS surgery + support to move base, check, and net out of gst
20001           and into libs/gst
20002
20003 2005-11-29  Andy Wingo  <wingo@pobox.com>
20004
20005         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
20006
20007         * gst/gststructure.h (struct _GstStructure): Only one pointer of
20008         padding.
20009
20010         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
20011
20012         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
20013
20014         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
20015
20016         * gst/gstobject.h: (struct _GstObject): Only one pointer of
20017         padding; reduces object size by about 30%. We don't expect
20018         anything else to go into gstobject.
20019
20020         * gst/gstminiobject.h (struct _GstMiniObject)
20021         (struct _GstMiniObjectClass): Only one pointer of padding; the
20022         payload is only a pointer and two ints anyway. For the class there
20023         are only two methods as well.
20024         
20025         * gst/gstelement.h (struct _GstElementClass): Removed
20026         the state_changed signal callback, it is not used.
20027
20028 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20029
20030         * docs/gst/gstreamer.types:
20031           fix includes, though they are a little dinky
20032
20033 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
20034
20035         * check/Makefile.am:
20036           look in the right place for elements, a lot more chance of
20037           success
20038         * gst/Makefile.am:
20039           remove indexers and elements subdirs
20040         * plugins/Makefile.am:
20041           make indexers conditional
20042
20043 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
20044
20045         * Makefile.am:
20046         * configure.ac:
20047         * plugins/elements/Makefile.am:
20048         * plugins/elements/gstcapsfilter.c:
20049         * plugins/elements/gstfilesink.c:
20050         * plugins/elements/gstfilesrc.c:
20051         * plugins/elements/gstidentity.c:
20052         * plugins/indexers/Makefile.am:
20053           do CVS surgery and related build fixery to move elements
20054           and indexers in a new gstreamer/plugins directory, out of the
20055           gst/ directory
20056
20057 2005-11-29  Andy Wingo  <wingo@pobox.com>
20058
20059         * check/Makefile.am:
20060         * pkgconfig/gstreamer-net-uninstalled.pc.in:
20061         * pkgconfig/gstreamer-net.pc.in:
20062         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
20063         #322257.
20064
20065 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20066
20067         * tools/Makefile.am:
20068         * tools/gst-complete.1.in:
20069         * tools/gst-complete.c:
20070         * tools/gst-compprep.1.in:
20071         * tools/gst-compprep.c:
20072           removing -compprep and -complete
20073
20074 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20075
20076         * gst/gstevent.c: (gst_event_new_new_segment),
20077         (gst_event_parse_new_segment):
20078         * gst/gstevent.h:
20079           fix #320529 - clean up new_segment API and structure.
20080           Let's hope everyone was using the methods, and not the structure.
20081
20082 2005-11-29  Edward Hervey  <edward@fluendo.com>
20083
20084         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20085         (gst_base_sink_event), (gst_base_sink_do_sync),
20086         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
20087         Properly handle non GST_FORMAT_TIME segment
20088         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20089         Properly handle non GST_FORMAT_TIME segment
20090         * gst/gstsegment.c:
20091         This function is valid if the accumulator is 0 and the format
20092         is different from the requested format.
20093         
20094 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
20095
20096         * docs/gst/gstreamer-sections.txt:
20097         Add gst_query_new_seeking and gst_query_parse_seeking to the
20098         docs.
20099
20100 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
20101
20102         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
20103           Treat a pad alloc with new caps the same as if we were not
20104           negotiated, in order to allow a changing upstream output
20105           to produce a new format of data.
20106
20107 2005-11-29  Edward Hervey  <edward@fluendo.com>
20108
20109         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
20110         (gst_base_transform_event), (gst_base_transform_eventfunc):
20111         The event virtual method is now properly implemented, with a default
20112         handler
20113         Sub classes should call the parent_class event method. They should
20114         return FALSE if they had a problem handling the given event, or don't
20115         want GstBaseTransform to send that even downstream
20116         * gst/elements/gstidentity.c: (gst_identity_class_init),
20117         (gst_identity_init), (gst_identity_event),
20118         (gst_identity_transform_ip), (gst_identity_set_property),
20119         (gst_identity_get_property):
20120         * gst/elements/gstidentity.h:
20121         Added the single-segment boolean property.
20122         If set to TRUE, it will output a single segment of data, starting from
20123         0, will eat up all incoming newsegment, and modify the timestamp of the
20124         buffers accordingly
20125
20126 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
20127
20128         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
20129           Don't ref NULL target pad (#322751). Improve docs.
20130
20131 2005-11-29  Michael Smith  <msmith@fluendo.com>
20132
20133         * gst/gstregistryxml.c: (load_plugin):
20134           Don't crash if we failed to load a feature from a plugin. 
20135
20136 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20137
20138         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
20139         (GST_START_TEST):
20140           use more check API and less GLib API
20141
20142 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20143
20144         * Makefile.am:
20145           don't run checks if we don't have check
20146         * common/check.mak:
20147           remove the registry when running make torture
20148         * docs/gst/gstreamer-sections.txt:
20149           remove second multiply
20150         * gst/gstqueue.c: (gst_queue_loop):
20151           fix a compile warning when disabling debug
20152
20153 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
20154
20155         * gst/gstinfo.h:
20156         Hey! Let's print the pad name if the pointer != NULL instead
20157         of when it == NULL :-)
20158
20159 2005-11-28  Wim Taymans  <wim@fluendo.com>
20160
20161         * check/gst/gstutils.c: (GST_START_TEST):
20162         Updated check, add some scaling accuracy checking code.
20163
20164         * gst/gstutils.c: (gst_util_div128_64),
20165         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
20166         (gst_util_uint64_scale_int):
20167         Fix 6 times faster division code. Optimize for common 
20168         1/1 and less common X/1 cases.
20169
20170 2005-11-28  Wim Taymans  <wim@fluendo.com>
20171
20172         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20173         More checks.
20174
20175         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
20176         (do_linear_regression), (gst_clock_add_observation):
20177         Cleanups.
20178         Release lock when the clock cannot be slaved.
20179         Catch the case where the regression returned an invalid denominator.
20180
20181         * gst/gstutils.c: (gst_util_div128_64_iterate),
20182         (gst_util_div128_64), (gst_util_uint64_scale_int64),
20183         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
20184         Add protentially more performant non-iterative 128/64 divide function
20185         that unfortunatly does not work yet.
20186         Shortcut the trivial 0/X = 0 case.
20187         Remove the warnings on overflow.
20188
20189 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20190
20191         * gst/gstplugin.c: (gst_plugin_register_func):
20192           everything causing a plugin not to load should be at least a WARNING
20193
20194 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
20195
20196         * docs/random/ensonic/dparams.txt:
20197           some TODOs for the next dev cycle
20198         * libs/gst/controller/gstcontroller.c:
20199         (gst_controlled_property_set_interpolation_mode),
20200         (gst_controlled_property_new):
20201         * libs/gst/controller/gstcontroller.h:
20202           use base type to assign acccessor functions
20203
20204 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
20205
20206         * check/Makefile.am:
20207         Oops, that should have been top_srcdir
20208
20209 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
20210
20211         * check/Makefile.am:
20212         * check/elements/fdsrc.c: (GST_START_TEST):
20213         Use a cmdline define to specify the location of a file to use for
20214         testing, to avoid breaking distcheck.
20215
20216 2005-11-28  Andy Wingo  <wingo@pobox.com>
20217
20218         * gst/gstpad.c (fixate_value): Use array functions for arrays.
20219
20220 2005-11-28  Edward Hervey  <edward@fluendo.com>
20221
20222         * tools/gst-launch.c: (main):
20223         Clarify the output strings, makes it easier to translate.
20224         Fixes #322626
20225
20226 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20227
20228         * gst/Makefile.am:
20229           don't try and build net if we don't even have <sys/socket.h>
20230
20231 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
20232
20233         * check/Makefile.am:
20234         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
20235         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
20236           Add tests for fdsrc seekability
20237
20238         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
20239         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
20240         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
20241         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
20242         * gst/elements/gstfdsrc.h:
20243           fdsrc should not be a 'live' source.
20244           Implement seeking on seekable fd's.
20245
20246         * gst/gstquery.c: (gst_query_new_seeking),
20247         (gst_query_parse_seeking):
20248         * gst/gstquery.h:
20249           Implement SEEKING query functions: 
20250             *_new_seeking and *_parse_seeking
20251
20252 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
20253
20254         * gst/gstelement.c: (gst_element_dispose):
20255           don't loop forever
20256
20257         * gst/gstiterator.c:
20258         * gst/gststructure.c:
20259           doc fixes
20260
20261         * libs/gst/controller/gstcontroller.c:
20262         (gst_controlled_property_set_interpolation_mode):
20263         * libs/gst/controller/gstcontroller.h:
20264         * libs/gst/controller/gstinterpolation.c:
20265         (interpolate_none_get_enum_value_array):
20266           support controlling enums
20267
20268 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
20269
20270         * gst/gstvalue.c:
20271           Improve documentation for gst_value_union().
20272
20273         * gst/gstvalue.h:
20274           Change return value for union, intersect and subtract functions
20275           from gint to gboolean.
20276
20277 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
20278
20279         * gst/gstvalue.c: (gst_value_serialize_any_list),
20280         (gst_value_transform_any_list_string),
20281         (gst_value_deserialize_list), (gst_value_deserialize_array),
20282         (gst_value_set_int_range), (gst_value_deserialize_int_range),
20283         (gst_value_set_double_range), (gst_value_deserialize_double_range),
20284         (gst_value_set_fraction_range_full),
20285         (gst_value_deserialize_fraction_range),
20286         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
20287         (gst_value_deserialize_boolean),
20288         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
20289         (gst_value_serialize_float), (gst_value_deserialize_float),
20290         (gst_string_wrap), (gst_value_deserialize_string),
20291         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
20292         (gst_value_union_int_range_int_range),
20293         (gst_value_intersect_int_range_int_range),
20294         (gst_value_intersect_double_range_double_range),
20295         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
20296         (gst_value_subtract_int_range_int_range),
20297         (gst_value_subtract_double_double_range),
20298         (gst_value_subtract_double_range_double_range),
20299         (gst_value_deserialize_fraction):
20300         * gst/gstvalue.h:
20301           Use gint, gdouble and gchar in our API instead of int, double and
20302           char (and make usage in gstvalue.c more consistent).
20303
20304 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20305
20306         * check/Makefile.am:
20307         * libs/gst/controller/Makefile.am:
20308         * libs/gst/dataprotocol/Makefile.am:
20309           fix up Makefile.am and remove GST_ENABLE_NEW
20310
20311 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20312
20313         * configure.ac:
20314         * gst/Makefile.am:
20315         * gst/base/Makefile.am:
20316         * gst/check/Makefile.am:
20317         * gst/elements/Makefile.am:
20318         * gst/net/Makefile.am:
20319           update LDFLAGS use some more
20320
20321 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20322
20323         * common/m4/gst-doc.m4:
20324           Fixes #312589
20325
20326 2005-11-26  Edward Hervey  <edward@fluendo.com>
20327
20328         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
20329         This shouldn't issue a g_warning since it returns NULL if it
20330         couldn't find the plugin, and all functions using this behave
20331         properly on a NULL return. Switching to a GST_WARNING.
20332
20333 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
20334
20335         * gst/gstbin.c: (gst_bin_handle_message_func):
20336         Don't leak clock messages.
20337
20338 2005-11-25  Wim Taymans  <wim@fluendo.com>
20339
20340         * gst/gstutils.c: (gst_util_uint64_scale_int64),
20341         (gst_util_uint64_scale_int):
20342         Optimisations, remove unneeded vars.
20343
20344 2005-11-25  Wim Taymans  <wim@fluendo.com>
20345
20346         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20347         Added more checks for the high precision uint64 cases.
20348
20349         * gst/gstutils.c: (gst_util_uint64_scale_int64),
20350         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
20351         Implement high precision (guint64 * guint64) / guint64.
20352
20353 2005-11-24  Wim Taymans  <wim@fluendo.com>
20354
20355         * gst/base/gstbasesrc.c: (gst_base_src_query):
20356         Fix wrong percentage query.
20357
20358         * gst/gstutils.c: (gst_util_uint64_scale),
20359         (gst_util_uint64_scale_int):
20360         Add some more common cases that can be handled 
20361         efficiently to _scale.
20362
20363 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20364
20365         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
20366         (gst_mini_object_suite):
20367           don't use check calls from threads; check probably isn't
20368           threadsafe and using a lock to make it threadsafe would
20369           defeat the purpose of this check
20370         * gst/check/gstcheck.c:
20371         * gst/check/gstcheck.h:
20372           use GST_DEBUG some more
20373
20374 2005-11-24  Wim Taymans  <wim@fluendo.com>
20375
20376         * gst/gstutils.c: (gst_util_uint64_scale),
20377         (gst_util_uint64_scale_int):
20378         Chain trivial case to _scale_int.
20379
20380 2005-11-24  Wim Taymans  <wim@fluendo.com>
20381
20382         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20383         Added test for scaling.
20384
20385         * gst/gstclock.h:
20386         Small doc fix.
20387
20388         * gst/gstutils.c: (gst_util_uint64_scale_int):
20389         Implemented high precision scaling code.
20390
20391 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
20392
20393         * gst/gstinfo.h:
20394           do not crash on pad==NULL
20395
20396 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20397
20398         Patch by: Stefan Kost
20399
20400         * common/gtk-doc.mak:
20401         * docs/gst/Makefile.am:
20402         * docs/libs/Makefile.am:
20403           Fix distcheck issues for the libraries docs build
20404           Closes #319599.
20405
20406 2005-11-24  Michael Smith <msmith@fluendo.com>
20407
20408         * docs/manual/basics-helloworld.xml:
20409           Fix bug #315027: memory leak in example code in docs.
20410
20411 2005-11-24  Michael Smith <msmith@fluendo.com>
20412
20413         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20414           Unlock the PREROLL_LOCK in a failure case.
20415
20416 2005-11-24  Wim Taymans  <wim@fluendo.com>
20417
20418         * docs/gst/gstreamer-sections.txt:
20419         * gst/base/gstadapter.h:
20420         * gst/base/gstbasesink.h:
20421         * gst/base/gstbasesrc.h:
20422         * gst/base/gstbasetransform.h:
20423         * gst/base/gstpushsrc.h:
20424         * gst/elements/gstfakesink.h:
20425         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
20426         * gst/elements/gstfakesrc.h:
20427         * gst/elements/gstfilesink.h:
20428         * gst/elements/gstfilesrc.h:
20429         * gst/gst.c:
20430         * gst/gstbin.c:
20431         * gst/gstbuffer.c: (_gst_buffer_copy):
20432         * gst/gstbus.h:
20433         * gst/gstcaps.c:
20434         * gst/gstchildproxy.c:
20435         * gst/gstclock.c:
20436         * gst/gstelement.c:
20437         * gst/gstelementfactory.c:
20438         * gst/gstelementfactory.h:
20439         * gst/gstevent.c:
20440         * gst/gstghostpad.h:
20441         * gst/gstindex.h:
20442         * gst/gstinterface.h:
20443         * gst/gstminiobject.c:
20444         * gst/gstminiobject.h:
20445         * gst/gstpad.c:
20446         * gst/gstpad.h:
20447         * gst/gstpadtemplate.h:
20448         * gst/gstpipeline.h:
20449         * gst/gstpluginfeature.h:
20450         * gst/gstquery.h:
20451         * gst/gstqueue.h:
20452         * gst/gsttaglist.c:
20453         * gst/gsttaglist.h:
20454         * gst/gsttagsetter.c:
20455         * gst/gsttagsetter.h:
20456         * gst/gsttrace.c:
20457         * gst/gsttrace.h:
20458         * gst/gsttypefind.h:
20459         * gst/gsturi.h:
20460         * gst/gstvalue.c:
20461         * gst/net/gstnetclientclock.c:
20462         * gst/net/gstnetclientclock.h:
20463         * gst/net/gstnettimepacket.c:
20464         * gst/net/gstnettimeprovider.c:
20465         * gst/net/gstnettimeprovider.h:
20466         Doc fixes.
20467
20468 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20469
20470         * configure.ac: back to HEAD
20471
20472 === release 0.9.6 ===
20473
20474 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
20475
20476         * configure.ac:
20477           releasing 0.9.6, "Always On Time"
20478
20479 2005-11-23  Wim Taymans  <wim@fluendo.com>
20480
20481         * docs/gst/gstreamer-sections.txt:
20482         * gst/glib-compat.c:
20483         * gst/gsttagsetter.c:
20484         * gst/gstvalue.c:
20485         * gst/net/gstnetclientclock.c:
20486         * gst/net/gstnettimepacket.h:
20487         Doc updates.
20488
20489 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20490
20491         * docs/faq/using.xml:
20492         * docs/libs/tmpl/gstcontrol.sgml:
20493         * docs/manual/advanced-dparams.xml:
20494         * docs/manual/appendix-checklist.xml:
20495         * docs/manual/basics-elements.xml:
20496         * docs/pwg/other-source.xml:
20497         * docs/random/moving-plugins:
20498         * gst/gstpad.c:
20499         * tools/gst-launch.1.in:
20500           remove mentions of sinesrc
20501
20502 2005-11-23  Michael Smith <msmith@fluendo.com>
20503
20504         * docs/gst/gstreamer-sections.txt:
20505           Update for new API and API changes.
20506         * gst/gstobject.h:
20507           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
20508         * gst/gstvalue.c:
20509           Documentation typo fix.
20510         * gst/net/gstnettimepacket.c:
20511           Documentation fixes for arguments.
20512
20513 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
20514
20515         * gst/gststructure.c: (gst_structure_get_fraction),
20516         (gst_structure_parse_value),
20517         (gst_structure_fixate_field_nearest_fraction):
20518         * gst/gststructure.h:
20519         * gst/gstutils.c: (gst_util_uint64_scale_int):
20520         * gst/gstutils.h:
20521         * scripts/update-funcnames:
20522         API Changes. 
20523         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
20524         Make gst_structure_fixate_field_nearest_fraction take a numerator
20525         and denominator argument instead of a GValue
20526         add gst_structure_get_fraction helper function.
20527
20528 2005-11-23  Wim Taymans  <wim@fluendo.com>
20529
20530         * docs/design/part-TODO.txt:
20531         Update TODO.
20532
20533         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
20534         * gst/net/gstnetclientclock.h:
20535         Use parent fields for timeout and window_size.
20536
20537 2005-11-23  Andy Wingo  <wingo@pobox.com>
20538
20539         * check/net/gstnetclientclock.c (test_functioning): Adjust to
20540         rate_num/rate_denom change.
20541
20542         * gst/net/gstnetclientclock.c
20543         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
20544         OBJECT_LOCK. Don't call add_observation with the lock.
20545
20546         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
20547         fraction.
20548         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
20549         rate fraction.
20550         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20551         deal with rate as a fraction whose numerator and denominator are
20552         GstClockTime values.
20553         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20554         master; the other fields are protected by the SLAVE_LOCK.
20555         (do_linear_regression): Note that this must be called with the
20556         SLAVE_LOCK.
20557         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20558         OBJECT_LOCK. Call set_calibration instead of touching the
20559         variables directly.
20560         (gst_clock_set_property, gst_clock_get_property): Protect
20561         master/slave parameters with the SLAVE_LOCK.
20562
20563         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20564         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20565         note that all of the instance variables that add_observation and
20566         the set_master functions use are protected by that lock and not
20567         the OBJECT_LOCK.
20568         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20569
20570         * gst/gstclock.c (gst_clock_add_observation): No longer requires
20571         the caller to take the object lock.
20572
20573 2005-11-23  Wim Taymans  <wim@fluendo.com>
20574
20575         * gst/gsterror.c: (_gst_core_errors_init):
20576         * gst/gsterror.h:
20577         Add error for clock stuff.
20578
20579         * gst/gstpipeline.c: (gst_pipeline_change_state),
20580         (gst_pipeline_set_clock):
20581         Post clock error when clock cannot be used in a pipeline.
20582
20583 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
20584
20585         * docs/gst/gstreamer-sections.txt:
20586           make two symbols from gstinfo private for the docs
20587         * gst/base/gstcollectpads.h:
20588         * gst/gstutils.c:
20589           fix doc typos, update docs
20590
20591 2005-11-22  Wim Taymans  <wim@fluendo.com>
20592
20593         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20594         (gst_base_sink_wait), (gst_base_sink_do_sync),
20595         (gst_base_sink_handle_event):
20596         * gst/base/gstbasesink.h:
20597         No need to store the clock, the parent element class already
20598         has it.
20599
20600         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20601         Updates for clock_set returning a gboolean
20602
20603         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20604         (gst_clock_id_wait_async), (gst_clock_class_init),
20605         (gst_clock_init), (gst_clock_finalize),
20606         (gst_clock_get_internal_time), (gst_clock_get_time),
20607         (gst_clock_slave_callback), (gst_clock_set_master),
20608         (gst_clock_get_master), (do_linear_regression),
20609         (gst_clock_add_observation), (gst_clock_set_property),
20610         (gst_clock_get_property):
20611         * gst/gstclock.h:
20612         Implement master/slave. When setting a clock as a slave, a
20613         periodic timeout is scheduled to sample master and slave times.
20614         Then the slave clock is recalibrated to match offset and rate
20615         of the master clock.
20616         Update logging a bit.
20617         Add flag so that a clock can state that is cannot be slaved to
20618         another clock.
20619
20620         * gst/gstelement.c: (gst_element_set_clock):
20621         * gst/gstelement.h:
20622         The set clock returns a gboolean for when an element cannot
20623         deal with the selected clock in the pipeline. 
20624
20625         * gst/gstpipeline.c: (gst_pipeline_change_state),
20626         (gst_pipeline_set_clock):
20627         * gst/gstpipeline.h:
20628         Handle the case where the selected clock cannot be set on
20629         the pipeline.
20630
20631         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20632         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20633         (gst_net_client_clock_set_property),
20634         (gst_net_client_clock_get_property),
20635         (gst_net_client_clock_observe_times):
20636         * gst/net/gstnetclientclock.h:
20637         Use regression code in GstClock parent, remove duplicated
20638         functionality.
20639
20640 2005-11-22  Michael Smith <msmith@fluendo.com>
20641
20642         * gst/gstutils.c: (gst_util_clock_time_scale):
20643         * gst/gstutils.h:
20644         * docs/gst/gstreamer-sections.txt:
20645           Rename method to have extra underscore.
20646
20647 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20648
20649         * gst/elements/Makefile.am:
20650         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20651         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20652         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20653         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20654         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20655         * gst/elements/gstfakesrc.h:
20656         * gst/gstqueue.c: (queue_leaky_get_type):
20657           correctly fix GEnumValues so that nick is the short lowercase
20658           dashed tag
20659         * tools/gst-inspect.c: (print_element_properties_info):
20660           also show the nick, since it's useful to use from parse_launch
20661           syntax
20662           Fixes #322139
20663
20664 2005-11-22  Michael Smith <msmith@fluendo.com>
20665
20666         * gst/gstutils.c: (gst_util_clocktime_scale):
20667         * gst/gstutils.h:
20668         * docs/gst/gstreamer-sections.txt:
20669           Add util method for scaling a clocktime by a fraction. Useful 
20670           implementation is left as an exercise for the reader.
20671
20672 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20673
20674         * gst/gstvalue.c: (gst_value_collect_fraction_range):
20675         If needed, allocate storage in the destination value during
20676         collection.
20677
20678 2005-11-22  Edward Hervey  <edward@fluendo.com>
20679
20680         * docs/gst/gstreamer-sections.txt:
20681         * gst/Makefile.am:
20682         * gst/gst.h:
20683         * gst/gsturitype.c:
20684         * gst/gsturitype.h:
20685         * gst/gstutils.c: (gst_util_set_object_arg):
20686         * tools/gst-compprep.c: (main):
20687         * tools/gst-inspect.c: (print_element_properties_info):
20688         Removed GstURI, closes bug #321061
20689
20690 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20691
20692         * check/gst/gststructure.c: (GST_START_TEST):
20693         * gst/gststructure.c: (gst_structure_parse_value):
20694           Oops, broke automatic string type parsing.
20695           Add a test to catch it in future.
20696
20697 2005-11-22  Andy Wingo  <wingo@pobox.com>
20698
20699         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
20700         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20701         Actually rename the function implementations. Grr.
20702
20703 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20704
20705         * check/gst/capslist.h:
20706           Comment test cases
20707         * check/gst/gststructure.c: (GST_START_TEST),
20708         (gst_structure_suite):
20709           Test automatic value type detection in gst_structure_from_string.
20710         * gst/gststructure.c: (gst_structure_parse_value):
20711           Add fraction as a type we try and guess automatically in
20712           caps/structure strings.
20713
20714 2005-11-22  Andy Wingo  <wingo@pobox.com>
20715
20716         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20717
20718         * gst/gsttagsetter.h:
20719         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20720         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20721         (gst_tag_setter_add_tag_valist)
20722         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20723         _add_values, _add_valist, and _add_valist_values. Since this is an
20724         interface the function suffixes should be more explicit so
20725         language binding don't end up with element.add_valist ->
20726         gst_tag_setter_add_valist, for example. Fixes #322069.
20727
20728 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20729
20730         * check/gst/gstcaps.c: (GST_START_TEST):
20731           Extend caps string tests to check that a caps to string
20732           conversion is reversible and produces the same caps.
20733
20734         * gst/gststructure.c: (gst_structure_value_get_generic_type):
20735           Output "fraction" as the generic type fraction range, so caps
20736           serialisation and deserialisation works.
20737         * check/gst/capslist.h:
20738         * gst/gstvalue.c: (gst_value_deserialize_fraction):
20739           Support 'MIN' and 'MAX' for deserialising fractions.
20740
20741 2005-11-22  Andy Wingo  <wingo@pobox.com>
20742
20743         * gst/gstevent.h (gst_event_new_new_segment)
20744         (gst_event_parse_new_segment, gst_event_new_buffer_size)
20745         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20746         Renamed from *_newsegment, *_buffersize, *_notarget.
20747
20748         * scripts/update-funcnames: New script, performs the changes
20749         listed above.
20750
20751 2005-11-22  Wim Taymans  <wim@fluendo.com>
20752
20753         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20754         Make sure the GstFlowReturn is returned.
20755
20756         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20757         (gst_bus_add_signal_watch):
20758         * gst/gstbus.h:
20759         add gst_bus_add_signal_watch_full.
20760
20761         * gst/gstplugin.c: (gst_plugin_load_file):
20762         Small style cleanup.
20763
20764 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20765
20766         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20767           Block the fakesrc srcpad when we send an event, to avoid
20768           contention on the stream_lock causing random test failures.
20769
20770 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20771
20772         * check/gst/gstvalue.c: (GST_START_TEST):
20773         * gst/gstvalue.c: (gst_value_fraction_subtract):
20774           Fix subtraction.
20775
20776 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
20777
20778         * gst/gst.h:
20779           include "gstchildproxy.h"
20780         * gst/gstchildproxy.h:
20781         * libs/gst/controller/gstcontroller.h:
20782           use G_GNUC_NULL_TERMINATED
20783
20784 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20785
20786         * check/gst/capslist.h:
20787         * check/gst/gstcaps.c: (GST_START_TEST):
20788         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20789         * gst/gststructure.c: (gst_structure_parse_range),
20790         (gst_structure_fixate_field_nearest_fraction):
20791         * gst/gststructure.h:
20792         * gst/gstvalue.c: (gst_value_init_fraction_range),
20793         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20794         (gst_value_collect_fraction_range),
20795         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20796         (gst_value_set_fraction_range_full),
20797         (gst_value_get_fraction_range_min),
20798         (gst_value_get_fraction_range_max),
20799         (gst_value_serialize_fraction_range),
20800         (gst_value_transform_fraction_range_string),
20801         (gst_value_compare_fraction_range),
20802         (gst_value_deserialize_fraction_range),
20803         (gst_value_intersect_fraction_fraction_range),
20804         (gst_value_intersect_fraction_range_fraction_range),
20805         (gst_value_subtract_fraction_fraction_range),
20806         (gst_value_subtract_fraction_range_fraction),
20807         (gst_value_subtract_fraction_range_fraction_range),
20808         (gst_value_collect_fraction), (gst_value_fraction_multiply),
20809         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20810         (gst_value_transform_string_fraction), (_gst_value_initialize):
20811         * gst/gstvalue.h:
20812           Implement fraction ranges and extend GstFraction to support
20813           arithmetic subtraction, as well as deserialization from integer
20814           strings such as "100"
20815           Add a testsuite as for int and double range set operations
20816
20817 2005-11-21  Andy Wingo  <wingo@pobox.com>
20818
20819         * gst/gsttaglist.h: 
20820         * gst/gstcaps.h: 
20821         * gst/gststructure.h: Add glib-compat.h.
20822
20823 2005-11-21  Wim Taymans  <wim@fluendo.com>
20824
20825         * gst/gstbin.c: (gst_bin_change_state_func):
20826         Fix for #321595
20827
20828 2005-11-21  Wim Taymans  <wim@fluendo.com>
20829
20830         * gst/gstsegment.h:
20831         And add a nice define too.
20832
20833 2005-11-21  Wim Taymans  <wim@fluendo.com>
20834
20835         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20836         (gst_segment_new), (gst_segment_free), (gst_segment_init),
20837         (gst_segment_set_duration), (gst_segment_set_last_stop),
20838         (gst_segment_set_seek), (gst_segment_set_newsegment),
20839         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20840         (gst_segment_clip):
20841         * gst/gstsegment.h:
20842         Make binding friendly.
20843
20844 2005-11-21  Andy Wingo  <wingo@pobox.com>
20845
20846         * gst/gsttagsetter.h: 
20847         * gst/gsttaglist.h: 
20848         * gst/gststructure.h: 
20849         * gst/gstcaps.h: 
20850         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20851         #319940.
20852
20853         * gst/gsterror.c (_gst_core_errors_init):
20854         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20855         category.
20856
20857         * gst/Makefile.am (gst_headers): Add glib-compat.h.
20858         (noinst_HEADERS): noinst the -private.
20859
20860 2005-11-21  Michael Smith <msmith@fluendo.com>
20861
20862         * gst/gstplugin.h:
20863         * gst/gstregistry.h:
20864           Remove unimplemented declarations for which we can see no sensible
20865           use.
20866
20867 2005-11-21  Andy Wingo  <wingo@pobox.com>
20868
20869         * gst/gst.h: Include glib-compat.h.
20870
20871         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20872
20873         * gst/glib-compat.c: Include the public and the private header.
20874
20875         * gst/glib-compat-private.h: Copied here from glib-compat.h.
20876
20877         * gst/gstvalue.c: 
20878         * gst/gstpad.c: 
20879         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20880
20881         * check/gst/gstevent.c (create_custom_events): Check that
20882         FLUSH_STOP is serialized.
20883
20884         * check/elements/identity.c (event_func): 
20885         * check/elements/fakesrc.c (event_func): No stream lock, the core
20886         takes it.
20887
20888         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20889         stream lock taking, yay.
20890
20891         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20892         ensure that core takes the stream lock.
20893
20894         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20895         lock name change.
20896
20897         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20898         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20899         it already. For the flush start we do take it though so we get the
20900         right preroll state change messages.
20901
20902         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20903         the stream lock here, the core does it for us.
20904
20905         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20906         GST_STREAM_GET_LOCK.
20907         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
20908         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
20909         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20910         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20911         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
20912         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20913
20914         * gst/gstpad.c: Update for stream lock name change.
20915
20916         * gst/base/gstbasesink.c: Update for preroll lock name change.
20917
20918 2005-11-21  Wim Taymans  <wim@fluendo.com>
20919
20920         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20921         (gst_clock_get_master):
20922         * gst/gstclock.h:
20923         * gst/gstsystemclock.c: (gst_system_clock_init):
20924         Convert Clock flags to object flags.
20925         Added methods to manage master/slave clocks.
20926
20927 2005-11-21  Wim Taymans  <wim@fluendo.com>
20928
20929         * check/gst/gstsegment.c: (GST_START_TEST):
20930         * docs/design/part-TODO.txt:
20931         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20932         (gst_base_sink_event), (gst_base_sink_do_sync),
20933         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20934         (gst_base_sink_query), (gst_base_sink_change_state):
20935         * gst/base/gstbasesink.h:
20936         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20937         (gst_base_src_default_newsegment),
20938         (gst_base_src_configure_segment), (gst_base_src_do_seek),
20939         (gst_base_src_get_range), (gst_base_src_loop),
20940         (gst_base_src_change_state):
20941         * gst/base/gstbasesrc.h:
20942         * gst/base/gstbasetransform.c:
20943         (gst_base_transform_prepare_output_buf),
20944         (gst_base_transform_event), (gst_base_transform_change_state):
20945         * gst/base/gstbasetransform.h:
20946         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20947         (gst_collect_pads_event):
20948         * gst/base/gstcollectpads.h:
20949         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20950         (gst_fake_src_create):
20951         * gst/elements/gstfakesrc.h:
20952         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20953         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20954         (gst_segment_set_last_stop), (gst_segment_set_seek),
20955         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20956         (gst_segment_to_running_time), (gst_segment_clip):
20957         * gst/gstsegment.h:
20958         More segment updates, replace code in plugins with segment
20959         helper functions.
20960
20961 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20962
20963         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20964         Don't ignore sscanf results
20965
20966 2005-11-21  Andy Wingo  <wingo@pobox.com>
20967
20968         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20969
20970         * *.h:
20971         * *.c: Ran scripts/update-macros. Oh yes.
20972
20973         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20974         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20975         GST_GET_LOCK, etc.
20976
20977         * scripts/update-macros: New script. Run it on your files to
20978         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20979         well.
20980
20981 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20982
20983         * docs/gst/Makefile.am:
20984         * docs/gst/gstreamer-docs.sgml:
20985         * docs/gst/gstreamer-sections.txt:
20986         * docs/gst/gstreamer.types:
20987         * gst/gstinfo.h:
20988           more docs fixes, add new api to the docs
20989
20990 2005-11-21  Andy Wingo  <wingo@pobox.com>
20991
20992         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20993         state_broadcast call.
20994
20995         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20996
20997 2005-11-21  Julien MOUTTE  <julien@moutte.net>
20998
20999         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
21000         function calls for arrays.
21001
21002 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
21003
21004         * docs/random/ensonic/media-device-daemon.txt:
21005           wild idea, can this be done?
21006         * docs/gst/gstreamer-sections.txt:
21007         * gst/gsterror.h:
21008         * gst/gstfilter.c:
21009         * gst/gstfilter.h:
21010         * gst/gstplugin.h:
21011         * gst/gstpluginfeature.c:
21012         * gst/gsttrace.c:
21013         * gst/gstvalue.c:
21014         * gst/gstvalue.h:
21015           doc fixes and additions
21016
21017 2005-11-21  Andy Wingo  <wingo@pobox.com>
21018
21019         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
21020         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
21021         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
21022         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
21023         private to the basesrc implementation.
21024
21025         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
21026         behalf of event function if necessary. It should no longer be
21027         necessary to take the stream lock in pad's event functions. Fixes
21028         #320299.
21029
21030 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
21031         * docs/gst/gstreamer-sections.txt:
21032         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
21033         (gst_structure_fixate_field_nearest_double),
21034         (gst_structure_fixate_field_boolean):
21035         * gst/gststructure.h:
21036         * win32/common/libgstreamer.def:
21037         * win32/gstreamer.def:
21038
21039         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
21040         (#322027)
21041
21042 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
21043
21044         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
21045         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
21046         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
21047         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
21048         (gst_fdsrc_uri_handler_init):
21049         * gst/elements/gstfdsrc.h:
21050           Port fd:// URI handler from 0.8 to fdsrc
21051
21052 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
21053
21054         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
21055         (gst_value_serialize_fourcc):
21056         * gst/gstvalue.h:
21057           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
21058           consistent with our other format defines (#320324).
21059
21060 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
21061
21062         * gst/gstvalue.c: (gst_value_is_fixed):
21063           Revert previous commit. Value lists are by definition
21064           not fixed, as they are a list of possible values.
21065
21066 2005-11-21  Andy Wingo  <wingo@pobox.com>
21067
21068         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
21069         during the stable series if we need it. Fixes #319178.
21070
21071         * gst/gstevent.c (gst_event_new_filler): Removed.
21072
21073         * check/gst/gstevent.c: Update comment about filler events.
21074
21075 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
21076
21077         * gst/gstvalue.c: (gst_value_is_fixed):
21078           Should handle both value arrays and value lists.
21079
21080 2005-11-21  Andy Wingo  <wingo@pobox.com>
21081
21082         patch by: Alessandro Dessina <alessandro nnva org>
21083
21084         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
21085         functions to access arrays. Fixes #321962.
21086
21087 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
21088
21089         * docs/gst/gstreamer.types:
21090           gst_collectpads_get_type => gst_collect_pads_get_type.
21091           
21092         * gst/base/gstbasetransform.c:
21093           Remove unused SIGNAL_HANDOFF enum.
21094
21095 2005-11-21  Andy Wingo  <wingo@pobox.com>
21096
21097         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
21098         the event type (upstream, downstream, serialized). Renamed
21099         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
21100         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
21101         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
21102
21103         * gst/gstevent.c: Update for new CUSTOM event names.
21104
21105         * check/gst/gstevent.c: Update check for new CUSTOM event names.
21106
21107         * gst/gstevent.h:
21108         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
21109         bug #319392.
21110
21111 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
21112
21113         * docs/gst/gstreamer-sections.txt:
21114         * win32/common/libgstbase.def:
21115         * win32/libgstbase.def:
21116         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
21117         (gst_collect_pads_class_init), (gst_collect_pads_init),
21118         (gst_collect_pads_finalize), (gst_collect_pads_new),
21119         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
21120         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
21121         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
21122         (gst_collect_pads_start), (gst_collect_pads_stop),
21123         (gst_collect_pads_peek), (gst_collect_pads_pop),
21124         (gst_collect_pads_available), (gst_collect_pads_read),
21125         (gst_collect_pads_flush), (gst_collect_pads_event),
21126         (gst_collect_pads_chain):
21127         * gst/base/gstcollectpads.h:
21128           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
21129           unimplemented functions as unimplemented. Add padding to
21130           GstCollectData. (#320766, #320423)
21131
21132 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
21133
21134         * gst/gstmessage.c:
21135           Improve docs for DURATION message (usage of duration parameter)
21136           (#320113)
21137
21138 2005-11-20  Wim Taymans  <wim@fluendo.com>
21139
21140         * check/Makefile.am:
21141         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
21142         (main):
21143         * gst/Makefile.am:
21144         * gst/gst.h:
21145         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
21146         (gst_segment_set_seek), (gst_segment_set_newsegment),
21147         (gst_segment_to_stream_time), (gst_segment_to_running_time),
21148         (gst_segment_clip):
21149         * gst/gstsegment.h:
21150         Added segment helper structure and methods. Not fully implemented
21151         yet.
21152         Added segment check.
21153
21154 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
21155
21156         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
21157           Add a deserialisation test for fractions
21158         * examples/metadata/read-metadata.c: (message_loop),
21159         (make_pipeline), (main):
21160           Fix up metadata reading sample.
21161         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21162           Debug format fix
21163         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21164           Don't try and fixate empty caps
21165         * gst/gst_private.h:
21166           Wrap in G_BEGIN_DECLS/G_END_DECLS
21167         * gst/gstvalue.c: (gst_value_collect_fraction),
21168         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
21169         (gst_value_transform_string_fraction),
21170         (gst_value_compare_fraction):
21171           Add some extra guards to ensure that we don't end up 
21172           with an invalid denominator of 0 in a gstfraction and
21173           that fractions always get reduced.
21174
21175 2005-11-20  Wim Taymans  <wim@fluendo.com>
21176
21177         * docs/gst/gstreamer-sections.txt:
21178         * gst/gstbuffer.h:
21179         * gst/gstelement.c:
21180         * gst/gstformat.c:
21181         * gst/gstformat.h:
21182         * gst/gstindex.h:
21183         * gst/gstquery.c:
21184         * gst/gstquery.h:
21185         * gst/gstvalue.c:
21186         Doc fixes.
21187
21188 2005-11-20  Wim Taymans  <wim@fluendo.com>
21189
21190         * docs/design/part-TODO.txt:
21191         * gst/gstcaps.h:
21192         Make a proper enum of the flag.
21193
21194 2005-11-19  Wim Taymans  <wim@fluendo.com>
21195
21196         * docs/design/part-TODO.txt:
21197         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
21198         (gst_format_to_quark), (gst_format_register):
21199         * gst/gstformat.h:
21200         * gst/gstquery.c: (_gst_query_initialize),
21201         (gst_query_type_get_name), (gst_query_type_to_quark),
21202         (gst_query_type_register):
21203         * gst/gstquery.h:
21204         Add type to quark and type to string conversions.
21205
21206 2005-11-19  Andy Wingo  <wingo@pobox.com>
21207
21208         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
21209         #320097.
21210
21211 2005-11-19  Wim Taymans  <wim@fluendo.com>
21212
21213         * docs/design/part-TODO.txt:
21214         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
21215         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
21216         (gst_bin_handle_message_func):
21217         * gst/gstbin.h:
21218         Make message handling overridable.
21219
21220 2005-11-19  Andy Wingo  <wingo@pobox.com>
21221
21222         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
21223
21224         * gst/gstclock.h:
21225         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
21226         be a GstClockTime.
21227         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
21228         is a GstClockTime. Fixes #321710.
21229
21230         * gst/gstclock.h (GstClock): Remove offset property. Add
21231         internal_calibration and external_calibration. Fix padding. Pad
21232         also by GstClockTime so we don't run into problems.
21233
21234         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
21235         (gst_clock_get_rate_offset): Remove.
21236         (gst_clock_set_time_adjust): Remove. Fixes #321712.
21237
21238         * gst/gstutils.h:
21239         * gst/gstutils.c (g_static_rec_cond_wait)
21240         (g_static_rec_cond_timed_wait): Removed, no longer needed.
21241
21242         * gst/gstbin.c: Remove terrible continue_state prototype.
21243
21244         * gst/gstelement.h (gst_element_continue_state): Make public.
21245
21246         * gst/gstelement.h:
21247         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
21248         by continue_state. Fixes #319389.
21249
21250         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
21251         Really fixes #168438. However I don't see anywhere where the
21252         filter function is called... stupid GStreamer...
21253         
21254         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
21255         don't have a dispose function, so it won't get called when the
21256         object is unreffed, but oh well!
21257
21258         * gst/gstindex.c (gst_index_set_filter_full): New API function,
21259         allows a destroy function to be set so user_data can be freed.
21260         Fixes #168438.
21261         (gst_index_set_filter): Call gst_index_set_filter_full.
21262
21263         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
21264
21265         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
21266         string should produce an error, given the lack of a way to
21267         represent NULL strings. Fixes #165650.
21268         
21269         * gst/gstvalue.h: 
21270         * gst/gstvalue.c (gst_value_array_append_value) 
21271         (gst_value_array_prepend_value, gst_value_array_get_size) 
21272         (gst_value_array_get_value): New API, copied from
21273         gst_value_list_*, only operates on arrays.
21274         (gst_value_list_append_value, gst_value_list_prepend_value) 
21275         (gst_value_list_concat, gst_value_list_get_size) 
21276         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
21277
21278         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
21279         init_list, because it works on both.
21280         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
21281         (gst_value_copy_list_or_array): Renamed from copy_list.
21282         (gst_value_free_list_or_array): Renamed from free_list.
21283         (gst_value_collect_list_or_array): Renamed from collect_list.
21284         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
21285         (gst_value_list_or_array_peek_pointer): Renamed from
21286         list_peek_pointer.
21287         (_gst_value_array_value_table, _gst_value_list_value_table):
21288         Update value table functions.
21289         (gst_value_compare_list_or_array): Renamed from compare_list.
21290
21291         * gsttaglist.h: Whoops, foreach function returns void. Also fix
21292         some constness.
21293
21294         * gst/gsttaglist.c:
21295         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
21296         GstTagList*. Fixes #143472.
21297
21298         * gst/gststructure.h: Clarify what the foreach/map functions can
21299         or can't do to their arguments.
21300
21301 2005-11-18  Wim Taymans  <wim@fluendo.com>
21302
21303         * gst/gstclock.c: (gst_clock_set_calibration),
21304         (gst_clock_get_calibration):
21305         Doc and API fixes.
21306         Calibration can be set with internal time equal to current
21307         internal time too.
21308
21309 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21310
21311         * gst/gsterror.c:
21312         * gst/gsterror.h:
21313           document
21314
21315 2005-11-18  Andy Wingo  <wingo@pobox.com>
21316
21317         * configure.ac: 
21318         * pkgconfig/gstreamer-net.pc.in:
21319         * pkgconfig/gstreamer-net-uninstalled.pc.in:
21320         * pkgconfig/Makefile.am: Add net pkgconfig files.
21321
21322 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
21323
21324         * gst/gstcaps.c:
21325         * gst/gstghostpad.c:
21326         * gst/gsttrace.c:
21327         * gst/gstvalue.c:
21328         * gst/gstvalue.h:
21329           docs fixes
21330
21331 2005-11-18  Andy Wingo  <wingo@pobox.com>
21332
21333         * gst/net/gstnetclientclock.c: Turn off debugging.
21334
21335         * check/net/gstnetclientclock.c (test_functioning): Assert that the
21336         times connverge somewhat. Can't make a real test.
21337
21338         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
21339         integer arithmetic. Return the minimum of the domain, which can be
21340         set as "internal" for gst_clock_set_calibration.
21341         (gst_net_client_clock_observe_times): Call _set_calibration.
21342         (gst_net_client_clock_new): Call _set_calibration instead of
21343         rate_offset.
21344
21345         * check/net/gstnetclientclock.c (test_functioning): Use the right
21346         adjustment api.
21347
21348         * gst/gstclock.h:
21349         * gst/gstclock.c (gst_clock_get_calibration) 
21350         (gst_clock_set_calibration): New functions, obsolete the ones I
21351         added yesterday. Doh. Precision issues mean we have to extrapolate
21352         from a point in the more recent past than 1970.
21353         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
21354         obsolete.
21355         (gst_clock_adjust_unlocked): Use the right calibration data.
21356
21357 2005-11-18  Edward Hervey  <edward@fluendo.com>
21358
21359         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
21360         Also reset the ->current_* values in READY->PAUSED
21361
21362 2005-11-18  Andy Wingo  <wingo@pobox.com>
21363
21364         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
21365         Whoops, check the right fd. Also add some debugging.
21366         (gst_net_client_clock_observe_times): Adjust for int64 offset.
21367         (do_linear_regression): Add a crapload of debugging. Subtract off
21368         the minimum values from the input series to discard unneeded bits.
21369         Use only int arithmetic. There is still double arithmetic when
21370         calculating the intercept that needs fixing. Return boolean to
21371         indicate success; FALSE would mean the domain or range is too
21372         great. Still needs fixes.
21373
21374 2005-11-18  Wim Taymans  <wim@fluendo.com>
21375
21376         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
21377         For the current position in stream time, we need to subtract
21378         accumulated time.
21379         
21380         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
21381         Release lock before calling the callback function of async
21382         entries.
21383
21384 2005-11-18  Andy Wingo  <wingo@pobox.com>
21385
21386         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
21387         Port goes all the way to MAXUINT16.
21388
21389         * gst/net/gstnettimeprovider.c: Make the port range the same as
21390         for the kernel: 0 assigns, otherwise ports are less than
21391         MAXUINT16.
21392
21393         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
21394         port change.
21395
21396         * check/net/gstnetclientclock.c (test_functioning): Add the start
21397         of another test. 
21398
21399 2005-11-18  Wim Taymans  <wim@fluendo.com>
21400
21401         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21402         (gst_bin_remove_func), (bin_bus_handler):
21403         * gst/gstbin.h:
21404         Removing a clock provider from a bin, triggers a clock lost message
21405         so that a new clock will be selected.
21406         Adding a clock to a bin triggers a clock provider message.
21407         Make sure we reselect a clock when we received a clock lost message.
21408         Keep a reference to the element that provided the clock.
21409
21410 2005-11-18  Andy Wingo  <wingo@pobox.com>
21411
21412         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
21413         the clock initially so it produces values around the base time.
21414         (gst_net_client_clock_class_init): Typo fix.
21415         (gst_net_client_clock_thread): Add note on when the socket gets
21416         closed.
21417
21418 2005-11-17  Wim Taymans  <wim@fluendo.com>
21419
21420         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
21421         Free remote and local time arrays.
21422
21423 2005-11-17  Wim Taymans  <wim@fluendo.com>
21424
21425         * gst/net/gstnetclientclock.c: (do_linear_regression),
21426         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
21427         Fix compilation, uninitialized vars and a forgotten continue.
21428
21429 2005-11-17  Andy Wingo  <wingo@pobox.com>
21430
21431         * check/Makefile.am (check_PROGRAMS): 
21432         * check/net/gstnetclientclock.c: Add a most minimal test for the
21433         net client clock. More to come later.
21434
21435         * gst/net/gstnet.h: 
21436         * gst/net/Makefile.am: Add netclientclock.
21437
21438         * gst/net/gstnetclientclock.h:
21439         * gst/net/gstnetclientclock.c: New files, implement an untested
21440         GstClock that takes its time from a network time provider.
21441         Implements the algorithm in network-clock.scm.
21442
21443         * tests/network-clock.scm (*window-size*): Rename from
21444         *queue-length*.
21445         * tests/network-clock.scm (network-time): 
21446         * tests/network-clock-utils.scm (q-push): Update callers.
21447
21448 2005-11-17  Wim Taymans  <wim@fluendo.com>
21449
21450         * gst/gstbin.c: (gst_bin_provide_clock_func),
21451         (gst_bin_sort_iterator_new):
21452         And unref the child too..
21453
21454 2005-11-17  Wim Taymans  <wim@fluendo.com>
21455
21456         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
21457         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
21458         Refactor the sort iterator so it can be used while holding the
21459         LOCK too.
21460         Make clock selection select a clock closest to the source.
21461
21462 2005-11-17  Michael Smith <msmith@fluendo.com>
21463
21464         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
21465         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
21466         * gst/gstclock.h:
21467           Anonymous structs are a gcc (and some other compilers) extension, so
21468           don't use them. Since this is only for ABI-compatibility, and our
21469           API/ABI freeze is over in a few days, this whole thing will only
21470           last a few days, so don't bother trying to think up a meaningful
21471           name for the struct.
21472
21473 2005-11-17  Andy Wingo  <wingo@pobox.com>
21474
21475         * gst/gstclock.h (GstClock): Add rate and offset properties,
21476         preserving ABI stability. Add rate/offset accessors. Will file bug
21477         for the freeze break.
21478
21479         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
21480         and offset, trying to keep precision and avoiding
21481         underflow/overflow.
21482         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
21483         functions. Make gst_clock_set_time_adjust obsolete.
21484         (gst_clock_set_time_adjust): Note that this function is obsolete.
21485         Will file bug soon.
21486
21487         * gst/base/gstbasetransform.h: Make the ABI-stability hack
21488         greppable by using GST_PADDING-1+1.
21489
21490 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
21491
21492         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21493
21494         * gst/gstmessage.c: (gst_message_parse_clock_lost):
21495           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
21496
21497         * gst/gstpadtemplate.h:
21498         * gst/gstpluginfeature.h:
21499           Don't use c++ style comments in headers (#321638).
21500
21501 2005-11-16  Andy Wingo  <wingo@pobox.com>
21502
21503         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
21504         buffer.
21505
21506         * check/net/gstnettimeprovider.c: Check to see that the time
21507         provider actually provides times. Works, yo!
21508
21509 2005-11-16  Wim Taymans  <wim@fluendo.com>
21510
21511         * check/Makefile.am:
21512         Enable more tests.
21513
21514         * check/elements/fakesrc.c: (GST_START_TEST):
21515         Set element to NULL before disposing it.
21516
21517 2005-11-16  Andy Wingo  <wingo@pobox.com>
21518
21519         * gst/net/Makefile.am:
21520         * gst/net/gstnet.h:
21521         * gst/net/gstnettimeprovider.c: 
21522         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
21523         provider, include it from gstnet.h, and add it to the build.
21524
21525         * gst/net/gstnettimepacket.h: 
21526         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
21527         sending and receiving.
21528
21529 2005-11-16  Wim Taymans  <wim@fluendo.com>
21530
21531         * check/Makefile.am:
21532         Enable valgrind check.
21533
21534         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
21535         (gst_fake_src_alloc_buffer):
21536         Fix memleak.
21537
21538 2005-11-16  Wim Taymans  <wim@fluendo.com>
21539
21540         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
21541         Call parent finalize too.
21542
21543 2005-11-16  Wim Taymans  <wim@fluendo.com>
21544
21545         * check/Makefile.am:
21546         Enable valgrind check that should work fine now.
21547
21548         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21549         * gst/gstqueue.c: (gst_queue_init):
21550         Fix memleaks in pad allocation.
21551
21552 2005-11-16  Andy Wingo  <wingo@pobox.com>
21553
21554         * gst/net/Makefile.am:
21555         * gst/net/gstnet.h: New part of core to hold network elements and
21556         objects. Put in core because it exposes API that applications want
21557         to use. The library is named libgstnet-tempname right now because
21558         of the existing libgstnet in gst-plugins-base. Solution is
21559         probably to rename the one in plugins-base; will file a bug for
21560         the freeze break.
21561
21562         * gst/net/gstnettimeprovider.c: 
21563         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21564         get_time call over the network.
21565
21566         * configure.ac: 
21567         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21568
21569         * check/Makefile.am:
21570         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21571         get additions shortly.
21572
21573 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21574
21575         * gst/gstpad.c: (gst_pad_new_from_static_template):
21576         * gst/gstpad.h:
21577           add gst_pad_new_from_static_template functions
21578         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21579         (gst_check_setup_sink_pad):
21580         * gst/elements/gsttee.c: (gst_tee_init):
21581           and use them
21582
21583 2005-11-16  Wim Taymans  <wim@fluendo.com>
21584
21585         * gst/gstpad.c: (gst_pad_pause_task):
21586         Removed warning, it's not really an error either.
21587
21588 2005-11-16  Wim Taymans  <wim@fluendo.com>
21589
21590         * gst/base/gstbasetransform.c:
21591         (gst_base_transform_prepare_output_buf),
21592         (gst_base_transform_event):
21593         Check if the caps are NULL, this can happen if the element
21594         is shutting down and the pad caps are set to NULL.
21595
21596 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21597
21598         * gst/elements/gsttee.c: (gst_tee_init):
21599           fix pad template leak in tee
21600
21601 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21602
21603         * gst/glib-compat.c: (g_value_dup_gst_object):
21604         * gst/glib-compat.h:
21605         * gst/gstpad.c: (gst_pad_set_property):
21606           use gst_object_ref when setting the pad template; this will
21607           trigger the pad template leaks on GLib 2.6 and the slaves
21608
21609 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21610
21611         * gst/glib-compat.c: (gst_flags_get_first_value):
21612         * gst/glib-compat.h:
21613         * gst/gstregistryxml.c:
21614           remove functions copied from GLib 2.6
21615
21616 2005-11-16  Michael Smith <msmith@fluendo.com>
21617
21618         * gst/Makefile.am:
21619           Don't link against VALGRIND_LIBS. That was always the wrong thing to
21620           do, but only breaks with newer valgrind versions. We're not a
21621           valgrind tool, we have no link-time dependencies on libcoregrind.
21622
21623 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21624
21625         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21626           some debug changes
21627         * gst/gstmessage.h:
21628           typo fixes
21629
21630 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21631
21632         * gst/base/gstbasesrc.c: (gst_base_src_init):
21633         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21634         * gst/gstqueue.c: (gst_queue_init):
21635         * gst/gstregistryxml.c: (load_feature):
21636           Revert all these unrefs, they don't even pass make check !
21637
21638 2005-11-15  Johan Dahlin  <johan@gnome.org>
21639
21640         * gst/base/gstbasesrc.c: (gst_base_src_init):
21641         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21642         * gst/gstqueue.c: (gst_queue_init): 
21643         Free pad templates, fixes a couple of leaks.
21644
21645 2005-11-15  Daniel Fischer  <dan at f3c dot com>
21646
21647         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21648
21649         * gst/gstpad.c: (gst_pad_get_property):
21650           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21651           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21652           (#321452)
21653
21654 2005-11-15  Wim Taymans  <wim@fluendo.com>
21655
21656         * gst/gstevent.c:
21657         Small doc update.
21658
21659 2005-11-15  Andy Wingo  <wingo@pobox.com>
21660
21661         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21662
21663         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21664         using GST_CLOCK_TIME_NONE to disable base time management.
21665         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21666         time if it was NONE before.
21667         (gst_pipeline_change_state): Only munge the base time if
21668         stream_time != GST_CLOCK_TIME_NONE.
21669
21670         * check/gst/gstpipeline.c (test_base_time): Punt around the
21671         problem of the probe not being called, because that's not the
21672         issue I'm looking at. Add a check that setting stream_time to NONE
21673         disables base time management.
21674         
21675 2005-11-15  Wim Taymans  <wim@fluendo.com>
21676
21677         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21678         segment_stop == -1 at startup.
21679
21680         * gst/base/gstbasetransform.c: (gst_base_transform_event),
21681         (gst_base_transform_change_state):
21682         Init segment values at start.
21683
21684 2005-11-15  Wim Taymans  <wim@fluendo.com>
21685
21686         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21687         0 segment values are 0 in any format.
21688
21689         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21690         * gst/base/gstbasetransform.h:
21691         Parse newsegment correctly in basetransform
21692
21693         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21694         Sync to clock using updated segment values.
21695
21696 2005-11-15  Andy Wingo  <wingo@pobox.com>
21697
21698         * check/gst/gstpipeline.c (test_base_time): Add check that the
21699         base time and stream time are reset correctly.
21700
21701 2005-11-15  Wim Taymans  <wim@fluendo.com>
21702
21703         * docs/design/part-TODO.txt:
21704         Some more TODO items.
21705
21706 2005-11-15  Andy Wingo  <wingo@pobox.com>
21707
21708         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21709         error if the user selected "no clock" as the clocking method.
21710
21711         * check/gst/gstpipeline.c (test_base_time): New test for buffer
21712         timestamps with live capture.
21713
21714         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21715         is 0 but we are a live source, timestamp the buffers using the
21716         element's clock.
21717
21718 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
21719
21720         * docs/gst/gstreamer-sections.txt:
21721         * gst/gsterror.c:
21722         * gst/gstghostpad.c:
21723         * gst/gstobject.h:
21724         * gst/gstxml.c:
21725           more section docs
21726
21727 2005-11-14  Wim Taymans  <wim@fluendo.com>
21728
21729         * common/gst.supp:
21730           add suppressions from Wim's Debian machine
21731
21732 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
21733
21734         * common/gst.supp:
21735           add suppressions from Andy's AMD64 Ubuntu machine
21736
21737 2005-11-14  Andy Wingo  <wingo@pobox.com>
21738
21739         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21740         STATE_LOCK not necessary. Fixes #311489.
21741
21742         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21743         #305291.
21744
21745         * gst/gstindex.c (gst_index_add_object): Note in the docs that
21746         this function is not implemented.
21747
21748 2005-11-14  Julien MOUTTE  <julien@moutte.net>
21749
21750         * gst/base/gstbasetransform.c:
21751         (gst_base_transform_prepare_output_buf):
21752         Ref the source pad caps while we need them.
21753         Fixes (#321386)
21754
21755 2005-11-11  Wim Taymans  <wim@fluendo.com>
21756
21757         * docs/gst/gstreamer-sections.txt:
21758         Added some docs for GstCollectData.
21759
21760         * gst/base/gstadapter.c:
21761         Some small code example fix.
21762
21763         * gst/base/gstcollectpads.c:
21764         * gst/base/gstcollectpads.h:
21765         Document some more.
21766
21767 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21768
21769         * configure.ac: back to HEAD
21770
21771 === release 0.9.5 ===
21772
21773 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
21774
21775         * configure.ac:
21776           releasing 0.9.5, "Bike Lunch Day"
21777
21778 2005-11-11  Wim Taymans  <wim@fluendo.com>
21779
21780         * gst/gstbuffer.c: (_gst_buffer_copy):
21781         Copy more flags.
21782
21783         * gst/gstcaps.c: (gst_caps_is_equal):
21784         Fix some docs.
21785         Make _is_equal fast in the trivial cases.
21786
21787         * gst/gstminiobject.c:
21788         * gst/gstminiobject.h:
21789         More docs. Spifify .h file.
21790
21791         * gst/gstutils.c:
21792         Small doc update.
21793
21794 2005-11-11  Wim Taymans  <wim@fluendo.com>
21795
21796         * gst/base/gstbasetransform.c:
21797         (gst_base_transform_prepare_output_buf),
21798         (gst_base_transform_handle_buffer):
21799         Small cleanups.
21800         If we're processing a buffer and need to allocate an output
21801         buffer, we cannot accept a format change. If we did get a 
21802         format change, we have to alloc a buffer ourselves of the 
21803         right size.
21804
21805 2005-11-11  Wim Taymans  <wim@fluendo.com>
21806
21807         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21808         While checking the flag for reentrancy in the gstcaps function
21809         is nice to detect recursive invocations, it also makes it 
21810         impossible to call getcaps from multiple threads, which must be
21811         possible. So, checking for recursive calls has to go.
21812
21813 2005-11-11  Michael Smith <msmith@fluendo.com>
21814
21815         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21816           Don't sync on buffers that fall partially outside our current
21817           segment. Prevents an assertion failure/abort playing some files.
21818
21819 2005-11-10  Andy Wingo  <wingo@pobox.com>
21820
21821         * check/gst/gstbin.c (test_message_state_changed_children): Style
21822         fix..
21823
21824         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21825         gst_bus_poll with the signal watch. Ensures that poll and a signal
21826         watch see the same messages.
21827
21828         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21829         a poll and a watch at the same time get the same messages.
21830
21831 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21832
21833         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21834         * gst/gstcaps.c: (gst_caps_intersect):
21835           Don't call gst_caps_do_simplify - it doesn't respect order of caps
21836           and it's not needed.
21837
21838 2005-11-10  Wim Taymans  <wim@fluendo.com>
21839
21840         * docs/design/part-TODO.txt:
21841         Updated todo.
21842
21843 2005-11-10  Wim Taymans  <wim@fluendo.com>
21844
21845         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21846         * gst/base/gstbasesrc.c: (gst_base_src_wait),
21847         (gst_base_src_do_sync), (gst_base_src_get_range):
21848         Implement clock sync in base class.
21849
21850 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21851
21852         patch by: Tim-Philipp Müller <tim at centricular dot net>
21853
21854         * gst/gststructure.c: (gst_structure_parse_field),
21855         (gst_structure_from_string):
21856           Forward-port a 0.8 patch to handle escaped spaces in structure string,
21857           so that gst_parse_launch() can deal with spaces in filtered link
21858           caps (fixes #164479)
21859         * check/gst/capslist.h:
21860         * check/gst/gststructure.c: (GST_START_TEST):
21861           add unit tests for this change
21862
21863 2005-11-10  Wim Taymans  <wim@fluendo.com>
21864
21865         * docs/gst/gstreamer-sections.txt:
21866         * gst/gstelement.c:
21867         * gst/gstelement.h:
21868         Fix docs, move some STATE macros to private.
21869
21870 2005-11-10  Wim Taymans  <wim@fluendo.com>
21871
21872         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21873         Added check for bug #317341
21874
21875         * gst/gstbuffer.c:
21876         * gst/gstbuffer.h:
21877         Some more spiffifying.
21878
21879         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21880         Call peer linkfunction if we are a source pad. Totally fixes
21881         #317341
21882
21883         * gst/gstpad.c:
21884         Update docs, source pads should call the peer linkfunction
21885         so they can atomically perform the pad link.
21886
21887 2005-11-09  Wim Taymans  <wim@fluendo.com>
21888
21889         * gst/gstbuffer.c:
21890         * gst/gstbuffer.h:
21891         Uber-spiffy-spiffify some more.
21892
21893 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
21894
21895         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21896         * gst/elements/gstfilesink.c: (gst_file_sink_init):
21897         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21898         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21899         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21900         * gst/gstpad.c: (gst_pad_init):
21901           Use GST_DEBUG_FUNCPTR() more extensively.
21902
21903 2005-11-09  Wim Taymans  <wim@fluendo.com>
21904
21905         * gst/gstobject.c: (gst_object_class_init):
21906         * gst/gstobject.h:
21907         Documentation fixes.
21908
21909 2005-11-09  Edward Hervey  <edward@fluendo.com>
21910
21911         * gst/gsttypefindfactory.c:
21912         Fix docs.
21913         
21914 2005-11-09  Edward Hervey  <edward@fluendo.com>
21915
21916         * gst/base/gsttypefindhelper.c:
21917         * gst/gsttypefind.c:
21918         * gst/gsttypefind.h:
21919         Fix docs.
21920
21921 2005-11-09  Wim Taymans  <wim@fluendo.com>
21922
21923         * gst/gstiterator.c:
21924         Fix revision data.
21925
21926         * gst/gsttask.c:
21927         * gst/gsttask.h:
21928         Fix docs.
21929
21930 2005-11-09  Wim Taymans  <wim@fluendo.com>
21931
21932         * gst/gstevent.h:
21933         * gst/gsturi.h:
21934         Fix docs.
21935
21936 2005-11-09  Wim Taymans  <wim@fluendo.com>
21937
21938         * docs/gst/gstreamer-sections.txt:
21939         Moved the message async delivery private lock and cond
21940         to the private section.
21941
21942         * gst/gstmessage.c:
21943         * gst/gstmessage.h:
21944         Fixed docs.
21945
21946 2005-11-09  Edward Hervey  <edward@fluendo.com>
21947
21948         * docs/gst/gstreamer-sections.txt:
21949         * gst/gsturi.c:
21950         * gst/gsturi.h:
21951         Document GstURIHandler
21952
21953 2005-11-09  Wim Taymans  <wim@fluendo.com>
21954
21955         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21956         (gst_iterator_find_custom):
21957         * gst/gstiterator.h:
21958         Fix iterator docs.
21959
21960 2005-11-09  Wim Taymans  <wim@fluendo.com>
21961
21962         * gst/gstbin.h:
21963         Document another field.
21964
21965         * gst/gststructure.c:
21966         * gst/gststructure.h:
21967         Document.
21968
21969 2005-11-09  Wim Taymans  <wim@fluendo.com>
21970
21971         * gst/gstbin.h:
21972         Documented structs.
21973
21974 2005-11-09  Wim Taymans  <wim@fluendo.com>
21975
21976         * docs/gst/gstreamer-sections.txt:
21977         Added some new macros.
21978
21979         * gst/gstclock.c:
21980         * gst/gstclock.h:
21981         * gst/gstobject.h:
21982         Docs updates.
21983
21984 2005-11-09  Wim Taymans  <wim@fluendo.com>
21985
21986         * docs/design/part-TODO.txt:
21987         Some more items for the TODO
21988
21989         * gst/gstcaps.c:
21990         * gst/gstcaps.h:
21991         Document GstCaps.
21992
21993 2005-11-09  Andy Wingo  <wingo@pobox.com>
21994
21995         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21996         to work on something else now tho...
21997
21998         * gst/base/gstadapter.c: More adapter docs.
21999
22000         * gst/elements/gstfilesink.c (gst_file_sink_start) 
22001         (gst_file_sink_stop): New functions, replace the state change
22002         handler.
22003         (gst_file_sink_class_init): Hook up the start and stop functions.
22004         (gst_file_sink_base_init): Don't set the state change handler any
22005         more. It was a bit ugly too, being set from here...
22006         (gst_file_sink_get_property, gst_file_sink_set_property):
22007         Cleanups...
22008         (gst_file_sink_set_location): More robust check that doesn't call
22009         GST_STATE. Ugggggg.
22010
22011 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
22012
22013         * gst/base/gstbasetransform.c: (gst_base_transform_event):
22014           Hold STREAM_LOCK while pushing newsegment or tag events as well.
22015
22016 2005-11-08  Wim Taymans  <wim@fluendo.com>
22017
22018         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
22019         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
22020         (gst_base_sink_chain), (gst_base_sink_change_state):
22021         * gst/base/gstbasesink.h:
22022         * gst/base/gstbasesrc.h:
22023         * gst/gstelement.h:
22024         * gst/gstevent.h:
22025         Avoid excessive typechecking in macros.
22026
22027         * gst/gstminiobject.c: (gst_mini_object_get_type),
22028         (gst_mini_object_init), (gst_mini_object_new),
22029         (gst_mini_object_free):
22030         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
22031         (gst_object_finalize):
22032         Remove cruft code, optimize alloc_trace.
22033
22034 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
22035
22036         * docs/faq/gst-uninstalled:
22037           fix up PS1 for systems that try to reset it
22038
22039 2005-11-07  Wim Taymans  <wim@fluendo.com>
22040
22041         * gst/base/gstbasesrc.c: (gst_base_src_init),
22042         (gst_base_src_get_range):
22043         Set the segment_end to -1 initially. Fixed typefind.
22044
22045 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
22046
22047         * gst/base/gstadapter.c:
22048           Debug category should be 'adapter', not 'GstAdapter'.
22049           
22050         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
22051         (gst_collectpads_class_init), (gst_collectpads_init),
22052         (gst_collectpads_peek), (gst_collectpads_pop),
22053         (gst_collectpads_event), (gst_collectpads_chain):
22054           Add debug category and some debugging output. Use boilerplate
22055           macros. Remove some extraneous words from docs.
22056
22057 2005-11-05  Andy Wingo  <wingo@pobox.com>
22058
22059         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
22060         macro.
22061
22062 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
22063
22064         * docs/gst/gstreamer-sections.txt:
22065         * gst/gstcaps.h:
22066         * gst/gstinfo.c:
22067         * gst/gstminiobject.h:
22068         * gst/gstobject.h:
22069         * gst/gstutils.h:
22070           more docs added
22071
22072 2005-11-04  Wim Taymans  <wim@fluendo.com>
22073
22074         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22075         Small update to stop at the configured segment_end
22076         position.
22077
22078 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
22079
22080         * gst/gstregistry.c:
22081         * gst/gstregistry.h:
22082           added missing docs
22083
22084 2005-11-04  Edward Hervey  <edward@fluendo.com>
22085
22086         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22087         Check if we are doing a segment seek and have arrived at the
22088         end of that segment.
22089
22090 2005-11-04  Wim Taymans  <wim@fluendo.com>
22091
22092         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
22093         Don't leak a mutex unlock in case of an error.
22094
22095         * gst/gstbus.h:
22096         Doc fixes.
22097
22098 2005-11-04  Wim Taymans  <wim@fluendo.com>
22099
22100         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
22101         (gst_bus_post):
22102         Get the context to wake up only once.
22103
22104 2005-11-03  Wim Taymans  <wim@fluendo.com>
22105
22106         * check/states/sinks.c: (GST_START_TEST):
22107         Uncomment fixed check.
22108
22109         * docs/design/part-TODO.txt:
22110         Updated TODO.
22111
22112         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22113         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
22114         (gst_base_sink_get_position):
22115         If we are going to PLAYING, post the right pending state
22116         when we post the intermediate paused message.
22117
22118         * gst/gstelement.c: (gst_element_continue_state),
22119         (gst_element_set_state_func), (gst_element_change_state):
22120         Don't post state changes that were between the same state
22121         and were not ASYNC.
22122
22123 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
22124
22125         * docs/gst/gstreamer-sections.txt:
22126         * gst/gstcaps.h:
22127         * gst/gstinfo.c:
22128         * gst/gstminiobject.h:
22129         * gst/gstobject.h:
22130         * gst/gstutils.h:
22131           more docs and doc style fixes
22132
22133 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
22134
22135         * docs/gst/gstreamer-sections.txt:
22136         * gst/gstelement.c:
22137         * gst/gstminiobject.c:
22138         doc fixes
22139
22140 2005-11-03  Andy Wingo  <wingo@pobox.com>
22141
22142         * check/states/sinks.c (test_livesrc_sink): Add checks that the
22143         state-changed messages actually have the right order and the right
22144         values.
22145
22146 2005-11-03  Wim Taymans  <wim@fluendo.com>
22147
22148         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
22149         Added some more checks. Specifically the case where NO_PREROLL
22150         elements are in the pipeline.
22151
22152         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22153         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
22154         (gst_base_sink_get_position):
22155         Post READY->PAUSED state change messages too.
22156         Fix bug where VOID was posted as pending state...
22157
22158         * gst/gstbin.c: (gst_bin_recalc_state):
22159         use _element_continue_state() to continue the state change.
22160
22161         * gst/gstelement.c: (gst_element_continue_state),
22162         (gst_element_commit_state), (gst_element_set_state_func),
22163         (gst_element_change_state), (gst_element_change_state_func):
22164         Lots of state change cleanups, assign the STATE_RETURN in
22165         a new continue_state() function that also propagates the
22166         last return value from a state change to the app.
22167         Update some debug statements with proper category.
22168
22169 2005-11-03  Wim Taymans  <wim@fluendo.com>
22170
22171         * docs/design/part-events.txt:
22172         * docs/design/part-gstpipeline.txt:
22173         * docs/design/part-messages.txt:
22174         * docs/design/part-overview.txt:
22175         * docs/design/part-seeking.txt:
22176         * docs/design/part-states.txt:
22177         * docs/design/part-trickmodes.txt:
22178         * docs/manual/advanced-position.xml:
22179         Small docs updates.
22180
22181         * gst/gstobject.h:
22182         People think !! is ugly, this looks better.
22183
22184         * gst/gstpad.c: (gst_pad_set_blocked_async):
22185         Remove !! since it's fixed elsewhere now.
22186
22187 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
22188
22189         * gst/gstminiobject.h:
22190         * gst/gstobject.h:
22191           Add !! to _FLAG_IS_SET macros to make the result boolean.
22192
22193 2005-11-03  Edward Hervey  <edward@fluendo.com>
22194
22195         * gst/gstpad.c: (gst_pad_set_blocked_async):
22196         comparing a flag and a gboolean rarely returns coherent results...
22197         Added two characters (!!) to make that work correctly.
22198         
22199 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
22200
22201         * gst/gstbus.c: (gst_bus_class_init):
22202           Fix some typos.
22203           
22204         * gst/gstqueue.c: (gst_queue_loop):
22205           Don't assume a miniobject that isn't a buffer is an
22206           event (it could be that there is a refcounting
22207           problem somewhere and the pointer is stale and
22208           refers to an already destroyed miniobject).
22209
22210 2005-11-03  Julien MOUTTE  <julien@moutte.net>
22211
22212         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
22213
22214 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
22215
22216         * docs/manual/advanced-position.xml:
22217           Update seek example and explanations to current 0.9 API.
22218
22219         * gst/elements/gsttypefindelement.c:
22220         (gst_type_find_element_activate):
22221           Remove FIXME comment now that the found caps
22222           are unreffed.
22223
22224 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
22225
22226         * gst/gstregistryxml.c: (load_feature):
22227           Add another GST_STR_NULL instance
22228
22229 2005-11-02  Edward Hervey  <edward@fluendo.com>
22230
22231         * gst/gstpad.c: (handle_pad_block):
22232         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
22233         
22234 2005-11-02  Wim Taymans  <wim@fluendo.com>
22235
22236         * gst/gstbin.c:
22237         Fix typo in docs.
22238
22239         * gst/gstelement.c: (gst_element_commit_state):
22240         Remove unused value.
22241
22242         * gst/gstiterator.c:
22243         Mention that the returned element is reffed in the docs.
22244
22245 2005-11-02  Wim Taymans  <wim@fluendo.com>
22246
22247         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
22248         (gst_pad_push), (gst_pad_push_event):
22249         Unlock blocked pads when they are flushed.
22250
22251 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22252
22253         * docs/README:
22254         * docs/gst/gstreamer-sections.txt:
22255         * gst/gstbin.c:
22256           doc updates
22257         * gst/gstregistry.c: (gst_registry_scan_path_level):
22258           fix for a nasty little missed situation where an installed plug-in
22259           which was in the cache did not get overridden by an uninstalled one
22260           which was earlier in the plugin path because the newly created plugin
22261           for the uninstalled one (not in the registry) didn't get its
22262           ->registered set to TRUE
22263
22264 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
22265
22266         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
22267         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
22268         (gst_collectpads_is_active), (gst_collectpads_collect),
22269         (gst_collectpads_collect_range), (gst_collectpads_start),
22270         (gst_collectpads_stop), (gst_collectpads_peek),
22271         (gst_collectpads_pop), (gst_collectpads_available),
22272         (gst_collectpads_read), (gst_collectpads_flush):
22273           Guard public API with assertions.
22274         
22275         * gst/gstpad.c:
22276           Fix docs for gst_pad_set_link_function().
22277
22278 2005-11-02  Johan Dahlin  <johan@gnome.org>
22279
22280         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
22281         Unref found_caps after we used it.
22282
22283 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
22284
22285         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
22286           Don't try to ref NULL.
22287
22288 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22289
22290         * win32/common/config.h.in:
22291           provide a GST_FUNCTION that just gives a string for now
22292
22293 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22294
22295         * win32/common/gstenumtypes.c: (register_gst_object_flags),
22296         (gst_object_flags_get_type), (register_gst_bin_flags),
22297         (gst_bin_flags_get_type), (register_gst_buffer_flag),
22298         (gst_buffer_flag_get_type), (register_gst_bus_flags),
22299         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
22300         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
22301         (gst_clock_return_get_type), (register_gst_clock_entry_type),
22302         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
22303         (gst_clock_flags_get_type), (register_gst_state),
22304         (gst_state_get_type), (register_gst_state_change_return),
22305         (gst_state_change_return_get_type), (register_gst_state_change),
22306         (gst_state_change_get_type), (register_gst_element_flags),
22307         (gst_element_flags_get_type), (register_gst_core_error),
22308         (gst_core_error_get_type), (register_gst_library_error),
22309         (gst_library_error_get_type), (register_gst_resource_error),
22310         (gst_resource_error_get_type), (register_gst_stream_error),
22311         (gst_stream_error_get_type), (register_gst_event_type),
22312         (gst_event_type_get_type), (register_gst_seek_type),
22313         (gst_seek_type_get_type), (register_gst_seek_flags),
22314         (gst_seek_flags_get_type), (register_gst_format),
22315         (gst_format_get_type), (register_gst_index_certainty),
22316         (gst_index_certainty_get_type), (register_gst_index_entry_type),
22317         (gst_index_entry_type_get_type),
22318         (register_gst_index_lookup_method),
22319         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
22320         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
22321         (gst_index_resolver_method_get_type), (register_gst_index_flags),
22322         (gst_index_flags_get_type), (register_gst_debug_level),
22323         (gst_debug_level_get_type), (register_gst_debug_color_flags),
22324         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
22325         (gst_iterator_result_get_type), (register_gst_iterator_item),
22326         (gst_iterator_item_get_type), (register_gst_message_type),
22327         (gst_message_type_get_type), (register_gst_mini_object_flags),
22328         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
22329         (gst_pad_link_return_get_type), (register_gst_flow_return),
22330         (gst_flow_return_get_type), (register_gst_activate_mode),
22331         (gst_activate_mode_get_type), (register_gst_pad_direction),
22332         (gst_pad_direction_get_type), (register_gst_pad_flags),
22333         (gst_pad_flags_get_type), (register_gst_pad_presence),
22334         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
22335         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
22336         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
22337         (gst_plugin_error_get_type), (register_gst_plugin_flags),
22338         (gst_plugin_flags_get_type), (register_gst_rank),
22339         (gst_rank_get_type), (register_gst_query_type),
22340         (gst_query_type_get_type), (register_gst_tag_merge_mode),
22341         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
22342         (gst_tag_flag_get_type), (register_gst_task_state),
22343         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
22344         (gst_alloc_trace_flags_get_type),
22345         (register_gst_type_find_probability),
22346         (gst_type_find_probability_get_type), (register_gst_uri_type),
22347         (gst_uri_type_get_type), (register_gst_parse_error),
22348         (gst_parse_error_get_type):
22349         * win32/common/gstversion.h:
22350           update win32 copies
22351
22352 2005-11-01  Luca Ognibene  <luogni@tin.it>
22353
22354         * gst/gst.c:
22355           fix docs. popt is dead, long live GOption.
22356
22357 2005-10-31  Wim Taymans  <wim@fluendo.com>
22358
22359         * gst/gstbuffer.h:
22360         Small doc fix.
22361
22362 2005-10-31  Andy Wingo  <wingo@pobox.com>
22363
22364         * Boo!
22365
22366         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
22367
22368         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
22369         need to serialize property notifications on GLib 2.8. GLib 2.6 has
22370         the possibility of deadlocks here if code calling notify() or
22371         set() has a lock that can be taken in another notify handler (ABBA
22372         with class lock and e.g. python GIL state lock).
22373
22374 2005-10-28  Julien MOUTTE  <julien@moutte.net>
22375
22376         * gst/gstbus.c: Doc updates.
22377
22378 2005-10-28  Wim Taymans  <wim@fluendo.com>
22379
22380         * docs/design/part-TODO.txt:
22381         * gst/gstiterator.c:
22382         * gst/gstsystemclock.c:
22383         * gst/gstsystemclock.h:
22384         Doc updates.
22385
22386 2005-10-28  Edward Hervey  <edward@fluendo.com>
22387
22388         * docs/gst/gstreamer-docs.sgml:
22389         * docs/gst/gstreamer-sections.txt:
22390         the GstURIType documentation page is private, it only defines GstURIType
22391         which should be defined in the GstURIHandler page
22392         
22393 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
22394
22395         * gst/gstbin.c: (gst_bin_class_init):
22396         * gst/gstbin.h:
22397         * gst/gstutils.c:
22398         Documentation updates.
22399
22400 2005-10-28  Wim Taymans  <wim@fluendo.com>
22401
22402         * docs/gst/gstreamer-sections.txt:
22403         * gst/gstclock.c:
22404         * gst/gstclock.h:
22405         Documented the clocks.
22406
22407 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
22408
22409         * docs/gst/gstreamer-sections.txt:
22410           move some macros to private sections
22411         * gst/gstminiobject.c:
22412         * gst/gstminiobject.h:
22413           add descriptions provided by ds and some more
22414         * gst/gstpad.h:
22415           mark macro as to be removed
22416
22417 2005-10-28  Wim Taymans  <wim@fluendo.com>
22418
22419         * docs/design/part-TODO.txt:
22420         Add an item to TODO.
22421
22422         * gst/gstiterator.c: (gst_iterator_fold),
22423         (gst_iterator_find_custom):
22424         * gst/gstiterator.h:
22425         Add iterator docs.
22426
22427 2005-10-28  Wim Taymans  <wim@fluendo.com>
22428
22429         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22430         (gst_base_transform_init):
22431         Don't leak class.
22432
22433         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
22434         An EOS event marks the queue as completely filled.
22435
22436 2005-10-27  Wim Taymans  <wim@fluendo.com>
22437
22438         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22439         (gst_base_sink_do_sync), (gst_base_sink_get_position):
22440         Some more debugging.
22441
22442         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
22443         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
22444         (gst_base_transform_event), (gst_base_transform_getrange),
22445         (gst_base_transform_chain):
22446         * gst/base/gstbasetransform.h:
22447         Fix debugging,
22448         Protect transform and concurrent buffer alloc with a new lock.
22449         Try not to break ABI/API.
22450
22451 2005-10-27  Wim Taymans  <wim@fluendo.com>
22452
22453         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22454         (gst_base_src_init), (gst_base_src_query),
22455         (gst_base_src_default_newsegment),
22456         (gst_base_src_configure_segment), (gst_base_src_do_seek),
22457         (gst_base_src_send_event), (gst_base_src_event_handler),
22458         (gst_base_src_pad_get_range), (gst_base_src_loop),
22459         (gst_base_src_unlock), (gst_base_src_default_negotiate),
22460         (gst_base_src_start), (gst_base_src_deactivate),
22461         (gst_base_src_activate_push), (gst_base_src_change_state):
22462         Move some stuff around and cleanup things.
22463
22464 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
22465
22466         * gst/base/gstbasesrc.c: (gst_base_src_query):
22467           Add missing break statements.
22468
22469 2005-10-27  Wim Taymans  <wim@fluendo.com>
22470
22471         * check/gst/gstbin.c: (GST_START_TEST):
22472         An extra refcount is taken in basesrc.
22473
22474         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
22475         (gst_base_src_get_range), (gst_base_src_pad_get_range),
22476         (gst_base_src_loop):
22477         Small cleanups, check for flushing after being unlocked from the 
22478         LIVE_LOCK. take refcounts correctly (not yet everywhere).
22479         Don't send out EOS when going to READY.
22480
22481 2005-10-27  Wim Taymans  <wim@fluendo.com>
22482
22483         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22484         (gst_base_sink_get_position):
22485         Some more debug.
22486
22487         * gst/gstbin.c: (message_check), (bin_replace_message),
22488         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22489         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22490         (bin_query_duration_init), (bin_query_duration_fold),
22491         (bin_query_duration_done), (bin_query_generic_fold),
22492         (gst_bin_query):
22493         * tools/gst-launch.c: (main):
22494         Remove old option.
22495
22496 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
22497
22498         * examples/controller/audio-example.c: (main):
22499         * examples/queue/queue.c: (event_loop):
22500         * gst/base/gstbasetransform.h:
22501         * gst/gstelement.c: (gst_element_send_event):
22502         * gst/gstevent.h:
22503         * gst/gstpad.c: (gst_pad_send_event):
22504           fixing examples
22505           fixing docs typos
22506           changing log priority in error situations
22507
22508 2005-10-25  Wim Taymans  <wim@fluendo.com>
22509
22510         * gst/gstbin.c: (message_check), (bin_replace_message),
22511         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22512         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22513         (bin_query_duration_init), (bin_query_duration_fold),
22514         (bin_query_duration_done), (bin_query_generic_fold),
22515         (gst_bin_query):
22516         Some doc and debug updates.
22517         Cache previously requested query DURATION for speed. invalidate
22518         cached duration if element posts a DURATION message.
22519
22520 2005-10-25  Wim Taymans  <wim@fluendo.com>
22521
22522         * docs/design/part-TODO.txt:
22523         Update TODO.
22524
22525         * gst/gstbin.c: (message_check), (bin_replace_message),
22526         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22527         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22528         (bin_query_duration_init), (bin_query_duration_fold),
22529         (bin_query_duration_done), (bin_query_generic_fold),
22530         (gst_bin_query):
22531         Handle SEGMENT_START/DONE messages correctly.
22532         More evolved query algorithm that handles duration queries
22533         correctly.
22534
22535         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
22536         (gst_element_get_state_func), (gst_element_abort_state),
22537         (gst_element_commit_state), (gst_element_lost_state):
22538         Some more debugging.
22539
22540         * gst/gstmessage.h:
22541         Added doc.
22542
22543 2005-10-25  Wim Taymans  <wim@fluendo.com>
22544
22545         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
22546         Don't use invalid stream_time.
22547
22548         * gst/gstevent.c: (gst_event_new_newsegment):
22549         stream_time in newsegment cannot be undefined.
22550
22551 2005-10-24  Wim Taymans  <wim@fluendo.com>
22552
22553         * gst/gstbus.c:
22554         Doc fix.
22555
22556         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22557         (gst_queue_loop):
22558         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22559
22560 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
22561
22562         * docs/libs/tmpl/gstdparam.sgml:
22563         * docs/libs/tmpl/gstdplinint.sgml:
22564         * docs/libs/tmpl/gstdpman.sgml:
22565         * docs/libs/tmpl/gstdpsmooth.sgml:
22566         * docs/libs/tmpl/gstunitconvert.sgml:
22567           these are obsolete
22568
22569 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22570
22571         * configure.ac:
22572           back to HEAD
22573
22574 === release 0.9.4 ===
22575
22576 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22577
22578         * configure.ac:
22579           releasing 0.9.4, "Tyrannosaurus Rex"
22580
22581 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
22582
22583         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22584         (gst_file_sink_get_current_offset):
22585           Use fseeko() and ftello() if available. When falling back on
22586           lseek() to get the current offset, fflush() first to make sure
22587           everything is up-to-date and we get the right offset.
22588
22589 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22590
22591         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22592         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22593         * gst/gsterror.c: (_gst_stream_errors_init):
22594         * gst/gsterror.h:
22595         * gst/gstqueue.c: (gst_queue_loop):
22596         * po/POTFILES.in:
22597           remove prematurely added error category and clean up the instances
22598
22599 2005-10-21  Wim Taymans  <wim@fluendo.com>
22600
22601         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22602         (gst_base_sink_get_position), (gst_base_sink_query),
22603         (gst_base_sink_change_state):
22604         Simply set the right flag when going to playing, that's all
22605         we need to do instead of calling a function inside the object
22606         lock (that could take the lock as well and deadlock)
22607
22608 2005-10-21  Wim Taymans  <wim@fluendo.com>
22609
22610         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22611         (gst_base_src_loop):
22612         Don't warn, the peer element knows what to do best when
22613         the seek failed, it might try something else.
22614
22615 2005-10-21  Wim Taymans  <wim@fluendo.com>
22616
22617         * gst/base/gstbasesrc.c: (gst_base_src_init),
22618         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22619         Fix seeking.
22620
22621 2005-10-21  Wim Taymans  <wim@fluendo.com>
22622
22623         * docs/design/part-segments.txt:
22624         More docs.
22625
22626         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22627         Correctly set caps, even on the subbufer.
22628
22629 2005-10-21  Wim Taymans  <wim@fluendo.com>
22630
22631         * docs/gst/gstreamer-docs.sgml:
22632         * docs/gst/gstreamer-sections.txt:
22633         * gst/gstelement.h:
22634         * gst/gstevent.c:
22635         * gst/gstevent.h:
22636         * gst/gstmessage.h:
22637         * gst/gstpad.h:
22638         * gst/gstparse.h:
22639         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22640         * gst/gsttask.h:
22641         * gst/gstutils.c:
22642         * gst/gstutils.h:
22643         And 2% more doc coverage.
22644
22645 2005-10-21  Andy Wingo  <wingo@pobox.com>
22646
22647         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22648         position reporting.
22649
22650 2005-10-20  Wim Taymans  <wim@fluendo.com>
22651
22652         * gst/gsterror.c: (gst_error_get_message):
22653         * gst/gstparse.h:
22654         * gst/gstquery.h:
22655         * gst/gststructure.c:
22656         * gst/gsttrace.c:
22657         * gst/gstutils.c:
22658         More docs.
22659
22660 2005-10-20  Wim Taymans  <wim@fluendo.com>
22661
22662         * gst/gstbuffer.h:
22663         * gst/gstpad.c:
22664         * gst/gstparse.c:
22665         Another 1% more coverage.
22666
22667 2005-10-20  Wim Taymans  <wim@fluendo.com>
22668
22669         * docs/gst/gstreamer-sections.txt:
22670         * gst/gstelement.c: (gst_element_get_state_func),
22671         (gst_element_abort_state), (gst_element_commit_state),
22672         (gst_element_lost_state):
22673         * gst/gstevent.h:
22674         * gst/gstquery.c: (gst_query_set_position),
22675         (gst_query_parse_position), (gst_query_set_duration),
22676         (gst_query_parse_duration), (gst_query_new_convert):
22677         * gst/gstutils.c:
22678         Yay! 1% more docs coverage.
22679
22680 2005-10-20  Wim Taymans  <wim@fluendo.com>
22681
22682         * gst/gstpad.h:
22683         * gst/gstquery.c: (gst_query_set_position),
22684         (gst_query_parse_position), (gst_query_set_duration),
22685         (gst_query_parse_duration), (gst_query_new_convert):
22686         * gst/gstquery.h:
22687         * gst/gstutils.c: (gst_element_query_convert):
22688         * gst/gstutils.h:
22689         Docs and consistency fixes.
22690
22691 2005-10-20  Wim Taymans  <wim@fluendo.com>
22692
22693         * gst/gsttask.c:
22694         * gst/gsttask.h:
22695         More docs.
22696
22697 2005-10-20  Wim Taymans  <wim@fluendo.com>
22698
22699         * gst/gstbin.c: (message_check), (bin_replace_message),
22700         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22701         (update_degree), (gst_bin_sort_iterator_next),
22702         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22703         Reworked the message handling a bit, cache the messages instead of
22704         only the senders. alows us to do more in the future.
22705
22706 2005-10-20  Wim Taymans  <wim@fluendo.com>
22707
22708         * docs/design/part-TODO.txt:
22709         Update TODO
22710
22711         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22712         (gst_base_sink_query):
22713         Don't use clock time to report position when in EOS.
22714
22715 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
22716
22717         * tools/gst-inspect.c: (print_interfaces),
22718         (print_element_properties_info), (print_element_info):
22719           Fix interface output with gst-inspect -a; don't print
22720           newlines after double/float properties.
22721
22722 2005-10-20  Wim Taymans  <wim@fluendo.com>
22723
22724         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22725         (gst_base_sink_query):
22726         Speed up current position calculation.
22727
22728         * gst/base/gstbasesrc.c: (gst_base_src_query),
22729         (gst_base_src_default_newsegment):
22730         Correctly set stream position in newsegment.
22731
22732         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22733         (update_degree), (gst_bin_sort_iterator_next),
22734         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22735         * gst/gstmessage.c: (gst_message_new_custom):
22736         Clean up debugging info
22737
22738         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22739         (gst_queue_loop), (gst_queue_handle_src_query):
22740         Pause task faster.
22741
22742 2005-10-19  Wim Taymans  <wim@fluendo.com>
22743
22744         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22745         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22746         Fix query handling again.
22747
22748 2005-10-19  Wim Taymans  <wim@fluendo.com>
22749
22750         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22751         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22752         * gst/base/gstbasesrc.c: (gst_base_src_query):
22753         * gst/elements/gstfilesink.c: (gst_file_sink_query):
22754         * gst/elements/gsttypefindelement.c:
22755         (gst_type_find_handle_src_query), (find_element_get_length),
22756         (gst_type_find_element_activate):
22757         API change fix.
22758
22759         * gst/gstquery.c: (gst_query_new_position),
22760         (gst_query_set_position), (gst_query_parse_position),
22761         (gst_query_new_duration), (gst_query_set_duration),
22762         (gst_query_parse_duration), (gst_query_set_segment),
22763         (gst_query_parse_segment):
22764         * gst/gstquery.h:
22765         Bundling query position/duration is not a good idea since duration
22766         does not change much and we don't want to recalculate it for every
22767         position query, so they are separated again..
22768         Base value in segment query is not needed.
22769
22770         * gst/gstqueue.c: (gst_queue_handle_src_query):
22771         * gst/gstutils.c: (gst_element_query_position),
22772         (gst_element_query_duration), (gst_pad_query_position),
22773         (gst_pad_query_duration):
22774         * gst/gstutils.h:
22775         Updates for query API change.
22776         Added some docs here and there.
22777
22778 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22779
22780         * check/gst/gstbin.c: (GST_START_TEST):
22781         * check/gst/gstghostpad.c: (GST_START_TEST):
22782         * check/pipelines/cleanup.c: (GST_START_TEST):
22783           wait on thread to die so we can check refcount correctly
22784
22785 2005-10-18  Wim Taymans  <wim@fluendo.com>
22786
22787         * check/pipelines/stress.c: (GST_START_TEST):
22788         Make check a little more time consuming.
22789
22790 2005-10-18  Wim Taymans  <wim@fluendo.com>
22791
22792         * check/Makefile.am:
22793         * check/pipelines/stress.c: (GST_START_TEST),
22794         (simple_launch_lines_suite), (main):
22795         Small state change torture test.
22796
22797         * docs/design/part-states.txt:
22798         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22799         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22800         (gst_base_sink_change_state):
22801         Never take state lock from streaming thread, clean up ugly
22802         hacks. Unfortunatly core does not yet support nice ways to
22803         async commit state.
22804         
22805         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22806         (bin_bus_handler):
22807         Start state recalc if a STATE_DIRTY message is posted, but only
22808         on the toplevel bin.
22809
22810         * gst/gstelement.c: (gst_element_sync_state_with_parent),
22811         (gst_element_get_state_func), (gst_element_abort_state),
22812         (gst_element_commit_state), (gst_element_lost_state),
22813         (gst_element_set_state_func), (gst_element_change_state):
22814         * gst/gstelement.h:
22815         State variables are now protected with the LOCK, the state
22816         lock is only used to serialize _set_state().
22817
22818 2005-10-18  Wim Taymans  <wim@fluendo.com>
22819
22820         * check/gst/gstbin.c: (GST_START_TEST):
22821         * check/gst/gstmessage.c: (GST_START_TEST):
22822         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22823         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22824         (bin_bus_handler):
22825         * gst/gstelement.c: (gst_element_abort_state),
22826         (gst_element_commit_state), (gst_element_lost_state):
22827         * gst/gstmessage.c: (gst_message_new_state_changed),
22828         (gst_message_new_state_dirty), (gst_message_new_segment_start),
22829         (gst_message_new_segment_done), (gst_message_new_duration),
22830         (gst_message_parse_state_changed),
22831         (gst_message_parse_segment_start),
22832         (gst_message_parse_segment_done), (gst_message_parse_duration):
22833         * gst/gstmessage.h:
22834         * tools/gst-launch.c: (event_loop):
22835         Seriously, this is better than a previous commit as we only need
22836         to notify the fact that an element changed state in a streaming
22837         thread, marking the state of the parents dirty, hence the 
22838         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22839         message.
22840
22841 2005-10-18  Wim Taymans  <wim@fluendo.com>
22842
22843         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22844         (gst_bin_recalc_func):
22845         * gst/gstelement.c: (gst_element_set_clock),
22846         (gst_element_abort_state), (gst_element_lost_state):
22847         Cleanups, prepare for state change fixes.
22848
22849 2005-10-18  Wim Taymans  <wim@fluendo.com>
22850
22851         * gst/gstbin.h:
22852         * gst/gstelement.c: (gst_element_class_init),
22853         (gst_element_set_state), (gst_element_set_state_func):
22854         * gst/gstelement.h:
22855         Pending ABI changes.
22856         GThreadPool in GstBinClass to monitor async state changes.
22857         state_cookie in GstElement to detect concurrent gst/set state.
22858         set_state is now virtual too in case a very complicated element
22859         has to be constructed.
22860
22861 2005-10-18  Wim Taymans  <wim@fluendo.com>
22862
22863         * check/gst/gstbin.c: (GST_START_TEST):
22864         * check/gst/gstmessage.c: (GST_START_TEST):
22865         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22866         * gst/gstbin.c: (bin_bus_handler):
22867         * gst/gstelement.c: (gst_element_commit_state),
22868         (gst_element_lost_state):
22869         * gst/gstmessage.c: (gst_message_new_state_changed),
22870         (gst_message_new_segment_start), (gst_message_new_segment_done),
22871         (gst_message_new_duration), (gst_message_parse_state_changed),
22872         (gst_message_parse_segment_start),
22873         (gst_message_parse_segment_done), (gst_message_parse_duration):
22874         * gst/gstmessage.h:
22875         * tools/gst-launch.c: (event_loop):
22876         Make messages future proof.
22877         state-change gets a flag if it was a message comming from the
22878         streaming thread.
22879         segment-start/stop can also be specified in other formats.
22880         A message to notify an app that a pipeline changed playback 
22881         duration.
22882         Also fix a GstMessage leak in -launch
22883
22884 2005-10-18  Andy Wingo  <wingo@pobox.com>
22885
22886         * gst/gstelement.c (gst_element_dispose): More helpful message.
22887
22888 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22889
22890         reviewed by: <delete if not using a buddy>
22891
22892         * common/gtk-doc.mak:
22893
22894 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22895
22896         * gst/gstregistry.c: (gst_registry_scan_path_level):
22897           unref a plug-in we get that was already initialized
22898
22899 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
22900
22901         * docs/gst/gstreamer-sections.txt:
22902         * docs/libs/gstreamer-libs-sections.txt:
22903         * gst/gstelement.h:
22904           add new api entries
22905           hide internal macro
22906
22907 2005-10-17  Andy Wingo  <wingo@pobox.com>
22908
22909         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22910         cleanup.
22911
22912         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22913
22914         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22915
22916         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22917         (gst_element_get_state_func): Better debug message.
22918         (gst_element_commit_state): s/INFO/DEBUG/.
22919         (gst_element_lost_state, gst_element_change_state): 
22920
22921         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22922         (gst_message_new_custom): s/INFO/LOG/.
22923
22924 2005-10-17  Michael Smith <msmith@fluendo.com>
22925
22926         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22927           Check if end time is valid using end time, not start time.
22928
22929 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
22930
22931         * check/gst-libs/controller.c: (GST_START_TEST),
22932         (gst_controller_suite):
22933         * libs/gst/controller/gstcontroller.c:
22934         (gst_controlled_property_set_interpolation_mode):
22935         * libs/gst/controller/gstcontroller.h:
22936         * libs/gst/controller/gstinterpolation.c:
22937         * testsuite/controller/.cvsignore:
22938         * testsuite/controller/Makefile.am:
22939         * testsuite/controller/interpolator.c:
22940           merge controller testsuites
22941           fix broken tests
22942           remove mem-chunk from docs
22943
22944 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22945
22946         * gst/gstmemchunk.c:
22947         * gst/gstmemchunk.h:
22948         * gst/gsttrashstack.c:
22949         * gst/gsttrashstack.h:
22950           out.  get out.  you're fired.  to the Attic !
22951
22952 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22953
22954         * gst/gstcaps.c: (gst_caps_intersect):
22955           fix signedness issues in a (hopefully) correct way
22956         * gst/gstelement.c: (gst_element_pads_activate):
22957           some debugging
22958         * gst/gstobject.c: (gst_object_set_parent):
22959           some debugging
22960
22961 2005-10-17  Julien MOUTTE  <julien@moutte.net>
22962
22963         * gst/gstvalue.h: Fix prototypes.
22964
22965 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22966
22967         * docs/gst/gstreamer-sections.txt:
22968         * gst/gst.c: (gst_version_string):
22969         * gst/gst.h:
22970         * gst/gstversion.h.in:
22971         * win32/common/libgstreamer.def:
22972           add gst_version_string ()
22973
22974 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22975
22976         * configure.ac:
22977           clean up further
22978         * gst/gst.c: (init_post):
22979         * win32/common/config.h.in:
22980           it's PLUGINDIR now
22981         * gst/gstcaps.c: (gst_caps_intersect):
22982           use gint64, the range could be bigger than a guint
22983
22984 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22985
22986         * gst/gstclock.h:
22987           document potential problem in 2038
22988
22989 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22990
22991         * gst/gstcaps.c: (gst_caps_intersect):
22992           Fix guint j diving under 0
22993
22994 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22995
22996         * configure.ac:
22997         * win32/common/config.h:
22998         * win32/common/config.h.in:
22999           check for process.h, declares getpid() on Windows
23000         * gst/gstinfo.c:
23001           include process.h if we have it
23002         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
23003         * gst/gstmemchunk.h:
23004           fix signedness issues
23005         * win32/common/libgstreamer.def:
23006           fix get_type's
23007
23008 2005-10-16  Julien MOUTTE  <julien@moutte.net>
23009
23010         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
23011         fix. Because of unsigned ints, caps intersection was going nuts and
23012         trying to access structures with G_MAXUINT index. That fixes
23013         videotestsrc ! ffmpegcolorspace ! fakesink
23014         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
23015         consistency.
23016
23017 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
23018
23019         * configure.ac:
23020           use the gettext macro
23021         * gst/elements/gstelements.c:
23022         * gst/gst.c:
23023         * gst/indexers/gstindexers.c:
23024           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
23025         * win32/common/config.h:
23026           updated config.h
23027         * win32/common/config.h.in:
23028           add the template to generate config.h
23029         * win32/common/gstenumtypes.c:
23030         * win32/common/gstversion.h:
23031           updated copies
23032
23033 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
23034
23035         * gst/gst.c: (gst_version):
23036         * gst/gstversion.h.in:
23037           add the nano
23038
23039 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
23040
23041         * gst/gstevent.h:
23042           Oops, add missing closing bracket.
23043
23044 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23045
23046         * configure.ac:
23047           use common m4's for argument checking
23048
23049 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
23050
23051         * docs/gst/gstreamer-sections.txt:
23052         * gst/gstevent.h:
23053           Add GST_EVENT_TYPE_NAME() macro.
23054
23055 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23056
23057         * gst/gstinfo.c:
23058         * gst/gstpluginfeature.c:
23059         * gst/gsttask.c:
23060           privatize more symbols
23061
23062 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23063
23064         * configure.ac:
23065           add srcdir, builddir includes to GST_ALL_CFLAGS, since
23066           everything that uses GStreamer API should have the includes
23067
23068 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23069
23070         * docs/gst/gstreamer-sections.txt:
23071         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
23072         * gst/gstvalue.h:
23073           give each value a _get_type, removes the DATA exports
23074
23075 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23076
23077         * gst/gst.c:
23078         * gst/gst.h:
23079           remove _gst_registry_auto_load, not used anymore
23080         * gst/gstbin.c: (gst_bin_get_type):
23081         * gst/gstbin.h:
23082         * gst/gstelement.c: (gst_element_get_type):
23083         * gst/gstelement.h:
23084         * gst/gstobject.c: (gst_object_get_type):
23085         * gst/gstobject.h:
23086         * gst/gstpad.c: (gst_pad_get_type):
23087         * gst/gstpad.h:
23088           make _get_type functions similar, fixes data export from library
23089
23090 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23091
23092         * configure.ac:
23093           correctly make conditionals
23094         * gst/elements/Makefile.am:
23095         * gst/elements/gstelements.c:
23096           fix typo causing fdsrc not to build
23097
23098 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23099
23100         * testsuite/Makefile.am:
23101         * testsuite/bytestream/.cvsignore:
23102         * testsuite/bytestream/Makefile.am:
23103         * testsuite/bytestream/filepadsink.c:
23104         * testsuite/bytestream/gstbstest.c:
23105         * testsuite/bytestream/test1.c:
23106         * testsuite/bytestream/testfile1:
23107         * testsuite/caps/normalisation.c:
23108         * testsuite/caps/random.c: (main):
23109         * testsuite/cleanup/.cvsignore:
23110         * testsuite/cleanup/Makefile.am:
23111         * testsuite/cleanup/cleanup1.c:
23112         * testsuite/cleanup/cleanup2.c:
23113         * testsuite/cleanup/cleanup3.c:
23114         * testsuite/cleanup/cleanup4.c:
23115         * testsuite/cleanup/cleanup5.c:
23116         * testsuite/controller/interpolator.c:
23117         * testsuite/debug/printf_extension.c: (main):
23118         * testsuite/elements/tee.c:
23119         * testsuite/negotiation/.cvsignore:
23120         * testsuite/negotiation/Makefile.am:
23121         * testsuite/negotiation/pad_link.c:
23122         * testsuite/pad/Makefile.am:
23123         * testsuite/pad/chainnopull.c:
23124         * testsuite/pad/getnopush.c:
23125         * testsuite/pad/link.c:
23126         * testsuite/refcounting/sched.c: (create_pipeline):
23127         * testsuite/registry/Makefile.am:
23128         * testsuite/registry/gst-print-formats.c:
23129         * testsuite/schedulers/.cvsignore:
23130         * testsuite/schedulers/142183-2.c:
23131         * testsuite/schedulers/142183.c:
23132         * testsuite/schedulers/143777-2.c:
23133         * testsuite/schedulers/143777.c:
23134         * testsuite/schedulers/147713.c:
23135         * testsuite/schedulers/147819.c:
23136         * testsuite/schedulers/147894-2.c:
23137         * testsuite/schedulers/147894.c:
23138         * testsuite/schedulers/Makefile.am:
23139         * testsuite/schedulers/group_link.c:
23140         * testsuite/schedulers/queue_link.c:
23141         * testsuite/schedulers/relink.c:
23142         * testsuite/schedulers/unlink.c:
23143         * testsuite/schedulers/unref.c:
23144         * testsuite/schedulers/useless_iteration.c:
23145         * testsuite/states/bin.c:
23146           clean out/remove some stuff from the testsuite directories
23147
23148 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23149
23150         * configure.ac:
23151           check for some headers
23152         * gst/elements/Makefile.am:
23153         * gst/elements/gstelements.c:
23154           don't compile fdsrc without sys/socket.h
23155         * gst/indexers/Makefile.am:
23156         * gst/indexers/gstindexers.c: (plugin_init):
23157           don't compile fileindex without mmap
23158
23159 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23160
23161         * configure.ac:
23162           reorganize
23163           clean up
23164           document more
23165           remove cruft
23166         * check/Makefile.am:
23167         * docs/gst/Makefile.am:
23168         * examples/helloworld/Makefile.am:
23169         * gst/Makefile.am:
23170         * gst/base/Makefile.am:
23171         * gst/check/Makefile.am:
23172         * gst/elements/Makefile.am:
23173         * gst/indexers/Makefile.am:
23174         * gst/parse/Makefile.am:
23175         * libs/gst/controller/Makefile.am:
23176         * libs/gst/dataprotocol/Makefile.am:
23177         * examples/helloworld/helloworld.c: (event_loop):
23178           compile fixes, though it's not being compiled currently
23179
23180 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
23181
23182         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
23183           Add some simple tests for the new taglist date API.
23184
23185 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
23186
23187         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
23188         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
23189           Beautify 'last-message' output: print 'none' for buffer timestamps
23190           and durations if none is set; improve alignment with next messages.
23191
23192 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
23193
23194         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
23195         * gst/gstpluginfeature.h:
23196         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
23197         * gst/gstregistry.h:
23198         * docs/gst/gstreamer-sections.txt:
23199           Add new API to check plugin feature version requirements.
23200
23201         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
23202           Some basic tests for the above.         
23203
23204 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23205
23206         * gst/gststructure.c: (gst_structure_to_string):
23207           guard against NULL printf - happens when for example
23208           a message structure with GstClock gets serialized
23209
23210 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
23211
23212         * gst/base/gstcollectpads.c: (gst_collectpads_event):
23213           Fix presumable copy'n'pasto.
23214
23215 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23216
23217         * gst/elements/gstfakesrc.h:
23218         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
23219         * gst/elements/gsttypefindelement.c:
23220           fix some signedness
23221         * gst/elements/gstfilesink.c: (gst_file_sink_render):
23222           I wonder if this could actually write +2GB files before
23223
23224 2005-10-13  Andy Wingo  <wingo@pobox.com>
23225
23226         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
23227         Fix Timmeke Waymans bug.
23228         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
23229         string of the proper length to gst_caps_from_string. There's a
23230         potential for, before this fix, that this could cause someone
23231         connecting over the network to cause a segfault if the payload is
23232         not NUL-terminated.
23233
23234 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
23235
23236         * docs/design/draft-push-pull.txt:
23237         * docs/design/part-overview.txt:
23238         * docs/random/TODO-pre-0.9:
23239         * docs/random/old/ChangeLog.gstreamer:
23240         * gst/base/gstpushsrc.c:
23241         * gst/gstclock.c:
23242           fixed typos
23243
23244 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23245
23246         * gst/glib-compat.c: (gst_flags_get_first_value):
23247         * gst/glib-compat.h:
23248         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
23249         (gst_value_compare_double), (gst_value_serialize_flags):
23250           GLib 2.6 g_flags_get_first_value has a bug that triggers an
23251           infinite loop
23252
23253 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23254
23255         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23256         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
23257           fix up debugging
23258         * tools/gst-launch.c: (event_loop):
23259           print out clock nicely
23260
23261 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
23262
23263         * docs/gst/gstreamer-sections.txt:
23264         * gst/gsttaglist.h:
23265         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
23266         (gst_tag_list_get_date_index):
23267           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
23268           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
23269
23270 2005-10-13  Julien MOUTTE  <julien@moutte.net>
23271
23272         * gst/base/gstcollectpads.c: (gst_collectpads_event),
23273         (gst_collectpads_chain):
23274         * gst/base/gstcollectpads.h: Handle newsegment and store informations
23275         in CollectData.
23276
23277 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
23278
23279         * docs/gst/gstreamer-sections.txt:
23280         * gst/gst.c:
23281         * gst/gsterror.h:
23282         * tools/gst-inspect.c: (main):
23283         * tools/gst-launch.c: (main):
23284         * tools/gst-run.c: (main):
23285         * tools/gst-xmlinspect.c: (main):
23286           fix GOption context leaks
23287           doc fixes
23288
23289 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23290
23291         * gst/gstbus.c:
23292           use HAVE_UNISTD_H
23293         * win32/common/config.h:
23294           update config
23295         * win32/vs6/grammar.dsp:
23296         * win32/vs6/libgstelements.dsp:
23297         * win32/vs6/libgstreamer.dsp:
23298           update vs6 files
23299
23300 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23301
23302         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23303         * gst/base/gstbasesrc.c: (gst_base_src_query):
23304           fix more guint64<->gdouble conversions
23305
23306 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23307
23308         * Makefile.am:
23309           add win32-update target
23310         * win32/common/gstconfig.h:
23311         * win32/common/gstenumtypes.c:
23312         * win32/common/gstenumtypes.h:
23313         * win32/common/gstversion.h:
23314           add files that visual studio can't generate
23315
23316 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23317
23318         * Makefile.am:
23319           add a win32-update target
23320         * configure.ac:
23321
23322 2005-10-12  Wim Taymans  <wim@fluendo.com>
23323
23324         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23325         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
23326         * gst/gstelement.c: (gst_element_commit_state),
23327         (gst_element_set_state):
23328         Protect flags with proper lock.
23329         unref provided cached clock in dispose.
23330
23331 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
23332
23333         * gst/gst.c:
23334         * gst/gstminiobject.h:
23335         * gst/gstpad.h:
23336         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
23337           removed unused flags from miniobject
23338           doc fixes
23339
23340 2005-10-12  Wim Taymans  <wim@fluendo.com>
23341
23342         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
23343         (gst_file_sink_event), (gst_file_sink_render):
23344         Flush before seeking.
23345
23346 2005-10-12  Andy Wingo  <wingo@pobox.com>
23347
23348         * gst/gst.c (gst_init_check): Ignore unknown options, as has
23349         always been the case.
23350
23351 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
23352
23353         * check/gst/gstbin.c: (GST_START_TEST):
23354         * docs/gst/gstreamer-sections.txt:
23355         * gst/base/gstbasesink.c: (gst_base_sink_init):
23356         * gst/base/gstbasesrc.c: (gst_base_src_init),
23357         (gst_base_src_get_range), (gst_base_src_check_get_range),
23358         (gst_base_src_start), (gst_base_src_stop):
23359         * gst/base/gstbasesrc.h:
23360         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
23361         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23362         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
23363         (bin_bus_handler):
23364         * gst/gstbin.h:
23365         * gst/gstbuffer.h:
23366         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
23367         * gst/gstbus.h:
23368         * gst/gstelement.c: (gst_element_is_locked_state),
23369         (gst_element_set_locked_state), (gst_element_commit_state),
23370         (gst_element_set_state):
23371         * gst/gstelement.h:
23372         * gst/gstindex.c: (gst_index_init):
23373         * gst/gstindex.h:
23374         * gst/gstminiobject.h:
23375         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
23376         (gst_object_set_parent):
23377         * gst/gstobject.h:
23378         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
23379         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
23380         * gst/gstpad.h:
23381         * gst/gstpadtemplate.h:
23382         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
23383         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
23384         * gst/gstpipeline.h:
23385         * gst/indexers/gstfileindex.c: (gst_file_index_load),
23386         (gst_file_index_commit):
23387         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
23388         * testsuite/pad/link.c: (gst_test_src_init),
23389         (gst_test_filter_init), (gst_test_sink_init):
23390         * testsuite/states/locked.c: (main):
23391           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
23392           moved bitshift from macro to enum definition
23393
23394 2005-10-12  Wim Taymans  <wim@fluendo.com>
23395
23396         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
23397         * gst/elements/gstfilesink.c: (gst_file_sink_event),
23398         (gst_file_sink_render):
23399         Some more debugging info.
23400
23401 2005-10-12  Wim Taymans  <wim@fluendo.com>
23402
23403         * docs/design/part-states.txt:
23404         * tools/gst-launch.c: (main):
23405         Some doc updates.
23406         Revert non-intentional change.
23407
23408 2005-10-12  Wim Taymans  <wim@fluendo.com>
23409
23410         * check/gst/gstbin.c: (GST_START_TEST):
23411         * check/gst/gstelement.c: (GST_START_TEST):
23412         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
23413         * check/gst/gstghostpad.c: (GST_START_TEST):
23414         * check/gst/gstpipeline.c: (GST_START_TEST):
23415         * check/pipelines/simple_launch_lines.c: (run_pipeline):
23416         * check/states/sinks.c: (GST_START_TEST):
23417         * gst/elements/gsttypefindelement.c: (stop_typefinding):
23418         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23419         (gst_bin_remove_func), (gst_bin_get_state_func),
23420         (gst_bin_recalc_state), (gst_bin_change_state_func),
23421         (bin_bus_handler):
23422         * gst/gstelement.c: (gst_element_get_state_func),
23423         (gst_element_get_state), (gst_element_abort_state),
23424         (gst_element_commit_state), (gst_element_set_state),
23425         (gst_element_change_state), (gst_element_change_state_func):
23426         * gst/gstelement.h:
23427         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
23428         (gst_pipeline_provide_clock_func):
23429         * gst/gstutils.c: (gst_element_link_pads_filtered):
23430         * tools/gst-launch.c: (main):
23431         * tools/gst-typefind.c: (main):
23432         Use GstClockTime in _get_state() instead of GTimeVal.
23433         Remove old code in gstutils.c
23434
23435 2005-10-12  Andy Wingo  <wingo@pobox.com>
23436
23437         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
23438         removed.
23439
23440         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
23441         there is no task. Shouldn't affect any code, as nothing in our
23442         plugins checks this return value.
23443         (gst_pad_stop_task): Also take the stream lock if the pad has no
23444         task. Docs updated.
23445
23446 2005-10-12  Wim Taymans  <wim@fluendo.com>
23447
23448         * gst/gstpad.c: (pre_activate), (post_activate),
23449         (gst_pad_activate_pull), (gst_pad_activate_push):
23450         Cleanup activation code. Reset old state if
23451         activation failed.
23452
23453 2005-10-12  Wim Taymans  <wim@fluendo.com>
23454
23455         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23456         (gst_base_sink_change_state):
23457         No need to prerol after receiving EOS.
23458
23459         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23460         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
23461         * gst/elements/gstidentity.c: (gst_identity_event):
23462         Print events more verbosely.
23463
23464 2005-10-12  Wim Taymans  <wim@fluendo.com>
23465
23466         * check/Makefile.am:
23467         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
23468         * check/states/sinks2.c:
23469         Moved sinks2 testcode in sinks check.
23470
23471         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23472         (gst_bin_remove_func), (gst_bin_recalc_state),
23473         (gst_bin_change_state_func), (bin_bus_handler):
23474         Fix potential race condition when _get_state() iterated over an
23475         ASYNC element right before it posted a state completion.
23476
23477         * gst/gstclock.h:
23478         Do proper cast here.
23479
23480         * gst/gstevent.c: (gst_event_new_newsegment),
23481         (gst_event_parse_newsegment):
23482         A playback rate of 0.0 is not allowed.
23483
23484 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23485
23486         * win32/common/config.h:
23487         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
23488         (_trewinddir), (_ttelldir), (_tseekdir):
23489         * win32/common/dirent.h:
23490         * win32/common/gtchar.h:
23491         * win32/common/libgstbase.def:
23492         * win32/common/libgstreamer.def:
23493         * win32/vs6/grammar.dsp:
23494         * win32/vs6/gst_inspect.dsp:
23495         * win32/vs6/gst_launch.dsp:
23496         * win32/vs6/gstreamer.dsw:
23497         * win32/vs6/libgstbase.dsp:
23498         * win32/vs6/libgstelements.dsp:
23499         * win32/vs6/libgstreamer.dsp:
23500           Visual Studio 6 project files, and a new common directory.
23501           Phear.
23502
23503 2005-10-11  Wim Taymans  <wim@fluendo.com>
23504
23505         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23506         (gst_base_sink_do_sync), (gst_base_sink_query),
23507         (gst_base_sink_change_state):
23508         * gst/base/gstbasesink.h:
23509         Correctly parse newsegment info.
23510
23511 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23512
23513         * gst/gst.c: (init_post):
23514           split plugin paths correctly
23515
23516 2005-10-11  Wim Taymans  <wim@fluendo.com>
23517
23518         * check/gst/gstevent.c: (GST_START_TEST):
23519         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23520         (gst_base_sink_change_state):
23521         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
23522         * gst/base/gstbasetransform.c: (gst_base_transform_event):
23523         * gst/elements/gstfilesink.c: (gst_file_sink_event):
23524         * gst/gstevent.c: (gst_event_new_newsegment),
23525         (gst_event_parse_newsegment):
23526         * gst/gstevent.h:
23527         Added extra flag to newsegment for future API freeze.
23528         Updated check and base elements.
23529
23530 2005-10-11  Julien MOUTTE  <julien@moutte.net>
23531
23532         * gst/base/gstcollectpads.c: (gst_collectpads_init),
23533         (gst_collectpads_add_pad), (gst_collectpads_pop),
23534         (gst_collectpads_event), (gst_collectpads_chain):
23535         * gst/base/gstcollectpads.h: Handle EOS correctly.
23536
23537 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23538
23539         * tools/gst-launch.c: (main):
23540           more null protecting
23541
23542 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23543
23544         * gst/gst-i18n-lib.h:
23545           check for ENABLE_NLS, not GETTEXT_PACKAGE
23546         * gst/gstregistry.c: (gst_registry_add_plugin),
23547         (gst_registry_scan_path_level),
23548         (_gst_registry_remove_cache_plugins):
23549           protect possibly NULL strings
23550         * gst/parse/types.h:
23551           config.h already included before
23552         * tools/gst-inspect.c: (main):
23553           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23554           check for ENABLE_NLS, not GETTEXT_PACKAGE
23555         * tools/gst-launch.c: (main):
23556           check for ENABLE_NLS, not GETTEXT_PACKAGE
23557
23558 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23559
23560         * configure.ac:
23561           if we don't have glib, fail before testing 2.8
23562         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23563           fix a leak, should fix plugins-base testsuite
23564
23565 2005-10-11  Andy Wingo  <wingo@pobox.com>
23566
23567         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23568         take the mode we're going to as an arg. Go head and set the mode
23569         and flushing flags now, so that if the activate function starts a
23570         thread all the flags will be in the right state.
23571         (post_activate): Renamed also. Just handle making sure streaming
23572         finishes for the deactivation case, and setting the deactivated
23573         mode.
23574         (gst_pad_set_active): Complain loudly if deactivation fails.
23575         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23576         (gst_pad_activate_push): Adapt to pre/post_activate changes,
23577         remove the terrible hack.
23578
23579 2005-10-11  Wim Taymans  <wim@fluendo.com>
23580
23581         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23582         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23583         (gst_bin_recalc_state), (gst_bin_change_state_func),
23584         (gst_bin_dispose), (bin_bus_handler):
23585         * gst/gstbin.h:
23586         Prepare to make current EOS message queue more generic.
23587         Fix some typos.
23588
23589         * gst/gstevent.c: (gst_event_new_newsegment),
23590         (gst_event_parse_newsegment):
23591         * gst/gstevent.h:
23592         Rename base to stream_time.
23593
23594         * gst/gstmessage.h:
23595         Fix typo in docs.
23596
23597 2005-10-11  Wim Taymans  <wim@fluendo.com>
23598
23599         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23600         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23601         (gst_bin_change_state_func), (bin_bus_handler):
23602         * gst/gstbin.h:
23603         Work on proper clock selection.
23604
23605 2005-10-11  Edward Hervey  <edward@fluendo.com>
23606
23607         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
23608         * libs/gst/controller/gstcontroller.h:
23609         Added GList* version of _remove_properties() in order to be able to wrap
23610         it in bindings.
23611
23612 2005-10-11  Wim Taymans  <wim@fluendo.com>
23613
23614         * docs/design/part-states.txt:
23615         Some more docs.
23616
23617         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23618         (gst_bin_change_state_func), (bin_bus_handler):
23619         Doc updates. Don't distribute the same clock over and over again.
23620
23621         * gst/gstclock.c:
23622         * gst/gstclock.h:
23623         Doc updates.
23624
23625         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23626         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23627         (gst_pad_send_event):
23628         * gst/gstpad.h:
23629         Make probe emission threadsafe again.
23630         Register quarks and move _get_name() from utils.
23631         Doc updates.
23632
23633         * gst/gstpipeline.c: (gst_pipeline_class_init),
23634         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23635         Only redistribute the clock of it changed.
23636
23637         * gst/gstsystemclock.h:
23638         Doc updates. 
23639
23640         * gst/gstutils.c:
23641         * gst/gstutils.h:
23642         Moved the _flow_get_name() to GstPad.
23643
23644 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23645
23646         * check/gst-libs/gdp.c: (GST_START_TEST):
23647         * check/gst/gstcaps.c: (GST_START_TEST):
23648         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23649         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23650         (gst_dp_packet_from_caps):
23651           fix more valgrind warnings before turning up the heat
23652
23653 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23654
23655         * gst/parse/grammar.y:
23656           some cleanup before the hacking
23657
23658 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23659
23660         * gst/base/gstbasesrc.c: (gst_base_src_query):
23661           use conversions
23662         * gst/gstutils.c: (gst_guint64_to_gdouble),
23663         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23664         * gst/gstutils.h:
23665           externalize, basesrc uses it
23666           obviously the implementation needs testing
23667
23668 2005-10-10  Wim Taymans  <wim@fluendo.com>
23669
23670         * tests/sched/Makefile.am:
23671         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23672         (make_pipeline3), (make_pipeline4), (print_elem), (main):
23673
23674 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23675
23676         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23677           apparently converting from guint64 to double is not implemented
23678           on MSVC
23679
23680 2005-10-10  Wim Taymans  <wim@fluendo.com>
23681
23682         * check/Makefile.am:
23683         * check/generic/states.c: (GST_START_TEST):
23684         * check/gst/gstbin.c: (GST_START_TEST):
23685         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23686         * check/states/sinks.c: (GST_START_TEST):
23687         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23688         (main):
23689         Check fixes, use API as stated in design docs, remove hacks.
23690
23691         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23692         (gst_base_sink_change_state):
23693         Catch stopping our task while we're shutting down.
23694
23695         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23696         (gst_bin_remove_func), (gst_bin_get_state_func),
23697         (gst_bin_recalc_state), (gst_bin_change_state_func),
23698         (bin_bus_handler):
23699         * gst/gstbin.h:
23700         * gst/gstelement.c: (gst_element_init),
23701         (gst_element_get_state_func), (gst_element_abort_state),
23702         (gst_element_commit_state), (gst_element_lost_state),
23703         (gst_element_set_state), (gst_element_change_state),
23704         (gst_element_change_state_func):
23705         * gst/gstelement.h:
23706         New state change algorithm (see #318116)
23707
23708         * gst/gstpipeline.c: (gst_pipeline_class_init),
23709         (gst_pipeline_init), (gst_pipeline_set_property),
23710         (gst_pipeline_get_property), (do_pipeline_seek),
23711         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23712         * gst/gstpipeline.h:
23713         Remove crude state change hacks.
23714
23715         * gst/gstutils.h:
23716         Remove crude hacks.
23717
23718         * tools/gst-launch.c: (main):
23719         Fixes for state change. Needs some more work to fully use the
23720         new stuff.
23721
23722 2005-10-10  Andy Wingo  <wingo@pobox.com>
23723
23724         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23725
23726         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23727         this flag, but it's not even in GLib 2.6. Odd. Hack around the
23728         issue.
23729
23730 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23731
23732         * gst/gstiterator.c: (gst_iterator_new):
23733           Fix my previous commit: GTypes passed to gst_iterator_new()
23734           can be fundamental types.
23735
23736 2005-10-10  Wim Taymans  <wim@fluendo.com>
23737
23738         * gst/gstelement.c: (gst_element_iterate_pad_list),
23739         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23740         (gst_element_iterate_sink_pads):
23741         Use src/sink pads lists for the respective iterators instead
23742         of filtering.
23743
23744 2005-10-10  Andy Wingo  <wingo@pobox.com>
23745
23746         Merged in popt removal + GOption addition patch from Ronald, bug
23747         #169772.
23748
23749         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23750         GstElement macros around, remove popt-related symbols, add goption
23751         stuff.
23752
23753         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23754         
23755         * docs/gst/Makefile.am:
23756         * docs/libs/Makefile.am: No POPT_CFLAGS.
23757         
23758         * examples/manual/Makefile.am:
23759         * docs/manual/basics-init.xml: Doc updates with an example.
23760         
23761         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23762         (gst_init), (parse_one_option), (parse_goption_arg):
23763         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23764         bit of hand merging and debugging to get the GOption stuff working
23765         tho.
23766         
23767         * tests/Makefile.am:
23768         * tools/Makefile.am:
23769         * tools/gst-inspect.c: (main):
23770         * tools/gst-launch.c: (main):
23771         * tools/gst-run.c: (main):
23772         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23773
23774 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23775
23776         * gst/gstiterator.c: (gst_iterator_new):
23777           Add assertions to make sure passed GType is likely to really
23778           be a GType (as the compiler won't catch it if the size and
23779           GType arguments get mixed up, see #318447).
23780
23781 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
23782
23783         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23784
23785         * gst/gstbin.c: (gst_bin_iterate_sorted):
23786           Pass GType and size arguments to gst_iterator_new() in the right
23787           order (maybe we should make _new() take the GType as first argument
23788           just like _new_list()?) (#318447).
23789           
23790
23791 2005-10-10  Wim Taymans  <wim@fluendo.com>
23792
23793         * gst/gstelement.c: (gst_element_finalize):
23794         And free the GStaticRecMutex too
23795
23796 2005-10-10  Andy Wingo  <wingo@pobox.com>
23797
23798         * gst/gstelement.c (gst_element_init, gst_element_finalize):
23799         Allocate and free the mutex properly.
23800
23801         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23802         New macros.
23803         (GstElement): The state_lock is now recursive. Rebuild your
23804         plugins, suckers. Old macros adapted.
23805
23806         * docs/gst/gstreamer-sections.txt: Doc updates.
23807
23808         * gst/gstutils.h:
23809         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
23810         (g_static_rec_cond_wait): Ported from state changes patch, while
23811         we wait on bug #317802 to be solved in a well-distributed GLib.
23812
23813         * gst/gstelement.c (gst_element_change_state_func): Renamed from
23814         gst_element_change_state, variable name changes.
23815         (gst_element_change_state): Split out of gst_element_set_state in
23816         preparation for the state change merge. Doesn't pay attention to
23817         the 'transition' argument.
23818         (gst_element_set_state): Updates, hopefully purely cosmetic.
23819         (gst_element_sync_state_with_parent): MT-safety. Ported from the
23820         state change patch.
23821         (gst_element_get_state_func): Renamed from get_state, cosmetic
23822         changes.
23823
23824 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23825
23826         * gst/elements/gstelements.c:
23827         * win32/GStreamer.vcproj:
23828         * win32/config.h:
23829         * win32/dirent.c: (_tseekdir):
23830         * win32/gst-inspect.vcproj:
23831         * win32/gst-launch.vcproj:
23832         * win32/gstconfig.h:
23833         * win32/gstelements.vcproj:
23834         * win32/gstenumtypes.c: (gst_object_flags_get_type):
23835         * win32/gstreamer.def:
23836         * win32/msvc71.sln:
23837           updates for the win32 build (patch from Sebastien Moutte)
23838
23839 2005-10-10  Andy Wingo  <wingo@pobox.com>
23840
23841         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23842         gst_bin_get_state, cleaned up (but no logic changes).
23843         (bin_element_is_sink): Comment updates.
23844         (sink_iterator_filter): Remove needless cast.
23845         (gst_bin_iterate_sinks): Doc update.
23846         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23847         cleaned up (but no logic changes).
23848
23849         * check/states/sinks.c (test_src_sink): Cleanups from the state
23850         change patch.
23851         (test_livesrc_sink): Sync on the state.
23852
23853         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23854         the state change patch.
23855
23856         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23857         change patch.
23858
23859         * check/gst/gstbin.c: Merge in some style fixes and additional
23860         checks from Wim's state change patch.
23861
23862 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23863
23864         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23865         (gst_type_find_helper):
23866           Check whether we have the requested data already in our list of
23867           cached buffers before pulling a new buffer; also make the buffer
23868           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23869
23870 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23871
23872         * gst/gstcaps.c:
23873         * gst/gstevent.c:
23874           doc updates
23875         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23876           don't use long long, it's not portable.  Replacing with
23877           gint64 seems to work; let's hope no skeletons fall out of the closet.
23878
23879 2005-10-10  Andy Wingo  <wingo@pobox.com>
23880
23881         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23882
23883 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
23884
23885         * docs/gst/gstreamer-sections.txt:
23886         * gst/gstevent.c:
23887         * gst/gstevent.h:
23888         * gst/gstinfo.c:
23889         * gst/gstinfo.h:
23890         * gst/gstmessage.c: (gst_message_parse_state_changed):
23891         * gst/gstpad.c:
23892         * gst/gstpad.h:
23893           more docs, fix compilation
23894
23895 2005-10-09  Philippe Khalaf <burger@speedy.org>
23896         * gst/gstmessage.c:
23897           Fixed a few forgotten variables on previous commit
23898
23899 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
23900
23901         * gst/base/gsttypefindhelper.c: (helper_find_peek):
23902           Fix evil typefind crasher: getrange() might return a short
23903           buffer at the end of a file, but gst_type_find_peek() must
23904           either return the full data as requested or NULL, but
23905           never a short buffer.
23906
23907 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23908
23909         * gst/gstmessage.c: (gst_message_new_state_changed),
23910         (gst_message_parse_state_changed):
23911         * gst/gstmessage.h:
23912           don't use "new", it's a C++ keyword
23913
23914 2005-10-08  Wim Taymans  <wim@fluendo.com>
23915
23916         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23917         * gst/gstelement.c: (gst_element_post_message):
23918         * gst/gstpipeline.c: (gst_pipeline_change_state):
23919         Small docs and debug updates.
23920
23921 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23922
23923         * docs/gst/gstreamer-sections.txt:
23924         * gst/gstelementfactory.c:
23925         * gst/gstevent.c:
23926         * gst/gsttaglist.c:
23927           more docs
23928
23929 2005-10-08  Wim Taymans  <wim@fluendo.com>
23930
23931         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23932         (gst_bin_dispose), (bin_bus_handler):
23933         Fix typos, add comments.
23934         Clear EOS list when going to PAUSED from any direction and do it
23935         in a threadsafe way.
23936         Get base time in a threadsafe way too.
23937         Fix confusing debug in the change_state function.
23938         Various other small cleanups.
23939         
23940         * gst/gstelement.c: (gst_element_post_message):
23941         Fix very verbose bus posting code.
23942
23943         * gst/gstpipeline.c: (gst_pipeline_class_init),
23944         (gst_pipeline_set_property), (gst_pipeline_get_property),
23945         (gst_pipeline_change_state):
23946         Small ARG_ -> PROP_ cleanup
23947
23948 2005-10-08  Wim Taymans  <wim@fluendo.com>
23949
23950         * gst/gstbin.c: (is_eos), (bin_bus_handler):
23951         Do a less CPU demanding EOS check because we can.
23952
23953 2005-10-08  Wim Taymans  <wim@fluendo.com>
23954
23955         * libs/gst/dataprotocol/dataprotocol.c:
23956         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23957         (gst_dp_packet_from_event):
23958         * libs/gst/dataprotocol/dataprotocol.h:
23959         * libs/gst/dataprotocol/dp-private.h:
23960         It's about time we bump the version number.
23961         Since event types don't fit in the guint8 anymore describing
23962         the payload type, make payload type 16 bits wide.
23963
23964 2005-10-08  Wim Taymans  <wim@fluendo.com>
23965
23966         * docs/design/part-TODO.txt:
23967         * docs/design/part-clocks.txt:
23968         * docs/design/part-events.txt:
23969         * docs/design/part-gstbin.txt:
23970         * docs/design/part-gstelement.txt:
23971         * docs/design/part-gstpipeline.txt:
23972         * docs/design/part-live-source.txt:
23973         * docs/design/part-messages.txt:
23974         * docs/design/part-overview.txt:
23975         * docs/design/part-states.txt:
23976         Many doc updates.
23977
23978 2005-10-08  Wim Taymans  <wim@fluendo.com>
23979
23980         * gst/gstevent.c:
23981         * gst/gstevent.h:
23982         Fix event quark registration.
23983         Add some space between events so we can insert them in the
23984         right groups.
23985
23986 2005-10-08  Wim Taymans  <wim@fluendo.com>
23987
23988         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23989         (gst_base_sink_handle_buffer):
23990         Better log message.
23991
23992         * gst/gstbus.h:
23993         * gst/gstelement.h:
23994         More docs.
23995
23996         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23997         (gst_queue_set_property), (gst_queue_get_property):
23998         * gst/gstqueue.h:
23999         Remove old unused properties.
24000
24001 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
24002         * docs/gst/gstreamer-sections.txt:
24003         * gst/gstmessage.c:
24004         * gst/gstmessage.h:
24005         * gst/gstminiobject.c:
24006         * gst/gstminiobject.h:
24007         * gst/gstobject.h:
24008         * gst/gstpad.h:
24009         * gst/gstutils.h:
24010           lots of new docs and doc fixes
24011
24012 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24013
24014         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
24015         * gst/gstplugin.h:
24016         * gst/gstregistry.c: (gst_registry_lookup_locked),
24017         (gst_registry_scan_path_level):
24018         * gst/gstregistryxml.c: (load_plugin):
24019           Only ever load one plugin for a given plugin basename.
24020           This ensures correct overriding of GST_PLUGIN_PATH over
24021           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
24022           system installed plugins.
24023
24024 2005-10-08  Wim Taymans  <wim@fluendo.com>
24025
24026         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24027         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
24028         Prepare for doing QOS.
24029
24030 2005-10-08  Wim Taymans  <wim@fluendo.com>
24031
24032         * check/gst/gstbin.c: (GST_START_TEST):
24033         * check/pipelines/cleanup.c: (GST_START_TEST):
24034         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
24035         Allow new clock message too.
24036
24037 2005-10-08  Wim Taymans  <wim@fluendo.com>
24038
24039         * gst/gstmessage.c: (gst_message_new_error),
24040         (gst_message_new_warning), (gst_message_new_tag),
24041         (gst_message_new_state_changed), (gst_message_new_clock_provide),
24042         (gst_message_new_clock_lost), (gst_message_new_new_clock),
24043         (gst_message_new_segment_start), (gst_message_new_segment_done),
24044         (gst_message_parse_state_changed),
24045         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
24046         (gst_message_parse_new_clock):
24047         * gst/gstmessage.h:
24048         Also carry the clock in question.
24049
24050 2005-10-08  Wim Taymans  <wim@fluendo.com>
24051
24052         * gst/gstmessage.c: (gst_message_new_custom),
24053         (gst_message_new_eos), (gst_message_new_error),
24054         (gst_message_new_warning), (gst_message_new_tag),
24055         (gst_message_new_state_changed), (gst_message_new_clock_provide),
24056         (gst_message_new_new_clock), (gst_message_new_segment_start),
24057         (gst_message_new_segment_done), (gst_message_parse_state_changed),
24058         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
24059         * gst/gstmessage.h:
24060         Clean up.
24061         Added clock related messages.
24062
24063         * gst/gstpipeline.c: (gst_pipeline_change_state):
24064         Post message when the clock changed.
24065
24066         * tools/gst-launch.c: (event_loop):
24067         Print new clock.
24068
24069 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
24070
24071         * tools/gst-inspect.c: (print_element_properties_info):
24072           Can't pass NULL strings to g_print() on windows.
24073
24074 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24075
24076         * docs/Makefile.am:
24077         * docs/gst/Makefile.am:
24078         * docs/gst/gstreamer-docs.sgml:
24079         * docs/gst/running.xml:
24080         * docs/version.entities.in:
24081           add a chapter on running GStreamer.
24082           document GST_DEBUG and GST_PLUGIN* env vars
24083
24084 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24085
24086         * Makefile.am:
24087           remove include dir
24088         * configure.ac:
24089           remove PLUGINS_BUILDDIR stuff
24090         * gst/gst.c: (init_post):
24091           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
24092         * idiottest.mak:
24093           remove, it was condescending and not needed
24094
24095 2005-10-08  Wim Taymans  <wim@fluendo.com>
24096
24097         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
24098         (gst_base_sink_handle_object), (gst_base_sink_event),
24099         (gst_base_sink_wait), (gst_base_sink_handle_event),
24100         (gst_base_sink_change_state):
24101         * gst/base/gstbasesink.h:
24102         Repost EOS message while going to PLAYING if still EOS.
24103         Make sure that when receiving a FLUSH_START we don't attempt
24104         to sync on the clock anymore.
24105
24106 2005-10-08  Wim Taymans  <wim@fluendo.com>
24107
24108         * tools/gst-launch.c: (event_loop):
24109         Better message printout.
24110
24111 2005-10-08  Wim Taymans  <wim@fluendo.com>
24112
24113         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
24114         (gst_bin_child_proxy_get_children_count):
24115         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
24116         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
24117         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
24118         (gst_child_proxy_set_valist):
24119         * gst/parse/grammar.y:
24120         Make ChildProxy threadsafe and fix mem leaks.
24121
24122 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24123
24124         * gst/gst.c: (init_post):
24125           debug the GST_PLUGIN_ env vars
24126
24127 2005-10-08  Wim Taymans  <wim@fluendo.com>
24128
24129         * check/gst/gstbin.c: (GST_START_TEST):
24130         * check/gst/gstmessage.c: (GST_START_TEST):
24131         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
24132         * gst/gstelement.c: (gst_element_commit_state),
24133         (gst_element_lost_state):
24134         * gst/gstmessage.c: (gst_message_new_state_changed),
24135         (gst_message_parse_state_changed):
24136         * gst/gstmessage.h:
24137         * tools/gst-launch.c: (event_loop):
24138         Added extra field to STATE_CHANGE message with the pending
24139         state, which will be different from the new state soon.
24140
24141 2005-10-08  Wim Taymans  <wim@fluendo.com>
24142
24143         * gst/gstbus.c: (gst_bus_pop):
24144         * gst/gstclock.c:
24145         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
24146         Small cleanups and doc updates.
24147
24148 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24149
24150         * gst/gst.c: (init_pre):
24151         * gst/gstbin.c: (gst_bin_add_func):
24152           log distributing clocks and base time
24153         * gst/gstregistry.c: (gst_registry_add_plugin),
24154         (gst_registry_scan_path_level), (gst_registry_scan_path):
24155           clean up the debugging output a little
24156         * gst/gstutils.c: (gst_element_state_get_name):
24157           warn about a memleak (I've actually seen this be used, though
24158           it was probably a bug)
24159
24160 2005-10-07  Wim Taymans  <wim@fluendo.com>
24161
24162         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24163         (gst_base_src_init), (gst_base_src_default_newsegment),
24164         (gst_base_src_newsegment), (gst_base_src_do_seek),
24165         (gst_base_src_loop), (gst_base_src_start):
24166         * gst/base/gstbasesrc.h:
24167         Make the newsegment event customizable by subclasses.
24168
24169 2005-10-07  Wim Taymans  <wim@fluendo.com>
24170
24171         * gst/gstevent.c: (gst_event_new_buffersize),
24172         (gst_event_parse_buffersize):
24173         * gst/gstevent.h:
24174         New event for future idea.
24175
24176 2005-10-07  Andy Wingo  <wingo@pobox.com>
24177
24178         * gst/gstelement.c (gst_element_post_message): Doc update.
24179
24180         * docs/gst/gstreamer-sections.txt: Update.
24181
24182         * gst/gstmessage.c (gst_message_new_application): Made into a
24183         function like honest API calls.
24184         (gst_message_new_element): New message type.
24185
24186         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
24187
24188         * check/elements/fakesrc.c (test_no_preroll): New check, checks
24189         that setting a live fakesrc to PAUSED returns NO_PREROLL both
24190         times.
24191
24192         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
24193         NO_PREROLL from gst_element_change_state to fall through.
24194
24195 2005-10-07  Wim Taymans  <wim@fluendo.com>
24196
24197         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
24198         (gst_ghost_pad_do_activate_push):
24199         Activating a ghostpad with no internal pad in push mode
24200         is ok.
24201
24202 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
24203
24204         * gst/gstobject.h:
24205           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
24206           Fixes compilation on Windows.
24207
24208 2005-10-07  Michael Smith <msmith@fluendo.com>
24209
24210         * tools/gst-inspect.c:
24211           Print out feature and plugin count at the end when printing out
24212           all features.
24213
24214 2005-10-04  Michael Smith <msmith@fluendo.com>
24215
24216         * gst/gsterror.c: (_gst_stream_errors_init):
24217           Add another error string used in a few existing plugins.
24218
24219         * gst/gstplugin.c:
24220         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
24221         * tools/gst-inspect.c: (print_element_info):
24222           When a feature disappears from a plugin (and the feature exists in
24223           the cached registry file), things went horribly wrong. This isn't a
24224           complete fix, we should actually be removing the 'missing' features
24225           from the features list when we load the actual plugin. That's not
24226           yet implemented. 
24227
24228 2005-10-04  Johan Dahlin  <johan@gnome.org>
24229
24230         * check/gst/gstiterator.c: (GST_START_TEST):
24231         * gst/gstbin.c: (gst_bin_iterate_elements),
24232         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
24233         * gst/gstelement.c: (gst_element_iterate_pads):
24234         * gst/gstformat.c: (gst_format_iterate_definitions):
24235         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
24236         (gst_iterator_new_list), (gst_iterator_filter):
24237         * gst/gstiterator.h:
24238         * gst/gstquery.c: (gst_query_type_iterate_definitions):
24239         Add a GType to GstIterator, update callsites and tests.
24240
24241 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24242
24243         * gst/gstpad.c: (gst_pad_event_default_dispatch):
24244           give events a chance to be handled by event probes when the pad
24245           is not linked
24246
24247 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24248
24249         * gst/gstevent.c: (gst_event_type_get_name),
24250         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
24251         * gst/gstevent.h:
24252           add string representations for event types
24253
24254 2005-10-06  Wim Taymans  <wim@fluendo.com>
24255
24256         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
24257         Don't use NULL pointers.
24258
24259 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24260
24261         * gst/gst_private.h:
24262         * gst/gstbus.c:
24263         * gst/gstelement.c:
24264         * gst/gstinfo.c:
24265         * gst/gstpluginfeature.c:
24266           widen the debug category in output to fit the biggest one we have
24267           add a bus category and use it
24268           play with the colors
24269           fix up some categories
24270
24271 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24272
24273         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
24274           add push activation of sink ghost pads.
24275           Andye, please verify
24276
24277 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
24278
24279         * gst/gstutils.c: (gst_element_link_pads):
24280           fix a bug in the case where neither element has a pad
24281         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
24282           add a test for that case
24283
24284 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
24285
24286         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
24287           emit have-data before checking for peers.  This allows
24288           for probe handlers to connect elements.  This helps autopluggers.
24289         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
24290         (gst_pad_suite):
24291           add six checks, linked/unlinked with no/true/false probe
24292
24293 2005-10-04  Wim Taymans  <wim@fluendo.com>
24294
24295         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
24296         (gst_fake_sink_event), (gst_fake_sink_preroll),
24297         (gst_fake_sink_render), (gst_fake_sink_change_state):
24298         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
24299         (gst_fake_src_get_property), (gst_fake_src_create),
24300         (gst_fake_src_stop):
24301         * gst/elements/gstidentity.c: (gst_identity_stop):
24302         Protect last_message with lock.
24303
24304 2005-10-04  Edward Hervey  <edward@fluendo.com>
24305
24306         * gst/gstformat.h: 
24307         Added precision in the comments for GST_FORMAT_DEFAULT
24308
24309 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
24310
24311         * tools/gst-launch.c: (main):
24312           Don't try to run erroneous pipelines.
24313
24314 2005-10-04  Julien MOUTTE  <julien@moutte.net>
24315
24316         * gst/gstbus.c: We don't need this header.
24317
24318 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24319
24320         * configure.ac:
24321           back to development
24322
24323 === release 0.9.3 ===
24324
24325 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24326
24327         * README:
24328         * configure.ac:
24329           Releasing 0.9.3, "Unregistered"
24330
24331 2005-10-03  Andy Wingo  <wingo@pobox.com>
24332
24333         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
24334         whereby calling a pad's activatepush() function can start a thread
24335         that starts to push or pull before the pad gets the FLUSHING flag
24336         unset. Hack around it by holding the stream lock until the flag is
24337         set. Need to replace this with a proper solution. Together with
24338         the ghost pad fixes, this fixes mp3 playing/tagreading.
24339
24340         * docs/design/part-gstghostpad.txt: Add a note about activation of
24341         proxy pads outside of ghost pads.
24342
24343         * gst/gstghostpad.c: Implement the ghost pad activation design.
24344
24345 2005-10-02  Andy Wingo  <wingo@pobox.com>
24346
24347         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
24348         It is volatile, after all.
24349
24350         * docs/design/part-gstghostpad.txt: Flesh out activation with
24351         ghost pads.
24352
24353         * gst/base/gstbasesrc.c (gst_base_src_init): Use
24354         GST_DEBUG_FUNCPTR.
24355
24356 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
24357
24358         * configure.ac:
24359           Fix (unused) AM_CONDITIONAL tests.
24360
24361 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
24362
24363         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24364
24365         * gst/gstutils.c: (gst_pad_query_convert):
24366           Add assertion that makes sure src_val is >=0, just like
24367           gst_query_new_convert() has. (#315895)
24368
24369 2005-09-30  Edward Hervey  <edward@fluendo.com>
24370
24371         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
24372         Let's not iterate pads we're not interested in, it avoids getting 
24373         sky-high refcounts on sinkpad.
24374
24375 2005-09-30  Wim Taymans  <wim@fluendo.com>
24376
24377         * gst/gstelement.c: (gst_element_set_state),
24378         (gst_element_change_state):
24379         Small tweak, element in ASYNC remains ASYNC.
24380
24381 2005-09-30  Wim Taymans  <wim@fluendo.com>
24382
24383         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
24384         Only error is an error.
24385
24386         * gst/gstbin.c: (gst_bin_change_state):
24387         Better debugging.
24388
24389         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
24390         Also call pad_block in pad alloc.
24391
24392         * gst/gstutils.c: (gst_flow_get_name):
24393         Better debugging.
24394
24395 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24396
24397         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24398         (gst_base_src_get_range):
24399           Fix documentation typos. Add some more debug info.
24400
24401 2005-09-29  David Schleef  <ds@schleef.org>
24402
24403         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
24404           more end-user friendly.
24405         * tools/gst-inspect.c: (main): Check if command-line argument is
24406           a file and attempt to load that file as a plugin.
24407
24408 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24409
24410         * check/gst/gstbin.c:
24411         * check/states/sinks.c:
24412           fix tests for the new warning
24413         * check/gst/gstpipeline.c:
24414           add a test for pipeline and bus interaction
24415         * gst/gstelement.c:
24416           elements should be NULL if they get disposed; add a warning if not
24417
24418 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24419
24420         * gst/gstobject.c:
24421           for 2.6 refcounting, make debug log more correct by printing
24422           the actual refcounts at the time of swap (Wim)
24423
24424 2005-09-29  Andy Wingo  <wingo@pobox.com>
24425
24426         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
24427         removes signal watches previously added via
24428         gst_bus_add_signal_watch.
24429         (gst_bus_add_signal_watch): Don't return the source id, just store
24430         it on the bus if there wasn't an id already.
24431
24432         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
24433         add_signal_watch and remove_signal_watch.
24434
24435 2005-09-29  Edward Hervey  <edward@fluendo.com>
24436
24437         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
24438         Better if we actually iterate the list :)
24439
24440 2005-09-29  Wim Taymans  <wim@fluendo.com>
24441
24442         * check/gst/gstbin.c: (GST_START_TEST):
24443         Change for new bus API.
24444
24445         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24446         (send_messages), (GST_START_TEST), (gstbus_suite):
24447         Change for new bus signal API.
24448
24449         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
24450         (gst_bus_source_prepare), (gst_bus_source_check),
24451         (gst_bus_create_watch), (gst_bus_add_watch_full),
24452         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
24453         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
24454         * gst/gstbus.h:
24455         Remove support for multiple GSources operating on different
24456         message types as it is too complex and unneeded when using
24457         signals.
24458         Added support for receiving signals from the bus.
24459
24460 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24461
24462         * docs/libs/tmpl/gstdataprotocol.sgml:
24463         * docs/manual/advanced-dataaccess.xml:
24464         * gst/elements/gstcapsfilter.c:
24465         * gst/gstutils.c:
24466           rename filter-caps to caps property
24467
24468 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24469
24470         * gst/gstvalue.c: (gst_value_deserialize_fraction):
24471           More robust fraction string parsing.
24472
24473         * docs/pwg/appendix-porting.xml:
24474           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
24475
24476 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24477
24478         * gst/gstcaps.c: (gst_caps_do_simplify):
24479           Thou shalt not free a structure and then continue using it
24480           in the next loop iteration.
24481
24482         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
24483         (gst_caps_suite):
24484           Add test case for caps simplification.
24485
24486 2005-09-29  Wim Taymans  <wim@fluendo.com>
24487
24488         * check/gst/gstbin.c: (GST_START_TEST):
24489         Oops.
24490
24491 2005-09-29  Wim Taymans  <wim@fluendo.com>
24492
24493         * check/gst/gstbin.c: (GST_START_TEST):
24494         Add bus to bin.
24495
24496         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
24497         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24498         (find_element), (gst_bin_sort_iterator_next),
24499         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24500         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24501         (gst_bin_change_state), (gst_bin_dispose):
24502         A bin does not have a bus, it gets the bus from the parent.
24503
24504         * gst/gstelement.c: (gst_element_requires_clock),
24505         (gst_element_provides_clock), (gst_element_is_indexable),
24506         (gst_element_is_locked_state), (gst_element_change_state),
24507         (gst_element_set_bus_func):
24508         Small cleanups.
24509
24510         * gst/gstpipeline.c: (gst_pipeline_class_init),
24511         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
24512         The pipeline provides a bus.
24513
24514 2005-09-28  Johan Dahlin  <johan@gnome.org>
24515
24516         * gst/gstmessage.c (gst_message_parse_state_changed): Use
24517         gst_structure_get_enum instead of gst_structure_get_int
24518
24519         * gst/gststructure.c (gst_structure_get_enum): Impl.
24520
24521         * gst/gststructure.h (gst_structure_get_enum): Add
24522
24523         * docs/gst/gstreamer-sections.txt: Ditto
24524
24525         * gst/gstmessage.c (gst_message_new_state_changed): Use
24526         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
24527         which does introspection.
24528         Reviewed by Christian Schaller
24529
24530 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24531
24532         * gst/gstinfo.c: (gst_debug_log_default):
24533           don't do dummy g_strdup()s
24534         * libs/gst/controller/gstcontroller.c:
24535         (on_object_controlled_property_changed),
24536         (gst_controlled_property_new), (gst_controller_new_valist),
24537         (gst_controller_new_list),
24538         (gst_controller_remove_properties_valist), (gst_controller_set),
24539         (gst_controller_get), (gst_controller_sync_values),
24540         (gst_controller_get_value_array), (_gst_controller_class_init),
24541         (gst_controller_get_type):
24542         * libs/gst/controller/gstcontroller.h:
24543         * libs/gst/controller/gstinterpolation.c:
24544         (gst_controlled_property_find_timed_value_node):
24545           convert // to /**/ comments
24546
24547 2005-09-28  Wim Taymans  <wim@fluendo.com>
24548
24549         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
24550         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24551         (gst_bus_sync_signal_handler):
24552         * gst/gstbus.h:
24553         Added async-message and sync-message signals to the bus.
24554         Added helper BusFunc to emit signals for all posted messages.
24555
24556         * gst/gstmessage.c: (gst_message_type_get_name),
24557         (gst_message_type_to_quark), (gst_message_get_type):
24558         * gst/gstmessage.h:
24559         Register quarks for message names.
24560
24561 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24562
24563         * docs/libs/gstreamer-libs-sections.txt:
24564         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24565         (gst_controller_new_list):
24566         * libs/gst/controller/gstcontroller.h:
24567           added another constructor for language bindings
24568
24569 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
24570
24571         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24572           add another check
24573         * gst/gstbus.c:
24574           add some doc
24575         * gst/gstinfo.c: (_gst_debug_init):
24576           slightly more readable color for refcount debugging
24577
24578 2005-09-28  Wim Taymans  <wim@fluendo.com>
24579
24580         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24581         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24582         (find_element), (gst_bin_sort_iterator_next),
24583         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24584         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24585         (gst_bin_change_state), (gst_bin_dispose):
24586         Small doc fixes. get_clock -> provide_clock.
24587
24588         * gst/gstelement.c: (gst_element_class_init),
24589         (gst_element_provides_clock), (gst_element_provide_clock),
24590         (gst_element_get_clock), (gst_element_commit_state),
24591         (gst_element_lost_state):
24592         * gst/gstelement.h:
24593         Make get/set_clock() symetric. Add provide_clock vmethod since
24594         that is actually what this function does.
24595
24596         * gst/gstpipeline.c: (gst_pipeline_class_init),
24597         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24598         (gst_pipeline_get_clock):
24599         get_clock -> provide_clock.
24600
24601 2005-09-28  Andy Wingo  <wingo@pobox.com>
24602
24603         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24604         lieu of real docs...
24605
24606         * gst/elements/gstfdsrc.c: Cleaned up a bit.
24607
24608 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
24609
24610         * gst/elements/gstcapsfilter.c:
24611         * gst/elements/gstfakesink.c:
24612         * gst/elements/gstfakesrc.c:
24613         * gst/elements/gstfdsink.c:
24614         * gst/elements/gstfdsrc.c:
24615         * gst/elements/gstfilesink.c:
24616         * gst/elements/gstfilesrc.c:
24617         * gst/elements/gstidentity.c:
24618         * gst/elements/gsttee.c:
24619         * gst/elements/gsttypefindelement.c:
24620           Make element details static.
24621
24622 2005-09-28  Wim Taymans  <wim@fluendo.com>
24623
24624         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24625         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24626         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24627         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24628         (gst_bin_change_state), (gst_bin_dispose):
24629         Some documentation updates.
24630         Clean up dispose handlers.
24631
24632         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24633         * gst/gstpad.c: (gst_pad_dispose):
24634         Clean up dispose handler.
24635
24636         * gst/gstpipeline.c: (gst_pipeline_change_state):
24637         Removed spurious UNLOCK.
24638
24639 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
24640
24641         * docs/gst/gstreamer-sections.txt:
24642         * gst/base/gstbasesrc.h:
24643         * gst/gstelement.h:
24644         * gst/gstevent.h:
24645         * gst/gstobject.h:
24646         * gst/gstpad.h:
24647         * gst/gstpipeline.c:
24648         * gst/gstpipeline.h:
24649         * gst/gstutils.h:
24650         * gst/gstxml.h:
24651           added two new functions to the docs
24652                 documents all undocumented GstXXXFlags
24653                 completed some incomplete docs 
24654
24655 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
24656
24657         * gst/gstbin.c: (gst_bin_dispose):
24658         * gst/gstelement.c: (gst_element_dispose):
24659           remove now useless and leaky resurrection code in dispose
24660         * gst/base/gstbasesrc.c: (gst_base_src_init):
24661         * gst/gstelementfactory.c: (gst_element_factory_create):
24662         * gst/gstobject.c: (gst_object_set_parent):
24663           add some debugging
24664
24665 2005-09-27  Wim Taymans  <wim@fluendo.com>
24666
24667         * docs/design/part-TODO.txt:
24668         Update TODO.
24669
24670         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24671         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24672         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24673         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24674         (gst_bin_change_state):
24675         * gst/gstelement.h:
24676         Remove element variable, we keep element info in the iterator now.
24677
24678 2005-09-27  Andy Wingo  <wingo@pobox.com>
24679
24680         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24681         values.
24682
24683 2005-09-27  Wim Taymans  <wim@fluendo.com>
24684
24685         * check/gst/gstbin.c: (GST_START_TEST):
24686         Enable check that works now.
24687
24688         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24689         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24690         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24691         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24692         (gst_bin_change_state):
24693         * gst/gstbin.h:
24694         Redid the state change algorithm using a topological sort algo.
24695         Handles all cases correctly.
24696         Exposed iterator for state change order.
24697
24698         * gst/gstelement.h:
24699         Temp storage for state changes. Need to get rid of this soon.
24700
24701 2005-09-27  Wim Taymans  <wim@fluendo.com>
24702
24703         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24704         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24705         (link_fold_func), (gst_pad_proxy_setcaps):
24706         Leak fixes, the fold functions need to unref the passed object and
24707         _get_parent_*() returns ref to parent.
24708
24709 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24710
24711         * check/gst/gstbuffer.c: (test_make_writable):
24712           Plug leak in test case and fix 'make check-valgrind'
24713
24714 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24715
24716         * gst/gstbuffer.c: (gst_subbuffer_init):
24717           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24718           works correctly in all circumstances (we could have just copied
24719           the parent buffer's readonly flag, but conceptually it seems
24720           cleaner to mark all subbuffers as read-only). (based on patch
24721           by Alessandro Decina, #314710).
24722         
24723         * check/gst/gstbuffer.c: (create_read_only_buffer),
24724         (test_make_writable), (test_subbuffer_make_writable),
24725         (gst_test_suite):
24726           Add some tests for gst_buffer_make_writable().
24727
24728 2005-09-27  Wim Taymans  <wim@fluendo.com>
24729
24730         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24731         use gst_object_has_ancestor().
24732
24733         * gst/gstobject.c: (gst_object_has_ancestor):
24734         * gst/gstobject.h:
24735         gst_object_has_ancestor() copied from gstbin.c as it is a
24736         useful function.
24737
24738         * tests/instantiate/create.c: (create_all_elements):
24739         * tests/lat.c: (handoff_src), (handoff_sink):
24740         * tests/sched/runxml.c: (main):
24741         * tests/seeking/seeking1.c: (main):
24742         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24743         (main):
24744         Fix compilation of some tests.
24745
24746 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24747
24748         * gst/gsterror.h:
24749           Remove comment. GST_TYPE_G_ERROR is here to stay,
24750           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24751           (#316961, #300610).
24752
24753 2005-09-26  Wim Taymans  <wim@fluendo.com>
24754
24755         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24756         Added check that shows error in state change order.
24757
24758 2005-09-26  Wim Taymans  <wim@fluendo.com>
24759
24760         * gst/gstbin.c: (gst_bin_change_state):
24761         Make state change function use 3 queues again, we were
24762         adding elements in the wrong order.
24763
24764         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24765         Some debug info,
24766
24767         * gst/gstpad.c: (gst_pad_dispose):
24768         Added some debug info first.
24769
24770 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
24771
24772         * docs/design/draft-push-pull.txt:
24773         * docs/design/part-events.txt:
24774         * docs/design/part-overview.txt:
24775         * docs/design/part-scheduling.txt:
24776           Replace all _pull_region() with _pull_range()
24777           
24778 2005-09-26  Andy Wingo  <wingo@pobox.com>
24779
24780         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24781
24782         * check/gst-libs/controller.c: Update for controller api change.
24783
24784         * configure.ac: 
24785         * tests/Makefile.am:
24786         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24787         over by GLib bug 118439.
24788         
24789         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24790         routines to a function.
24791
24792         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24793
24794         * libs/gst/controller/gsthelper.c:
24795         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24796         (gst_object_sync_values): Renamed from sink_values. Ugh.
24797
24798         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24799
24800         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24801         Renamed from controller_key, as it is exported.
24802
24803         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24804
24805 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
24806
24807         * gst/Makefile.am:
24808         * gst/gst.h:
24809         * gst/gstpad.h:
24810         * gst/gstpadtemplate.h:
24811         * gst/gstquery.c:
24812         * gst/gstquery.h:
24813         * gst/gstqueryutils.c:
24814         * gst/gstqueryutils.h:
24815           remove queryutils headers after moving the two used functions
24816           to gstquery.  also fixes build problem for gstsiddec
24817
24818 2005-09-26  Michael Smith <msmith@fluendo.com>
24819
24820         * tools/gst-launch.1.in:
24821         Correct documentation in manpage of debug syntax
24822
24823 2005-09-26  Wim Taymans  <wim@fluendo.com>
24824
24825         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24826         (gst_base_src_is_seekable), (gst_base_src_change_state):
24827         Some more debugging info.
24828
24829 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24830
24831         * docs/gst/gstreamer-sections.txt:
24832         * gst/base/gstbasetransform.h:
24833         * gst/gstindex.h:
24834           added more docs
24835
24836 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24837
24838         * docs/gst/.cvsignore:
24839         * docs/gst/tmpl/.cvsignore:
24840         * docs/gst/tmpl/gstpipeline.sgml:
24841         * docs/gst/tmpl/gstplugin.sgml:
24842         * gst/gstpipeline.c:
24843         * gst/gstplugin.c:
24844         * gst/gstplugin.h:
24845           inlined the last two docs files
24846           removed the tmpl directory from cvs (no more conflicts here!)
24847
24848 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24849
24850         * docs/gst/gstreamer-sections.txt:
24851         * docs/gst/tmpl/.cvsignore:
24852         * docs/gst/tmpl/gstpad.sgml:
24853         * docs/gst/tmpl/gstpadtemplate.sgml:
24854         * gst/Makefile.am:
24855         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24856         (gst_pad_finalize), (gst_pad_set_pad_template):
24857         * gst/gstpad.h:
24858         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24859         (gst_pad_template_class_init), (gst_pad_template_init),
24860         (gst_pad_template_dispose), (name_is_valid),
24861         (gst_static_pad_template_get), (gst_pad_template_new),
24862         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24863         (gst_pad_template_pad_created):
24864         * gst/gstpadtemplate.h:
24865           inlined two more docs
24866           factored gstpadtemplate out of gstpad
24867
24868 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
24869
24870         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24871         (test_children_state_change_order_semi_sink):
24872           Fix test case: we can't rely on a fixed state change order when
24873           going from READY => PAUSED because the sink might commit its 
24874           new state first when the first buffer created by the source 
24875           reaches the sink before the source has finished its change state.
24876           (Test case still fails at times, see #316856, comment 5 onwards)
24877
24878 2005-09-24  Wim Taymans  <wim@fluendo.com>
24879
24880         * docs/design/part-events.txt:
24881         * docs/design/part-gstbus.txt:
24882         * docs/design/part-gstpipeline.txt:
24883         * docs/design/part-messages.txt:
24884         * docs/design/part-overview.txt:
24885         * docs/design/part-segments.txt:
24886         * gst/gstbin.c:
24887         * gst/gstbuffer.c:
24888         * gst/gstclock.c:
24889         * gst/gstelement.c:
24890         * gst/gstevent.c:
24891         * gst/gstfilter.c:
24892         * gst/gstiterator.c:
24893         Various documentation updates.
24894
24895 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24896
24897         * gst/gstclock.h:
24898           Well, that's embarassing.  Luckily we weren't using
24899           GST_CLOCK_DIFF anywhere.
24900
24901 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24902
24903         * common/gtk-doc.mak:
24904           don't fail on building XML, FC4 slave shows a bunch of doc
24905           missing bits that I don't get
24906         * gst/gstpad.c:
24907         * gst/gstpipeline.c:
24908         * gst/gststructure.c:
24909           some doc updates
24910
24911 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24912
24913         * docs/design/part-gstbin.txt:
24914         * docs/design/part-gstbus.txt:
24915         * gst/gstbus.c:
24916           Add blurb about how the bus goes into flushing mode and
24917           drops all messages when its bin goes from READY into NULL 
24918           state.
24919
24920 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24921
24922         * docs/gst/gstreamer-sections.txt:
24923         * gst/gststructure.c: (gst_structure_get_clock_time):
24924         * gst/gststructure.h:
24925           add a method to get a GstClockTime out of a structure
24926
24927 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24928
24929         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24930         (test_children_state_change_order_semi_sink), (gst_bin_suite):
24931           Added test to check state change order in bins (can still be made
24932           to fail here under heavy disk load; bails out with 'Push on pad
24933           fakesink:sink0, but it was not activated in push mode').
24934
24935         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24936           Fix state change order when there is only a semi sink (#316856)
24937
24938         * gst/gstbus.c: (gst_bus_class_init):
24939           Use _class_peek_parent(), not _class_ref(); fix docs to say
24940           'default main context' instead of 'mainloop' where that is
24941           what's meant.
24942
24943         * gst/gstelement.c: (gst_element_commit_state),
24944         (gst_element_set_state):
24945           Fix typos in debug messages
24946
24947 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24948
24949         * docs/README:
24950         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24951         * gst/gstpluginfeature.c:
24952         * gst/gstutils.c:
24953           various doc updates
24954         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24955           change an assert into an error until it gets fixed properly
24956
24957 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
24958
24959         * docs/gst/gstreamer-sections.txt:
24960         * docs/gst/tmpl/.cvsignore:
24961         * docs/gst/tmpl/gstelement.sgml:
24962         * docs/gst/tmpl/gstinfo.sgml:
24963         * docs/gst/tmpl/gstobject.sgml:
24964         * gst/gstelement.c:
24965         * gst/gstelement.h:
24966         * gst/gstinfo.c:
24967         * gst/gstinfo.h:
24968         * gst/gstobject.c: (gst_object_class_init):
24969         * gst/gstobject.h:
24970           inlined 3 more biiiig doc files and added some missing docs on the fly
24971
24972 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24973
24974         * check/gst/.cvsignore:
24975         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24976         * gst/gstregistryxml.c: (load_plugin),
24977         (gst_registry_xml_save_plugin):
24978           put back source in registry.  add checks for find_plugin.
24979         * testsuite/states/bin.c: (assert_state), (empty_bin),
24980         (test_adding_one_element), (main):
24981         * testsuite/states/locked.c: (main):
24982           some compile/run fixes
24983
24984 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24985
24986         * check/gst/gstvalue.c: (GST_START_TEST):
24987           fix leaks in the test itself
24988
24989 2005-09-22  Wim Taymans  <wim@fluendo.com>
24990
24991         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24992         (gst_base_sink_send_event), (gst_base_sink_peer_query),
24993         (gst_base_sink_query):
24994         Prepare for more accurate position reporting and query
24995         handling.
24996
24997         * gst/gstelement.c: (gst_element_send_event),
24998         (gst_element_set_state):
24999         Add some comment.
25000
25001 2005-09-22  Wim Taymans  <wim@fluendo.com>
25002
25003         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
25004         (gst_query_parse_segment):
25005         * gst/gstquery.h:
25006         More documentation.
25007         Add segment query for future use.
25008
25009 2005-09-22  Wim Taymans  <wim@fluendo.com>
25010
25011         * gst/gstbin.c: (gst_bin_add_func):
25012         Some more debug info.
25013
25014         * gst/gstelement.c: (gst_element_send_event):
25015         Simplify send_event
25016
25017         * gst/gstelement.h:
25018         Don't know how flags got broken.
25019
25020         * gst/gstquery.h:
25021         Added new query.
25022
25023 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
25024
25025         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
25026           Add simplistic test suite for GST_TYPE_DATE serialisation and
25027           deserialisation.
25028
25029 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
25030
25031         * docs/gst/gstreamer-sections.txt:
25032         * gst/gststructure.c: (gst_structure_set_valist),
25033         (gst_structure_get_date):
25034         * gst/gststructure.h:
25035         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
25036         (gst_date_copy), (gst_value_compare_date),
25037         (gst_value_serialize_date), (gst_value_deserialize_date),
25038         (gst_value_transform_date_string),
25039         (gst_value_transform_string_date), (_gst_value_initialize):
25040         * gst/gstvalue.h:
25041           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
25042           bunch of utility functions along with a hack that checks that
25043           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
25044           is required. Part of the grand scheme in #170777.
25045
25046 2005-09-22  Andy Wingo  <wingo@pobox.com>
25047
25048         * gst/gstconfig.h.in: Psych out gtk-doc.
25049
25050         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
25051
25052         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
25053
25054         * tools/gst-inspect.c (print_element_list): Plug some
25055         inconsequential leaks.
25056
25057         * gst/gstregistry.c (gst_registry_get_default): Doc.
25058
25059         * check/gst/gstplugin.c: 
25060         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
25061         * gst/gstelementfactory.c (gst_element_factory_create): 
25062         * gst/gstindexfactory.c (gst_index_factory_create): Update for
25063         refcount changes.
25064
25065         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
25066         (gst_plugin_feature_load): Doc, don't eat refs.
25067
25068         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
25069         (gst_plugin_list_free): Doc.
25070         (gst_plugin_load_file): Doc updates.
25071
25072         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
25073         accessors returning refcounted objects, return a ref.
25074
25075         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
25076         accessor for caps. IDEMPOTENCE. Oh yes.
25077
25078 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
25079
25080         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
25081
25082         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
25083         (_gst_debug_register_funcptr):
25084           Add mutex to serialise access to the hash table with
25085           the function pointer => function name string mapping;
25086           make that hash table static scope (#316809).
25087
25088         * gst/registries/.cvsignore:
25089           Remove left-over file.
25090
25091 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
25092
25093         * docs/pwg/appendix-porting.xml:
25094           And something about newsegment events and caps-on-buffers to
25095           the porting guide (feel free to improve).
25096
25097 2005-09-21  Andy Wingo  <wingo@pobox.com>
25098
25099         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
25100         data and event probes on the same pad.
25101         (test_buffer_probe_once): Test that removing probes from within
25102         the probe functions works.
25103
25104 2005-09-21  Andy Wingo  <wingo@pobox.com>
25105
25106         * check/gst/gstutils.c: New file.
25107         (test_buffer_probe_n_times): A simple buffer probe test. More to
25108         come, foolios.
25109
25110         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
25111         have-data::buffer, not have-data.
25112         (gst_pad_add_event_probe): Likewise for have-data::event.
25113         (gst_pad_add_data_probe): More docs. The part about 'resolving the
25114         peer' isn't quite right yet though.
25115         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
25116         (gst_pad_remove_data_probe): Change to take the guint handler_id
25117         as their arg, not the function+data, which is more glib-like.
25118
25119         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
25120         the signal emission to indicate if the data is a buffer or an
25121         event.
25122         (gst_pad_get_type): Initialize buffer and event quarks.
25123         (gst_pad_class_init): have-data is now a detailed signal, yes it
25124         is.
25125
25126 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
25127
25128         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
25129         * gst/gstutils.c: (gst_util_set_value_from_string),
25130         (gst_util_set_object_arg):
25131           Don't put functional code in g_return_if_fail() or
25132           g_return_val_if_fail() statements, otherwise things will 
25133           break when G_DISABLE_CHECKS is defined during compilation.
25134
25135 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
25136
25137         * docs/gst/tmpl/.cvsignore:
25138         * docs/gst/tmpl/gstvalue.sgml:
25139         * gst/gstvalue.c:
25140         * gst/gstvalue.h:
25141           inlied another one and added  some obvious docs
25142
25143 2005-09-21  Wim Taymans  <wim@fluendo.com>
25144
25145         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
25146         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
25147         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
25148         (gst_fdsrc_get_property), (gst_fdsrc_create):
25149         * gst/elements/gstfdsrc.h:
25150         Properly implement fdsrc. Removed signal and timeout,
25151         better implemented somewhere else.
25152
25153 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
25154
25155         * docs/gst/tmpl/.cvsignore:
25156         * docs/gst/tmpl/gstimplementsinterface.sgml:
25157         * gst/gstinterface.c:
25158           inlined more docs
25159
25160 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
25161
25162         * docs/gst/gstreamer-sections.txt:
25163         * docs/gst/tmpl/.cvsignore:
25164         * docs/gst/tmpl/gstenumtypes.sgml:
25165           remove obsolete doc file
25166
25167 2005-09-21  David Schleef  <ds@schleef.org>
25168
25169         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
25170         little beer, fix a little leak.
25171
25172 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
25173
25174         * docs/gst/gstreamer-docs.sgml:
25175         * docs/gst/gstreamer-sections.txt:
25176         * docs/gst/tmpl/.cvsignore:
25177         * gst/Makefile.am:
25178         * gst/gst.h:
25179         * gst/gstbin.c:
25180         * gst/gstelement.h:
25181         * gst/gstindex.c: (gst_index_class_init):
25182         * gst/gstindex.h:
25183         * gst/gstindexfactory.c: (gst_index_factory_get_type),
25184         (gst_index_factory_class_init), (gst_index_factory_init),
25185         (gst_index_factory_finalize), (gst_index_factory_new),
25186         (gst_index_factory_destroy), (gst_index_factory_find),
25187         (gst_index_factory_create), (gst_index_factory_make):
25188         * gst/gstindexfactory.h:
25189         * gst/gstpluginfeature.c:
25190         * gst/gstpluginfeature.h:
25191         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
25192           more docs inlined, splitted gstindex.{c,h}
25193
25194 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25195
25196         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
25197           fix a leak
25198
25199 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
25200
25201         * gst/elements/gstfilesink.c: (gst_file_sink_init):
25202           Set sync to FALSE by default.
25203
25204 2005-09-20  Wim Taymans  <wim@fluendo.com>
25205
25206         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
25207         (gst_base_sink_init):
25208         Make sync property settable from subclass.
25209
25210         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25211         (gst_fake_sink_change_state):
25212         Set sync to FALSE by default.
25213
25214 2005-09-20  Wim Taymans  <wim@fluendo.com>
25215
25216         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
25217         * tools/gst-launch.c: (main):
25218         The timeout handler should have lower priority than the source
25219         so we don't timeout before popping a message with 0 timeout.
25220         Dump error messages after failed state change.
25221
25222 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
25223
25224         * tools/gst-inspect.c: (print_element_properties_info):
25225           Fix two typos.
25226
25227 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25228
25229         * check/gst/gstevent.c:
25230         * gst/elements/gstfakesink.c:
25231         * gst/elements/gstfakesink.h:
25232           remove the sync property from fakesink.
25233           has the side effect of setting sync TRUE
25234           for fakesink, which is a change.  Anyone who knows how
25235           to fix this nicely in a GObject-y way, feel free.
25236
25237 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25238
25239         * docs/gst/gstreamer-docs.sgml:
25240           remove probe refsection
25241
25242 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25243
25244         * check/Makefile.am:
25245           disable valgrinding the controller test again
25246         * docs/gst/gstreamer-sections.txt:
25247           update for api-changes
25248
25249 2005-09-20  Wim Taymans  <wim@fluendo.com>
25250
25251         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
25252         (gst_base_sink_set_property), (gst_base_sink_get_property),
25253         (gst_base_sink_do_sync):
25254         * gst/base/gstbasesink.h:
25255         Added sync property to basesink to disable clock sync.
25256
25257 2005-09-20  Andy Wingo  <wingo@pobox.com>
25258
25259         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
25260         eating the caller's refcount.
25261
25262         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
25263         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
25264         refcount.
25265
25266         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
25267         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
25268         of GLib 2.8 public, so we can know which refcount to check in
25269         tests.
25270
25271         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
25272         (gst_object_init): Only set the gst refcount if we're going ahead
25273         with the refcount hack.
25274
25275 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25276
25277         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
25278         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
25279           more leaks plumbed, added more debug-logging
25280         * gst/gstmacros.h:
25281           whitespace fix
25282
25283 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25284
25285         * gst/gstmessage.c:
25286           remove include of gstmemchunk.h
25287
25288 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25289
25290         * gst/gstclock.c: (_gst_clock_id_free):
25291           Commit from the Political Party For More Atomic CVS Commits,
25292           so that people don't waste too much of their day fishing
25293           out obvious leaks out of massive commits.
25294           Oh, and fix a pretty damn obvious leak in the memchunk
25295           removal code.
25296
25297 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25298
25299         * check/Makefile.am:
25300         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
25301           plug mem-leak, re-add to valgrindable tests
25302
25303 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25304
25305         * gst/gstplugin.h:
25306           unbreak the build for those who have chronic arthritis
25307           and typing "make check" is just too taxing on the hands
25308
25309 2005-09-20  Andy Wingo  <wingo@pobox.com>
25310
25311         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
25312         really want it out, you should fix plugins at the same time.
25313
25314 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
25315
25316         * configure.ac:
25317         * docs/gst/gstreamer-sections.txt:
25318         * gst/gstobject.c:
25319           added missing symbols to api docs
25320           disable ref-count hack if we have glib >= 2.8
25321
25322 2005-09-19  David Schleef  <ds@schleef.org>
25323
25324         * docs/gst/Makefile.am: Ignore a few more internal headers
25325         * docs/gst/gstreamer-docs.sgml: Remove old sections
25326         * docs/gst/gstreamer-sections.txt: Remove old sections
25327         * docs/gst/tmpl/gstobject.sgml: update
25328         * docs/gst/tmpl/gstplugin.sgml: update
25329         * docs/gst/tmpl/gstpluginfeature.sgml: update
25330         * docs/random/ds/0.9-suggested-changes: update.
25331         * gst/Makefile.am: remove memchunk and trashstack, since they're
25332           not used.
25333         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
25334         * gst/gst.h: don't include some headers
25335         * gst/gstchildproxy.c: add gstmarshal.h
25336         * gst/gstclock.c: Don't use memchunks
25337         * gst/gstminiobject.c: Add some docs
25338         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
25339         * gst/gstobject.h: same
25340         * gst/gstplugin.c: include gstmacros.h
25341         * gst/gstplugin.h: don't include gstmacros.h, since it's private
25342         * gst/gstquery.c: don't use memchunks
25343         * gst/gstregistry.c: rename gst_registry_deinit()
25344         * gst/gstregistry.h: same
25345
25346 2005-09-19  David Schleef  <ds@schleef.org>
25347
25348         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
25349         * docs/libs/gstreamer-libs-sections.txt:
25350         * docs/libs/tmpl/gstgetbits.sgml:
25351         * docs/libs/tmpl/gstputbits.sgml:
25352
25353 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
25354
25355         * win32/gstenumtypes.c:
25356         * win32/gstenumtypes.h:
25357           Update.
25358
25359 2005-09-19  Wim Taymans  <wim@fluendo.com>
25360
25361         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
25362         Automatically PAUSE and RESUME a pipeline when a flushing seek
25363         is performed.
25364
25365 2005-09-19  Andy Wingo  <wingo@pobox.com>
25366
25367         * gst/gstregistry.h: Spacing fixen.
25368
25369 2005-09-19  Wim Taymans  <wim@fluendo.com>
25370
25371         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
25372         Handle state change failure more correctly.
25373
25374 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25375
25376         * check/Makefile.am:
25377         * check/pipelines/cleanup.c: (run_pipeline):
25378         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25379         (GST_START_TEST):
25380           enable cleanup again after fixing the leak
25381         * docs/README:
25382           some more info on docs
25383
25384 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25385
25386         * check/Makefile.am:
25387           re-enable tests now that leaks are plugged
25388         * check/gst/gst.c:
25389         * check/gst/gstbin.c:
25390         * check/gst/gstpipeline.c:
25391           add some more tests while fixing leaks
25392         * common/check.mak:
25393           make sure binaries are uptodate when valgrinding/gdbing
25394         * gst/gst.c:
25395         * gst/gstelementfactory.c:
25396           remove a ref too many, and add a FIXME for when we get
25397           round to disposing of classes
25398         * gst/gstplugin.c:
25399           fix the refcounting when loading a plugin from a file and
25400           the code pretends that the pointer is the same even though
25401           of course it can change
25402         * gst/gstpluginfeature.c:
25403           unref plugins marked cached (a bit confusing as a name)
25404           as the docs state should be done
25405           various doc additions to explain refcounting
25406         * gst/gstregistry.c:
25407         * gst/gstregistryxml.c:
25408           debugging
25409
25410 2005-09-19  Wim Taymans  <wim@fluendo.com>
25411
25412         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
25413         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
25414         (send_messages), (GST_START_TEST), (gstbus_suite):
25415         * check/gst/gstpipeline.c: (GST_START_TEST):
25416         * check/pipelines/cleanup.c: (run_pipeline):
25417         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25418         (GST_START_TEST):
25419         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
25420         (gst_bus_source_check), (gst_bus_source_dispatch),
25421         (gst_bus_create_watch), (gst_bus_add_watch_full),
25422         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
25423         * gst/gstbus.h:
25424         * tools/gst-launch.c: (event_loop):
25425         * tools/gst-md5sum.c: (event_loop):
25426         GstBusHandler -> GstBusFunc, return value has the same meaning as
25427         any other GSource (FALSE == remove source).
25428         _add_watch() and _add_watch_full() now take a MessageType mask to
25429         only handle specific types of messages.
25430         _poll() returns the GstMessage instead of the message type to avoid
25431         race conditions.
25432         _have_pending() takes a MessageType mask now too.
25433         Added testsuite for multiple bus watches.
25434         Fix testsuites and applications for new bus API.
25435
25436 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25437
25438         * check/Makefile.am:
25439           mark a bunch of the tests as to fix until we fix them
25440
25441 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25442
25443         * common/check.mak:
25444           use GST_PLUGIN settings for valgrind tests as well, so we're
25445           valgrinding the correct thing
25446         * gst/gst.c: (init_post):
25447           plug another leak
25448
25449 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25450
25451         * gst/gst.c: (init_post), (gst_deinit):
25452         * gst/gstelementfactory.c: (gst_element_factory_class_init),
25453         (gst_element_factory_finalize), (gst_element_factory_cleanup):
25454         * gst/gstindex.c: (gst_index_factory_class_init),
25455         (gst_index_factory_finalize):
25456         * gst/gstobject.c: (gst_object_dispose):
25457         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
25458         (gst_plugin_load_file), (gst_plugin_desc_free):
25459         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
25460         (gst_plugin_feature_finalize):
25461         * gst/gstregistry.c: (gst_registry_class_init),
25462         (gst_registry_init), (gst_registry_finalize),
25463         (gst_registry_get_default), (gst_registry_deinit):
25464         * gst/gstregistry.h:
25465         * gst/gstregistryxml.c: (load_feature), (load_plugin):
25466           various cleanups and memleak plugging.  make valgrind is happy now.
25467
25468 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25469
25470         * common/check.mak:
25471           add a check-valgrind target
25472
25473 2005-09-18  David Schleef  <ds@schleef.org>
25474
25475         * tools/gst-inspect.c: Revert the GOption code.
25476
25477 2005-09-17  David Schleef  <ds@schleef.org>
25478
25479         * check/Makefile.am: Fix environment variables.
25480         * check/gst/gstplugin.c: Fix for API changes.
25481         * tools/gst-inspect.c: Fix for API changes.
25482         * tools/gst-xmlinspect.c: Fix for API changes.
25483         * gst/gstelementfactory.c:
25484         * gst/gstplugin.c:
25485         * gst/gstplugin.h:
25486         * gst/gstpluginfeature.c:
25487         * gst/gstpluginfeature.h:
25488         * gst/gstregistry.c:
25489         * gst/gstregistry.h:
25490         * gst/gstregistryxml.c:
25491         * gst/gsttypefind.c:
25492         * gst/gsttypefindfactory.c:
25493         * gst/indexers/gstfileindex.c:
25494         * gst/indexers/gstmemindex.c:
25495         * gst/schedulers/Makefile.am:
25496           Change registry to keep track of both plugins and features,
25497           removing the feature tracking from plugins themselves.
25498
25499 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
25500
25501         * check/Makefile.am:
25502         * tools/gst-register.1.in:
25503           remove gst-register
25504
25505 2005-09-15  David Schleef  <ds@schleef.org>
25506
25507         * check/gst/gstplugin.c:
25508         * gst/gstelementfactory.c:
25509         * gst/gstplugin.c:
25510         * gst/gstpluginfeature.c:
25511         * gst/gstregistry.c:
25512           Getting tired of debugging.  Disabled all the unreffing of
25513           plugins and features, which fixes the segfaults, but of
25514           course leaks like crazy.  At least playbin works.
25515
25516 2005-09-15  David Schleef  <ds@schleef.org>
25517
25518         * check/gst/gstplugin.c: (register_check_elements),
25519         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
25520         More testing
25521         * gst/elements/gsttypefindelement.c: Fix refcounting.
25522         * gst/gsttypefind.c:
25523         * gst/gsttypefindfactory.c:
25524         * gst/gsttypefindfactory.h:
25525
25526 2005-09-15  David Schleef  <ds@schleef.org>
25527
25528         * gst/gstindex.c: get refcounting correct.
25529         * gst/gstregistry.c: Handle the case where a feature/plugin is
25530           not found.
25531
25532 2005-09-15  David Schleef  <ds@schleef.org>
25533
25534         * check/Makefile.am:
25535         * check/gst/gstplugin.c: Add test
25536         * gst/gstplugin.c: Fix problems noticed by testsuite
25537         * gst/gstplugin.h:
25538         * gst/gstregistry.c: 
25539         * gst/gstregistry.h:
25540
25541 2005-09-15  David Schleef  <ds@schleef.org>
25542
25543         * gst/gstplugin.c: Implement semi-decent recounting and locking
25544           in plugins and plugin features.
25545         * gst/gstplugin.h:
25546         * gst/gstpluginfeature.c:
25547         * gst/gstpluginfeature.h:
25548         * gst/gstregistry.c:
25549
25550 2005-09-15  Michael Smith <msmith@fluendo.com>
25551
25552         * gst/gstregistry.c: (gst_registry_get_feature_list):
25553           Implement this. Makes oggdemux work; decodebin still broken.
25554
25555 2005-09-14  David Schleef  <ds@schleef.org>
25556
25557         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25558           #316076)
25559         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25560         * gst/check/Makefile.am:
25561         * libs/gst/controller/Makefile.am:
25562         * libs/gst/dataprotocol/Makefile.am:
25563
25564 2005-09-14  David Schleef  <ds@schleef.org>
25565
25566         * configure.ac: Remove getbits library.  Nothing uses it, and
25567           it should be in something like liboil if someone did want
25568           to use it.
25569         * libs/gst/Makefile.am:
25570         * libs/gst/getbits/Makefile.am:
25571         * libs/gst/getbits/gbtest.c:
25572         * libs/gst/getbits/getbits.c:
25573         * libs/gst/getbits/getbits.h:
25574         * libs/gst/getbits/gstgetbits_generic.c:
25575         * libs/gst/getbits/gstgetbits_i386.s:
25576         * libs/gst/getbits/gstgetbits_inl.h:
25577
25578 2005-09-14  David Schleef  <ds@schleef.org>
25579
25580         * gst/Makefile.am: Dist glib-compat.h
25581
25582 2005-09-14  David Schleef  <ds@schleef.org>
25583
25584         * configure.ac: Remove gst/registries, since it's no longer used.
25585         * gst/registries/Makefile.am:
25586         * gst/registries/gstlibxmlregistry.c:
25587         * gst/registries/gstlibxmlregistry.h:
25588         * gst/registries/gstxmlregistry.c:
25589         * gst/registries/gstxmlregistry.h:
25590         * gst/registries/registrytest.c:
25591
25592 2005-09-14  David Schleef  <ds@schleef.org>
25593
25594         * gst/glib-compat.h:
25595         * gst/gstregistryxml.c:
25596           Convergence is near.  Seriously.
25597
25598 2005-09-14  David Schleef  <ds@schleef.org>
25599
25600         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25601         * gst/glib-compat.h:
25602           Attempt #4 to appease the buildbots.
25603
25604 2005-09-14  David Schleef  <ds@schleef.org>
25605
25606         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25607           Attempt #3.
25608
25609 2005-09-14  David Schleef  <ds@schleef.org>
25610
25611         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25612         Attempt #2.
25613
25614 2005-09-14  David Schleef  <ds@schleef.org>
25615
25616         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25617           the new functions.
25618
25619 2005-09-14  David Schleef  <ds@schleef.org>
25620
25621         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25622         * gst/glib-compat.h: Add some functions that are in newer versions
25623           of glib than we care to require.
25624         * gst/gstregistryxml.c: Use them.
25625
25626 2005-09-14  David Schleef  <ds@schleef.org>
25627
25628         * po/POTFILES.in: remove gst-register.c
25629
25630 2005-09-14  David Schleef  <ds@schleef.org>
25631
25632         * docs/gst/gstreamer-docs.sgml:
25633         * docs/gst/gstreamer-sections.txt:
25634         * docs/gst/gstreamer.types:
25635         * docs/gst/tmpl/gstelement.sgml:
25636         * docs/gst/tmpl/gstplugin.sgml:
25637         * docs/gst/tmpl/gstpluginfeature.sgml:
25638           Documentation updates for registry changes.
25639
25640 2005-09-14  David Schleef  <ds@schleef.org>
25641
25642         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25643           because we don't require glib-2.8.
25644
25645 2005-09-14  David Schleef  <ds@schleef.org>
25646
25647         * gst/gstregistryxml.c: Added.  Essentially moved out of the
25648           registries directory.
25649
25650 2005-09-14  David Schleef  <ds@schleef.org>
25651
25652         * check/Makefile.am:
25653         * check/generic/states.c:
25654         * gst/Makefile.am:
25655         * gst/gst.c:
25656         * gst/gst.h:
25657         * gst/gst_private.h:
25658         * gst/gstelementfactory.c:
25659         * gst/gstindex.c:
25660         * gst/gstinfo.c:
25661         * gst/gstplugin.c:
25662         * gst/gstplugin.h:
25663         * gst/gstpluginfeature.c:
25664         * gst/gstpluginfeature.h:
25665         * gst/gstregistry.c:
25666         * gst/gstregistry.h:
25667         * gst/gstregistrypool.c: remove
25668         * gst/gstregistrypool.h: remove
25669         * gst/gsttypefind.c:
25670         * gst/gsttypefindfactory.c:
25671         * gst/gsturi.c:
25672         * tools/Makefile.am:
25673         * tools/gst-compprep.c:
25674         * tools/gst-inspect.c:
25675         * tools/gst-register.c: remove
25676         * tools/gst-xmlinspect.c:
25677           Registry rewrite.  Changes registry from being a file created
25678           by a tool into a simple cache file created automatically by 
25679           libgstreamer.  Removed gst-register (because it's no longer
25680           needed).  Remove registry pools, because we only have one
25681           registry implementation (XML).  Fix up other subsystems as
25682           necessary.
25683
25684 2005-09-13  Michael Smith <msmith@fluendo.com>
25685
25686         * gst/gstconfig.h.in:
25687           Don't Use windows linking attributes for MinGW. Fixes #316157
25688
25689 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
25690
25691         * gst/gstutils.c: (set_state_async_thread_func),
25692         (gst_element_set_state_async):
25693           Apparently people think it's better if this function doesn't
25694           try to set the state to whatever state was asked for on the first
25695           call to this function for any object.  Seriously.
25696
25697 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25698
25699         * check/gst/gstpipeline.c: (GST_START_TEST):
25700         * docs/gst/gstreamer-sections.txt:
25701         * gst/gstutils.c: (set_state_async_thread_func),
25702         (gst_element_set_state_async):
25703         * gst/gstutils.h:
25704           add a "gst_element_set_state_async" method that
25705           sets the state and starts a thread to make sure the state
25706           change completes as best as it can
25707
25708 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25709
25710         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25711           codify design+behaviour in testsuite after discussion
25712
25713 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25714
25715         * docs/gst/tmpl/gstelement.sgml:
25716         * docs/manual/appendix-quotes.xml:
25717           add a quote
25718         * gst/gstelement.c: (gst_element_set_state):
25719           add some debug
25720
25721 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
25722
25723         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25724         (gst_base_transform_prepare_output_buf),
25725         (gst_base_transform_handle_buffer):
25726         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25727         (gst_capsfilter_prepare_buf):
25728           Remove the requirement for sub-classes to call the parent
25729           implementation of prepare_output_buffer with a wrapper function.
25730           
25731         * gst/gsttaglist.h:
25732         * gst/gsttagsetter.h:
25733           Fix #define wrapper
25734
25735 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
25736
25737         * docs/gst/gstreamer-sections.txt:
25738           more doc cleanups
25739
25740 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25741
25742         * docs/gst/gstreamer-sections.txt:
25743         * docs/gst/tmpl/gstelement.sgml:
25744         * docs/gst/tmpl/gstplugin.sgml:
25745         * gst/gstminiobject.c:
25746         * gst/gstvalue.h:
25747           docs now stop throwing warnings
25748
25749 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25750
25751         * docs/gst/gstreamer-sections.txt:
25752         * docs/gst/gstreamer.types:
25753         * docs/gst/tmpl/gstpad.sgml:
25754         * docs/gst/tmpl/gsttypes.sgml:
25755         * gst/base/gstadapter.h:
25756         * gst/base/gstbasesink.h:
25757         * gst/base/gstbasesrc.h:
25758         * gst/gstbin.h:
25759         * gst/gstbuffer.h:
25760         * gst/gstbus.h:
25761         * gst/gstcaps.h:
25762         * gst/gstclock.h:
25763         * gst/gstelement.h:
25764         * gst/gstevent.h:
25765         * gst/gstmessage.h:
25766         * gst/gstpad.h:
25767         * gst/gststructure.c:
25768         * gst/registries/gstlibxmlregistry.h:
25769           various documentation fixes
25770
25771 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25772
25773         * docs/gst/gstreamer-sections.txt:
25774         * docs/gst/tmpl/gstvalue.sgml:
25775           rearrange gstvalue section
25776         * gst/gstutils.c: (gst_element_state_get_name):
25777           NONE -> VOID
25778         * gst/gstvalue.c: (_gst_value_initialize):
25779         * gst/gstvalue.h:
25780           doc updates
25781
25782 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
25783
25784         * check/gst-libs/controller.c:
25785           Header include fix.
25786         * gst/base/gstbasetransform.c:
25787         (gst_base_transform_default_prepare_buf),
25788         (gst_base_transform_handle_buffer):
25789         * gst/base/gstbasetransform.h:
25790           Some more basetransform changes and fixes to enable sub-classes
25791           that modify buffer metadata only.
25792         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25793         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25794         (gst_capsfilter_prepare_buf):
25795           If the output pad has fixed allowed caps and input buffers 
25796           don't have any, set the fixed caps on outgoing buffers.
25797
25798 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
25799         * check/elements/identity.c: (GST_START_TEST):
25800           Make the error a little clearer when the test fails because
25801           identity made a copy of the buffer.
25802         * docs/gst/gstreamer-sections.txt:
25803           New symbols in gstbasetransform.h
25804         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25805         (gst_base_transform_init), (gst_base_transform_transform_size),
25806         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25807         (gst_base_transform_default_prepare_buf),
25808         (gst_base_transform_get_unit_size),
25809         (gst_base_transform_buffer_alloc),
25810         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25811         (gst_base_transform_change_state),
25812         (gst_base_transform_set_passthrough),
25813         (gst_base_transform_set_in_place),
25814         (gst_base_transform_is_in_place):
25815         * gst/base/gstbasetransform.h:
25816           Change BaseTransform to separate in_place operate from same_caps
25817           output. in_place implies that the element can perform the transform
25818           on incoming buffers in-place, even if the caps on the output are
25819           different.
25820           Sub-class elements can now implement special buffer allocation
25821           methods for outgoing buffers if they wish to.
25822           Big documentation addition.
25823         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25824         * gst/elements/gstelements.c:
25825           Changes for basetransform modifications.
25826         * gst/elements/Makefile.am:
25827         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25828           Compile fix. Extra debug output.
25829
25830 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25831
25832         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25833         (gst_pad_suite):
25834           add tests for valid pad naming
25835         * gst/check/gstcheck.c: (gst_check_log_message_func),
25836         (gst_check_log_critical_func):
25837           add ASSERT_WARNING
25838           remove printing of code, it is fragile when the code contains
25839           % and the line number is enough info
25840         * gst/check/gstcheck.h:
25841         * gst/gstpad.c: (gst_pad_template_new):
25842           fix memleaks
25843
25844 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25845
25846         * configure.ac:
25847           say what CHECK flags we use
25848         * docs/libs/gstreamer-libs.types:
25849         * libs/gst/controller/Makefile.am:
25850         * libs/gst/controller/gst-controller.c:
25851         * libs/gst/controller/gst-controller.h:
25852         * libs/gst/controller/gst-helper.c:
25853         * libs/gst/controller/gst-interpolation.c:
25854         * libs/gst/controller/gstcontroller.c:
25855         * libs/gst/controller/gsthelper.c:
25856         * libs/gst/controller/gstinterpolation.c:
25857         * tools/gst-inspect.c: (print_plugin_info):
25858           we don't use dashes in header names
25859
25860 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25861
25862         * check/Makefile.am:
25863         * check/gst/.cvsignore:
25864         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25865         (gst_pipeline_suite), (main):
25866           adding a test for pipelines and state changes
25867         * gst/gstutils.c: (get_state_func):
25868           add some debugging
25869         * gstreamer.spec.in:
25870           fix up spec file
25871
25872 2005-09-08  Michael Smith <msmith@fluendo.com>
25873
25874         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25875         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25876         (gst_file_src_is_seekable), (gst_file_src_get_size),
25877         (gst_file_src_start):
25878         * gst/elements/gstfilesrc.h:
25879           Various fixes for unseekable, unmmapable, and non-normal files, so
25880           that fallback to read() rather than mmap() works.
25881         * gst/gstevent.c: (gst_event_new_newsegment):
25882           Allow newsegment events with segment_start == segment_end, as will
25883           correctly happen if you use filesrc on a zero-size file, for
25884           example.
25885
25886 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25887
25888         * gst/gstplugin.c: (gst_plugin_load_file):
25889           Call g_module_close when we don't load the module
25890
25891         * gst/registries/gstlibxmlregistry.c:
25892         (gst_xml_registry_get_property):
25893           Port leak fix from 0.8
25894
25895 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25896
25897         * docs/gst/gstreamer-docs.sgml:
25898         * docs/gst/tmpl/.cvsignore:
25899         * docs/gst/tmpl/gsttrace.sgml:
25900         * docs/gst/tmpl/gsttrashstack.sgml:
25901         * gst/Makefile.am:
25902         * gst/gst.h:
25903         * gst/gstelement.h:
25904         * gst/gstevent.h:
25905         * gst/gstmessage.c:
25906         * gst/gstmessage.h:
25907         * gst/gsttag.c:
25908         * gst/gsttag.h:
25909         * gst/gsttaginterface.c:
25910         * gst/gsttaginterface.h:
25911         * gst/gsttaglist.c:
25912         * gst/gsttaglist.h:
25913         * gst/gsttagsetter.c:
25914         * gst/gsttagsetter.h:
25915         * gst/gsttrace.c:
25916         * gst/gsttrace.h:
25917         * gst/gsttrashstack.c:
25918           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25919           inlined docs for gsttrace, gsttrashstack
25920
25921 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25922
25923         * gst/Makefile.am:
25924         * gst/elements/gstbufferstore.h:
25925         * gst/elements/gsttypefindelement.c:
25926         * gst/elements/gsttypefindelement.h:
25927         * gst/gst.h:
25928         * gst/gsttypefind.c:
25929         * gst/gsttypefind.h:
25930         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25931         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25932         (gst_type_find_factory_dispose),
25933         (gst_type_find_factory_unload_thyself),
25934         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25935         (gst_type_find_factory_get_caps),
25936         (gst_type_find_factory_get_extensions),
25937         (gst_type_find_factory_call_function):
25938         * gst/gsttypefindfactory.h:
25939         * gst/registries/gstlibxmlregistry.c:
25940         * gst/registries/gstxmlregistry.c:
25941           splitted gsttypefind into gsttypefind, gsttypefindfactory
25942
25943 2005-09-07  Andy Wingo  <wingo@pobox.com>
25944
25945         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25946         condition whereby the pad's task function is entered before the
25947         pad_mode variable was set.
25948
25949 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25950
25951         * gst/gstpad.c: (gst_pad_alloc_buffer):
25952           Catch misbehaving pad_alloc functions that don't
25953           set up caps and do it for them.
25954
25955 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25956
25957         * check/pipelines/simple_launch_lines.c: (run_pipeline):
25958           test for pipe!=NULL
25959         * docs/gst/tmpl/.cvsignore:
25960         * docs/gst/tmpl/gstmemchunk.sgml:
25961         * docs/gst/tmpl/gstparse.sgml:
25962         * docs/gst/tmpl/gsttaglist.sgml:
25963         * docs/gst/tmpl/gsttagsetter.sgml:
25964         * docs/gst/tmpl/gsttypefind.sgml:
25965         * docs/gst/tmpl/gsttypefindfactory.sgml:
25966         * gst/gstmemchunk.c:
25967         * gst/gstparse.c:
25968         * gst/gsttag.c:
25969         * gst/gsttaginterface.c:
25970         * gst/gsttypefind.c:
25971         * gst/gsttypefind.h:
25972           inlined more docs
25973
25974 === release 0.9.2 ===
25975
25976 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
25977
25978         * NEWS:
25979         * RELEASE:
25980         * configure.ac:
25981           releasing 0.9.2, "South"
25982
25983 2005-09-05  Andy Wingo  <wingo@pobox.com>
25984
25985         * gst/registries/gstxmlregistry.h:
25986         * gst/registries/gstxmlregistry.c: Um... resurrect...
25987         
25988         * gst/registries/gstxmlregistry.h:
25989         * gst/registries/gstxmlregistry.c: and update to newer API.
25990         Incidentally they should be a bit faster now that they don't have
25991         to parse the caps.
25992         
25993 2005-09-05  Andy Wingo  <wingo@pobox.com>
25994
25995         * gst/registries/gstxmlregistry.h:
25996         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25997         replaced by the libxml registry a while back
25998
25999 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
26000
26001         * docs/gst/tmpl/gstplugin.sgml:
26002         * gst/elements/gstelements.c:
26003         * gst/gst.c:
26004         * gst/gstplugin.c: (gst_plugin_register_func),
26005         (gst_plugin_desc_copy), (gst_plugin_desc_free),
26006         (gst_plugin_get_source):
26007         * gst/gstplugin.h:
26008         * gst/registries/gstlibxmlregistry.c: (load_plugin),
26009         (gst_xml_registry_save_plugin):
26010         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
26011         (gst_xml_registry_save_plugin):
26012         * tools/gst-inspect.c: (print_plugin_info):
26013           add a "source" plugin description field, to represent the source
26014           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
26015           will set it to PACKAGE, which is automake's idea of the name of
26016           the source project.
26017
26018 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
26019
26020         * Makefile.am:
26021         * autogen.sh:
26022         * configure.ac:
26023         * docs/Makefile.am:
26024         * docs/faq/Makefile.am:
26025         * docs/gst/tmpl/gstelement.sgml:
26026         * docs/gst/tmpl/gsttypes.sgml:
26027         * docs/htmlinstall.mak:
26028         * docs/manual/Makefile.am:
26029         * docs/pwg/Makefile.am:
26030           reorganize doc build a little
26031           split out docbook and gtk-doc stuff
26032           have two separate --enable's and enable them through autogen
26033           but disable by default in configure (to be similar to other
26034           projects)
26035         * gstreamer.spec.in:
26036           clean up docs install
26037         * po/af.po:
26038         * po/az.po:
26039         * po/ca.po:
26040         * po/cs.po:
26041         * po/de.po:
26042         * po/en_GB.po:
26043         * po/fr.po:
26044         * po/it.po:
26045         * po/nb.po:
26046         * po/nl.po:
26047         * po/ru.po:
26048         * po/sq.po:
26049         * po/sr.po:
26050         * po/sv.po:
26051         * po/tr.po:
26052         * po/uk.po:
26053         * po/vi.po:
26054           translation updates
26055
26056 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
26057
26058         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
26059           Add comment.
26060           
26061         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
26062         (gst_fake_sink_change_state):
26063           Make state change function thread-safe.
26064           
26065         * gst/gstpad.c: (gst_pad_alloc_buffer):
26066           Set offset on generic buffer allocated by fallback.
26067
26068 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
26069
26070         * docs/gst/gstreamer-sections.txt:
26071         * docs/gst/tmpl/gstelement.sgml:
26072         * gst/gstpad.c:
26073         * libs/gst/controller/gst-controller.c:
26074         (gst_controlled_property_set_interpolation_mode),
26075         (gst_controlled_property_new),
26076         (gst_controller_find_controlled_property):
26077          run the wingo-magic script against the docs
26078
26079 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
26080
26081         * docs/gst/gstreamer-docs.sgml:
26082         * docs/gst/gstreamer-sections.txt:
26083         * docs/gst/tmpl/.cvsignore:
26084         * docs/gst/tmpl/gstelementdetails.sgml:
26085         * docs/gst/tmpl/gstelementfactory.sgml:
26086         * gst/gst.c:
26087         * gst/gstbus.c:
26088         * gst/gstelementfactory.c:
26089         * gst/gstelementfactory.h:
26090           merged elementdetails docs into elementfactory docs
26091           inlined both
26092
26093 2005-09-02  Andy Wingo  <wingo@pobox.com>
26094
26095         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
26096         consider this enum an enum and not a flags.
26097
26098 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
26099
26100         * docs/gst/gstreamer-docs.sgml:
26101         * docs/gst/tmpl/.cvsignore:
26102         * docs/gst/tmpl/gstghostpad.sgml:
26103         * docs/gst/tmpl/gstiterator.sgml:
26104         * docs/gst/tmpl/gstmacros.sgml:
26105         * docs/gst/tmpl/gstrealpad.sgml:
26106         * docs/gst/tmpl/gstregistry.sgml:
26107         * docs/gst/tmpl/gstregistrypool.sgml:
26108         * docs/gst/tmpl/gststructure.sgml:
26109         * docs/gst/tmpl/gstsystemclock.sgml:
26110         * docs/gst/tmpl/gsttrace.sgml:
26111         * gst/gstghostpad.c:
26112         * gst/gstmacros.h:
26113         * gst/gstmemchunk.c:
26114         * gst/gstmemchunk.h:
26115         * gst/gstqueue.c:
26116         * gst/gstregistry.c:
26117         * gst/gstregistrypool.c:
26118         * gst/gststructure.c:
26119         * gst/gstsystemclock.c:
26120           more docs inlined
26121
26122 2005-09-02  Andy Wingo  <wingo@pobox.com>
26123
26124         * gst/gstelement.h (GstState): Renamed from GstElementState,
26125         changed to be a normal enum instead of flags.
26126         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
26127         munged to be GST_STATE_CHANGE_*.
26128         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
26129         work with the new state representation.
26130         (GstStateChange): New enumeration of possible state transitions.
26131         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
26132         (GstElementClass::change_state): Pass the GstStateChange along as
26133         an argument. Helps language bindings, so they don't have to use
26134         tricky lock-needing macros like GST_STATE_CHANGE ().
26135
26136         * scripts/update-states (file): New script. Run it on a file to
26137         update it for state naming and API changes. Updates files in
26138         place.
26139
26140         * All files updated for the new API.
26141
26142 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
26143
26144         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
26145         * gst/gstutils.c: (gst_util_set_value_from_string),
26146         (gst_util_set_object_arg):
26147           fix a bunch of unchecked return values
26148         * tools/gst-complete.c: (main):
26149         * gstreamer.spec.in:
26150           clean up a little
26151
26152 2005-09-01  Wim Taymans  <wim@fluendo.com>
26153
26154         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26155         (gst_base_sink_event), (gst_base_sink_do_sync),
26156         (gst_base_sink_handle_event):
26157         * gst/base/gstbasesink.h:
26158         Handle newsegments more correctly.
26159
26160         * gst/gstbus.c:
26161         Fix docs.
26162
26163         * gst/gstevent.c: (gst_event_new_newsegment):
26164         A newsegment cannot have a start_time of -1
26165
26166 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
26167
26168         * win32/gstenumtypes.c:
26169         * win32/gstenumtypes.h:
26170           Update
26171
26172 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
26173
26174         * libs/gst/controller/gst-controller.c:
26175         (gst_controlled_property_set_interpolation_mode),
26176         (gst_controlled_property_new):
26177          fixed boolean again
26178
26179 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
26180
26181         * docs/faq/gst-uninstalled:
26182           add -good
26183         * gst/gstevent.c:
26184         * gst/gstevent.h:
26185           remove wrong docs
26186         * gst/gstutils.c: (gst_element_link_filtered):
26187         * gst/gstutils.h:
26188           add gst_element_link_filtered
26189
26190 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
26191
26192         * docs/gst/gstreamer-docs.sgml:
26193         * docs/gst/gstreamer-sections.txt:
26194         * docs/gst/tmpl/.cvsignore:
26195         * docs/gst/tmpl/gsterror.sgml:
26196         * docs/gst/tmpl/gstfilter.sgml:
26197         * docs/gst/tmpl/gsturihandler.sgml:
26198         * docs/gst/tmpl/gsturitype.sgml:
26199         * docs/gst/tmpl/gstutils.sgml:
26200         * docs/gst/tmpl/gstxml.sgml:
26201         * gst/gsterror.c:
26202         * gst/gsterror.h:
26203         * gst/gstfilter.c:
26204         * gst/gsturi.c:
26205         * gst/gsturitype.c:
26206         * gst/gstutils.c:
26207         * gst/gstxml.c:
26208           inlined more docs, fixed double id-ref
26209
26210 2005-08-31  Wim Taymans  <wim@fluendo.com>
26211
26212         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
26213         (gst_base_transform_handle_buffer):
26214         Passthrough elements don't need the caps as they don't care.
26215
26216 2005-08-31  Wim Taymans  <wim@fluendo.com>
26217
26218         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
26219         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
26220         Don't leak refcounts on buffers.
26221
26222 2005-08-31  Wim Taymans  <wim@fluendo.com>
26223
26224         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
26225         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
26226         (gst_base_transform_chain), (gst_base_transform_change_state):
26227         * gst/base/gstbasetransform.h:
26228         Handle the case where we are not negotiated more gracefully.
26229
26230 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
26231
26232         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
26233         (gst_file_src_map_region):
26234           Set READONLY flag on mmap'ed buffers, otherwise
26235           gst_buffer_make_writable() won't work properly (#314708).
26236
26237 2005-08-31  Wim Taymans  <wim@fluendo.com>
26238
26239         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
26240         passthrough elements can even do inplace on non writable
26241         buffers (as they don't touch them).
26242
26243 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
26244
26245         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
26246         (gst_test_mono_source_set_property),
26247         (gst_test_mono_source_class_init), (GST_START_TEST),
26248         (gst_controller_suite):
26249           more tests (hehe I have the most)
26250         * gst/gstbus.c:
26251           describe popping messages whenusing mulltiple sources
26252         * libs/gst/controller/gst-controller.c:
26253         (gst_controlled_property_set_interpolation_mode),
26254         (gst_controlled_property_new):
26255         * libs/gst/controller/gst-controller.h:
26256         * libs/gst/controller/gst-interpolation.c:
26257           implement boolean properties
26258
26259 2005-08-31  Wim Taymans  <wim@fluendo.com>
26260
26261         * gst/gstminiobject.c: (gst_mini_object_ref):
26262         Cannot assert that the refcount has to be positive
26263         since a disposed object can be resurrected.
26264
26265 2005-08-31  Wim Taymans  <wim@fluendo.com>
26266
26267         * gst/gstpad.c: (gst_pad_init):
26268         Revert change, need to first fix badly behaving 
26269         apps.
26270
26271 2005-08-30  Wim Taymans  <wim@fluendo.com>
26272
26273         * check/elements/fakesrc.c: (setup_fakesrc):
26274         * check/elements/identity.c: (setup_identity):
26275         Activate pads before using them.
26276
26277 2005-08-30  Wim Taymans  <wim@fluendo.com>
26278
26279         * gst/base/gstadapter.c: (gst_adapter_flush):
26280         Flushing out 0 bytes is ok for this function.
26281
26282         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26283         no newsegment gives a warning and sets the start/stop to 
26284         invalid.
26285
26286         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
26287         (gst_base_transform_set_passthrough):
26288         Some debug info.
26289
26290         * gst/gstminiobject.c: (gst_mini_object_ref):
26291         Check refcount here too.
26292
26293         * gst/gstpad.c: (gst_pad_init):
26294         Pads are initially flushing and refusing data.
26295
26296         * gst/gstutils.c: (gst_element_link_pads_filtered):
26297         When adding a capsfilter element make sure it has the
26298         same state as the parent bin.
26299
26300 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26301
26302         * docs/gst/tmpl/.cvsignore:
26303         * docs/gst/tmpl/gstformat.sgml:
26304         * docs/gst/tmpl/gstversion.sgml:
26305         * gst/gstbus.h:
26306         * gst/gstformat.c:
26307         * gst/gstformat.h:
26308         * gst/gstversion.h.in:
26309           more docs and two more inlined
26310
26311 2005-08-30  Wim Taymans  <wim@fluendo.com>
26312
26313         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
26314         Don't sync to clock.
26315
26316 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26317
26318         * docs/gst/gstreamer-sections.txt:
26319           ultral33t func10ns deserve to appear in the docs actually
26320         * docs/gst/tmpl/.cvsignore:
26321         * docs/gst/tmpl/gstcompat.sgml:
26322         * docs/gst/tmpl/gstconfig.sgml:
26323         * gst/check/gstcheck.c:
26324         * gst/gstcompat.h:
26325         * gst/gstconfig.h.in:
26326           inlined more docs
26327
26328 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26329
26330         * docs/gst/tmpl/.cvsignore:
26331         * docs/gst/tmpl/gstquery.sgml:
26332         * docs/gst/tmpl/gstutils.sgml:
26333         * gst/gstquery.c:
26334         * gst/gstquery.h:
26335           inlined and extended docs
26336
26337 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26338
26339         * check/gst-libs/controller.c: (GST_START_TEST),
26340         (gst_controller_suite):
26341           more tests
26342         * docs/gst/tmpl/gstutils.sgml:
26343         * docs/libs/gstreamer-libs-sections.txt:
26344         * docs/libs/tmpl/gstdataprotocol.sgml:
26345           include path fixes
26346         * examples/controller/audio-example.c: (main):
26347           controller example works now
26348         * gst/gstclock.h:
26349           doc fixes
26350         * tools/gst-inspect.c: (print_element_properties_info):
26351           show param spec flags
26352
26353 2005-08-29  Andy Wingo  <wingo@pobox.com>
26354
26355         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
26356
26357 2005-08-28  Andy Wingo  <wingo@pobox.com>
26358
26359         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
26360         as having two arguments instead of just one. Allows superclasses
26361         to access information on subclasses -- see the terrible for() loop
26362         in gtype.c:g_type_create_instance for the reason why. All callers
26363         changed.
26364
26365 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26366
26367         * docs/design/part-messages.txt:
26368           update info
26369         * docs/gst/tmpl/.cvsignore:
26370         * docs/gst/tmpl/gstcaps.sgml:
26371         * docs/gst/tmpl/gstclock.sgml:
26372         * gst/gstbus.c:
26373         * gst/gstcaps.c:
26374         * gst/gstcaps.h:
26375         * gst/gstclock.c:
26376         * gst/gstclock.h:
26377         * gst/gstmessage.c:
26378           added descriptions for bus and message
26379           inline caps and clock docs
26380
26381 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26382
26383         * gst/gstmessage.c:
26384         * gst/gstmessage.h:
26385           doc fixes
26386
26387 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26388
26389         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
26390           fix div-by-zero
26391
26392 2005-08-26  Andy Wingo  <wingo@pobox.com>
26393
26394         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
26395         element_set_state's return val.
26396         (test_2_elements): Add test that's been disabled for months.
26397
26398         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
26399         can-activate-pull properties.
26400
26401         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
26402         can-activate-pull properties. Implement is_seekable so fakesrc can
26403         operate in pull mode.
26404
26405         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
26406         properties.
26407         (gst_base_sink_activate, gst_base_sink_activate_pull)
26408         (gst_base_sink_activate_push): Make activation mode choosing work.
26409         Cleanups.
26410         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
26411         is right. Make pull mode work. Post an eos before pausing in pull
26412         mode.
26413         (gst_base_sink_change_state): Pay attention to the core's
26414         change_state() return val.
26415         
26416         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
26417         has-getrange properties. Cleanups.
26418         
26419         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
26420         has_getrange and replace with can_activate_pull and
26421         can_activate_push.
26422
26423         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
26424         locking comments. Remove has_loop, has_chain and replace with
26425         can_activate_pull and can_activate_push.
26426
26427 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
26428
26429         * configure.ac:
26430         * examples/Makefile.am:
26431         * examples/metadata/Makefile.am:
26432         * examples/metadata/read-metadata.c: (message_loop),
26433         (have_pad_handler), (make_pipeline), (print_tag), (main):
26434           Add metadata reading example that loops over a list of filenames,
26435           dumping any tags found.
26436
26437         * gst/gstbus.c: (gst_bus_dispose):
26438         * gst/gstelement.c: (gst_element_dispose):
26439           Release a few potentially-held references in dispose.
26440
26441 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26442
26443         * docs/gst/tmpl/gstminiobject.sgml:
26444           do *not* add tmpl/*.sgml files to CVS!
26445
26446 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26447
26448         * libs/gst/bytestream/.cvsignore:
26449         * libs/gst/bytestream/Makefile.am:
26450         * libs/gst/bytestream/adapter.c:
26451         * libs/gst/bytestream/adapter.h:
26452         * libs/gst/bytestream/bytestream.c:
26453         * libs/gst/bytestream/bytestream.h:
26454         * libs/gst/bytestream/filepad.c:
26455         * libs/gst/bytestream/filepad.h:
26456           removing obsolete files
26457
26458 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26459
26460         * docs/gst/gstreamer-docs.sgml:
26461         * docs/libs/gstreamer-libs-docs.sgml:
26462           disabed additional index entries again, as this makes docs-gen just
26463           slow and they aren't useful yet
26464         * docs/libs/gstreamer-libs-sections.txt:
26465           little -section.txt cleanup for libs
26466
26467 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
26468
26469         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26470         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
26471           fix up some debugging
26472         (gst_base_transform_get_unit_size),
26473         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26474         (gst_base_transform_handle_buffer):
26475         * gst/base/gstbasetransform.h:
26476           handle and store timed NEWSEGMENT events so that subclasses that
26477           calculate time by counting samples have a segment_start time they
26478           need to add to their timestamps - see audioresample
26479
26480 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26481
26482         * gst/gstbin.h:
26483           removed ';' from the end of macro defs
26484         * docs/gst/gstreamer-docs.sgml:
26485         * docs/gst/gstreamer-sections.txt:
26486         * docs/gst/tmpl/.cvsignore:
26487         * gst/gstbus.h:
26488         * gst/gstelement.c: (gst_element_class_init),
26489         (gst_element_set_state), (activate_pads),
26490         (gst_element_save_thyself):
26491         * gst/gstevent.c: (gst_event_new_newsegment):
26492         * gst/gstevent.h:
26493         * gst/gstiterator.c:
26494         * gst/gstiterator.h:
26495         * gst/gstpad.c:
26496         * gst/gstprobe.h:
26497         * gst/gstutils.c: (gst_pad_query_convert):
26498         * gst/gstutils.h:
26499           fixed parameter name mismatches between source, header and docs
26500           added some more docs, resolved the last batch of unused elements in
26501           docs (now someone needs to doc them)
26502
26503 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26504
26505         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
26506         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
26507           don't walk through the plugins backwards.  Where is all this
26508           reversed logic coming from ?
26509
26510 2005-08-25  Wim Taymans  <wim@fluendo.com>
26511
26512         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26513         (gst_base_transform_transform_size),
26514         (gst_base_transform_configure_caps),
26515         (gst_base_transform_get_unit_size),
26516         (gst_base_transform_buffer_alloc),
26517         (gst_base_transform_change_state):
26518         * gst/base/gstbasetransform.h:
26519         Cache caps unit_size.
26520         Make sure we cannot negotiate up and downstream at the
26521         same time.
26522
26523 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26524
26525         * gst/gst.c: (init_pre), (init_post):
26526           register the installed plugin path after the env var
26527         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26528         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
26529           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
26530           directories, so the tests can prefer uninstalled over installed
26531
26532 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26533
26534         * gst/base/gstbasetransform.h:
26535           comment
26536         * gst/gstpad.c:
26537           add to docs
26538
26539 2005-08-25  Wim Taymans  <wim@fluendo.com>
26540
26541         * gst/gstbin.c: (bin_bus_handler):
26542         Be a bit more conservative about the posted message.
26543         
26544         * gst/gstbus.c: (gst_bus_post):
26545         Some cleanups, warn wrong return values.
26546
26547 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
26548
26549         * check/gst/gstbin.c: (GST_START_TEST):
26550         * gst/gstbin.c: (bin_bus_handler):
26551         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26552         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26553         (gst_message_new_warning), (gst_message_new_tag),
26554         (gst_message_new_state_changed), (gst_message_new_segment_start),
26555         (gst_message_new_segment_done), (gst_message_new_custom):
26556         * gst/gstmessage.h:
26557         * tools/gst-launch.c: (event_loop):
26558         * tools/gst-md5sum.c: (event_loop):
26559           Revert unpopular change for GST_MESSAGE_SRC to GObject.
26560
26561 2005-08-25  Wim Taymans  <wim@fluendo.com>
26562
26563         * check/generic/states.c: (GST_START_TEST):
26564         Cleanup can be done at the end.
26565
26566         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26567         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26568         (gst_task_get_state), (gst_task_start), (gst_task_pause):
26569         Oh boy.. Thanks for finding this, Thomas. 
26570
26571 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26572
26573         * docs/gst/gstreamer.types:
26574           added missing types
26575
26576 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26577
26578         * docs/gst/gstreamer-docs.sgml:
26579         * docs/gst/gstreamer-sections.txt:
26580         * docs/gst/tmpl/.cvsignore:
26581         * gst/gstbin.c:
26582         * gst/gstiterator.c:
26583         * gst/gstutils.c:
26584         * gst/registries/gstxmlregistry.h:
26585           added missing classes and symbols (123 more to go)
26586           removed removed symbols from section file
26587           fixed many doc-comments
26588
26589 2005-08-24  Wim Taymans  <wim@fluendo.com>
26590
26591         * check/generic/states.c: (GST_START_TEST):
26592         Make sure all tasks are stopped.
26593
26594         * check/gst/gstbin.c: (GST_START_TEST):
26595         Unref after usage for proper valgrinding.
26596
26597         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26598         Really wait for the task to stop before destroying the
26599         mutex.
26600
26601         * gst/gstqueue.c: (gst_queue_sink_activate_push),
26602         (gst_queue_src_activate_push):
26603         Small cleanups. Don't stop the task when we did not start
26604         it.
26605
26606         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26607         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26608         (gst_task_get_state), (gst_task_start), (gst_task_pause),
26609         (gst_task_join):
26610         * gst/gsttask.h:
26611         Protect the stream lock with the object lock.
26612         Disallow setting the stream lock when running.
26613         Add cleanup_all to wait for the threadpool to finish.
26614         Remove code to autoallocate a mutex if none was provided.
26615         Add _join() to wait for a task to stop.
26616         Protect the thread pool with a global lock.
26617
26618 2005-08-24  Wim Taymans  <wim@fluendo.com>
26619
26620         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26621         (gst_base_sink_get_times), (gst_base_sink_do_sync),
26622         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26623         * gst/base/gstbasesink.h:
26624         Handle newsegment events correctly.
26625         Drop buffers out of the segment range.
26626
26627 2005-08-22  Andy Wingo  <wingo@pobox.com>
26628
26629         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26630         macro, implements an interface and gstimplementsinterface for a
26631         new type.
26632
26633 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26634
26635         * check/Makefile.am:
26636         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26637           add a test that does a bunch of state changes on elements
26638           needs some fixing for valgrind
26639         * check/states/sinks.c: (gst_object_suite):
26640           whitespace
26641         * gst/gstcaps.h:
26642           add prototype for gst_caps_is_equal_fixed
26643         * gst/gstplugin.c:
26644         * gst/gstregistrypool.c:
26645           doc fixes
26646
26647 2005-08-24  Andy Wingo  <wingo@pobox.com>
26648
26649         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26650         convert a negative value. Doesn't make much sense. Mostly this is
26651         here to force callers to ensure -1 maps to -1.
26652
26653 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26654
26655         * docs/pwg/advanced-types.xml:
26656           Well done to Michael for catching my deliberate introduction
26657           of this spelling mistake. 
26658         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26659         * gst/gstelement.h:
26660           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26661           unlink pads before removing the element from the bin.
26662
26663 2005-08-24  Andy Wingo  <wingo@pobox.com>
26664
26665         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26666         the same thing as GST_DEBUG=*:4.
26667         (parse_debug_level, parse_debug_category): New helper parsers.
26668
26669 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26670
26671         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26672         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26673         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26674         (gst_base_transform_buffer_alloc),
26675         (gst_base_transform_handle_buffer):
26676           use gboolean return values and pointers to size so we can use the
26677           full GST_BUFFER_SIZE range (guint) for buffer sizes
26678           use GstPadDirection for transform_caps
26679         * gst/base/gstbasetransform.h:
26680           rename get_size to get_unit_size since that's what it is
26681         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26682           use GstPadDirection for transform_caps
26683         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26684         * gst/gstutils.h:
26685           cleanup and debugging
26686
26687 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26688
26689         * gst/gstelement.c: (gst_element_class_init),
26690         (gst_element_set_state), (activate_pads),
26691         (gst_element_save_thyself):
26692         * tools/gst-compprep.c: (main):
26693         * tools/gst-inspect.c: (print_element_properties_info):
26694         * tools/gst-xmlinspect.c: (print_element_properties):
26695           Fixed long standing mem-leak
26696
26697 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26698
26699         * check/gst/gstbin.c: (GST_START_TEST):
26700         * gst/gstbin.c: (bin_bus_handler):
26701         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26702         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26703         (gst_message_new_warning), (gst_message_new_tag),
26704         (gst_message_new_state_changed), (gst_message_new_segment_start),
26705         (gst_message_new_segment_done), (gst_message_new_custom):
26706         * gst/gstmessage.h:
26707         * tools/gst-launch.c: (event_loop):
26708         * tools/gst-md5sum.c: (event_loop):
26709           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26710           that applications can sensibly post custom messages with references
26711           to their own objects.
26712
26713 2005-08-24  Andy Wingo  <wingo@pobox.com>
26714
26715         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26716         already.
26717
26718 2005-08-24  Wim Taymans  <wim@fluendo.com>
26719
26720         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26721         (gst_base_transform_transform_caps),
26722         (gst_base_transform_transform_size),
26723         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26724         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26725         (gst_base_transform_handle_buffer):
26726         * gst/base/gstbasetransform.h:
26727         Many fixes and new features added by Thomas. Can now also do
26728         transforms with variable sizes and a custom fixate_caps function.
26729
26730 2005-08-24  Wim Taymans  <wim@fluendo.com>
26731
26732         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26733         Some debugging.
26734
26735         * gst/gstclock.h:
26736         Cast to ClockTime before formatting to time.
26737
26738         * gst/gstutils.h:
26739         Cleanups.
26740
26741 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26742
26743         * check/gst-libs/controller.c: (GST_START_TEST),
26744         (gst_controller_suite):
26745         * docs/gst/tmpl/gstcaps.sgml:
26746         * docs/gst/tmpl/gstghostpad.sgml:
26747         * docs/gst/tmpl/gstquery.sgml:
26748         * docs/gst/tmpl/gstutils.sgml:
26749         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26750         (gst_object_sink_values), (gst_object_get_value_arrays),
26751         (gst_object_get_value_array):
26752           gracefully handle helper method calls to objects that are not beeing
26753           controlled, added test case for that          
26754
26755 2005-08-23  Wim Taymans  <wim@fluendo.com>
26756
26757         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26758         (gst_event_new_newsegment), (gst_event_parse_newsegment),
26759         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26760         (gst_event_parse_qos), (gst_event_new_seek),
26761         (gst_event_parse_seek):
26762         * gst/gstevent.h:
26763         Some more debugging output and doc cleanups.
26764
26765         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26766         Fix possible deadlock.
26767
26768 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26769
26770         * docs/gst/gstreamer-docs.sgml:
26771         * docs/gst/gstreamer-sections.txt:
26772         * docs/gst/gstreamer.types:
26773         * docs/gst/tmpl/.cvsignore:
26774         * gst/gstbin.h:
26775         * gst/gstbus.c:
26776         * gst/gstelement.c:
26777         * gst/gstevent.h:
26778           added 100 symbols from gstreamer-unused.txt to the right sections
26779           fixed more broken comments
26780           added GstBus to docs
26781
26782 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26783
26784         * docs/gst/gstreamer-sections.txt:
26785         * docs/gst/tmpl/.cvsignore:
26786         * docs/gst/tmpl/gstbin.sgml:
26787         * docs/gst/tmpl/gstbuffer.sgml:
26788         * gst/base/gstbasesrc.c:
26789         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26790         * gst/gstbuffer.c:
26791         * gst/gstbuffer.h:
26792         * tools/gst-launch.1.in:
26793           inlined more doc comments, added missing comments and fixed comments
26794           fixed typos
26795
26796 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26797
26798         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26799           some debugging
26800         * gst/gstcaps.h:
26801           whitespace fixes
26802         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26803           more debugging
26804         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26805         * gst/gststructure.h:
26806           add a fixate function for booleans; add a FIXME that these func
26807           names should probably be gst_structure_fixate_*
26808
26809 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26810
26811         * docs/gst/gstreamer-docs.sgml:
26812         * docs/gst/gstreamer-sections.txt:
26813         * gst/Makefile.am:
26814         * gst/gstbin.c: (gst_bin_get_type),
26815         (gst_bin_child_proxy_get_child_by_index),
26816         (gst_bin_child_proxy_get_children_count),
26817         (gst_bin_child_proxy_init):
26818         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26819         (gst_child_proxy_get_child_by_index),
26820         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26821         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26822         (gst_child_proxy_get), (gst_child_proxy_set_property),
26823         (gst_child_proxy_set_valist), (gst_child_proxy_set),
26824         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26825         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26826         * gst/gstchildproxy.h:
26827         * gst/parse/grammar.y:
26828         * tools/gst-inspect.c: (print_interfaces),
26829         (print_element_properties_info), (print_element_info):
26830           ported gstchildproxy over from 0.8
26831           ported gst-inspect fixes and enhancements over from 0.8
26832
26833 2005-08-22  Wim Taymans  <wim@fluendo.com>
26834
26835         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26836         (gst_base_transform_handle_buffer):
26837         Also call the transform function if we have ANY caps.
26838
26839         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26840         Fix debug info.
26841
26842 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26843
26844         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26845           Don't pretend to handle seek events if the source is not seekable
26846
26847 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26848
26849         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26850           Remove extra parameter to debug output
26851
26852         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26853         (gst_base_src_do_seek), (gst_base_src_activate_push):
26854           Fix seek event handling.
26855
26856         * gst/gstpipeline.c: (gst_pipeline_change_state):
26857         * gst/gstqueue.c: (gst_queue_handle_sink_event),
26858         (gst_queue_src_activate_push):
26859           Don't start the src pad task on FLUSH_STOP if the pad
26860           isn't linked.
26861           Debug changes.
26862
26863 2005-08-22  Wim Taymans  <wim@fluendo.com>
26864
26865         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26866         Added check for gst_static_caps_get() refcounting.
26867
26868 2005-08-22  Wim Taymans  <wim@fluendo.com>
26869
26870         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26871         Make _static_caps_get() refcounting sane.
26872         
26873         * gst/gstelement.c: (gst_element_set_state):
26874         Add g_return_val_if_fail() to protect against segfaults.
26875
26876 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
26877
26878         * docs/gst/tmpl/gstevent.sgml:
26879         * gst/gstevent.c:
26880         * gst/gstevent.h:
26881           inlined remaining docs, added missing doc comments
26882
26883 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26884
26885         * check/gst/gstbin.c: (GST_START_TEST):
26886           since we don't know when preroll is done, use refcount range
26887           check for the sink
26888         * gst/check/gstcheck.h:
26889           add macro for checking refcount range
26890
26891 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26892
26893         * check/Makefile.am:
26894           clean up environment for when registry gets built versus
26895           when actual tests are run; valgrind seems to not report
26896           leaks if GST_PLUGIN_PATH is set to some specific values
26897         * check/gst/gstbin.c: (GST_START_TEST):
26898           add more refcounting checks; maybe this exposes a
26899           preroll lock bug ?
26900         * common/check.mak:
26901         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26902         * gst/check/gstcheck.h:
26903         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26904         (gst_bin_change_state):
26905         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26906           add/fix debugging/whitespace
26907
26908 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26909
26910         * check/gst/gstevent.c: (event_probe), (test_event),
26911         (GST_START_TEST):
26912          Er, don't call gst_bin_watch_for_state_change you idiot.
26913
26914 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26915
26916         * check/Makefile.am:
26917           Use CHECK_CFLAGS and CHECK_LIBS
26918         * check/gst/gstevent.c: (event_probe), (test_event),
26919         (GST_START_TEST):
26920           Don't leak events.
26921         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26922         (gst_base_src_start), (gst_base_src_stop),
26923         (gst_base_src_activate_push), (gst_base_src_activate_pull),
26924         (gst_base_src_change_state):
26925           Sprinkle gst_base_src_stop liberally around error paths to fix
26926           problems reusing a source after failed state changes.
26927         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26928         (helper_find_suggest), (gst_type_find_helper):
26929           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26930         * gst/gstevent.h:
26931         * docs/gst/tmpl/gstevent.sgml:
26932           Migrate part of the docs from the SGML file. Wait for ensonic to
26933           tell me how I did it wrong ;)
26934         * tools/gst-typefind.c: (main):
26935           Extra robustness to state changes between files.
26936
26937 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26938
26939         * check/Makefile.am:
26940           don't valgrind the controller test - it's leaking - Stefan, HELP
26941         * gst/check/gstcheck.c: (gst_check_message_error),
26942         (gst_check_chain_func), (gst_check_setup_element),
26943         (gst_check_teardown_element), (gst_check_setup_src_pad),
26944         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26945         (gst_check_teardown_sink_pad):
26946         * gst/check/gstcheck.h:
26947           add a bunch of methods to set up elements, and src and sink pads
26948         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26949         * check/elements/identity.c: (setup_identity), (cleanup_identity),
26950         (GST_START_TEST):
26951           use them
26952         * gst/gstmessage.c:
26953         * gst/gsttag.h:
26954           whitespace/doc fixes
26955
26956 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26957
26958         * gst/gstelement.h:
26959           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26960           be handled by the application and not always printed as well
26961
26962 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26963
26964         * check/Makefile.am:
26965           set GST_TOOLS_DIR
26966         * gst/check/gstcheck.c: (gst_check_message_error):
26967         * gst/check/gstcheck.h:
26968           add a fail_unless_equals_int
26969           add fail_unless for error messages
26970
26971 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26972
26973         * check/Makefile.am:
26974         * check/gst.supp:
26975         * common/Makefile.am:
26976         * common/check.mak:
26977         * common/gst.supp:
26978           factor out some of the common stuff so we can use it
26979
26980 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26981
26982         * check/Makefile.am:
26983         * check/gst/gstiterator.c: (GST_START_TEST):
26984         * check/gst/gstsystemclock.c: (GST_START_TEST),
26985         (gst_systemclock_suite):
26986         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26987         * gst/gstclock.c:
26988           valgrind more tests
26989
26990 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26991
26992         * check/elements/.cvsignore:
26993         * check/elements/gstfakesrc.c:
26994           rename to name of element
26995         * check/elements/identity.c: (chain_func), (event_func),
26996         (setup_identity), (cleanup_identity), (GST_START_TEST),
26997         (identity_suite), (main):
26998           add a test for identity
26999         * check/Makefile.am:
27000         * pkgconfig/Makefile.am:
27001         * pkgconfig/gstreamer-check.pc.in:
27002         * pkgconfig/gstreamer-check-uninstalled.pc.in:
27003         * gst/check:
27004         * gst/Makefile.am:
27005         * configure.ac:
27006           move the check stuff to a library that gets installed
27007         * check/gst-libs/controller.c: (GST_START_TEST):
27008         * check/gst-libs/gdp.c:
27009         * check/gst/gst.c: (GST_START_TEST):
27010         * check/gst/gstbin.c:
27011         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
27012         * check/gst/gstbus.c:
27013         * check/gst/gstcaps.c: (GST_START_TEST):
27014         * check/gst/gstelement.c:
27015         * check/gst/gstghostpad.c:
27016         * check/gst/gstiterator.c:
27017         * check/gst/gstmessage.c:
27018         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
27019         * check/gst/gstobject.c:
27020         * check/gst/gstpad.c: (GST_START_TEST):
27021         * check/gst/gststructure.c: (GST_START_TEST):
27022         * check/gst/gstsystemclock.c: (GST_START_TEST),
27023         (gst_systemclock_suite):
27024         * check/gst/gsttag.c: (gst_tag_suite):
27025         * check/gst/gstvalue.c:
27026         * check/pipelines/cleanup.c:
27027         * check/pipelines/simple_launch_lines.c:
27028         * check/states/sinks.c:
27029           change include statement
27030
27031         * docs/gst/gstreamer-sections.txt:
27032         * docs/gst/tmpl/gstpad.sgml:
27033           document more pad stuff
27034         * gst/gstminiobject.c: (gst_mini_object_ref),
27035         (gst_mini_object_unref):
27036           debug refcounting
27037
27038 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
27039
27040         * docs/gst/tmpl/gst.sgml:
27041         * gst/gst.c:
27042           eliminate another tmpl file, fix spelling in the long-description
27043
27044 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
27045
27046         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
27047         (test_event), (timediff), (gstevents_suite):
27048           Should fix build on 64-bit arch's
27049
27050 2005-08-18  Andy Wingo  <wingo@pobox.com>
27051
27052         Make sure that when a pipeline goes to PLAYING, that data has
27053         actually hit the sink.
27054
27055         * check/states/sinks.c (test_sink): A sink that doesn't get any
27056         data shouldn't return SUCCESS for going to either PLAYING or
27057         PAUSED. Test also the return values on the way back down.
27058
27059         * gst/gstelement.c (gst_element_set_state): When changing the
27060         state of an element currently changing state asynchronously, go to
27061         lost-state after commiting the pending state. Makes future calls
27062         to get_state continue to return ASYNC.
27063
27064         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
27065         ASYNC when going to PLAYING if we still don't have preroll, as can
27066         happen with live sources.
27067
27068 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
27069
27070         * docs/pwg/advanced-types.xml:
27071           Hack long paragraph into 2 chunks as a workaround for buggy
27072           jadetex version in sid and breezy that loops infinitely and
27073           eats all RAM.
27074
27075 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
27076
27077         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
27078         (test_event), (timediff), (gstevents_suite):
27079           Provide more error margin in clock measurements to allow for 
27080           g_get_current_time inaccuracies.
27081
27082 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
27083
27084         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
27085         (test_event), (timediff), (gstevents_suite):
27086            Fix error message output so I might be able to tell why the
27087            test works here but fails on the build farm.
27088
27089 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
27090
27091         * check/Makefile.am:
27092         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
27093         (test_event), (timediff), (gstevents_suite), (main):
27094           I wrote a test!
27095
27096         * docs/design/part-seeking.txt:
27097           Spelling correction
27098
27099         * docs/gst/tmpl/gstevent.sgml:
27100         * docs/gst/tmpl/gstfakesrc.sgml:
27101           Docs updates.
27102
27103         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
27104           Treat a buffer-without-newsegment the same as a receiving 
27105           a newsegment not in time format, and disable syncing to the clock
27106           with a warning.
27107
27108         * gst/gstbus.c: (gst_bus_set_sync_handler):
27109           Assert if anyone tries to replace the existing sync_handler for bus, 
27110           as only the owner should be setting it.
27111
27112         * gst/gstevent.h:
27113           Have a fixed set of custom event enums with events identified by
27114           their structure name (as in 0.8), rather than a free-for-all
27115           allowing collisions between enum values from different plugins.
27116
27117         * gst/gstpad.c: (gst_pad_class_init):
27118           Docs change.
27119           
27120         * gst/gstqueue.c: (gst_queue_handle_sink_event):
27121           Handle out-of-band downstream events from the sending thread.
27122
27123 2005-08-17  Andy Wingo  <wingo@pobox.com>
27124
27125         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
27126         play-timeout==0 to mean no timeout at all. In that case, don't
27127         bother with a get_state or a warning, just return directly, even
27128         if it's ASYNC.
27129
27130         * gst/base/gstbasetransform.c: Debug changes.
27131
27132         * gst/gstutils.h:
27133         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
27134         ensure bins post state change messages. A bit of a hack but I can't
27135         think of a way to avoid it.
27136
27137         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
27138
27139 2005-08-16  Andy Wingo  <wingo@pobox.com>
27140
27141         * gst/base/gstadapter.h:
27142         * gst/base/gstadapter.c (gst_adapter_take): New function, like
27143         peek() but you own the data. Not terribly efficient atm.
27144
27145 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27146
27147         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
27148         (gst_element_found_tags):
27149         * gst/gstutils.h:
27150           Add two utility functions for tag handling.
27151
27152 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27153
27154         * docs/manual/advanced-dataaccess.xml:
27155         * docs/manual/basics-helloworld.xml:
27156           Fix docs to use _bin_add() before _link(), which fixes the examples
27157           with recent core versions (reported by Madhan Raj M
27158           <raj_madan@rediffmail.com>, #313199).
27159
27160 2005-08-16  Wim Taymans  <wim@fluendo.com>
27161
27162         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
27163         Added subtract checks.
27164
27165         * docs/design/part-events.txt:
27166         Some more docs about newsegment
27167
27168         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
27169         Fix FIXME
27170
27171         * gst/gstcaps.c: (gst_caps_to_string):
27172         Add comments, cleanups.
27173         
27174         * gst/gstelement.c: (gst_element_save_thyself):
27175         cleanups
27176         
27177         * gst/gstvalue.c: (gst_value_collect_int_range),
27178         (gst_string_unwrap), (gst_value_union_int_int_range),
27179         (gst_value_union_int_range_int_range),
27180         (gst_value_intersect_int_int_range),
27181         (gst_value_intersect_int_range_int_range),
27182         (gst_value_intersect_double_double_range),
27183         (gst_value_intersect_double_range_double_range),
27184         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
27185         (gst_value_subtract_int_range_int),
27186         (gst_value_subtract_double_range_double),
27187         (gst_value_subtract_double_range_double_range),
27188         (gst_value_subtract_from_list), (gst_value_subtract_list),
27189         (gst_value_can_compare), (gst_value_compare_fraction):
27190         Cleanups, add comments, remove unneeded asserts.
27191
27192 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
27193
27194         * tools/gst-launch.c: (event_loop):
27195           don't convert NULL structures to strings
27196
27197 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
27198
27199         * docs/gst/gstreamer-sections.txt:
27200           made some defines private
27201         * docs/gst/tmpl/gstconfig.sgml:
27202         * docs/gst/tmpl/gstqueue.sgml:
27203         * docs/gst/tmpl/gsttaglist.sgml:
27204         * docs/gst/tmpl/gsttypes.sgml:
27205         * docs/gst/tmpl/gstutils.sgml:
27206         * docs/pwg/appendix-porting.xml:
27207         * gst/base/gstbasesink.h:
27208         * gst/base/gstbasesrc.c:
27209         * gst/base/gstbasesrc.h:
27210         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
27211         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
27212         * gst/gstelement.c: (gst_element_class_init):
27213         * gst/gstpad.c: (gst_pad_class_init):
27214         * gst/gstqueue.c: (gst_queue_class_init):
27215         * gst/gstxml.c: (gst_xml_class_init):
27216           documented all undocumented signal inline
27217         * libs/gst/controller/gst-controller.h:
27218           added padding
27219
27220 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27221
27222         * docs/pwg/appendix-porting.xml:
27223           Document _set_link_function -> _set_setcaps_function.
27224
27225 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
27226
27227         * check/Makefile.am:
27228           add a .check target for running the check
27229         * check/gst-libs/controller.c: (GST_START_TEST):
27230           cosmetic fixups
27231         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
27232           complete checks for gstbuffer; would be nice if I could get the
27233           gcov stuff to work so I can see if I actually completed gstbuffer.c
27234         * check/gstcheck.h:
27235           add ASSERT_BUFFER_REFCOUNT
27236
27237 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
27238
27239         * docs/gst/gstreamer-sections.txt:
27240         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
27241         * gst/gsttag.h:
27242           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
27243           spew out a warning if a tag that is already registered
27244           is re-registered, unless it is re-registered with a 
27245           different type (#308438).
27246
27247 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
27248
27249         * docs/pwg/appendix-porting.xml:
27250         * docs/pwg/building-state.xml:
27251           Add some paragraphs about state changes in 0.9 to the PWG
27252           and the porting guide, in particular about the new meaning
27253           of GST_STATE_PAUSED and how to write state change functions
27254           with concurrent access by multiple threads in mind.
27255
27256 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
27257
27258         * docs/gst/gstreamer-docs.sgml:
27259         * docs/libs/gstreamer-libs-docs.sgml:
27260           added deprecation and since indexes
27261         * libs/gst/controller/gst-controller.c:
27262         * libs/gst/controller/gst-helper.c:
27263           added since tags
27264
27265
27266 2005-08-11  Wim Taymans  <wim@fluendo.com>
27267
27268         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
27269         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
27270         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
27271         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
27272         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
27273         (gst_ghost_pad_set_target):
27274         Actually implement (re)setting the target on a ghostpad
27275         as described in the docs.
27276
27277 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
27278
27279         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
27280           Check whether GST_DEBUG_NO_COLOR environment variable is
27281           set and disable coloured debug output if that is the case.
27282
27283 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
27284
27285         * gst/base/gsttypefindhelper.c: (helper_find_peek),
27286         (gst_type_find_helper):
27287           The memory returned by gst_type_find_peek() needs to
27288           stay valid until the end of a typefind function, and
27289           typefind functions may keep results from different 
27290           offsets around, so we can't just unref the buffer from
27291           the previous _peek(), but have to save all buffers 
27292           returned by _peek() until typefinding is done and only
27293           free them then.
27294
27295 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
27296
27297         * docs/gst/gstreamer-sections.txt:
27298         * gst/gstutils.h:
27299           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
27300
27301 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27302
27303         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
27304           Fix a pretty good memleak.
27305
27306 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
27307
27308         * gst/gstiterator.h:
27309           Fix wrong include and 'make distcheck'.
27310
27311 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27312
27313         * gst/gstbin.c: (bin_bus_handler):
27314           Use gst_element_post_message() instead.
27315
27316 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
27317
27318         * gst/base/gstadapter.h:
27319         * gst/base/gstbasesink.h:
27320         * gst/base/gstbasesrc.h:
27321         * gst/base/gstbasetransform.h:
27322         * gst/base/gstcollectpads.h:
27323         * gst/base/gstpushsrc.h:
27324         * gst/gstiterator.h:
27325           Add padding to our base elements' class and instance structs and
27326           to GstIterator (you will need to rebuild all plugins and apps!)
27327
27328 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27329
27330         * gst/gstbin.c: (bin_bus_handler):
27331           Make default message forwarding from child->bus to bin->bus
27332           threadsafe and make it not emit warnings if the parent has no bus.
27333
27334 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27335
27336         * gst/gstelement.c: (activate_pads):
27337           On paused->ready, set pad->caps to NULL, as is the documented
27338           behaviour in this state change. Fixes playback of series of
27339           media files when visualization is enabled in Totem.
27340
27341 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27342
27343         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
27344           Allow NULL as filter-caps (which means "any").
27345
27346 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27347
27348         * docs/libs/gstreamer-libs-sections.txt:
27349         * libs/gst/controller/gst-controller.c:
27350         * libs/gst/controller/gst-controller.h:
27351         * libs/gst/controller/gst-helper.c:
27352           adding more entries to the docs and fix small doc-bugs
27353
27354 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27355
27356         * docs/gst/gstreamer-docs.sgml:
27357         * docs/gst/gstreamer-sections.txt:
27358         * docs/gst/gstreamer.types:
27359         * docs/gst/tmpl/gstbasesink.sgml:
27360         * docs/gst/tmpl/gstbasesrc.sgml:
27361         * docs/gst/tmpl/gstbasetransform.sgml:
27362         * docs/gst/tmpl/gstfakesrc.sgml:
27363         * gst/base/gstcollectpads.c:
27364         * gst/base/gstcollectpads.h:
27365         * libs/gst/controller/gst-controller.c:
27366         * libs/gst/controller/gst-controller.h:
27367         * libs/gst/controller/gst-helper.c:
27368         * libs/gst/controller/gst-interpolation.c:
27369         * libs/gst/controller/lib.c:
27370           added long/short desc for controller docs
27371           added collectpads base class docs
27372           added correct includes to base-class docs
27373
27374 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27375
27376         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
27377         (gst_test_mono_source_set_property),
27378         (gst_test_mono_source_class_init), (GST_START_TEST),
27379         (gst_controller_suite):
27380         * docs/gst/gstreamer-docs.sgml:
27381         * docs/gst/gstreamer-sections.txt:
27382         * docs/gst/gstreamer.types:
27383         * docs/libs/gstreamer-libs-docs.sgml:
27384         * docs/libs/gstreamer-libs-sections.txt:
27385         * gst/base/gstadapter.c:
27386         * libs/gst/controller/gst-controller.c:
27387         (gst_controlled_property_new), (gst_controlled_property_free),
27388         (gst_controller_new_valist),
27389         (gst_controller_remove_properties_valist),
27390         (gst_controller_sink_values), (_gst_controller_finalize):
27391         * libs/gst/controller/gst-controller.h:
27392         * libs/gst/controller/gst-helper.c:
27393         (gst_object_control_properties), (gst_object_uncontrol_properties),
27394         (gst_object_get_controller), (gst_object_set_controller),
27395         (gst_object_sink_values), (gst_object_get_value_arrays),
27396         (gst_object_get_value_array):
27397           more tests (and fixes) for the controller
27398           more docs for the controller
27399           integrated companies docs for the adapter 
27400
27401 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
27402
27403         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
27404         (GST_START_TEST), (fakesrc_suite):
27405           add tests for sizetype
27406
27407 2005-08-04  Andy Wingo  <wingo@pobox.com>
27408
27409         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
27410         fixes buffer_alloc proxying among other things.
27411
27412         * gst/base/gstbasetransform.c:
27413         * gst/base/gstbasetransform.h:
27414         Revert patch to gstbasetransform from 7-28 removing
27415         delay_configure.
27416
27417         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
27418         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
27419         Semantics changed, should return not the size of the output buffer
27420         but the byte size of a buffer with a given caps.
27421
27422         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
27423         debug object.
27424         (gst_base_transform_configure_caps): Don't set out_size here: (in,
27425         out) are not the pad caps until setcaps finishes.
27426         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
27427         not-in-place case as well. Deal with changing from in-place to
27428         not-in-place within calling pad_alloc_buffer. Still a bit
27429         concerned about the overhead here...
27430
27431 2005-08-03  Andy Wingo  <wingo@pobox.com>
27432
27433         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
27434         fixating is an error.
27435
27436 2005-08-04  Edward Hervey  <edward@fluendo.com>
27437
27438         * gst/base/gstadapter.h: 
27439         Added gst_adapter_get_type() to the header
27440
27441 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27442
27443         * check/Makefile.am:
27444         * check/gst-libs/controller.c:
27445         * libs/gst/controller/gst-controller.c:
27446         (gst_controller_new_valist):
27447           added check test suite for the controller
27448         * gst/base/gstpushsrc.c:
27449           fixed a doc typo
27450
27451 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27452
27453         * docs/gst/Makefile.am:
27454         * docs/gst/gstreamer-docs.sgml:
27455         * docs/gst/gstreamer-sections.txt:
27456         * docs/gst/gstreamer.types:
27457         * docs/gst/tmpl/gstfakesrc.sgml:
27458         * gst/base/README:
27459         * gst/base/gstbasesink.c:
27460         * gst/base/gstbasesink.h:
27461         * gst/base/gstbasesrc.c:
27462         * gst/base/gstbasesrc.h:
27463         * gst/base/gstbasetransform.c:
27464         * gst/base/gstpushsrc.c:
27465         * gst/base/gstpushsrc.h:
27466           add short/long description docs to base classes
27467           add pushsrc to the docs
27468           remove consolidated doc fragments
27469
27470 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27471
27472         * configure.ac:
27473         * docs/libs/Makefile.am:
27474         * docs/libs/gstreamer-libs-docs.sgml:
27475         * docs/libs/gstreamer-libs-sections.txt:
27476         * docs/libs/gstreamer-libs.types:
27477         * examples/Makefile.am:
27478         * examples/controller/.cvsignore:
27479         * examples/controller/Makefile.am:
27480         * examples/controller/audio-example.c: (main):
27481         * libs/gst/Makefile.am:
27482         * libs/gst/controller/.cvsignore:
27483         * libs/gst/controller/Makefile.am:
27484         * libs/gst/controller/gst-controller.c:
27485         (on_object_controlled_property_changed), (gst_timed_value_compare),
27486         (gst_timed_value_find),
27487         (gst_controlled_property_set_interpolation_mode),
27488         (gst_controlled_property_new), (gst_controlled_property_free),
27489         (gst_controller_find_controlled_property),
27490         (gst_controller_new_valist), (gst_controller_new),
27491         (gst_controller_remove_properties_valist),
27492         (gst_controller_remove_properties), (gst_controller_set),
27493         (gst_controller_set_from_list), (gst_controller_unset),
27494         (gst_controller_get), (gst_controller_get_all),
27495         (gst_controller_sink_values), (gst_controller_get_value_arrays),
27496         (gst_controller_get_value_array),
27497         (gst_controller_set_interpolation_mode),
27498         (_gst_controller_finalize), (_gst_controller_init),
27499         (_gst_controller_class_init), (gst_controller_get_type):
27500         * libs/gst/controller/gst-controller.h:
27501         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
27502         (g_object_uncontrol_properties), (g_object_get_controller),
27503         (g_object_set_controller), (g_object_sink_values),
27504         (g_object_get_value_arrays), (g_object_get_value_array):
27505         * libs/gst/controller/gst-interpolation.c:
27506         (gst_controlled_property_find_timed_value_node),
27507         (interpolate_none_get), (interpolate_trigger_get),
27508         (interpolate_trigger_get_value_array):
27509         * libs/gst/controller/lib.c: (gst_controller_init):
27510         * pkgconfig/Makefile.am:
27511         * pkgconfig/gstreamer-control-uninstalled.pc.in:
27512         * pkgconfig/gstreamer-control.pc.in:
27513         * testsuite/Makefile.am:
27514         * testsuite/controller/.cvsignore:
27515         * testsuite/controller/Makefile.am:
27516         * testsuite/controller/interpolator.c: (main):
27517           added controller code
27518           removed dparam pc files
27519
27520 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27521         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
27522         (gst_collectpads_stop):
27523           Broadcast the condition when shutting down, to make sure we wake all
27524           threads up. Shut down pads on finalize, for safety.
27525
27526 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27527         * gst/base/gstbasetransform.c: (gst_base_transform_init),
27528         (gst_base_transform_handle_buffer),
27529         (gst_base_transform_change_state):
27530           Handle PAUSED->READY->PAUSED transition after negotiation
27531           occurred already.
27532         * gst/gstmessage.c: (gst_message_init):
27533           Extra piece of debug for new messages.
27534
27535 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
27536
27537         * configure.ac:
27538         * docs/gst/tmpl/gstbasesrc.sgml:
27539         * docs/gst/tmpl/gstelement.sgml:
27540         * docs/gst/tmpl/gstevent.sgml:
27541         * docs/gst/tmpl/gstfakesrc.sgml:
27542         * docs/gst/tmpl/gstformat.sgml:
27543         * docs/gst/tmpl/gstghostpad.sgml:
27544         * docs/gst/tmpl/gstpad.sgml:
27545         * docs/gst/tmpl/gstquery.sgml:
27546         * docs/gst/tmpl/gststructure.sgml:
27547         * docs/gst/tmpl/gsttaglist.sgml:
27548         * docs/gst/tmpl/gstvalue.sgml:
27549         * docs/libs/gstreamer-libs-docs.sgml:
27550         * docs/libs/gstreamer-libs-sections.txt:
27551         * docs/libs/gstreamer-libs.types:
27552         * libs/gst/Makefile.am:
27553         * libs/gst/control/.cvsignore:
27554         * libs/gst/control/Makefile.am:
27555         * libs/gst/control/control.c:
27556         * libs/gst/control/control.h:
27557         * libs/gst/control/dparam.c:
27558         * libs/gst/control/dparam.h:
27559         * libs/gst/control/dparam_smooth.c:
27560         * libs/gst/control/dparam_smooth.h:
27561         * libs/gst/control/dparamcommon.h:
27562         * libs/gst/control/dparammanager.c:
27563         * libs/gst/control/dparammanager.h:
27564         * libs/gst/control/dplinearinterp.c:
27565         * libs/gst/control/dplinearinterp.h:
27566         * libs/gst/control/unitconvert.c:
27567         * libs/gst/control/unitconvert.h:
27568         * testsuite/Makefile.am:
27569         * testsuite/dynparams/.cvsignore:
27570         * testsuite/dynparams/Makefile.am:
27571         * testsuite/dynparams/dparamstest.c:
27572         * tools/Makefile.am:
27573         * tools/gst-inspect.c: (print_element_info), (main):
27574         * tools/gst-xmlinspect.c: (print_element_info), (main):
27575           deactivate and remove dparams (libgstcontrol)
27576
27577 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27578
27579         * gst/elements/gsttypefindelement.c:
27580         (gst_type_find_element_have_type), (gst_type_find_element_init),
27581         (stop_typefinding), (gst_type_find_element_handle_event),
27582         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27583         * gst/elements/gsttypefindelement.h:
27584           Set caps on all outgoing buffers, not just the first one.
27585
27586 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27587
27588         * gst/elements/gsttypefindelement.c:
27589         (gst_type_find_element_have_type),
27590         (gst_type_find_element_check_set_buffer_caps),
27591         (gst_type_find_element_init), (stop_typefinding),
27592         (gst_type_find_element_handle_event),
27593         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27594         * gst/elements/gsttypefindelement.h:
27595           Set caps on first outgoing buffer when we've found the type.
27596
27597 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27598
27599         * docs/gst/gstreamer-docs.sgml:
27600         * docs/gst/gstreamer-sections.txt:
27601         * docs/gst/tmpl/gstscheduler.sgml:
27602         * docs/gst/tmpl/gstschedulerfactory.sgml:
27603           Remove some old cruft from docs.
27604
27605 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
27606
27607         * gst/gstpad.h:
27608           Fix inline docs for GstPadLinkReturn.
27609           
27610         * gst/gststructure.c: (gst_structure_has_name):
27611         * gst/gststructure.h:
27612         * docs/gst/gstreamer-sections.txt:
27613           New API: gst_structure_has_name().
27614
27615 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
27616
27617         * configure.ac:
27618           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27619           and _LARGEFILE_SOURCE in config.h as required. Do not 
27620           export those flags in our .pc files any longer (#142209).
27621
27622           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27623
27624         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27625         (gst_file_sink_do_seek), (gst_file_sink_event),
27626         (gst_file_sink_get_current_offset), (gst_file_sink_render):
27627           Redo seek/tell calls with large file support in mind; add some
27628           debugging messages; add log message that tells us when large
27629           file support is unavailable or not enabled for some reason.
27630
27631         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27632           Add log message that tells us when large file support 
27633           is unavailable or not enabled for some reason.
27634
27635 2005-07-29  Wim Taymans  <wim@fluendo.com>
27636
27637         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27638         Added test for removing an element with ghostpad from a bin.
27639         Fixed test as current implementation does the right thing.
27640
27641         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27642         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27643         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27644         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27645         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27646         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27647         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27648         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27649         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27650         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27651         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27652         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27653         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27654         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27655         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27656         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27657         * gst/gstghostpad.h:
27658         Clean up ghostpads, remove properties for internal stuff.
27659         Make threadsafe.
27660         Fix refcounting.
27661         Prepare for switching targets, not all use cases work yet.
27662
27663 2005-07-29  Wim Taymans  <wim@fluendo.com>
27664
27665         * docs/design/part-gstghostpad.txt:
27666         Small update.
27667
27668         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27669         (gst_bin_remove_func):
27670         Unlinking pads while holding the bin LOCK is not a good
27671         idea.
27672
27673         * gst/gstpad.c: (gst_pad_class_init),
27674         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27675         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27676         No prob setting template after creating the pad.
27677
27678 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
27679
27680         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27681         (gst_bus_peek), (gst_bus_source_dispatch),
27682         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27683         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27684           gst_bus_poll may be called from other threads. Handle
27685           this nicely by not making poll_data disappear off the
27686           stack once gst_bus_poll returns.
27687           gst_bus_peek now increments the refcount on the returned
27688           message.
27689
27690 2005-07-29  Wim Taymans  <wim@fluendo.com>
27691
27692         * docs/design/part-gstghostpad.txt:
27693         Overview of current GhostPad datastructures and use
27694         cases for changing the target.
27695
27696 2005-07-28  Wim Taymans  <wim@fluendo.com>
27697
27698         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27699         Added checks for hierarchy consistency whan adding linked
27700         elements to bins.
27701
27702         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27703         Added check to test element scheduling without bin/pipeline.
27704
27705         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27706         First add elements to bin, then link.
27707         
27708         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27709         (gst_bin_remove_func):
27710         Unlink pads from elements added/removed from bin to maintain
27711         hierarchy consistency.
27712
27713 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27714
27715         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27716         (gst_base_transform_handle_buffer):
27717         * gst/base/gstbasetransform.h:
27718           Remove broken delay_configure (fixes renegotiation of software
27719           scaling pipelines); remove some leftover printf()s.
27720
27721 2005-07-28  Wim Taymans  <wim@fluendo.com>
27722
27723         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27724         Added some more tests for wrong hierarchy
27725
27726         * docs/design/part-overview.txt:
27727         Some updates.
27728
27729         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27730         Cleanups.
27731
27732         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27733         (gst_element_dispose):
27734         Some more cleanups.
27735
27736         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27737         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27738         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27739         (gst_pad_set_caps), (gst_pad_send_event):
27740         Check for correct hierarchy when linking pads. Moving to
27741         strict requirement for ghostpads when linking elements in
27742         different bins.
27743
27744         * gst/gstpad.h:
27745         Clean ups. Added WRONG_HIERARCHY return value.
27746
27747 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27748
27749         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27750           Better debug if no transform is possible.
27751
27752 2005-07-27  Wim Taymans  <wim@fluendo.com>
27753
27754         * docs/random/wtay/network-transp:
27755         Some old doc I had.
27756
27757 2005-07-27  Wim Taymans  <wim@fluendo.com>
27758
27759         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27760         (gst_dp_event_from_packet):
27761         Fix serialization of seek events.
27762
27763 2005-07-27  Wim Taymans  <wim@fluendo.com>
27764
27765         * check/gst-libs/gdp.c: (GST_START_TEST):
27766         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27767         Fix compilation and fix event serialization.
27768
27769 2005-07-27  Wim Taymans  <wim@fluendo.com>
27770
27771         * CHANGES-0.9:
27772         * docs/design/part-TODO.txt:
27773         * docs/design/part-events.txt:
27774         Some docs updates
27775
27776         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27777         (gst_base_sink_event), (gst_base_sink_do_sync),
27778         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27779         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27780         (gst_base_src_do_seek), (gst_base_src_event_handler),
27781         (gst_base_src_loop):
27782         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27783         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27784         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27785         (gst_base_transform_event), (gst_base_transform_handle_buffer),
27786         (gst_base_transform_set_passthrough),
27787         (gst_base_transform_is_passthrough):
27788         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27789         * gst/elements/gstfilesink.c: (gst_file_sink_event):
27790         Event updates.
27791
27792         * gst/gstbuffer.h:
27793         Use faster casts.
27794
27795         * gst/gstelement.c: (gst_element_seek):
27796         * gst/gstelement.h:
27797         Update gst_element_seek.
27798
27799         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27800         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27801         (gst_event_new_flush_start), (gst_event_new_flush_stop),
27802         (gst_event_new_eos), (gst_event_new_newsegment),
27803         (gst_event_parse_newsegment), (gst_event_new_tag),
27804         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27805         (gst_event_parse_qos), (gst_event_new_seek),
27806         (gst_event_parse_seek), (gst_event_new_navigation):
27807         * gst/gstevent.h:
27808         Make GstEvent use GstStructure. Add parsing code, make sure the
27809         API is sufficiently generic.
27810         Mark possible directions of events and serialization.
27811
27812         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27813         (_gst_message_copy), (gst_message_new_segment_start),
27814         (gst_message_new_segment_done), (gst_message_new_custom),
27815         (gst_message_parse_segment_start),
27816         (gst_message_parse_segment_done):
27817         Small cleanups.
27818
27819         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27820         (gst_pad_set_caps), (gst_pad_send_event):
27821         Update for new events. 
27822         Catch events sent in wrong directions.
27823
27824         * gst/gstqueue.c: (gst_queue_link_src),
27825         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27826         (gst_queue_handle_src_query):
27827         Event updates.
27828
27829         * gst/gsttag.c:
27830         * gst/gsttag.h:
27831         Remove event code from this file.
27832
27833         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27834         (gst_dp_event_from_packet):
27835         Event updates.
27836
27837 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27838
27839         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27840         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27841         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27842           Make debugging actually useful.
27843
27844 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27845
27846         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27847         (gst_pad_fixate_caps):
27848           Implement default fixation once again, so that gst_pad_fixate()
27849           actually does anything at all. This probably needs to be some
27850           sort of a last resort, and use profile-based fixation first, but
27851           since that doesn't exist yet, this is the best we have. Fixes
27852           visualization in Totem.
27853
27854 2005-07-22  Wim Taymans  <wim@fluendo.com>
27855
27856         * docs/design/part-events.txt:
27857         Small update.
27858
27859         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27860         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27861         (gst_base_sink_activate_pull):
27862         Some more comments.
27863
27864         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27865         (gst_fake_src_create):
27866         Fix handoff marshall.
27867
27868         * gst/elements/gstidentity.c: (gst_identity_class_init),
27869         (gst_identity_transform_ip):
27870         We're a real inplace element.
27871
27872         * gst/gstbus.c: (gst_bus_post):
27873         Added some comments.
27874
27875         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27876         * tests/muxing/case1.c: (main):
27877         * tests/sched/dynamic-pipeline.c: (main):
27878         * tests/sched/interrupt1.c: (main):
27879         * tests/sched/interrupt2.c: (main):
27880         * tests/sched/interrupt3.c: (main):
27881         * tests/sched/runxml.c: (main):
27882         * tests/sched/sched-stress.c: (main):
27883         * tests/seeking/seeking1.c: (event_received), (main):
27884         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27885         (main):
27886         * tests/threadstate/threadstate3.c: (main):
27887         * tests/threadstate/threadstate4.c: (main):
27888         * tests/threadstate/threadstate5.c: (main):
27889         Fix the tests.
27890
27891 2005-07-21  Wim Taymans  <wim@fluendo.com>
27892
27893         * docs/design/part-seeking.txt:
27894         Some small additions.
27895
27896         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27897         (gst_base_sink_get_times), (gst_base_sink_do_sync),
27898         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27899         * gst/base/gstbasesink.h:
27900         discont values are gint64, handle the math correctly.
27901
27902         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27903         Make the basesrc report error if the source pad is not linked.
27904
27905         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27906         (gst_queue_loop), (gst_queue_handle_src_query),
27907         (gst_queue_src_activate_push):
27908         Make queue collect data even if the srcpad is not linked.
27909         Start pushing out data as soon as it is linked.
27910
27911         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27912         * gst/gstutils.h:
27913         Added gst_flow_get_name() to ease error reporting.
27914
27915 2005-07-20  Wim Taymans  <wim@fluendo.com>
27916
27917         * gst/gstmessage.c: (gst_message_new_segment_start),
27918         (gst_message_new_segment_done), (gst_message_parse_segment_start),
27919         (gst_message_parse_segment_done):
27920         * gst/gstmessage.h:
27921         Added a bunch of messages for advanced seeking.
27922
27923         * gst/parse/grammar.y:
27924         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27925         (gst_dpman_state_changed):
27926         Fix some new-pad -> pad-added signals
27927
27928 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27929
27930         * docs/manual/appendix-porting.xml:
27931         * docs/pwg/appendix-porting.xml:
27932           Document new-pad/state-change signal renames and the FixedList
27933           type rename.
27934
27935 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27936
27937         * docs/manual/advanced-autoplugging.xml:
27938         * docs/manual/basics-helloworld.xml:
27939         * docs/manual/basics-pads.xml:
27940         * docs/random/ds/0.9-suggested-changes:
27941         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27942         * gst/gstelement.h:
27943         * gst/gstevent.h:
27944         * gst/gstformat.h:
27945         * gst/gstquery.h:
27946         * gst/gststructure.c: (gst_structure_value_get_generic_type),
27947         (gst_structure_parse_array), (gst_structure_parse_value):
27948         * gst/gstvalue.c: (gst_type_is_fixed),
27949         (gst_value_list_prepend_value), (gst_value_list_append_value),
27950         (gst_value_list_get_size), (gst_value_list_get_value),
27951         (gst_value_transform_array_string), (gst_value_serialize_array),
27952         (gst_value_deserialize_array), (gst_value_intersect_array),
27953         (gst_value_is_fixed), (_gst_value_initialize):
27954         * gst/gstvalue.h:
27955           GstElement::new-pad -> pad-added, GstElement::state-change ->
27956           state-changed, GstValueFixedList -> GstValueArray, add format and
27957           flags as their own arguments in gst_element_seek() (should improve
27958           "bindeability"), remove function generators since they don't work
27959           under a whole bunch of compilers (they were deprecated already
27960           anyway).
27961
27962 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27963
27964         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27965         (_gst_debug_register_funcptr):
27966         * gst/gstinfo.h:
27967           Fix illegal cast on some platforms (#309253).
27968
27969 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27970
27971         * gst/gstmessage.c: (gst_message_new_custom):
27972         * gst/gstmessage.h:
27973           Add _new_custom, make _new_application a macro to _new_custom.
27974
27975 2005-07-20  Wim Taymans  <wim@fluendo.com>
27976
27977         * gst/base/gstbasesrc.c: (gst_base_src_init),
27978         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27979         * gst/base/gstbasesrc.h:
27980         Add a gboolean to decide when to push out a discont.
27981
27982         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27983         (gst_queue_loop), (gst_queue_handle_src_query),
27984         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27985         (gst_queue_set_property), (gst_queue_get_property):
27986         Some cleanups.
27987
27988         * tests/threadstate/threadstate1.c: (main):
27989         Make a thread test compile and run... very silly..
27990
27991
27992 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27993
27994         * docs/manual/appendix-porting.xml:
27995           Mention removal of libgstgconf-0.9.la and existence of gconf
27996           elements.
27997
27998 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27999
28000         * docs/pwg/advanced-clock.xml:
28001         * docs/pwg/appendix-porting.xml:
28002         * docs/pwg/intro-preface.xml:
28003         * docs/pwg/other-base.xml:
28004         * docs/pwg/other-manager.xml:
28005         * docs/pwg/other-nton.xml:
28006         * docs/pwg/other-ntoone.xml:
28007         * docs/pwg/other-oneton.xml:
28008         * docs/pwg/pwg.xml:
28009           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
28010           demuxer), remove n-to-n (was never written), fix some code examples
28011           and links and update the porting section to include all this.
28012
28013 2005-07-19  Wim Taymans  <wim@fluendo.com>
28014
28015         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
28016         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
28017         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
28018         (gst_queue_src_activate_push), (gst_queue_change_state),
28019         (gst_queue_get_property):
28020         * gst/gstqueue.h:
28021         Propagate GstFlowReturn more intelligently upstream and output
28022         an ERROR/EOS when streaming stopped due to fatal error.
28023
28024 2005-07-19  Wim Taymans  <wim@fluendo.com>
28025
28026         * tools/gst-launch.c: (check_intr), (event_loop), (main):
28027         Don't block forever for the state change to complete, the
28028         pipeline already did with a sensible timeout.
28029
28030 2005-07-19  Wim Taymans  <wim@fluendo.com>
28031
28032         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
28033         Make sure we never call the create function is we
28034         got deactivated.
28035
28036 2005-07-19  Andy Wingo  <wingo@pobox.com>
28037
28038         * gst/parse/parse.l: Attempt to solve bug #172815.
28039
28040 2005-07-19  Wim Taymans  <wim@fluendo.com>
28041
28042         * docs/design/part-clocks.txt:
28043         * docs/design/part-events.txt:
28044         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
28045         Small docs updates.
28046         Only update the seeking values when we are not
28047         busy streaming.
28048
28049 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
28050
28051         * gst/base/gstbasesrc.c: (gst_base_src_loop):
28052           Oops, ignore the result of gst_pad_push_event here.
28053
28054 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
28055
28056         * gst/base/gstbasesrc.c: (gst_base_src_loop),
28057         (gst_base_src_activate_push):
28058           Send discont event from the loop function, as pads
28059           aren't activated yet in the activate_push handler.
28060
28061         * gst/gstbin.c: (bin_bus_handler):
28062           Don't leak element name.
28063
28064 2005-07-18  Andy Wingo  <wingo@pobox.com>
28065
28066         * configure.ac: Use AS_LIBTOOL_TAGS.
28067
28068 2005-07-18  Wim Taymans  <wim@fluendo.com>
28069
28070         * docs/gst/gstreamer.types:
28071         Remove deleted types.
28072
28073 2005-07-18  Wim Taymans  <wim@fluendo.com>
28074
28075         * check/elements/gstfakesrc.c: (GST_START_TEST):
28076         * configure.ac:
28077         * gst/Makefile.am:
28078         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
28079         (init_popt_callback):
28080         * gst/gst.h:
28081         * gst/gst_private.h:
28082         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
28083         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
28084         * gst/gstbin.h:
28085         * gst/gstbus.h:
28086         * gst/gstconfig.h.in:
28087         * gst/gstelement.c: (gst_element_class_init),
28088         (gst_element_set_base_time), (gst_element_get_base_time),
28089         (iterator_fold_with_resync), (gst_element_change_state),
28090         (gst_element_dispose), (gst_element_get_bus):
28091         * gst/gstelement.h:
28092         * gst/gstelementfactory.h:
28093         * gst/gsterror.c: (_gst_core_errors_init):
28094         * gst/gsterror.h:
28095         * gst/gstevent.h:
28096         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
28097         * gst/gstindex.c:
28098         * gst/gstinfo.c: (_gst_debug_init):
28099         * gst/gstmessage.c: (_gst_message_copy):
28100         * gst/gstmessage.h:
28101         * gst/gstminiobject.h:
28102         * gst/gstobject.c:
28103         * gst/gstobject.h:
28104         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
28105         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
28106         * gst/gstpad.h:
28107         * gst/gstparse.h:
28108         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28109         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
28110         (gst_pipeline_get_last_stream_time):
28111         * gst/gstpipeline.h:
28112         * gst/gstpluginfeature.h:
28113         * gst/gstquery.h:
28114         * gst/gstscheduler.c:
28115         * gst/gstscheduler.h:
28116         * gst/gststructure.h:
28117         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
28118         (gst_task_finalize), (gst_task_func), (gst_task_create),
28119         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
28120         (gst_task_stop), (gst_task_pause):
28121         * gst/gsttask.h:
28122         * gst/gsttypefind.h:
28123         * gst/gsttypes.h:
28124         * gst/registries/gstlibxmlregistry.c: (load_feature),
28125         (gst_xml_registry_load), (gst_xml_registry_save_feature):
28126         * gst/registries/gstxmlregistry.c:
28127         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
28128         * gst/schedulers/threadscheduler.c:
28129         * libs/gst/control/dparammanager.h:
28130         * tools/gst-inspect.c: (print_element_list),
28131         (print_plugin_features), (print_element_features):
28132         * tools/gst-xmlinspect.c: (print_element_list),
28133         (print_plugin_info), (main):
28134         Removed plugable schedulers.
28135         Removed Scheduler/Manager from elements.
28136         Removed gsttypes.h, rearranged includes.
28137         Removed dependency pad<->element, element<>pipeline, and
28138         various others,  fix includes.
28139         implement gst_pad_get_parent() with gst_object_get_parent()
28140         Make GstTask sefcontained.
28141         Fix _get_state() on GstBin, it did not return ASYNC with a 0
28142         timeout.
28143         Fix endless loop in iterator_fold_with_resync.
28144
28145
28146 2005-07-18  Wim Taymans  <wim@fluendo.com>
28147
28148         * gst/Makefile.am:
28149         * gst/gstarch.h:
28150         Remove old file.
28151
28152 2005-07-18  Wim Taymans  <wim@fluendo.com>
28153
28154         * gst/Makefile.am:
28155         No more cothreads.h
28156
28157 2005-07-18  Wim Taymans  <wim@fluendo.com>
28158
28159         * gst/cothreads.c:
28160         * gst/cothreads.h:
28161         Let's remove these.
28162
28163 2005-07-18  Wim Taymans  <wim@fluendo.com>
28164
28165         * docs/design/part-dynamic.txt:
28166         * docs/design/part-events.txt:
28167         * docs/design/part-seeking.txt:
28168         Some more docs in the works.
28169
28170         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
28171         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
28172         (gst_base_transform_setcaps), (gst_base_transform_get_size),
28173         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
28174         (gst_base_transform_handle_buffer),
28175         (gst_base_transform_sink_activate_push),
28176         (gst_base_transform_src_activate_pull),
28177         (gst_base_transform_set_passthrough),
28178         (gst_base_transform_is_passthrough):
28179         Refcounting fixes.
28180
28181         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
28182         Cleanups.
28183
28184         * gst/gstevent.c: (gst_event_finalize):
28185         Set SRC to NULL.
28186
28187         * gst/gstutils.c: (gst_element_unlink),
28188         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
28189         (gst_pad_proxy_setcaps):
28190         * gst/gstutils.h:
28191         Add _get_parent_element() to get a pads parent as an element.
28192
28193 2005-07-18  Wim Taymans  <wim@fluendo.com>
28194
28195         * check/gst/gstbin.c: (GST_START_TEST):
28196         Remove bogus test.
28197
28198 2005-07-18  Wim Taymans  <wim@fluendo.com>
28199
28200         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28201         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28202         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28203         (gst_base_sink_event), (gst_base_sink_do_sync),
28204         (gst_base_sink_chain), (gst_base_sink_loop),
28205         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
28206         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
28207         Refcounting fixes.
28208         Fix logic for returning ASYNC when not prerolled.
28209
28210 2005-07-18  Wim Taymans  <wim@fluendo.com>
28211
28212         * gst/gstqueue.c: (gst_queue_handle_sink_event):
28213         Fix nasty refcount bug.
28214
28215 2005-07-16 Philippe Khalaf <burger@speedy.org>
28216
28217         * gst/elements/gstfdsrc.c:
28218         * gst/elements/gstfdsrc.h:
28219         * gst/elements/gstelements.c:
28220         * gst/elements/Makefile.am:
28221         Ported fdsrc to 0.9.
28222
28223 2005-07-16  Wim Taymans  <wim@fluendo.com>
28224
28225         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28226         (gst_base_sink_do_sync):
28227         Fix compile error.
28228
28229 2005-07-16  Wim Taymans  <wim@fluendo.com>
28230
28231         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28232         (gst_base_sink_event), (gst_base_sink_get_times),
28233         (gst_base_sink_do_sync), (gst_base_sink_change_state):
28234         * gst/base/gstbasesink.h:
28235         Store and use discont values when syncing buffers as described
28236         in design docs.
28237         
28238         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
28239         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
28240         (gst_base_src_activate_push):
28241         Push discont event when starting.
28242
28243         * gst/elements/gstidentity.c: (gst_identity_transform):
28244         Small cleanups.
28245
28246         * gst/gstbin.c: (gst_bin_change_state):
28247         Small cleanups in base_time  distribution.
28248
28249         * gst/gstelement.c: (gst_element_set_base_time),
28250         (gst_element_get_base_time), (gst_element_change_state):
28251         * gst/gstelement.h:
28252         Added methods for the base_time of the element.
28253         Some MT fixes.
28254
28255         * gst/gstpipeline.c: (gst_pipeline_send_event),
28256         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
28257         (gst_pipeline_get_last_stream_time):
28258         * gst/gstpipeline.h:
28259         MT fixes.
28260         Handle seeking as described in design doc, remove stream_time
28261         hack.
28262         Cleanups clock and stream_time selection code. Added accessors
28263         for the stream_time.
28264         
28265
28266 2005-07-16  Andy Wingo  <wingo@pobox.com>
28267
28268         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
28269         (#305291).
28270
28271 2005-07-16  Wim Taymans  <wim@fluendo.com>
28272
28273         * check/gst/gstbin.c: (GST_START_TEST):
28274         Make elements silent as the deep_notify refs the
28275         parent, which might make the test fail.
28276
28277         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
28278         Don't hold the lock for too long.
28279
28280 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
28281
28282         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
28283           Don't unref the caps we passed to gst_caps_make_writable() after
28284           passing them. gst_caps_make_writable() will do that for us.
28285
28286 2005-07-15  Andy Wingo  <wingo@pobox.com>
28287
28288         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
28289         (#157311).
28290
28291         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
28292         own marshalling function for the handoff signal. Properly type the
28293         buffer as a buffer. Fixes some warnings. Should do a more general
28294         solution.
28295         (gst_identity_class_init): Plug into the right marshaller.
28296
28297 2005-07-15  Wim Taymans  <wim@fluendo.com>
28298
28299         * docs/design/part-TODO.txt:
28300         * docs/design/part-clocks.txt:
28301         * docs/design/part-element-sink.txt:
28302         * docs/design/part-events.txt:
28303         * docs/design/part-gstpipeline.txt:
28304         Updated docs, mostly DISCONT related.
28305
28306 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
28307
28308         * docs/pwg/building-pads.xml:
28309           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
28310
28311 2005-07-15  Andy Wingo  <wingo@pobox.com>
28312
28313         * tools/gst-typefind.c: Update, add copyright block.
28314
28315         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
28316         Normalize and truncate caps before fixation.
28317
28318         * gst/gstcaps.h:
28319         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
28320         discards all but the first structure from its argument.
28321
28322 2005-07-15  Wim Taymans  <wim@fluendo.com>
28323
28324         * gst/base/gstbasetransform.c: (gst_base_transform_init),
28325         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
28326         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
28327         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
28328         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
28329         (gst_base_transform_chain), (gst_base_transform_change_state),
28330         (gst_base_transform_set_passthrough),
28331         (gst_base_transform_is_passthrough):
28332         * gst/base/gstbasetransform.h:
28333         Make passthrough work using the bufferpools.
28334         Changed API a bit, subclasses have to write into a buffer
28335         provided by the base class.
28336         More debug info in nego functions.
28337         
28338         * gst/elements/gstidentity.c: (gst_identity_init),
28339         (gst_identity_transform):
28340         Port to new base class.
28341
28342 2005-07-15  Wim Taymans  <wim@fluendo.com>
28343
28344         * gst/gstmessage.c: (gst_message_new_state_changed):
28345         * tools/gst-launch.c: (event_loop), (main):
28346         Totally dump messages in -launch with the -m option.
28347         Fix message name for State messages,
28348
28349 2005-07-14  Wim Taymans  <wim@fluendo.com>
28350
28351         * gst/base/gstbasesrc.c: (gst_base_src_loop):
28352         Post error messages on errors.
28353
28354 2005-07-14  Wim Taymans  <wim@fluendo.com>
28355
28356         * gst/gstcaps.c: (gst_caps_do_simplify):
28357         Remove debug info.
28358
28359         * gst/gsterror.h:
28360         Define error for stream stopped.
28361
28362         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28363         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
28364         Do proper return values.
28365
28366         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
28367         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
28368         (gst_pad_get_range):
28369         Better return values.
28370
28371         * gst/gstpad.h:
28372         Reorganise return values, add macro to check for fatal errors.
28373
28374         * gst/gstqueue.c: (gst_queue_chain):
28375         Return proper GstFlowReturn values,
28376
28377 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
28378
28379         * docs/gst/gstreamer-sections.txt:
28380         * docs/gst/gstreamer.types:
28381         * docs/gst/tmpl/gst.sgml:
28382         * docs/gst/tmpl/gstbasesink.sgml:
28383         * docs/gst/tmpl/gstbasesrc.sgml:
28384         * docs/gst/tmpl/gstbasetransform.sgml:
28385         * docs/gst/tmpl/gstbin.sgml:
28386         * docs/gst/tmpl/gstbuffer.sgml:
28387         * docs/gst/tmpl/gstcaps.sgml:
28388         * docs/gst/tmpl/gstclock.sgml:
28389         * docs/gst/tmpl/gstcompat.sgml:
28390         * docs/gst/tmpl/gstconfig.sgml:
28391         * docs/gst/tmpl/gstelement.sgml:
28392         * docs/gst/tmpl/gstelementdetails.sgml:
28393         * docs/gst/tmpl/gstelementfactory.sgml:
28394         * docs/gst/tmpl/gstenumtypes.sgml:
28395         * docs/gst/tmpl/gsterror.sgml:
28396         * docs/gst/tmpl/gstevent.sgml:
28397         * docs/gst/tmpl/gstfakesink.sgml:
28398         * docs/gst/tmpl/gstfakesrc.sgml:
28399         * docs/gst/tmpl/gstfilesink.sgml:
28400         * docs/gst/tmpl/gstfilesrc.sgml:
28401         * docs/gst/tmpl/gstfilter.sgml:
28402         * docs/gst/tmpl/gstformat.sgml:
28403         * docs/gst/tmpl/gstghostpad.sgml:
28404         * docs/gst/tmpl/gstimplementsinterface.sgml:
28405         * docs/gst/tmpl/gstindex.sgml:
28406         * docs/gst/tmpl/gstindexfactory.sgml:
28407         * docs/gst/tmpl/gstinfo.sgml:
28408         * docs/gst/tmpl/gstiterator.sgml:
28409         * docs/gst/tmpl/gstmacros.sgml:
28410         * docs/gst/tmpl/gstmemchunk.sgml:
28411         * docs/gst/tmpl/gstminiobject.sgml:
28412         * docs/gst/tmpl/gstobject.sgml:
28413         * docs/gst/tmpl/gstpad.sgml:
28414         * docs/gst/tmpl/gstpadtemplate.sgml:
28415         * docs/gst/tmpl/gstparse.sgml:
28416         * docs/gst/tmpl/gstpipeline.sgml:
28417         * docs/gst/tmpl/gstplugin.sgml:
28418         * docs/gst/tmpl/gstpluginfeature.sgml:
28419         * docs/gst/tmpl/gstquery.sgml:
28420         * docs/gst/tmpl/gstqueue.sgml:
28421         * docs/gst/tmpl/gstregistry.sgml:
28422         * docs/gst/tmpl/gstregistrypool.sgml:
28423         * docs/gst/tmpl/gstscheduler.sgml:
28424         * docs/gst/tmpl/gstschedulerfactory.sgml:
28425         * docs/gst/tmpl/gststructure.sgml:
28426         * docs/gst/tmpl/gstsystemclock.sgml:
28427         * docs/gst/tmpl/gsttaglist.sgml:
28428         * docs/gst/tmpl/gsttagsetter.sgml:
28429         * docs/gst/tmpl/gsttrace.sgml:
28430         * docs/gst/tmpl/gsttrashstack.sgml:
28431         * docs/gst/tmpl/gsttypefind.sgml:
28432         * docs/gst/tmpl/gsttypefindfactory.sgml:
28433         * docs/gst/tmpl/gsttypes.sgml:
28434         * docs/gst/tmpl/gsturihandler.sgml:
28435         * docs/gst/tmpl/gsturitype.sgml:
28436         * docs/gst/tmpl/gstutils.sgml:
28437         * docs/gst/tmpl/gstvalue.sgml:
28438         * docs/gst/tmpl/gstversion.sgml:
28439         * docs/gst/tmpl/gstxml.sgml:
28440         * docs/libs/tmpl/gstcontrol.sgml:
28441         * docs/libs/tmpl/gstdataprotocol.sgml:
28442         * docs/libs/tmpl/gstdparam.sgml:
28443         * docs/libs/tmpl/gstdplinint.sgml:
28444         * docs/libs/tmpl/gstdpman.sgml:
28445         * docs/libs/tmpl/gstdpsmooth.sgml:
28446         * docs/libs/tmpl/gstgetbits.sgml:
28447         * docs/libs/tmpl/gstunitconvert.sgml:
28448         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
28449         (gst_push_src_base_init), (gst_push_src_class_init),
28450         (gst_push_src_init), (gst_push_src_create):
28451         * gst/base/gstpushsrc.h:
28452         * gst/elements/gstelements.c:
28453         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
28454         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
28455         (gst_fake_sink_init), (gst_fake_sink_set_property),
28456         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
28457         (gst_fake_sink_event), (gst_fake_sink_preroll),
28458         (gst_fake_sink_render), (gst_fake_sink_change_state):
28459         * gst/elements/gstfakesink.h:
28460         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
28461         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
28462         (gst_fake_src_base_init), (gst_fake_src_class_init),
28463         (gst_fake_src_init), (gst_fake_src_event_handler),
28464         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
28465         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
28466         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
28467         (gst_fake_src_create_buffer), (gst_fake_src_create),
28468         (gst_fake_src_start), (gst_fake_src_stop):
28469         * gst/elements/gstfakesrc.h:
28470         * gst/elements/gstfilesink.c: (_do_init),
28471         (gst_file_sink_base_init), (gst_file_sink_class_init),
28472         (gst_file_sink_init), (gst_file_sink_dispose),
28473         (gst_file_sink_set_location), (gst_file_sink_set_property),
28474         (gst_file_sink_get_property), (gst_file_sink_open_file),
28475         (gst_file_sink_close_file), (gst_file_sink_query),
28476         (gst_file_sink_event), (gst_file_sink_render),
28477         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
28478         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
28479         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
28480         * gst/elements/gstfilesink.h:
28481         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
28482         (gst_file_src_class_init), (gst_file_src_init),
28483         (gst_file_src_finalize), (gst_file_src_set_location),
28484         (gst_file_src_set_property), (gst_file_src_get_property),
28485         (gst_file_src_map_region), (gst_file_src_map_small_region),
28486         (gst_file_src_create_mmap), (gst_file_src_create_read),
28487         (gst_file_src_create), (gst_file_src_is_seekable),
28488         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
28489         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
28490         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
28491         (gst_file_src_uri_handler_init):
28492         * gst/elements/gstfilesrc.h:
28493           more autistic cleanliness in functions/names/defines
28494
28495 2005-07-13  Andy Wingo  <wingo@pobox.com>
28496
28497         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
28498         source couldn't negotiate.
28499
28500         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
28501         connections again.
28502
28503         * gst/gstutils.h:
28504         * gst/gstutils.c (gst_element_link_pads_filtered): New old
28505         function. I am channeling Hades. Put your boots on suckers!!!
28506
28507 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
28508
28509         * testsuite/caps/Makefile.am:
28510         * testsuite/caps/value_compare.c:
28511         * testsuite/caps/value_intersect.c:
28512         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
28513           move two testsuite apps over to the check dir
28514
28515 2005-07-12  Wim Taymans  <wim@fluendo.com>
28516
28517         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
28518         Added more debug info in the negotiate process.
28519
28520         * gst/gstmessage.h:
28521         Prepare for segment playback.
28522
28523         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
28524         Better debugging.
28525
28526         * gst/gstutils.c:
28527         Some more docs.
28528
28529         * tools/gst-launch.c: (main):
28530         NULL pipeline on errors.
28531
28532 2005-07-12  Andy Wingo  <wingo@pobox.com>
28533
28534         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
28535         not it comes from a malloc region. Make sure our copy gets freed.
28536
28537 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28538
28539         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
28540         * check/gst/gstmessage.c: (GST_START_TEST):
28541         * check/gst/gststructure.c: (GST_START_TEST),
28542         (gst_structure_suite), (main):
28543           more testing
28544         * gst/gstelement.c: (gst_element_message_full):
28545           clean up GError and debug string now that they get copied
28546         * gst/gstmessage.c: (gst_message_new_error),
28547         (gst_message_new_warning), (gst_message_parse_error),
28548         (gst_message_parse_warning):
28549           use GST_TYPE_G_ERROR for structure_new, and take copies of
28550           arguments, so that we don't mess up refcounting
28551
28552 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28553
28554         * check/Makefile.am:
28555           add per-test valgrind targets
28556         * check/gst-libs/gdp.c: (GST_START_TEST),
28557         (gst_data_protocol_suite), (main):
28558           clean up
28559
28560 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28561
28562         * check/Makefile.am:
28563           instate more valgrindable tests
28564         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28565         (GST_START_TEST), (fakesrc_suite):
28566         * check/gst/gstpad.c: (GST_START_TEST):
28567         * check/gst/gststructure.c: (GST_START_TEST):
28568           fix test leaks
28569         * docs/gst/tmpl/gstminiobject.sgml:
28570         * gst/gstpad.c: (gst_pad_finalize):
28571           fix the static mutex leak
28572
28573 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28574
28575         * check/Makefile.am:
28576           add two more tests for valgrinding
28577         * check/gst/gstvalue.c: (GST_START_TEST):
28578           test refcount of deserialized buffer, found a leak
28579         * docs/gst/gstreamer-docs.sgml:
28580         * docs/gst/gstreamer-sections.txt:
28581         * docs/gst/gstreamer.types:
28582         * docs/gst/tmpl/gstminiobject.sgml:
28583           add miniobject to docs
28584         * gst/gstminiobject.c:
28585           add some docs
28586         * gst/gstvalue.c: (gst_value_deserialize_buffer),
28587         (gst_string_unwrap):
28588           fix a hard-to-find invalid write for one of the tests
28589           fix a leak for deserialized buffers
28590
28591 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28592
28593         * docs/pwg/advanced-events.xml:
28594         * docs/pwg/advanced-request.xml:
28595         * docs/pwg/advanced-scheduling.xml:
28596         * docs/pwg/appendix-porting.xml:
28597         * docs/pwg/building-boiler.xml:
28598         * docs/pwg/intro-preface.xml:
28599         * docs/pwg/other-ntoone.xml:
28600           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28601           of example code and explanation for pad activation, loop() and
28602           getrange() functions and a bit more. Remove old comments pointing
28603           to loop-functions.
28604         * examples/pwg/Makefile.am:
28605           Add loop/getrange examples.
28606
28607 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28608
28609         * configure.ac:
28610           check for valgrind binary + some fixes
28611         * check/gst.supp:
28612           valgrind suppressions for the tests
28613         * check/Makefile.am:
28614           add a valgrind: target that valgrinds the unit tests
28615         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28616         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28617         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28618         * check/gst/gstghostpad.c:
28619           added some cleanup
28620         * check/gst/gstdata.c:
28621           removed
28622         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28623         (thread_unref), (gst_mini_object_suite), (main):
28624           added
28625         * gst/gst.c: (gst_deinit):
28626         * gst/gst.h:
28627           add a method to clean up.
28628         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28629         (gst_system_clock_obtain):
28630           allow for disposing the system clock.
28631         * tools/gst-launch.c: (main):
28632           deinit
28633
28634 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28635
28636         * docs/gst/tmpl/gstbasesrc.sgml:
28637         * docs/gst/tmpl/gstfakesrc.sgml:
28638         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28639         (gst_base_src_init), (gst_base_src_set_property),
28640         (gst_base_src_get_property), (gst_base_src_get_range),
28641         (gst_base_src_start):
28642         * gst/base/gstbasesrc.h:
28643           add num-buffers property
28644         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28645         (gst_fakesrc_init), (gst_fakesrc_set_property),
28646         (gst_fakesrc_get_property), (gst_fakesrc_create),
28647         (gst_fakesrc_start):
28648           remove num-buffers property
28649
28650 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28651
28652         * docs/gst/gstreamer-sections.txt:
28653         * docs/gst/tmpl/gstbasesink.sgml:
28654         * docs/gst/tmpl/gstbasesrc.sgml:
28655         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28656         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28657         (gst_base_sink_finalize), (gst_base_sink_set_clock),
28658         (gst_base_sink_set_property), (gst_base_sink_get_property),
28659         (gst_base_sink_handle_object), (gst_base_sink_event),
28660         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28661         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28662         (gst_base_sink_loop), (gst_base_sink_deactivate),
28663         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28664         (gst_base_sink_change_state):
28665         * gst/base/gstbasesink.h:
28666         * gst/base/gstbasesrc.h:
28667         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28668         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28669         (gst_filesink_init):
28670           more macro splitting
28671
28672 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28673
28674         * gst/gstelement.c: (gst_element_get_bus):
28675           add debug
28676         * tools/gst-launch.c: (check_intr), (event_loop):
28677           fix bus leaks
28678
28679 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28680
28681         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28682           fix a caps leak
28683
28684 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28685
28686         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28687         (gst_base_src_finalize):
28688           add finalize method and clean up properly
28689         * gst/gstpipeline.c: (gst_pipeline_dispose):
28690           add debug
28691
28692 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28693
28694         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28695         (gst_bin_suite):
28696           add more things to check
28697         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28698         * gst/gstelement.c:
28699           more debug
28700
28701 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28702
28703         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28704         (GST_START_TEST), (fakesrc_suite):
28705         * check/gst-libs/gdp.c: (GST_START_TEST):
28706         * check/gst/gst.c: (GST_START_TEST):
28707         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28708         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28709         * check/gst/gstbus.c: (GST_START_TEST):
28710         * check/gst/gstcaps.c: (GST_START_TEST):
28711         * check/gst/gstdata.c: (GST_START_TEST):
28712         * check/gst/gstelement.c: (GST_START_TEST):
28713         * check/gst/gstghostpad.c: (GST_START_TEST):
28714         * check/gst/gstiterator.c: (GST_START_TEST):
28715         * check/gst/gstmessage.c: (GST_START_TEST):
28716         * check/gst/gstobject.c: (GST_START_TEST):
28717         * check/gst/gstpad.c: (GST_START_TEST):
28718         * check/gst/gststructure.c: (GST_START_TEST):
28719         * check/gst/gstsystemclock.c: (GST_START_TEST),
28720         (gst_systemclock_suite):
28721         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28722         * check/gst/gstvalue.c: (GST_START_TEST):
28723         * check/pipelines/cleanup.c: (GST_START_TEST):
28724         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28725         * check/states/sinks.c: (GST_START_TEST):
28726         * check/gstcheck.c: (gst_check_init):
28727         * check/gstcheck.h:
28728           add debugging category
28729           use GST_START_TEST now, so we add a debug line
28730
28731 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28732
28733         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28734           add test for state change message on a bin
28735         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28736           add another test
28737         * gst/gstbin.c: (gst_bin_init):
28738         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28739         * gst/gstelement.c: (gst_element_post_message),
28740         (gst_element_set_state):
28741         * gst/gstelementfactory.c: (gst_element_factory_create):
28742         * gst/gstmessage.c: (gst_message_new):
28743         * gst/gstscheduler.c:
28744           various debugging additions and cleanups
28745
28746 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28747
28748         * check/Makefile.am:
28749         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28750         (main):
28751           adding tests for elements
28752         * gst/gstelement.c: (gst_element_dispose):
28753
28754 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28755
28756         * gst/registries/gstlibxmlregistry.c: (load_feature):
28757           plug more leaks.  A simple gst_init() now is leakfree, yay.
28758
28759 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28760
28761         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28762         (gst_xml_registry_load):
28763           plug another memleak
28764
28765 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28766
28767         * configure.ac:
28768           use GST_SET_ERROR_CFLAGS
28769         * docs/faq/cvs.xml:
28770           change to ERROR_CFLAGS
28771
28772 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28773
28774         * configure.ac:
28775           make GST_ERROR_CFLAGS overridable and re-enable Werror
28776         * docs/faq/cvs.xml:
28777           add a note about error CFLAGS
28778         * docs/gst/tmpl/gstfakesrc.sgml:
28779         * gst/elements/gstfakesrc.c:
28780           comment out some unused code
28781         * gst/gst.c: (split_and_iterate):
28782         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28783         (load_feature):
28784           plug some memleaks
28785
28786 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28787
28788         * common/Makefile.am:
28789         * common/gtk-doc.mak:
28790         * docs/gst/Makefile.am:
28791           factor out gtk-doc.mak
28792
28793 2005-07-07  Wim Taymans  <wim@fluendo.com>
28794
28795         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28796         (gst_thread_scheduler_dispose):
28797         Unlock the STREAM_LOCK completely.
28798
28799 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28800
28801         * check/Makefile.am:
28802         * check/elements/.cvsignore:
28803         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28804         (START_TEST), (fakesrc_suite), (main):
28805         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28806         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28807         (gst_fakesrc_create), (gst_fakesrc_start):
28808         * gst/elements/gstfakesrc.h:
28809           adding a first element test
28810
28811 2005-07-07  Andy Wingo  <wingo@pobox.com>
28812
28813         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28814         debug message.
28815
28816 2005-07-07  Wim Taymans  <wim@fluendo.com>
28817
28818         * gst/gstquery.c:
28819         * gst/gstquery.h:
28820         Remove old types
28821
28822 2005-07-07  Wim Taymans  <wim@fluendo.com>
28823
28824         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28825         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28826         Allow subclasses to implement their own negotiation.
28827
28828 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28829
28830         * docs/design/part-gstbin.txt:
28831         * docs/design/part-gstpipeline.txt:
28832           Update design notes to reflect the movement of
28833           responsibility for bus handling from GstPipeline to
28834           GstBin
28835
28836 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28837
28838         * configure.ac:
28839           Remove unnecessary queue2/3/4 examples.
28840
28841 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28842
28843         * examples/Makefile.am:
28844         * examples/helloworld/helloworld.c: (event_loop), (main):
28845         * examples/queue/queue.c: (event_loop), (main):
28846         * examples/queue2/queue2.c: (main):
28847           Update a couple of the examples to work again.
28848
28849         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28850         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28851          Spelling corrections and extra debug.
28852         
28853         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28854         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28855         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28856         * gst/gstbin.h:
28857         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28858         (gst_pipeline_change_state):
28859         * gst/gstpipeline.h:
28860           Move the bus handler for children to the GstBin, and create a
28861           separate bus for receiving messages from children to the one the
28862           bus sends 'upwards' on.
28863
28864 2005-07-06  Wim Taymans  <wim@fluendo.com>
28865
28866         * gst/base/README:
28867         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28868         (gst_base_sink_handle_object), (gst_base_sink_loop),
28869         (gst_base_sink_change_state):
28870         * gst/base/gstbasesink.h:
28871         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28872         (gst_base_src_init), (gst_base_src_setcaps),
28873         (gst_base_src_getcaps), (gst_base_src_loop),
28874         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28875         (gst_base_src_start), (gst_base_src_change_state):
28876         * gst/base/gstbasesrc.h:
28877         Make basesrc negotiate.
28878         Handle the case where preroll fails in basesink.
28879         Update README.
28880
28881 2005-07-06  Wim Taymans  <wim@fluendo.com>
28882
28883         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28884         Implement the fixate function.
28885         Clean up acceptcaps.
28886
28887 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28888
28889         * docs/pwg/building-filterfactory.xml:
28890         * docs/pwg/pwg.xml:
28891           Remove never-written filter-factory chapter; I'll add the various
28892           base classes to part 4 ("other element types") later on.
28893
28894 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28895
28896         * docs/pwg/advanced-negotiation.xml:
28897         * docs/pwg/building-boiler.xml:
28898         * docs/pwg/building-pads.xml:
28899         * docs/pwg/pwg.xml:
28900         * examples/pwg/Makefile.am:
28901           Add a chapter on caps negotiation, simplify the original code
28902           samples a bit w.r.t. caps negotiation, add link to the advanced
28903           section. Add a bunch of examples showing different use cases of
28904           different types of caps negotiation. Upstream renegotiation isn't
28905           fully documented yet since nobody knows how that works.
28906
28907 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
28908
28909         * check/gst/gstpad.c:
28910         * check/gstcheck.c:
28911         * gst/gstpad.c: (gst_pad_get_internal_links_default):
28912           if pad has no parent, return NULL as list of internal links
28913
28914 2005-07-05  Andy Wingo  <wingo@pobox.com>
28915
28916         * gst/elements/gstfilesrc.c:
28917         * gst/elements/gstfakesrc.c: 
28918         * gst/base/gstpushsrc.c:
28919         * gst/base/gstbasesrc.h: 
28920         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28921         
28922 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
28923
28924         * Makefile.am:
28925           better report generation target (lcov needs a patch)
28926
28927 2005-07-05  Andy Wingo  <wingo@pobox.com>
28928
28929         * gst/elements, testsuite: Null if we got it...
28930
28931 2005-07-05  Wim Taymans  <wim@fluendo.com>
28932
28933         * configure.ac:
28934         * libs/gst/dataprotocol/Makefile.am:
28935         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28936         * libs/gst/dataprotocol/dataprotocol.h:
28937         * pkgconfig/Makefile.am:
28938         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28939         * pkgconfig/gstreamer-dataprotocol.pc.in:
28940         Ported dataprotol to 0.9. 
28941         Added pkgconfig files.
28942
28943 2005-07-05  Andy Wingo  <wingo@pobox.com>
28944
28945         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28946         Default to returning TRUE for the case when tranform_caps returns
28947         a fixed caps, like for identity or volume.
28948
28949         * check/gst/gstbus.c (pound_bus_with_messages): 
28950         * check/gst/gstmessage.c (START_TEST): 
28951         * check/pipelines/simple_launch_lines.c (got_handoff): Application
28952         message API change.
28953
28954         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28955         logic weaks here: always run transform_caps, trying passthrough
28956         operation only if the original caps intersects with the transform.
28957
28958         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28959         source and sink caps.
28960
28961         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28962         Intersect the peer caps with the pad template before going into
28963         transform_caps.
28964         (gst_base_transform_transform_caps): More debugging.
28965
28966         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28967         src argument.
28968
28969 2005-07-04  Edward Hervey  <edward@fluendo.com>
28970
28971         * gst/gstutils.c:
28972         * gst/gstutils.h:
28973         (gst_pad_add_*_probe): now returns the signal id for better wrapping
28974         in bindings.
28975
28976 2005-07-04  Andy Wingo  <wingo@pobox.com>
28977
28978         * check/gst/gstpad.c: Only set explicit caps on pads.
28979
28980 2005-07-01  Andy Wingo  <wingo@pobox.com>
28981
28982         * tests/network-clock.scm: Commentary update.
28983
28984         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28985         Didn't really make sense, not implementable with basetransform,
28986         etc.
28987         (gst_identity_transform): Unref inbuf via make_writable. Feeble
28988         attempt at implementing the sync property, needs an unlock method.
28989
28990         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28991         New func, by default returns the same caps (the identity
28992         transformation).
28993         (gst_base_transform_getcaps): Uses transform_caps to return
28994         something sensible.
28995         (gst_base_transform_setcaps): Complicated logic to get caps on
28996         both pads, even if they are different, and to call set_caps once
28997         for every time both pads get their caps set.
28998         (gst_base_transform_handle_buffer): Give the ref to the transform
28999         function. Allows in-place modification of the buffer.
29000
29001         * gst/base/gstbasetransform.h (transform_caps): New class method.
29002         Given caps on one side, what can I do on the other.
29003         (set_caps): Take two caps, one for each side of the element.
29004
29005         * gst/gstpad.h:
29006         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
29007         caps in place. This is safe because we can check the mutability of
29008         the caps, and a good idea because fixate functions are just called
29009         as a matter of last resort. (Not actually implemented.)
29010         (gst_pad_set_caps): If the caps we're setting is actually the same
29011         as the existing pad caps, just update the pointer without calling
29012         setcaps. Assert that caps is either NULL or fixed, as per the
29013         docs.
29014
29015         * gst/gstghostpad.c: Update for fixate changes.
29016
29017 2005-07-02  Andy Wingo  <wingo@pobox.com>
29018
29019         * gst/gstcaps.c:
29020         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
29021         two refcounts makes it immutable, which is enough. Doc more.
29022
29023 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
29024
29025         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
29026           Put the mini_object into GValue as a mini_object,
29027           not a gpointer, since that's how we declared
29028           the signal.
29029
29030 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29031
29032         * examples/pwg/Makefile.am:
29033           Fix buildbot again.
29034
29035 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29036
29037         * docs/pwg/building-testapp.xml:
29038           Add extra check.
29039         * examples/pwg/Makefile.am:
29040           Fix buildbot.
29041
29042 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29043
29044         * configure.ac:
29045         * examples/Makefile.am:
29046         * examples/pwg/Makefile.am:
29047         * examples/pwg/extract.pl:
29048           Enable building the PWG examples.
29049         * docs/pwg/advanced-interfaces.xml:
29050           Add URI interface stub.
29051         * docs/pwg/advanced-types.xml:
29052         * docs/pwg/other-autoplugger.xml:
29053         * docs/pwg/appendix-porting.xml:
29054         * docs/pwg/pwg.xml:
29055           Add porting guide (mostly stubs), remove autoplugging (see ADM).
29056         * docs/pwg/building-boiler.xml:
29057         * docs/pwg/building-chainfn.xml:
29058         * docs/pwg/building-pads.xml:
29059         * docs/pwg/building-props.xml:
29060         * docs/pwg/building-state.xml:
29061         * docs/pwg/building-testapp.xml:
29062           Update the building-*.xml parts for 0.9 changes. All examples
29063           code blocks compile in examples/pwg/*.
29064
29065 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29066
29067         * docs/manual/advanced-autoplugging.xml:
29068         * docs/manual/appendix-checklist.xml:
29069         * docs/manual/appendix-integration.xml:
29070         * docs/manual/highlevel-components.xml:
29071           Fix playbin/decodebin examples, update docs a bit, mention bus
29072           instead of signals in various places, mention kmplayer and
29073           kaffeine since they have a working GStreamer backend in the KDE
29074           section.
29075
29076 2005-06-30  Wim Taymans  <wim@fluendo.com>
29077
29078         * CHANGES-0.9:
29079         * docs/design/draft-ghostpads.txt:
29080         * docs/design/draft-push-pull.txt:
29081         * docs/design/draft-query.txt:
29082         * docs/design/part-TODO.txt:
29083         * docs/design/part-query.txt:
29084         Added CHANGES-0.9 doc, updated status of other docs.
29085         
29086         * gst/gstquery.h:
29087         Remove "hmm" macro
29088
29089 2005-06-30  Wim Taymans  <wim@fluendo.com>
29090
29091         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
29092         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
29093         (gst_base_sink_change_state):
29094         * gst/base/gstbasesink.h:
29095         Some tweaks, only EOS and a buffer complete a preroll.
29096
29097 2005-06-30  Andy Wingo  <wingo@pobox.com>
29098
29099         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
29100         activate_push down to the internal pad as well.
29101
29102 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
29103
29104         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29105
29106         * gst/gsttaginterface.c:
29107           Some documentation fixes (#307394 and #307397).
29108
29109 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
29110
29111         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29112
29113         * gst/gstvalue.c: (gst_value_intersect_list):
29114           Fix memleak (#309125).
29115
29116 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29117
29118         * docs/manual/advanced-dataaccess.xml:
29119           Fix fakesrc example to compile; doesn't work, bug somewhere...?
29120         * docs/manual/basics-pads.xml:
29121           Add reference for filtered caps to above chapter.
29122
29123 2005-06-30  Wim Taymans  <wim@fluendo.com>
29124
29125         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
29126         (gst_bin_change_state):
29127         Probes are gone.
29128         Lame attempt at making the state change function a bit
29129         more readable.
29130
29131 2005-06-30  Wim Taymans  <wim@fluendo.com>
29132
29133         * docs/design/part-clocks.txt:
29134         * docs/design/part-element-sink.txt:
29135         * docs/design/part-events.txt:
29136         * docs/design/part-preroll.txt:
29137         * docs/design/part-states.txt:
29138         Some more tweeks and additions to the docs.
29139
29140 2005-06-30  Wim Taymans  <wim@fluendo.com>
29141
29142         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
29143         (default_have_data), (gst_pad_class_init), (gst_pad_init),
29144         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
29145         (gst_pad_check_pull_range), (gst_pad_get_range),
29146         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
29147         * gst/gstpad.h:
29148         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
29149         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
29150         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
29151         (gst_pad_remove_buffer_probe):
29152         Removed atomic operations, use existing LOCK.
29153         Move exception handling out of main code path.
29154
29155 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29156
29157         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
29158         (silly_return_true_function), (gst_pad_class_init),
29159         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
29160         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
29161         (gst_pad_send_event):
29162           Fix accumulator, add default value by using _emitv() instead
29163           of _emit() for signal emission.
29164
29165 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29166
29167         * docs/manual/advanced-dataaccess.xml:
29168         * examples/manual/Makefile.am:
29169           Add probe example.
29170         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
29171           Make work (??).
29172
29173 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
29174
29175         * gst/elements/gstfilesink.c: (gst_filesink_render):
29176           Simplify code so that we don't have to handle short
29177           writes and return GST_FLOW_ERROR if an error occured.
29178
29179 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29180
29181         * docs/gst/gstreamer-docs.sgml:
29182           Remove probes more.
29183
29184 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29185
29186         * docs/gst/gstreamer-sections.txt:
29187         * docs/gst/tmpl/gstpad.sgml:
29188         * docs/gst/tmpl/gstprobe.sgml:
29189         * gst/Makefile.am:
29190         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
29191         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
29192         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29193         (gst_pad_push_event), (gst_pad_send_event):
29194         * gst/gstpad.h:
29195         * gst/gstutils.c: (gst_pad_add_data_probe),
29196         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
29197         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
29198         (gst_pad_remove_buffer_probe):
29199         * gst/gstutils.h:
29200           Remove old probes, add new g-signal-based probes and some utility
29201           functions.
29202
29203 2005-06-29  Edward Hervey  <edward@fluendo.com>
29204
29205         * gst/gstelementfactory.c:
29206         * gst/gstutils.h:
29207         * gst/gstutils.c:
29208         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
29209         the definition to the header file.
29210
29211 2005-06-29  Andy Wingo  <wingo@pobox.com>
29212
29213         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
29214         plugins from the source directory.
29215
29216 2005-06-29  Wim Taymans  <wim@fluendo.com>
29217
29218         * docs/gst/tmpl/gstbuffer.sgml:
29219         * docs/gst/tmpl/gstclock.sgml:
29220         Some fixings for blantently wrong text.
29221
29222 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
29223
29224         * check/Makefile.am:
29225         * gst/gst.c: (add_path_func), (init_pre):
29226         * gst/gstregistry.c: (gst_registry_add_path):
29227           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
29228           only scan the GST_PLUGIN_PATH locations, and not add
29229           system locations
29230
29231 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
29232
29233         * docs/gst/gstreamer-sections.txt:
29234         * docs/gst/tmpl/gstbasesrc.sgml:
29235         * gst/gstelement.c:
29236         * gst/gstelement.h:
29237         * gst/gstevent.c:
29238         * gst/gstutils.c:
29239           doc fixes
29240
29241 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29242
29243         * docs/manual/advanced-autoplugging.xml:
29244           Fix autoplugging example.
29245
29246 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29247
29248         * docs/manual/advanced-autoplugging.xml:
29249         * docs/manual/mime-world.fig:
29250           Try to get autoplugging working, fix type detection. Fix text
29251           in hello-world image.
29252
29253 2005-06-29  Wim Taymans  <wim@fluendo.com>
29254
29255         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
29256         (gst_base_sink_change_state):
29257         Small debug line.
29258
29259         * gst/gstclock.h:
29260         map SIGNAL and BROADCAST to the right function.
29261
29262         * gst/gstobject.h:
29263         Remove redundant braces.
29264
29265         * gst/gstpad.c: (gst_pad_set_caps):
29266         Don't call setcaps function when reseting caps to NULL.
29267
29268         * gst/gstsystemclock.c: (gst_system_clock_dispose),
29269         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
29270         (gst_system_clock_id_unschedule):
29271         Use BROADCAST as this is what we do.
29272
29273 2005-06-29  Wim Taymans  <wim@fluendo.com>
29274
29275         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
29276         We are actually prerolling before commiting the state
29277         change. 
29278
29279 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29280
29281         * docs/manual/advanced-clocks.xml:
29282         * docs/manual/advanced-interfaces.xml:
29283         * docs/manual/advanced-metadata.xml:
29284         * docs/manual/advanced-position.xml:
29285         * docs/manual/advanced-schedulers.xml:
29286         * docs/manual/advanced-threads.xml:
29287         * docs/manual/appendix-porting.xml:
29288         * docs/manual/basics-bins.xml:
29289         * docs/manual/basics-bus.xml:
29290         * docs/manual/basics-elements.xml:
29291         * docs/manual/basics-helloworld.xml:
29292         * docs/manual/basics-pads.xml:
29293         * docs/manual/highlevel-components.xml:
29294         * docs/manual/manual.xml:
29295         * docs/manual/thread.fig:
29296           Update (until threads/scheduling) Application Development Manual;
29297           remove GstThread, add GstBus, add simple porting checklist, add
29298           documentation for tag writing, clocks, make all examples until this
29299           part compile and run.
29300         * examples/manual/Makefile.am:
29301           Update from changes to Application Development Manual; add bus
29302           example, remove thread example.
29303
29304 2005-06-28  Wim Taymans  <wim@fluendo.com>
29305
29306         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
29307         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
29308         (gst_bus_source_dispatch):
29309         Add debugging messages.
29310         Make internal methods static.
29311         Handle the case where the bus is flushed in the handler.
29312         
29313         * gst/gstelement.c: (gst_element_get_bus):
29314         Fix refcount in _get_bus();
29315
29316         * gst/gstpipeline.c: (gst_pipeline_change_state),
29317         (gst_pipeline_get_clock_func):
29318         Clock refcounting fixes.
29319         Handle the case where preroll timed out more gracefully.
29320         
29321         * gst/gstsystemclock.c: (gst_system_clock_dispose):
29322         Clean up the internal thread in dispose. This is needed
29323         for subclasses that actually get disposed.
29324         
29325         * gst/schedulers/threadscheduler.c:
29326         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
29327         (gst_thread_scheduler_dispose):
29328         Free thread pool in dispose.
29329
29330 2005-06-28  Andy Wingo  <wingo@pobox.com>
29331
29332         * tests/network-clock-utils.scm (debug, print-event): New utils.
29333
29334         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
29335         (*packet-loss*): Unified loss probability.
29336         (network-time): Report out-of-band events.
29337
29338         * tests/plot-data: Add support for out-of-band events. Hack it
29339         into this script instead of passing it down the pipe; should fix
29340         this later.
29341
29342 2005-06-28  Wim Taymans  <wim@fluendo.com>
29343
29344         * docs/gst/gstreamer.types:
29345         * docs/gst/tmpl/gstbasesrc.sgml:
29346         * docs/gst/tmpl/gstpad.sgml:
29347         Docs fixes.
29348
29349 2005-06-28  Wim Taymans  <wim@fluendo.com>
29350
29351         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29352         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
29353         (gst_proxy_pad_do_fixatecaps):
29354         Correctly proxy the check_pull_range function.
29355
29356 2005-06-28  Andy Wingo  <wingo@pobox.com>
29357
29358         * tests/network-clock.scm: Removed need for slib.
29359         
29360 2005-06-28  Wim Taymans  <wim@fluendo.com>
29361
29362         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
29363         (gst_basesink_preroll_queue_flush):
29364         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
29365         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
29366         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29367         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
29368         (gst_proxy_pad_set_property):
29369         * gst/gstpad.c:
29370         * gst/gstpad.h:
29371         * gst/gstqueue.c: (gst_queue_init):
29372         The deprecated pad loop function is removed now.
29373
29374 2005-06-28  Andy Wingo  <wingo@pobox.com>
29375
29376         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
29377         New parameters, simulate network packet loss.
29378
29379         * tests/network-clock-utils.scm: Initialize the RNG.
29380
29381 2005-06-28  Wim Taymans  <wim@fluendo.com>
29382
29383         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
29384         (gst_basesink_event), (gst_basesink_deactivate):
29385         Flushing the preroll queue always needs to unlock the waiters.
29386
29387 2005-06-28  Edward Hervey  <edward@fluendo.com>
29388
29389         * gst/gstpipeline.c: (gst_pipeline_send_event): 
29390         Wheen a seek was successful on a pipeline, set the stream_time to the
29391         seek offset in order to have a synchronized stream_time.
29392
29393 2005-06-28  Wim Taymans  <wim@fluendo.com>
29394
29395         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29396         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
29397         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
29398         (gst_proxy_pad_do_fixatecaps):
29399         Call wrapper function instead of just calling the function
29400         pointers. This takes care of any locking and whatmore.
29401
29402 2005-06-28  Wim Taymans  <wim@fluendo.com>
29403
29404         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
29405         (gst_pad_pull_range):
29406         * gst/gstpad.h:
29407         CONNECTED -> LINKED.
29408
29409 2005-06-28  Andy Wingo  <wingo@pobox.com>
29410
29411         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
29412         source-munging commit!!!
29413
29414         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
29415         (gst_object_sink): Take gpointer arguments, not GstObject --
29416         avoids casts. Like GLib.
29417
29418         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
29419         activate.
29420
29421 2005-06-27  Andy Wingo  <wingo@pobox.com>
29422
29423         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
29424         remaining buffer.
29425
29426         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
29427         returns a sorted copy of the trace list.
29428         (gst_alloc_trace_print_live): New API, only prints traces with
29429         live objects. Sort the list.
29430         (gst_alloc_trace_print_all): Sort the list.
29431         (gst_alloc_trace_print): Align columns.
29432
29433         * gst/elements/gstttypefindelement.c:
29434         * gst/elements/gsttee.c:
29435         * gst/base/gstbasesrc.c:
29436         * gst/base/gstbasesink.c:
29437         * gst/base/gstbasetransform.c:
29438         * gst/gstqueue.c: Adapt for pad activation changes.
29439
29440         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
29441         sched.
29442         (gst_pipeline_dispose): Drop ref on sched.
29443
29444         * gst/gstpad.c (gst_pad_init): Set the default activate func.
29445         (gst_pad_activate_default): Push mode by default.
29446         (pre_activate_switch, post_activate_switch): New stubs, things to
29447         do before and after switching activation modes on pads.
29448         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
29449         the pad's activate function to choose which mode to activate.
29450         Shortcut on deactivation and call the right function directly.
29451         (gst_pad_activate_pull): New API, (de)activates a pad in pull
29452         mode.
29453         (gst_pad_activate_push): New API, same for push mode.
29454         (gst_pad_set_activate_function) 
29455         (gst_pad_set_activatepull_function) 
29456         (gst_pad_set_activatepush_function): Setters for new API.
29457
29458         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
29459         Trace all miniobjects.
29460         (gst_mini_object_make_writable): Unref the arg if we copy, like
29461         gst_caps_make_writable.
29462
29463         * gst/gstmessage.c (_gst_message_initialize): No trace init.
29464
29465         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
29466         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
29467         Adapt for new pad API.
29468
29469         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
29470
29471         * gst/gstelement.h:
29472         * gst/gstelement.c (gst_element_iterate_src_pads) 
29473         (gst_element_iterate_sink_pads): New API functions.
29474         
29475         * gst/gstelement.c (iterator_fold_with_resync): New utility,
29476         should fold into gstiterator.c in some form.
29477         (gst_element_pads_activate): Simplified via use of fold and
29478         delegation of decisions to gstpad->activate.
29479
29480         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
29481         help in debugging.
29482
29483         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
29484         class once in init, like gstmessage. Didn't run into this issue
29485         but it seems correct. Don't initialize a trace, gstminiobject does
29486         that.
29487
29488         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
29489         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
29490         to the bus.
29491         (assert_live_count): New util function, uses alloc traces to check
29492         cleanup.
29493
29494         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
29495         To be modified when unlink drops the internal pad.
29496
29497 2005-06-27  Wim Taymans  <wim@fluendo.com>
29498
29499         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
29500         (gst_bin_change_state):
29501         Cleanup the get_state() function a little, make sure it
29502         iterates the same set of elements.
29503         Added stub iterate_state_order().
29504
29505 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
29506
29507         * docs/gst/gstreamer-docs.sgml:
29508         * docs/gst/gstreamer-sections.txt:
29509         * docs/gst/gstreamer.types:
29510         * docs/gst/tmpl/gstbasesink.sgml:
29511         * docs/gst/tmpl/gstbasesrc.sgml:
29512         * docs/gst/tmpl/gstbasetransform.sgml:
29513         * docs/gst/tmpl/gstelement.sgml:
29514         * docs/gst/tmpl/gstiterator.sgml:
29515         * gst/base/gstbasesrc.c:
29516         * gst/base/gstbasesrc.h:
29517         * gst/base/gstbasetransform.h:
29518         * gst/gstelement.c:
29519         * gst/gstiterator.h:
29520           adding basetransform and iterator docs
29521
29522 2005-06-27  Andy Wingo  <wingo@pobox.com>
29523
29524         * docs/design/part-activation.txt: Notes on how activation should
29525         work -- not quite implemented yet.
29526
29527 2005-06-25  Wim Taymans  <wim@fluendo.com>
29528
29529         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
29530         At least get the chain function correct, needs more
29531         fixing.
29532
29533 2005-06-25  Wim Taymans  <wim@fluendo.com>
29534
29535         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29536         (gst_basesink_handle_object), (gst_basesink_event),
29537         (gst_basesink_do_sync), (gst_basesink_handle_event),
29538         (gst_basesink_change_state):
29539         * gst/gsttask.h:
29540         Right, two problems here: ghostpads don't take locks and
29541         glib _rec_mutex_lock_full() with depth==0 still locks.
29542         Catch illegal locking and g_warn them.
29543
29544 2005-06-25  Wim Taymans  <wim@fluendo.com>
29545
29546         * check/states/sinks.c: (START_TEST), (gst_object_suite):
29547         Have to check for completion now...
29548
29549 2005-06-25  Wim Taymans  <wim@fluendo.com>
29550
29551         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29552         (gst_basesink_handle_object), (gst_basesink_event),
29553         (gst_basesink_do_sync), (gst_basesink_handle_event),
29554         (gst_basesink_change_state):
29555         * gst/gstpad.h:
29556         Unlock STREAM_LOCK whatever the recursion was.
29557
29558 2005-06-25  Wim Taymans  <wim@fluendo.com>
29559
29560         * gst/base/gstbasesink.c: (gst_basesink_set_property),
29561         (gst_basesink_preroll_queue_empty),
29562         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29563         (gst_basesink_event), (gst_basesink_do_sync),
29564         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29565         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29566         (gst_basesink_change_state):
29567         Reworked the base sink, handle event and buffer serialisation
29568         correctly and removed possible deadlock.
29569         Handle EOS correctly.
29570
29571 2005-06-25  Wim Taymans  <wim@fluendo.com>
29572
29573         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29574         (gst_pipeline_change_state):
29575         * tools/gst-launch.c: (check_intr), (event_loop), (main):
29576         Allow elements to post EOS in the state change function.
29577         Fix up -launch, make it exit the poll loop when the
29578         pipeline actually changed state.
29579         Fix up warning parsing in -launch.
29580
29581 2005-06-25  Wim Taymans  <wim@fluendo.com>
29582
29583         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29584         (gst_tee_sink_activate):
29585         Core takes STREAM_LOCK for us now.
29586
29587 2005-06-25  Wim Taymans  <wim@fluendo.com>
29588
29589         * gst/gstelement.c: (gst_element_get_state_func),
29590         (gst_element_set_state):
29591         * gst/gstelement.h:
29592         * gst/gstmessage.c: (gst_message_parse_error),
29593         (gst_message_parse_warning):
29594         Keep track of current target state while performing a state
29595         change so that subclasses can do something interesting.
29596         Fix parsing of warning/error messages when GError is NULL.
29597
29598 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
29599
29600         * docs/gst/Makefile.am:
29601         * docs/gst/gstreamer-docs.sgml:
29602         * docs/gst/gstreamer-sections.txt:
29603         * docs/gst/gstreamer.types:
29604         * docs/gst/tmpl/gstbasesink.sgml:
29605         * docs/gst/tmpl/gstbasesrc.sgml:
29606         * docs/gst/tmpl/gstbin.sgml:
29607         * docs/gst/tmpl/gstcompat.sgml:
29608         * docs/gst/tmpl/gstfakesink.sgml:
29609         * docs/gst/tmpl/gstfakesrc.sgml:
29610         * docs/gst/tmpl/gstfilesink.sgml:
29611         * docs/gst/tmpl/gstfilesrc.sgml:
29612         * docs/gst/tmpl/gstindex.sgml:
29613         * docs/manual/appendix-quotes.xml:
29614         * gst/base/gstbasesrc.h:
29615         * gst/elements/gstfakesrc.h:
29616         * gst/gstmessage.h:
29617           start pulling in base classes and elements in our docs
29618
29619 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
29620
29621         * docs/gst/Makefile.am:
29622         * docs/libs/Makefile.am:
29623           fixed make distcheck with gtk-doc 1.3
29624
29625 2005-06-23  Wim Taymans  <wim@fluendo.com>
29626
29627         * gst/gstelement.c: (gst_element_get_state_func),
29628         (gst_element_set_state), (gst_element_change_state):
29629         When the state did not change, also report NO_PREROLL
29630         when it matters.
29631
29632 2005-06-23  Wim Taymans  <wim@fluendo.com>
29633
29634         * gst/gstpad.c: (gst_pad_event_default):
29635         * gst/gstqueue.c: (gst_queue_loop):
29636         No unsafe task pausing please.
29637
29638 2005-06-23  Wim Taymans  <wim@fluendo.com>
29639
29640         * gst/schedulers/threadscheduler.c:
29641         (gst_thread_scheduler_task_start),
29642         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29643         Ref the task before pushing it on the threadpool. This
29644         makes sure that we have a ref when the threadfunction is
29645         actually called.
29646
29647 2005-06-23  Andy Wingo  <wingo@pobox.com>
29648
29649         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29650         offset is greater than the file's size.
29651
29652         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
29653         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29654         * gst/gstobject.c (gst_object_class_init): Make the class lock
29655         recursive. Wim won't let me drop deep_notify. Decodebin works
29656         again, whoopdy doo.
29657
29658         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29659         internal pad, and hacks accordingly. Doesn't do it on the target
29660         pad because we change its caps. Probably catches all cases of
29661         interest tho.
29662         (gst_ghost_pad_set_property): Connect to notify::caps as
29663         appropritate.
29664
29665         * tests/network-clock.scm (plot-simulation): Pipe data to the
29666         elite python skript.
29667
29668         * tests/network-clock-utils.scm (define-parameter): New macro,
29669         defines a parameter that can be set via the command line.
29670         (set-parameter!, parse-parameter-arguments): Command line args
29671         parser.
29672
29673         * tests/plot-data: Simple matplotlib-based plotter, takes input on
29674         stdin.
29675
29676 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
29677
29678         * gst/elements/gsttypefindelement.c:
29679         (gst_type_find_element_handle_event):
29680           Don't restart typefinding on a discont.
29681         * gst/gstelement.c: (gst_element_set_state):
29682           Debug spelling fix.
29683         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29684           Allow changing mode of an active pad.
29685           Debug output fixes.
29686         * gst/registries/gstlibxmlregistry.c: (load_feature):
29687           Don't cast a static pad template to a normal pad template.
29688
29689 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
29690
29691         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29692         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29693           remove gst_strtoll completely, since it didn't actually do
29694           anything more than what g_ascii_strtoull already does.
29695           check for range errors when deserializing
29696           do a cast for the unsigned cases; but further fixing needs
29697           a decision on what the interpretation of "(int)" and
29698           deserialization should be for values that fall outside the
29699           type's boundaries (ie, refuse, or interpret as casting)
29700
29701 2005-06-23  Wim Taymans  <wim@fluendo.com>
29702
29703         * check/Makefile.am:
29704         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29705         * docs/design/part-live-source.txt:
29706         * docs/design/part-states.txt:
29707         * gst/base/gstbasesrc.c: (gst_basesrc_init),
29708         (gst_basesrc_set_live), (gst_basesrc_is_live),
29709         (gst_basesrc_get_range), (gst_basesrc_activate),
29710         (gst_basesrc_change_state):
29711         * gst/base/gstbasesrc.h:
29712         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29713         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29714         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29715         * gst/gstelement.c: (gst_element_get_state_func),
29716         (gst_element_set_state):
29717         * gst/gstelement.h:
29718         * gst/gsttypes.h:
29719         * tools/gst-launch.c: (event_loop), (main):
29720         Added support for live sources and other elements that
29721         cannot do preroll.
29722         Updated design docs, added live-source design doc.
29723         Implemented live source functionality in basesrc
29724         Fix error condition in _bin_get_state()
29725         Implement live source handling in -launch.
29726         Added check for live sources.
29727         Fixed case in GstBin where elements were changed state
29728         multiple times.
29729
29730
29731 2005-06-23  Andy Wingo  <wingo@pobox.com>
29732
29733         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29734         borken refcounting.
29735
29736         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29737         gst_caps_replace takes care of this for us.
29738
29739         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29740         gst_pad_set_caps on the target, not just its setcaps() function.
29741
29742         * tests/network-clock.scm: 
29743         * tests/network-clock-utils.scm: A network clock simulator.
29744         Something of an algorithmic testbed before doing something in C.
29745
29746 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29747
29748         * check/Makefile.am:
29749         * check/gst/capslist.h:
29750           copy over from 0.8, and add two with bitmasks specified with
29751           (int) 0xFF...
29752         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29753           add test to parse everything from capslist.h
29754         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29755         (main):
29756           add test for structure deserialization
29757         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29758           add tests for deserialization of strings to int types
29759         * gst/gststructure.c: (gst_structure_nth_field_name):
29760         * gst/gststructure.h:
29761           add a way to get the name of a field referenced by index
29762         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29763           instead of checking if the resulting long long lies between
29764           min and max, we check if the long long would fit into
29765           a number of bytes for the final type.
29766           This fixes cases where a string represents 2^32 - 1, which
29767           when cast to int would be the (valid) -1, but is bigger than
29768           G_MAXINT
29769
29770 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29771
29772         * gst/parse/grammar.y:
29773           add a log line for type deserialization
29774
29775 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29776
29777         * check/gst/gstvalue.c: (START_TEST):
29778         * gst/gstvalue.c: (gst_value_deserialize):
29779           return long long, not int, so gint64 deserialization actually
29780           works.  Is there any flag that makes the compiler check this ?
29781           Fixes #308559
29782
29783 2005-06-22  Wim Taymans  <wim@fluendo.com>
29784
29785         * gst/gstbuffer.h:
29786         Added convenience macros for setting buffers in GValue.
29787
29788 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29789
29790         * check/gst/.cvsignore:
29791         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29792           add a test deserializing int64, and comment part out because
29793           it fails, yay !
29794
29795 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29796
29797         * check/Makefile.am:
29798         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29799         * testsuite/Makefile.am:
29800         * testsuite/caps/Makefile.am:
29801         * testsuite/caps/value_serialize.c:
29802         * testsuite/test_gst_init.c:
29803           move a value_serialize test over
29804
29805 2005-06-20  Wim Taymans  <wim@fluendo.com>
29806
29807         * gst/gstpad.c:
29808         Small doc updates.
29809         
29810         * gst/gstvalue.c: (gst_value_compare_buffer),
29811         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29812         (gst_value_compare_flags), (gst_value_serialize_flags),
29813         (gst_value_deserialize_flags), (_gst_value_initialize):
29814         Fix serialisation of buffers, they are not boxed types anymore
29815
29816 2005-06-20  Wim Taymans  <wim@fluendo.com>
29817
29818         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29819         Testcase to show error in buffer-on-caps serialisation.
29820
29821 2005-06-20  Andy Wingo  <wingo@pobox.com>
29822
29823         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29824         will be adding to later.
29825
29826         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29827         if its socks fill with rocks.
29828         (gst_system_clock_obtain): Set the name on object construction.
29829         Avoid double-checked locking.
29830
29831 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
29832
29833         * gst/gsturi.c: (gst_element_make_from_uri):
29834           Fix potential endless loop.
29835
29836 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29837
29838         * check/Makefile.am:
29839           add gsttag
29840         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29841         (main):
29842           move over from testsuite dir and clean up
29843         * configure.ac:
29844         * gst/gsttag.c:
29845         * testsuite/Makefile.am:
29846         * testsuite/tags/.cvsignore:
29847         * testsuite/tags/Makefile.am:
29848         * testsuite/tags/merge.c:
29849           remove testsuite/tags
29850
29851 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29852
29853         * docs/gst/gstreamer-sections.txt:
29854         * docs/gst/tmpl/gstenumtypes.sgml:
29855         * win32/gstenumtypes.c:
29856           clean up documentation build a little
29857
29858 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29859
29860         * check/gstcheck.h:
29861           add macros for checking refcounts on objects and caps
29862         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29863           add some more unit tests
29864         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29865         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29866           fix leaked refcounts (I hope :)) so unittest works
29867         * gst/gstpad.h:
29868           whitespace removal
29869
29870 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29871
29872         * configure.ac: back to HEAD
29873
29874 === release 0.9.1 ===
29875
29876 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
29877
29878         * NEWS:
29879         * RELEASE:
29880           updated
29881
29882 2005-06-17  Andy Wingo  <wingo@pobox.com>
29883
29884         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29885         assert; it's always possible that the pad gets deactivated in
29886         between the checks in gstpad.c and the implementation. Rely on
29887         finish_preroll() to return a FLUSHING or similar instead of on the
29888         assert.
29889         
29890         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29891         clock and post an EOS message if we come out of finish_preroll in
29892         the playing state.
29893
29894 2005-06-16  David Schleef  <ds@schleef.org>
29895
29896         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29897         (gst_capsfilter_set_property): Allow NULL as possible value
29898         for filter_caps property, indicating GST_CAPS_ANY.
29899
29900 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29901
29902         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29903           fix debug output
29904         * gst/schedulers/Makefile.am:
29905           use libgst prefix
29906         * gstreamer.spec.in:
29907           fix spec for it
29908
29909 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29910
29911         * gstreamer.spec.in:
29912           clean up
29913
29914 2005-06-08  Andy Wingo  <wingo@pobox.com>
29915
29916         * gst/gstutils.c: RPAD fixes all around.
29917         (gst_element_link_pads): Refcounting fixes.
29918
29919         * tools/gst-inspect.c:
29920         * tools/gst-xmlinspect.c:
29921         * parse/grammar.y:
29922         * gst/base/gsttypefindhelper.c:
29923         * gst/base/gstbasesink.c:
29924         * gst/gstqueue.c: RPAD fixes.
29925
29926         * gst/gstghostpad.h:
29927         * gst/gstghostpad.c: New ghost pad implementation as full proxy
29928         pads. The tricky thing is they provide both source and sink
29929         interfaces, since they proxy the internal pad for the external
29930         pad, and vice versa. Implement with lower-level ProxyPad objects,
29931         with the interior proxy pad as a child of the exterior ghost pad.
29932         Should write a doc on this.
29933         
29934         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29935         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29936         gst_object API.
29937         
29938         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29939         pads are real pads. No ghost pads in this file. Not documenting
29940         the myriad s/RPAD/PAD/ and REALIZE fixes.
29941         (gst_pad_class_init): Add properties for "direction" and
29942         "template". Both are construct-only, so they can't change during
29943         the life of the pad. Fixes properly deriving from GstPad.
29944         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29945         derived objects, just set properties when creating the objects via
29946         g_object_new.
29947         (gst_pad_get_parent): Implement as a function, return NULL if the
29948         parent is not an element.
29949         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29950         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29951         
29952         * gst/gstobject.c (gst_object_class_init): Make name a construct
29953         property. Don't set it in the object init.
29954
29955         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29956         with UNKNOWN direction.
29957         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29958         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29959         (gst_element_remove_pad): Remove ghost-pad special cases.
29960         (gst_element_pads_activate): Remove rpad cruft.
29961
29962         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29963         catch the pad's-parent-not-an-element case.
29964
29965         * gst/gst.h: Include gstghostpad.h.
29966
29967         * gst/gst.c (init_post): No more real, ghost pads.
29968
29969         * gst/Makefile.am: Add gstghostpad.[ch].
29970
29971         * check/Makefile.am:
29972         * check/gst/gstbin.c:
29973         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29974         into a bin creates ghost pads, and that the refcounts are right.
29975         Partly moved from gstbin.c.
29976
29977 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29978
29979         * check/gst-libs/.cvsignore:
29980         * check/gst/.cvsignore:
29981         * check/pipelines/.cvsignore:
29982           ignore more
29983         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29984         (START_TEST), (cleanup_suite), (main):
29985           add some tests related to cleanup after running pipelines
29986
29987 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29988
29989         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29990           add a testsuite for GstBuffer
29991
29992 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29993
29994         * gst/gstminiobject.h:
29995           add defines for accessing the refcount
29996
29997 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
29998
29999         * Makefile.am: added support for html unit test coverage reports
30000
30001 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
30002
30003         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
30004           Free existing caps if the capsfilter changes. Add a FIXME about
30005           setting those caps on the pads.
30006
30007         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
30008           Before adding a ghost pad to a parent bin, check that there isn't
30009           already one for the element on the bin. Prevents infinite recursion
30010           when using decodebin in parse pipelines. Andy says he'll rewrite the
30011           way this works anyway, so ignore the hack.
30012
30013 2005-06-02  Andy Wingo  <wingo@pobox.com>
30014
30015         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
30016         file size, pass it on to the type find helper.
30017
30018         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
30019         segment_start and segment_end properly according to the seek
30020         method. Segment_end is still a bit flaky because offset can be
30021         negative for CUR and END cases, but it takes -1 as an "unset"
30022         value.
30023
30024 2005-06-02  Wim Taymans  <wim@fluendo.com>
30025
30026         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
30027         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
30028         (gst_basesink_activate):
30029         * gst/base/gstbasesink.h:
30030         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
30031         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
30032         (gst_pad_query), (gst_pad_start_task):
30033         * gst/gstpad.h:
30034         * gst/gstqueue.c: (gst_queue_bufferalloc),
30035         (gst_queue_handle_sink_event), (gst_queue_chain):
30036         Bufferalloc: return GstFlowReturn to more accuratly report
30037         why allocation failed.
30038
30039 2005-06-02  Wim Taymans  <wim@fluendo.com>
30040
30041         * gst/gstpipeline.c: (gst_pipeline_send_event):
30042         Take snapshot of state without blocking.
30043
30044 2005-06-02  Wim Taymans  <wim@fluendo.com>
30045
30046         * docs/design/part-TODO.txt:
30047         * docs/design/part-caps.txt:
30048         * docs/design/part-clocks.txt:
30049         * docs/design/part-negotiation.txt:
30050         * docs/design/part-preroll.txt:
30051         Small doc updates 
30052
30053 2005-05-30  Wim Taymans  <wim@fluendo.com>
30054
30055         * gst/elements/gstidentity.c: (gst_identity_event),
30056         (gst_identity_transform), (gst_identity_get_property):
30057         Protect last_message property as it is accessed from
30058         multiple threads.
30059
30060 2005-05-30  Wim Taymans  <wim@fluendo.com>
30061
30062         * gst/gstelement.c: (gst_element_init),
30063         (gst_element_pads_activate), (gst_element_change_state):
30064         Slicker pad activation code.
30065
30066 2005-05-30  Wim Taymans  <wim@fluendo.com>
30067
30068         * gst/Makefile.am:
30069         * gst/gstelement.h:
30070         * gst/gstelementfactory.h:
30071         * gst/gsttypes.h:
30072         Move elementfactory methods to separate .h file.
30073
30074 2005-05-30  Wim Taymans  <wim@fluendo.com>
30075
30076         * docs/design/part-overview.txt:
30077         * gst/gstsystemclock.h:
30078         Small typo fixes, doc updates.
30079
30080 2005-05-30  Wim Taymans  <wim@fluendo.com>
30081
30082         * gst/gst.c: (gst_init_get_popt_table), (init_post),
30083         (init_popt_callback):
30084         Remove cpu-opt flag.
30085
30086 2005-05-30  Wim Taymans  <wim@fluendo.com>
30087
30088         * gst/gstbuffer.c: (gst_subbuffer_finalize),
30089         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
30090         * gst/gstbuffer.h:
30091         Avoid typechecking in places where not needed.
30092         Added accessor for malloc_data.
30093
30094 2005-05-30  Wim Taymans  <wim@fluendo.com>
30095
30096         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
30097         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
30098         (gst_pad_configure_sink), (gst_pad_configure_src),
30099         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
30100         (gst_pad_start_task):
30101         Propagate errors from _set_caps() in configure_src/sink
30102         functions instead of returning TRUE.
30103         FLUSH events can travel up and downstream
30104
30105
30106 2005-05-30  Wim Taymans  <wim@fluendo.com>
30107
30108         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
30109         (gst_basesink_activate):
30110         Handle EOS in preroll.
30111
30112 2005-05-30  Wim Taymans  <wim@fluendo.com>
30113
30114         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
30115         (gst_queue_loop), (gst_queue_handle_src_event):
30116         Remove old pieces of code
30117         Flushing the queue in an upstream event is a very bad idea.
30118
30119 2005-05-26  Andy Wingo  <wingo@pobox.com>
30120
30121         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
30122         gst_value_set_mini_object so as to add a ref on the object (which
30123         will be removed when the value is unset).
30124
30125         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
30126         arg type in ::handoff.
30127
30128         * gst/gstelement.c (gst_element_change_state): Also deactivate
30129         pads in READY->NULL, just in case the element didn't make it to
30130         PAUSED. Wingo tested, Wim approved.
30131
30132 2005-05-26  Wim Taymans  <wim@fluendo.com>
30133
30134         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
30135         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
30136         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
30137         A flushing pad cannot be used to alloc_buffer from.
30138
30139 2005-05-26  Wim Taymans  <wim@fluendo.com>
30140
30141         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
30142         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
30143         (gst_bus_source_dispatch), (gst_bus_source_finalize),
30144         (gst_bus_create_watch), (gst_bus_add_watch_full):
30145         * gst/gstbus.h:
30146         Implement a real GSource and use g_main_context_wakeup() to
30147         signal new messages instead of the socketpair.
30148
30149 2005-05-25  Wim Taymans  <wim@fluendo.com>
30150
30151         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
30152         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
30153         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
30154         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
30155         (gst_pad_send_event), (gst_pad_start_task):
30156         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
30157         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
30158         (gst_queue_sink_activate), (gst_queue_src_activate),
30159         (gst_queue_change_state):
30160         * gst/gstqueue.h:
30161         Fix state changes for non sinks. We now change sinks, then elements
30162         with unconnected srcpads, then the rest.
30163         More efficient queue unlocking in flush and state changes.
30164         Set the pad activate mode even if it does not have an activate
30165         function.
30166
30167 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30168
30169         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
30170           Don't go in pull mode for non-seekable sources.
30171         * gst/elements/gsttypefindelement.h:
30172         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30173         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
30174         (free_entry), (stop_typefinding),
30175         (gst_type_find_element_handle_event), (find_peek),
30176         (gst_type_find_element_chain), (do_pull_typefind),
30177         (gst_type_find_element_change_state):
30178           Allow typefinding (w/o seeking) in push-mode, simplified version
30179           of what was in 0.8.
30180         * gst/gstutils.c: (gst_buffer_join):
30181         * gst/gstutils.h:
30182           gst_buffer_join() from 0.8.
30183
30184 2005-05-25  Wim Taymans  <wim@fluendo.com>
30185
30186         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
30187         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
30188         (gst_pad_send_event), (gst_pad_start_task):
30189         Disable attempt at mode switching until it is figured out.
30190
30191 2005-05-25  Wim Taymans  <wim@fluendo.com>
30192
30193         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
30194         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
30195         (gst_basesink_finish_preroll), (gst_basesink_chain),
30196         (gst_basesink_loop), (gst_basesink_activate),
30197         (gst_basesink_change_state):
30198         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
30199         (gst_basesrc_get_range), (gst_basesrc_loop),
30200         (gst_basesrc_activate):
30201         * gst/elements/gsttee.c: (gst_tee_sink_activate):
30202         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
30203         (gst_real_pad_init), (gst_real_pad_set_property),
30204         (gst_real_pad_get_property), (gst_pad_set_active),
30205         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
30206         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
30207         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
30208         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
30209         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30210         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
30211         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
30212         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
30213         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
30214         (gst_pad_stop_task):
30215         * gst/gstpad.h:
30216         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
30217         (gst_queue_loop), (gst_queue_src_activate):
30218         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
30219         (gst_task_get_state):
30220         * gst/gsttask.h:
30221         * gst/schedulers/threadscheduler.c:
30222         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
30223         Implement gst_pad_pause/start/stop_task(), take STREAM lock
30224         in task function.
30225         Remove ACTIVE pad flag, use FLUSHING everywhere
30226         Added _pad_chain(), _pad_get_range() to call chain/getrange 
30227         functions.
30228         Add locks around IS_FLUSHING when reading.
30229         Take STREAM lock in chain(), get_range() functions so plugins
30230         don't need to take it anymore.
30231         
30232
30233
30234 2005-05-25  Wim Taymans  <wim@fluendo.com>
30235
30236         * tools/gst-launch.c: (event_loop):
30237         Unref message after using its contents instead of
30238         before.
30239
30240 2005-05-24  Wim Taymans  <wim@fluendo.com>
30241
30242         * docs/design/draft-ghostpads.txt:
30243         * docs/design/draft-push-pull.txt:
30244         * docs/design/draft-query.txt:
30245         * docs/design/part-overview.txt:
30246         Docs updates, added general overview doc.
30247
30248 2005-05-21  David Schleef  <ds@schleef.org>
30249
30250         * docs/gst/tmpl/old/GstBin.sgml:
30251         * docs/gst/tmpl/old/GstBuffer.sgml:
30252         * docs/gst/tmpl/old/GstCaps.sgml:
30253         * docs/gst/tmpl/old/GstClock.sgml:
30254         * docs/gst/tmpl/old/GstCompat.sgml:
30255         * docs/gst/tmpl/old/GstData.sgml:
30256         * docs/gst/tmpl/old/GstElement.sgml:
30257         * docs/gst/tmpl/old/GstEvent.sgml:
30258         * docs/gst/tmpl/old/GstIndex.sgml:
30259         * docs/gst/tmpl/old/GstStructure.sgml:
30260         * docs/gst/tmpl/old/GstTag.sgml:
30261         * docs/gst/tmpl/old/cothreads.sgml:
30262         * docs/gst/tmpl/old/cothreads_compat.sgml:
30263         * docs/gst/tmpl/old/gettext.sgml:
30264         * docs/gst/tmpl/old/gobject2gtk.sgml:
30265         * docs/gst/tmpl/old/grammar.tab.sgml:
30266         * docs/gst/tmpl/old/gst-i18n-app.sgml:
30267         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
30268         * docs/gst/tmpl/old/gst_private.sgml:
30269         * docs/gst/tmpl/old/gstaggregator.sgml:
30270         * docs/gst/tmpl/old/gstarch.sgml:
30271         * docs/gst/tmpl/old/gstatomic_impl.sgml:
30272         * docs/gst/tmpl/old/gstbufferstore.sgml:
30273         * docs/gst/tmpl/old/gstdata_private.sgml:
30274         * docs/gst/tmpl/old/gstdisksink.sgml:
30275         * docs/gst/tmpl/old/gstdisksrc.sgml:
30276         * docs/gst/tmpl/old/gstelementfactory.sgml:
30277         * docs/gst/tmpl/old/gstextratypes.sgml:
30278         * docs/gst/tmpl/old/gstfakesink.sgml:
30279         * docs/gst/tmpl/old/gstfakesrc.sgml:
30280         * docs/gst/tmpl/old/gstfdsink.sgml:
30281         * docs/gst/tmpl/old/gstfdsrc.sgml:
30282         * docs/gst/tmpl/old/gstfilesink.sgml:
30283         * docs/gst/tmpl/old/gstfilesrc.sgml:
30284         * docs/gst/tmpl/old/gsthttpsrc.sgml:
30285         * docs/gst/tmpl/old/gstidentity.sgml:
30286         * docs/gst/tmpl/old/gstindexfactory.sgml:
30287         * docs/gst/tmpl/old/gstmarshal.sgml:
30288         * docs/gst/tmpl/old/gstmd5sink.sgml:
30289         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
30290         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
30291         * docs/gst/tmpl/old/gstpadtemplate.sgml:
30292         * docs/gst/tmpl/old/gstpipefilter.sgml:
30293         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
30294         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
30295         * docs/gst/tmpl/old/gstshaper.sgml:
30296         * docs/gst/tmpl/old/gstspider.sgml:
30297         * docs/gst/tmpl/old/gstspideridentity.sgml:
30298         * docs/gst/tmpl/old/gststatistics.sgml:
30299         * docs/gst/tmpl/old/gsttee.sgml:
30300         * docs/gst/tmpl/old/gsttimecache.sgml:
30301         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
30302         * docs/gst/tmpl/old/gstxmlregistry.sgml:
30303         * docs/gst/tmpl/old/gthread-cothreads.sgml:
30304         * docs/gst/tmpl/old/types.sgml:
30305           I didn't intend to add these or check them in.
30306
30307 2005-05-19  David Schleef  <ds@schleef.org>
30308
30309         * configure.ac: Use -no-common everywhere.  In a sane world, it
30310           would be the default in libtool, because without it, you can't
30311           build DLLs on Windows.
30312         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
30313         * docs/gst/gstreamer-sections.txt:
30314         * docs/gst/tmpl/gstcpu.sgml:
30315         * docs/gst/tmpl/gstdata.sgml:
30316         * docs/gst/tmpl/gstthread.sgml:
30317
30318 2005-05-19  David Schleef  <ds@schleef.org>
30319
30320         * gst/gstminiobject.c: (gst_value_set_mini_object),
30321         (gst_value_take_mini_object), (gst_value_get_mini_object):
30322         * gst/gstminiobject.h: Add GValue set/get functions.
30323
30324 2005-05-19  Wim Taymans  <wim@fluendo.com>
30325
30326         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
30327         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
30328         (gst_subbuffer_init), (gst_buffer_is_span_fast):
30329         * gst/gstbuffer.h:
30330         * gst/gstbus.c: (gst_bus_post):
30331         * gst/gstelement.c: (gst_element_get_random_pad):
30332         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
30333         Make subbufer unref the parent in finalize.
30334         some more debugging info.
30335
30336
30337 2005-05-19  Wim Taymans  <wim@fluendo.com>
30338
30339         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30340         (gst_basesink_init), (gst_basesink_finalize),
30341         (gst_basesink_activate), (gst_basesink_change_state):
30342         Don't free preroll queue too early.
30343
30344 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30345
30346         * gst/Makefile.am:
30347         * gst/ROADMAP:
30348           Hi, I'm outdated. Please shoot me.
30349
30350 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30351
30352         * gst/gstpipeline.c: (gst_pipeline_send_event):
30353           Do not access variables after they have been deleted.
30354
30355 2005-05-19  Wim Taymans  <wim@fluendo.com>
30356
30357         * tools/gst-inspect.c: (print_plugin_features):
30358         A plugin feature does unfortunatly not use the
30359         object name yet...
30360
30361 2005-05-18  Wim Taymans  <wim@fluendo.com>
30362
30363         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
30364         Port _span() functions to new subbuffers.
30365
30366 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30367
30368         * gst/gstbin.c: (gst_bin_add_func):
30369           Fix clock settery in bins when adding kids after the clock has
30370           been selected.
30371
30372 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30373
30374         * gst/elements/gstidentity.c: (gst_identity_class_init):
30375           Workaround until signals support GstMiniObject.
30376
30377 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
30378
30379         * gst/gstbuffer.c:
30380         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
30381
30382 2005-05-18  Wim Taymans  <wim@fluendo.com>
30383
30384         * gst/base/Makefile.am:
30385         * gst/base/gstadapter.c: (gst_adapter_base_init),
30386         (gst_adapter_class_init), (gst_adapter_init),
30387         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
30388         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
30389         (gst_adapter_flush), (gst_adapter_available),
30390         (gst_adapter_available_fast):
30391         * gst/base/gstadapter.h:
30392         Ported and added adapter to the base classes.
30393
30394 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30395
30396         * gst/gst.c:
30397         * gst/gstmessage.c:
30398           Make sure the class is reffed/unreffed once before threads can be
30399           used.  Fixes #304551.
30400
30401 2005-05-17  Wim Taymans  <wim@fluendo.com>
30402
30403         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
30404         (gst_basesink_chain_unlocked), (gst_basesink_activate):
30405         * gst/gstminiobject.c: (gst_mini_object_get_type),
30406         (gst_mini_object_free):
30407         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
30408         (gst_pad_push), (gst_pad_push_event):
30409         * gst/gstqueue.c: (gst_queue_change_state):
30410         Don't queue buffers in basesink when we are flushing.
30411         Unref buffer when flushing in basesink.
30412         Flush queue when going to READY
30413         Unref buffer when _push() returns an error.
30414         Don't free MiniObject instance when refcount is incremented
30415         in _finalize() so that we can recover objects.
30416
30417 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
30418
30419         * docs/manual/advanced-schedulers.xml:
30420         * docs/manual/appendix-checklist.xml:
30421         * docs/pwg/advanced-clock.xml:
30422         * docs/pwg/advanced-interfaces.xml:
30423         * docs/pwg/advanced-request.xml:
30424         * docs/pwg/advanced-types.xml:
30425         * docs/pwg/intro-preface.xml:
30426         * examples/plugins/example.c: (gst_example_get_type),
30427         (gst_example_class_init), (gst_example_chain),
30428         (gst_example_set_property), (gst_example_get_property),
30429         (gst_example_change_state), (plugin_init):
30430         * examples/plugins/example.h:
30431           small doc fixes
30432
30433 2005-05-17  Wim Taymans  <wim@fluendo.com>
30434
30435         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
30436         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
30437         * gst/gstqueue.c: (gst_queue_change_state):
30438         Clear queue when going to READY.
30439         Remove IN_SETCAPS flag too.
30440
30441 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
30442
30443         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
30444           Remove implicit cast from gboolean to GstElementStateReturn;
30445           make sure we still return failure in paused => ready case if
30446           the parent class fails to change state and our own stop 
30447           vfunc succeeds.
30448
30449 2005-05-17  Wim Taymans  <wim@fluendo.com>
30450
30451         * tools/gst-launch.c: (event_loop):
30452         Message was unreffed too soon.
30453
30454 2005-05-16  Andy Wingo  <wingo@pobox.com>
30455
30456         * gst/gstbin.c (sink_iterator_filter): Err... um...
30457
30458         * check/gst/gstbin.c (test_ghost_pads): New test for the
30459         ghosting-if-elements-not-in-same-bin behavior.
30460
30461 2005-05-16  David Schleef  <ds@schleef.org>
30462
30463         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
30464         accessing refcount directly.
30465
30466 2005-05-15  David Schleef  <ds@schleef.org>
30467
30468         * check/Makefile.am: remove GstData checks
30469         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
30470         * gst/Makefile.am: add miniobject, remove data
30471         * gst/gst.h: add miniobject, remove data
30472         * gst/gstdata.c: remove
30473         * gst/gstdata.h: remove
30474         * gst/gstdata_private.h: remove
30475         * gst/gsttypes.h: remove GstEvent and GstMessage
30476         * gst/gstelement.c: (gst_element_post_message): fix for API changes
30477         * gst/gstmarshal.list: change BOXED -> OBJECT
30478
30479         Implement GstMiniObject.
30480         * gst/gstminiobject.c:
30481         * gst/gstminiobject.h:
30482
30483         Modify to be subclasses of GstMiniObject.
30484         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
30485         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
30486         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
30487         (gst_subbuffer_get_type), (gst_subbuffer_init),
30488         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
30489         (gst_buffer_span):
30490         * gst/gstbuffer.h:
30491         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
30492         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
30493         (_gst_event_copy), (gst_event_new):
30494         * gst/gstevent.h:
30495         * gst/gstmessage.c: (_gst_message_initialize),
30496         (gst_message_get_type), (gst_message_class_init),
30497         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
30498         (gst_message_new), (gst_message_new_error),
30499         (gst_message_new_warning), (gst_message_new_tag),
30500         (gst_message_new_state_changed), (gst_message_new_application):
30501         * gst/gstmessage.h:
30502         * gst/gstprobe.c: (gst_probe_perform),
30503         (gst_probe_dispatcher_dispatch):
30504         * gst/gstprobe.h:
30505         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
30506         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
30507         (_gst_query_copy), (gst_query_new):
30508
30509         Update elements for GstData -> GstMiniObject changes
30510         * gst/gstquery.h:
30511         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
30512         (gst_queue_chain), (gst_queue_loop):
30513         * gst/elements/gstbufferstore.c:
30514         (gst_buffer_store_add_buffer_func),
30515         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
30516         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30517         (gst_fakesink_render):
30518         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30519         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
30520         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
30521         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
30522         (gst_filesrc_create_read):
30523         * gst/elements/gstidentity.c: (gst_identity_class_init):
30524         * gst/elements/gsttypefindelement.c:
30525         (gst_type_find_element_src_event), (free_entry_buffers),
30526         (gst_type_find_element_handle_event):
30527         * libs/gst/dataprotocol/dataprotocol.c:
30528         (gst_dp_header_from_buffer):
30529         * libs/gst/dataprotocol/dataprotocol.h:
30530         * libs/gst/dataprotocol/dp-private.h:
30531
30532 2005-05-15  David Schleef  <ds@schleef.org>
30533
30534         * gst/elements/gstelements.c: Don't include headers that were
30535         just removed.
30536
30537 2005-05-15  David Schleef  <ds@schleef.org>
30538
30539         * gst/elements/Makefile.am: Remove some elements that don't
30540         need to be in the core (or even exist at all).
30541         * gst/elements/gstaggregator.c:
30542         * gst/elements/gstaggregator.h:
30543         * gst/elements/gstmd5sink.c:
30544         * gst/elements/gstmd5sink.h:
30545         * gst/elements/gstmultifilesrc.c:
30546         * gst/elements/gstmultifilesrc.h:
30547         * gst/elements/gstpipefilter.c:
30548         * gst/elements/gstpipefilter.h:
30549         * gst/elements/gstshaper.c:
30550         * gst/elements/gstshaper.h:
30551         * gst/elements/gststatistics.c:
30552         * gst/elements/gststatistics.h:
30553         * po/POTFILES.in: Remove above files.
30554
30555 2005-05-14  Andy Wingo  <wingo@pobox.com>
30556
30557         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30558         so as to get the refs right.
30559         (sink_iterator_filter): New function, wraps bin_element_is_sink,
30560         unreffing objects that don't pass the filter.
30561
30562         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30563         gst_element_set_bus.
30564         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30565         normal cases, this will destroy the bus.
30566
30567         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30568         object.
30569
30570         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30571         has no sinks.
30572
30573 2005-05-13  Andy Wingo  <wingo@pobox.com>
30574
30575         * gst/gstutils.c (gst_element_link_pads): Instead of calling
30576         gst_pad_link, call pad_link_maybe_ghosting,
30577         (pad_link_maybe_ghosting): Links pads, making sure that the
30578         elements being linked are in the same bin.
30579         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30580         Helpers for pad_link_maybe_ghosting.
30581
30582 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30583
30584         * configure.ac:
30585           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30586
30587 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30588
30589         * docs/design/part-element-source.txt:
30590           Mention GstPushSrc
30591
30592 2005-05-12  Wim Taymans  <wim@fluendo.com>
30593
30594         * gst/base/gstbasesink.c: (gst_basesink_init),
30595         (gst_basesink_activate):
30596         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30597         (gst_basesrc_is_seekable):
30598         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30599         (bin_element_is_sink), (gst_bin_change_state):
30600         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30601         * gst/gstelement.h:
30602         Identify sinks by their flag to avoid overly complicated
30603         checks (fow now).
30604         Do state changes even for elements not reachable from the
30605         sinks.
30606         BaseSink is a sink now :)
30607         Some more debugging info in the basesrc.
30608
30609
30610 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30611
30612         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30613           Implement _query on a bin, similar to _send_event.
30614
30615 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
30616
30617         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30618           Discont event offset format should be GST_FORMAT_BYTES,
30619           not GST_FORMAT_TIME.
30620
30621 2005-05-12  Wim Taymans  <wim@fluendo.com>
30622
30623         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30624         Same fix as Ronald's but without the signal. 
30625
30626 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30627
30628         * gst/gstutils.c: (gst_element_query_position):
30629           No, an element is not a pad.
30630
30631 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30632
30633         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30634         (gst_bin_get_state):
30635           If a child is removed from a bin while we remove the child from
30636           the bin and while we're retrieving its state, signal this to the
30637           get_state function so we abort the wait (instead of waiting for
30638           a timeout) and can immediately re-iterate over all other elements.
30639
30640 2005-05-12  Wim Taymans  <wim@fluendo.com>
30641
30642         * gst/base/Makefile.am:
30643         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30644         (gst_basesrc_start):
30645         * gst/base/gstbasesrc.h:
30646         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30647         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30648         (gst_pushsrc_init), (gst_pushsrc_create):
30649         * gst/base/gstpushsrc.h:
30650         Added is_seekable to BaseSrc
30651         Added simple PushSrc.
30652
30653 2005-05-11  Wim Taymans  <wim@fluendo.com>
30654
30655         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30656         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30657         (gst_element_link_pads), (gst_element_query_position),
30658         (gst_element_query_convert), (intersect_caps_func),
30659         (gst_pad_query_position), (gst_pad_query_convert):
30660         Fix refcounting in utils function.
30661         No point in trying to activate a pad when it's added, it could
30662         be added from the state change function and then we deadlock, the
30663         element has to decide what to do.
30664
30665 2005-05-10  Andy Wingo  <wingo@pobox.com>
30666
30667         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30668         *all* the arguments.
30669
30670         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30671         stream lock if it's a FLUSH_DONE; normal flushes don't get the
30672         lock (according to the docs -- if this is wrong change the docs).
30673
30674         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30675         flush messages in the NULL state.
30676
30677         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30678         message immediately and return.
30679         (gst_bus_set_flushing): New function. If a bus is flushing, it
30680         flushes out any queued messages and immediately unrefs new
30681         messages. This is so when an element goes to NULL, all of the
30682         unhandled messages coming from it can be freed, and their
30683         references to the element dropped. In other words: message source
30684         ref considered harmful :P
30685
30686         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30687         we're finished with it.
30688
30689         * gst/gstmessage.c (gst_message_new_state_changed): 
30690
30691 2005-05-10  Wim Taymans  <wim@fluendo.com>
30692
30693         * gst/gstvalue.c: (gst_value_compare_flags),
30694         (gst_value_serialize_flags), (gst_value_deserialize_flags),
30695         (_gst_value_initialize):
30696         Added flags serialize/deserialize/compare code.
30697
30698 2005-05-09  Andy Wingo  <wingo@pobox.com>
30699
30700         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30701         Intersect the peer's caps with our caps.
30702
30703 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30704
30705         * gst/base/gsttypefindhelper.c: (helper_find_peek):
30706         * gst/elements/gsttypefindelement.c: (find_peek):
30707           Handle negative offsets better. Fixes decodebin.
30708
30709 2005-05-09  Wim Taymans  <wim@fluendo.com>
30710
30711         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30712         (gst_base_transform_event):
30713         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30714         Implement accept_caps.
30715         Fix silly lock/unlock mismatch in base class.
30716
30717 2005-05-09  Wim Taymans  <wim@fluendo.com>
30718
30719         * docs/design/draft-push-pull.txt:
30720         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30721         * gst/elements/gstfilesink.c: (gst_filesink_init),
30722         (gst_filesink_query):
30723         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30724         (gst_type_find_handle_src_query), (find_element_get_length):
30725         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30726         * gst/gstelement.h:
30727         * gst/gstmessage.c:
30728         * gst/gstmessage.h:
30729         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30730         (gst_real_pad_get_caps_unlocked),
30731         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30732         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30733         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30734         (gst_real_pad_dispose), (gst_real_pad_finalize),
30735         (gst_pad_load_and_link), (gst_pad_save_thyself),
30736         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30737         (gst_pad_check_pull_range), (gst_pad_pull_range),
30738         (gst_pad_template_get_type), (gst_pad_template_class_init),
30739         (gst_pad_template_init), (gst_pad_template_dispose),
30740         (name_is_valid), (gst_static_pad_template_get),
30741         (gst_pad_template_new), (gst_static_pad_template_get_caps),
30742         (gst_pad_template_get_caps), (gst_pad_set_element_private),
30743         (gst_pad_get_element_private), (gst_pad_start_task),
30744         (gst_pad_pause_task), (gst_pad_stop_task),
30745         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30746         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30747         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30748         (gst_ghost_pad_new):
30749         * gst/gstpad.h:
30750         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30751         (gst_query_new_position), (gst_query_set_position),
30752         (gst_query_parse_position), (gst_query_new_convert),
30753         (gst_query_set_convert), (gst_query_parse_convert):
30754         * gst/gstquery.h:
30755         * gst/gstqueryutils.c:
30756         * gst/gstqueryutils.h:
30757         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30758         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30759         (gst_queue_handle_src_query):
30760         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30761         (gst_element_query_position), (gst_element_query_convert),
30762         (intersect_caps_func), (gst_pad_query_position),
30763         (gst_pad_query_convert):
30764         * gst/gstutils.h:
30765         * tools/gst-inspect.c: (print_pad_info):
30766         * tools/gst-xmlinspect.c: (print_element_info):
30767         Remove old query functions. Ported old code.
30768         Added position/convert helper functions to gstutils.
30769         Reordered gstpad.c code, grouping relevant things.
30770         Remove gst_message_new(), always need to speficy a specific
30771         message.
30772
30773
30774 2005-05-09  Andy Wingo  <wingo@pobox.com>
30775
30776         * gst/gstiterator.h: Add some includes.
30777
30778         * gst/gstqueryutils.h: Include more headers.
30779
30780         * gst/gstpad.h:
30781         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30782         some uses of gst_pad_query.
30783
30784         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30785         NULL out parameters.
30786         (gst_query_new_position): New proc, allocates a new position
30787         query.
30788
30789         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30790         gstqueryutils.c to the build.
30791
30792         * gst/gststructure.c (gst_structure_set_valist): Implement with
30793         the generic G_VALUE_COLLECT.
30794         
30795 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
30796
30797         * gst/Makefile.am: (gst_headers):
30798         Added gstqueryutils.h to the list of headers to install, that was
30799         a 'nachty' move wingo :)
30800
30801 2005-05-06  Andy Wingo  <wingo@pobox.com>
30802
30803         * gst/gstquery.h
30804         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30805         GstData, init a memchunk.
30806         (standard_definitions): Add a few query types, deprecate a few.
30807         (gst_query_get_type): New proc.
30808         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30809         implementation.
30810         (gst_query_new_application, gst_query_get_structure): New public
30811         procs.
30812
30813         * docs/design/draft-query.txt: Removed LINKS from the query types,
30814         because all the rest can be dispatched to other pads -- seemed
30815         ugly to have a query that couldn't be dispatched. internal_links
30816         is fine as a pad method.
30817
30818         * gst/gstpad.h: Add query2 as a pad method, add the new functions
30819         in gstpad.c, but maintain binary compatibility for the moment.
30820         Will fix before 0.9 is out.
30821
30822         * gst/gstqueryutils.c: 
30823         * gst/gstqueryutils.h: New files, implement 3 methods for each
30824         query type: parse_query, parse_response, and set. Probably need an
30825         allocator as well.
30826
30827         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30828
30829         * gst/elements/gstfilesink.c (gst_filesink_query2):
30830         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30831         query_types, and formats methods.
30832
30833         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30834         (gst_pad_set_query2_function): New functions.
30835         (gst_real_pad_init): Set query2_default as the default query2
30836         function. Basically just dispatches to internally linked pads.
30837
30838         Needs review!
30839         
30840         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30841         without using the atomic operations. Only one thread can possibly
30842         be accessing the data at this point. Changed so as to avoid
30843         gst_atomic operations.
30844
30845 2005-05-06  Wim Taymans  <wim@fluendo.com>
30846
30847         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30848         Also set caps if we use the fallback buffer alloc.
30849
30850 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
30851
30852         * docs/gst/Makefile.am:
30853         * docs/gst/gstreamer-docs.sgml:
30854         * docs/gst/gstreamer-sections.txt:
30855         * docs/gst/tmpl/gstatomic.sgml:
30856         * docs/gst/tmpl/gstmemchunk.sgml:
30857         * testsuite/elements/struct_i386.h:
30858         * win32/GStreamer.vcproj:
30859         * win32/Makefile:
30860           Purge GstAtomic stuff from docs and win32 makefiles as well
30861
30862 2005-05-06  Wim Taymans  <wim@fluendo.com>
30863
30864         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30865         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30866         * gst/gstpad.c: (gst_pad_peer_get_caps):
30867         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30868         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30869         (gst_queue_src_activate), (gst_queue_change_state):
30870         * gst/gstqueue.h:
30871         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30872         (intersect_caps_func):
30873         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30874         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30875         Some fixes for the peer_get_caps() change.
30876
30877 2005-05-06  Wim Taymans  <wim@fluendo.com>
30878
30879         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30880         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30881         (gst_basesink_activate):
30882         Actually do something with error codes returned from the push
30883         functions.
30884
30885 2005-05-06  Wim Taymans  <wim@fluendo.com>
30886
30887         * docs/design/part-element-sink.txt:
30888         * docs/design/part-element-source.txt:
30889         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30890         (gst_basesink_event), (gst_basesink_activate):
30891         * gst/base/gstbasesink.h:
30892         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30893         (gst_basesrc_activate):
30894         * gst/base/gstbasesrc.h:
30895         * gst/gstelement.c: (gst_element_pads_activate):
30896         Some more documentation.
30897         Fixed scheduling decision in _pads_activate().
30898
30899 2005-05-05  Andy Wingo  <wingo@pobox.com>
30900
30901         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30902         the test suite.
30903
30904 2005-05-05  Wim Taymans  <wim@fluendo.com>
30905
30906         * gst/base/Makefile.am:
30907         * gst/base/gstbasesink.h:
30908         * gst/base/gstbasesrc.c: (gst_basesrc_init),
30909         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30910         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30911         (gst_collectpads_class_init), (gst_collectpads_init),
30912         (gst_collectpads_finalize), (gst_collectpads_new),
30913         (gst_collectpads_set_function), (gst_collectpads_add_pad),
30914         (find_pad), (gst_collectpads_remove_pad),
30915         (gst_collectpads_is_active), (gst_collectpads_collect),
30916         (gst_collectpads_collect_range), (gst_collectpads_start),
30917         (gst_collectpads_stop), (gst_collectpads_peek),
30918         (gst_collectpads_pop), (gst_collectpads_available),
30919         (gst_collectpads_read), (gst_collectpads_flush),
30920         (gst_collectpads_chain):
30921         * gst/base/gstcollectpads.h:
30922         * gst/elements/Makefile.am:
30923         * gst/elements/gstelements.c:
30924         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30925         (gst_fakesink_get_times), (gst_fakesink_event),
30926         (gst_fakesink_preroll), (gst_fakesink_render):
30927         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30928         (gst_filesink_init), (gst_filesink_set_location),
30929         (gst_filesink_open_file), (gst_filesink_close_file),
30930         (gst_filesink_pad_query), (gst_filesink_event),
30931         (gst_filesink_render), (gst_filesink_change_state):
30932         * gst/elements/gstfilesink.h:
30933         Added object to help in making collect pad based elements.
30934         Ported filesink.
30935         Make event function in sink baseclass return gboolean.
30936
30937 2005-05-05  Wim Taymans  <wim@fluendo.com>
30938
30939         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30940         (gst_bin_get_by_name):
30941         * gst/gstbuffer.h:
30942         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30943         (gst_clock_finalize):
30944         * gst/gstdata.c: (gst_data_replace):
30945         * gst/gstdata.h:
30946         * gst/gstelement.c: (gst_element_request_pad),
30947         (gst_element_pads_activate):
30948         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30949         (gst_object_unref):
30950         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30951         (gst_pad_set_checkgetrange_function),
30952         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30953         (gst_pad_check_pull_range), (gst_pad_pull_range),
30954         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30955         (gst_pad_pause_task), (gst_pad_stop_task):
30956         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30957         (gst_element_request_pad), (gst_pad_proxy_getcaps):
30958         Fix name lookup in GstBin.
30959         Added _data_replace() function and _buffer_replace()
30960         Use finalize method to clean up clock.
30961         Fix refcounting on request pads.
30962         Fix pad schedule mode error.
30963         Some more object refcounting debug info,
30964
30965
30966 2005-05-04  Andy Wingo <wingo@pobox.com>
30967
30968         * check/Makefile.am:
30969         * docs/gst/tmpl/gstatomic.sgml:
30970         * docs/gst/tmpl/gstplugin.sgml:
30971         * gst/base/gstbasesink.c: (gst_basesink_activate):
30972         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30973         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30974         (gst_basesrc_query), (gst_basesrc_set_property),
30975         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30976         (gst_basesrc_activate):
30977         * gst/base/gstbasesrc.h:
30978         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30979         (gst_base_transform_src_activate):
30980         * gst/elements/gstelements.c:
30981         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30982         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30983         * gst/elements/gsttee.c: (gst_tee_sink_activate):
30984         * gst/elements/gsttypefindelement.c: (find_element_get_length),
30985         (gst_type_find_element_checkgetrange),
30986         (gst_type_find_element_activate):
30987         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30988         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30989         (gst_caps_load_thyself):
30990         * gst/gstelement.c: (gst_element_pads_activate),
30991         (gst_element_save_thyself), (gst_element_restore_thyself):
30992         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30993         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30994         * gst/gstpad.h:
30995         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30996         (gst_xml_parse_file), (gst_xml_parse_memory),
30997         (gst_xml_get_element), (gst_xml_make_element):
30998         * gst/indexers/gstfileindex.c: (gst_file_index_load),
30999         (_file_index_id_save_xml), (gst_file_index_commit):
31000         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
31001         (read_enum), (load_pad_template), (load_feature), (load_plugin),
31002         (load_paths):
31003         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
31004         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
31005         * tools/gst-complete.c: (main):
31006         * tools/gst-compprep.c: (main):
31007         * tools/gst-inspect.c: (print_element_properties_info):
31008         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
31009         * tools/gst-xmlinspect.c: (print_element_properties):
31010         GCC 4 fixen.
31011         
31012 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
31013
31014         * gst/gstplugin.c: (gst_plugin_check_module),
31015         (gst_plugin_check_file), (gst_plugin_load_file):
31016             apply patch from #172526 to make register work on MacOSX
31017
31018 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
31019
31020         * docs/gst/tmpl/gstconfig.sgml:
31021         * gst/gstconfig.h.in:
31022           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
31023         * testsuite/debug/printf_extension.c: (main):
31024           Do not use GST_PTR_FORMAT on pointers to types with
31025           sizeof < sizeof(gpointer).  Fixes test on 64-bit
31026         * testsuite/elements/property.h:
31027           use correct printf format
31028
31029 2005-05-02  Wim Taymans  <wim@fluendo.com>
31030
31031         * docs/design/draft-push-pull.txt:
31032         * docs/design/draft-query.txt:
31033         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
31034         (gst_basesrc_start):
31035         Added draft for new query API.
31036         Added draft for better selecting scheduling methods.
31037         Make basesrc ignore length if the subclass does not support
31038         it.
31039
31040 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
31041
31042         * gst/Makefile.am:
31043           possible fixes for automake-1.5 - _LIBADD is reserved
31044
31045 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
31046
31047         * docs/faq/Makefile.am:
31048         * docs/manual/Makefile.am:
31049         * docs/manuals.mak:
31050         * docs/pwg/Makefile.am:
31051         * gst/Makefile.am:
31052           possible fixes for automake-1.5
31053
31054 2005-04-28  Wim Taymans  <wim@fluendo.com>
31055
31056         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31057         (gst_basesink_pad_getcaps), (gst_basesink_init),
31058         (gst_basesink_do_sync):
31059         * gst/gstclock.c: (gst_clock_entry_new):
31060         * gst/gstevent.c: (gst_event_discont_get_value):
31061         * gst/gstpipeline.c: (pipeline_bus_handler),
31062         (gst_pipeline_change_state):
31063         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
31064         Better debugging of clocking info.
31065         Allow NULL values when getting discont values.
31066
31067 2005-04-27  Wim Taymans  <wim@fluendo.com>
31068
31069         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31070         * check/gst/gstpad.c: (gst_pad_suite):
31071         Increase timeout for checks.
31072
31073 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
31074
31075         * check/Makefile.am:
31076           fix the broken rule for cleanup.  Apparently this rule is
31077           only needed on FC2, so maybe this warrants further autotool
31078           inspection.
31079
31080 2005-04-26  Wim Taymans  <wim@fluendo.com>
31081
31082         * gst/gsttrashstack.h:
31083         Ooohh. a nasty one! After having a failed pop() from the stack,
31084         it's possible that the stack is empty. In that case, don't
31085         follow the NULL pointer.
31086
31087 2005-04-25  Wim Taymans  <wim@fluendo.com>
31088
31089         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31090         (gst_pad_set_checkgetrange_function),
31091         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
31092         (gst_pad_check_pull_range), (gst_pad_pull_range),
31093         (gst_static_pad_template_get_caps), (gst_pad_start_task),
31094         (gst_pad_pause_task), (gst_pad_stop_task):
31095         * gst/gstplugin.c: (gst_plugin_load):
31096         * gst/gstplugin.h:
31097         Remove gst_library_load as it does more harm than good with
31098         the new g_module flags.
31099         Revert bogus caps template check in pad linking, pad caps
31100         are important when linking not the template, which is more
31101         general than the current caps.
31102
31103 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31104
31105         * gst/autoplug/.cvsignore:
31106         * gst/autoplug/Makefile.am:
31107         * gst/autoplug/gstsearchfuncs.c:
31108         * gst/autoplug/gstsearchfuncs.h:
31109         * gst/autoplug/gstspider.c:
31110         * gst/autoplug/gstspider.h:
31111         * gst/autoplug/gstspideridentity.c:
31112         * gst/autoplug/gstspideridentity.h:
31113         * gst/autoplug/spidertest.c:
31114           Die, spider, die.
31115
31116 2005-04-25  Wim Taymans  <wim@fluendo.com>
31117
31118         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31119         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
31120         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
31121         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
31122         * gst/gstpad.h:
31123         Added stubs for unimplemented functions. 
31124
31125 2005-04-24  David Schleef  <ds@schleef.org>
31126
31127         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
31128         please fix.
31129
31130 2005-04-24  David Schleef  <ds@schleef.org>
31131
31132         Convert everything from GstAtomicInt to g_atomic_int_*, and
31133         remove gstatomic.
31134         * gst/Makefile.am:
31135         * gst/gstatomic.c:
31136         * gst/gstatomic.h:
31137         * gst/gstatomic_impl.h:
31138         * gst/gstbuffer.c:
31139         * gst/gstcaps.c:
31140         * gst/gstcaps.h:
31141         * gst/gstclock.c:
31142         * gst/gstclock.h:
31143         * gst/gstdata.c:
31144         * gst/gstdata.h:
31145         * gst/gstdata_private.h:
31146         * gst/gstevent.c:
31147         * gst/gstinfo.c:
31148         * gst/gstinfo.h:
31149         * gst/gstmessage.c:
31150         * gst/gstobject.c:
31151         * gst/gstobject.h:
31152         * gst/gststructure.c:
31153         * gst/gststructure.h:
31154         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
31155         * gst/gstutils.h:
31156
31157 2005-04-24  David Schleef  <ds@schleef.org>
31158
31159         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
31160         make the regressions tests work.  Remove some code that is no
31161         longer true.
31162         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
31163         Disable warning for pads without templates.
31164
31165 2005-04-24  David Schleef  <ds@schleef.org>
31166
31167         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
31168         functions that handle filtered links.
31169         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
31170         removed functions.
31171         * gst/gstutils.c: Fix/remove utility functions that handle
31172         filtered caps.
31173         * gst/gstutils.h:
31174         * gst/gstvalue.c: Add serialization/deserialization of caps
31175         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
31176         requires fixing so that the filter caps notation creates
31177         a capsfilter element and sets the filter_caps property.  I
31178         think everyone probably wants to keep the shorthand notation.
31179         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
31180         * docs/gst/tmpl/gstpad.sgml:
31181
31182         * gst/elements/gstelements.c: Register capsfilter element.
31183         * gst/Makefile.am: fix spacing
31184         * docs/random/ds/0.9-suggested-changes: random
31185
31186 2005-04-23  David Schleef  <ds@schleef.org>
31187
31188         * gst/elements/Makefile.am:
31189         * gst/elements/gstcapsfilter.c: New element that acts like an
31190         identity, but filters caps.  Will eventually replace filtered
31191         caps in pad linking.
31192         * gst/gstutils.c: (gst_element_create_all_pads): New function
31193         to create all the ALWAYS pads that are registered with an
31194         element class.  This functionality should eventually be
31195         merged in with GstElement initialization.
31196         * gst/gstutils.h:
31197         * testsuite/trigger/README: part of trigger test code that should
31198         have been checked in a long time ago.
31199
31200 2005-04-23  David Schleef  <ds@schleef.org>
31201
31202         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
31203         needed with new versions of libtool (nobody will confirm this),
31204         and hard to carry around.
31205         * gst/autoplug/Makefile.am:
31206         * gst/base/Makefile.am:
31207         * gst/elements/Makefile.am:
31208         * gst/indexers/Makefile.am:
31209         * gst/schedulers/Makefile.am:
31210         * libs/gst/bytestream/Makefile.am:
31211         * libs/gst/control/Makefile.am:
31212         * libs/gst/dataprotocol/Makefile.am:
31213         * libs/gst/getbits/Makefile.am:
31214
31215 2005-04-21  Wim Taymans  <wim@fluendo.com>
31216
31217         * docs/design/draft-push-pull.txt:
31218         * docs/design/part-MT-refcounting.txt:
31219         * docs/design/part-TODO.txt:
31220         * docs/design/part-caps.txt:
31221         * docs/design/part-events.txt:
31222         * docs/design/part-gstbus.txt:
31223         * docs/design/part-gstpipeline.txt:
31224         * docs/design/part-messages.txt:
31225         * docs/design/part-push-pull.txt:
31226         * docs/design/part-query.txt:
31227         Some more docs.
31228
31229 2005-04-21  Wim Taymans  <wim@fluendo.com>
31230
31231         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
31232         (gst_message_new), (gst_message_new_error),
31233         (gst_message_new_warning), (gst_message_new_tag),
31234         (gst_message_new_state_changed), (gst_message_new_application),
31235         (gst_message_get_structure):
31236         * gst/gstmessage.h:
31237         * gst/gststructure.c: (gst_structure_set_parent_refcount),
31238         (gst_structure_copy_conditional):
31239         Use parent refcount in GstMessage to ensure GstStructure
31240         consistency.
31241         Cleaned up headers a bit.
31242         
31243
31244 2005-04-20  Wim Taymans  <wim@fluendo.com>
31245
31246         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31247         (gst_basesink_pad_getcaps), (gst_basesink_init),
31248         (gst_basesink_chain_unlocked):
31249         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
31250         (gst_type_find_helper):
31251         * gst/elements/gsttypefindelement.c:
31252         (gst_type_find_element_have_type), (gst_type_find_element_init),
31253         (stop_typefinding), (gst_type_find_element_handle_event),
31254         (find_suggest), (gst_type_find_element_chain),
31255         (gst_type_find_element_checkgetrange),
31256         (gst_type_find_element_getrange), (do_typefind),
31257         (gst_type_find_element_activate):
31258         * gst/gstbuffer.c: (_gst_buffer_sub_free),
31259         (gst_buffer_default_free), (gst_buffer_default_copy),
31260         (gst_buffer_set_caps):
31261         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
31262         (gst_caps_replace):
31263         * gst/gstmessage.c: (gst_message_new),
31264         (gst_message_new_state_changed):
31265         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31266         (gst_pad_set_checkgetrange_function),
31267         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
31268         (gst_pad_set_caps), (gst_pad_check_pull_range),
31269         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
31270         * gst/gstpad.h:
31271         * gst/gsttypefind.c: (gst_type_find_register):
31272         Make gst_caps_replace() work like other _replace() functions.
31273         Use _caps_replace() where possible.
31274         Make sure _message_new() initialises its field.
31275         Add gst_static_pad_template_get_caps()
31276
31277
31278 2005-04-18  Andy Wingo  <wingo@pobox.com>
31279
31280         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
31281         on the peer, not the pad. I think that was a typo. Pass an extra
31282         arg to see if random access is possible. Activate the pads as
31283         PULL_RANGE if possible.
31284
31285         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
31286
31287         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
31288         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
31289         to PROP_....
31290
31291 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31292
31293         * docs/faq/using.xml:
31294           Add note on gstreamer-properties (#154996).
31295
31296 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31297
31298         * docs/random/bbb/optional-properties:
31299           Some analysis on optional properties.
31300
31301 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31302
31303         * docs/gst/tmpl/gstelementfactory.sgml:
31304         * gst/gstelement.h:
31305         * gst/gstelementfactory.c: (gst_element_factory_init),
31306         (gst_element_factory_cleanup), (gst_element_register),
31307         (__gst_element_factory_add_static_pad_template),
31308         (gst_element_factory_get_static_pad_templates),
31309         (gst_element_factory_can_src_caps),
31310         (gst_element_factory_can_sink_caps):
31311         * gst/registries/Makefile.am:
31312         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
31313         (gst_xml_registry_class_init), (gst_xml_registry_init),
31314         (gst_xml_registry_new), (gst_xml_registry_set_property),
31315         (gst_xml_registry_get_property), (get_time), (make_dir),
31316         (gst_xml_registry_get_perms_func),
31317         (plugin_times_older_than_recurse), (plugin_times_older_than),
31318         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
31319         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
31320         (add_to_char_array), (read_string), (read_uint), (read_enum),
31321         (load_pad_template), (load_feature), (load_plugin), (load_paths),
31322         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
31323         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
31324         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
31325         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
31326         (gst_xml_registry_rebuild):
31327         * gst/registries/gstlibxmlregistry.h:
31328         * tools/gst-compprep.c: (main):
31329         * tools/gst-inspect.c: (print_pad_templates_info):
31330         * tools/gst-xmlinspect.c: (print_element_info):
31331           Use libxml2 for registry parsing, use staticpadtemplates in
31332           elementfactories. Makes gst_init() +/- 10x faster.
31333
31334 2005-04-12  Wim Taymans  <wim@fluendo.com>
31335
31336         * gst/base/Makefile.am:
31337         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31338         (gst_basesink_pad_getcaps), (gst_basesink_init),
31339         (gst_basesink_event), (gst_basesink_change_state):
31340         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31341         (gst_basesrc_init), (gst_basesrc_query),
31342         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31343         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31344         (gst_basesrc_check_get_range), (gst_basesrc_loop),
31345         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31346         (gst_basesrc_stop), (gst_basesrc_activate),
31347         (gst_basesrc_change_state):
31348         * gst/base/gsttypefindhelper.c: (helper_find_peek),
31349         (helper_find_suggest), (gst_type_find_helper):
31350         * gst/base/gsttypefindhelper.h:
31351         * gst/elements/Makefile.am:
31352         * gst/elements/gstelements.c:
31353         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
31354         (gst_fakesink_get_times), (gst_fakesink_event),
31355         (gst_fakesink_preroll), (gst_fakesink_render):
31356         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31357         (gst_fakesrc_init), (gst_fakesrc_event_handler),
31358         (gst_fakesrc_get_property), (gst_fakesrc_create),
31359         (gst_fakesrc_start), (gst_fakesrc_stop):
31360         * gst/elements/gstfakesrc.h:
31361         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
31362         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31363         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31364         (gst_filesrc_create_read), (gst_filesrc_create),
31365         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
31366         (gst_filesrc_start):
31367         * gst/elements/gsttypefindelement.c:
31368         (gst_type_find_element_have_type), (gst_type_find_element_init),
31369         (start_typefinding), (stop_typefinding), (push_buffer_store),
31370         (gst_type_find_element_handle_event),
31371         (gst_type_find_element_chain),
31372         (gst_type_find_element_checkgetrange),
31373         (gst_type_find_element_getrange), (do_typefind),
31374         (gst_type_find_element_activate),
31375         (gst_type_find_element_change_state):
31376         * gst/elements/gsttypefindelement.h:
31377         * gst/gstpipeline.c: (pipeline_bus_handler):
31378         Added typefind helper.
31379         Small preroll fix in the base sink.
31380         Disable typefind code in basesrc.
31381         Crude port of typefindelement.
31382         Fakesrc cleanups.
31383
31384
31385 2005-04-11  Wim Taymans  <wim@fluendo.com>
31386
31387         * check/gst/gstbus.c: (gstbus_suite):
31388         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
31389         * check/gstcheck.h:
31390           Fix up the timeout so that the test does not fail.
31391
31392 2005-04-06  Wim Taymans  <wim@fluendo.com>
31393
31394         * gst/base/README:
31395         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31396         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
31397         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31398         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31399         (gst_basesrc_check_get_range), (gst_basesrc_loop),
31400         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31401         (gst_basesrc_stop), (gst_basesrc_activate),
31402         (gst_basesrc_change_state), (basesrc_find_peek),
31403         (basesrc_find_suggest), (gst_basesrc_type_find):
31404         * gst/base/gstbasesrc.h:
31405         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
31406         (gst_filesrc_class_init), (gst_filesrc_init),
31407         (gst_filesrc_finalize), (gst_filesrc_set_location),
31408         (gst_filesrc_set_property), (gst_filesrc_get_property),
31409         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31410         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31411         (gst_filesrc_create_read), (gst_filesrc_create),
31412         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
31413         * gst/elements/gstfilesrc.h:
31414         * gst/gstelement.c: (gst_element_get_state_func),
31415         (gst_element_lost_state), (gst_element_pads_activate):
31416         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31417         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
31418         (gst_pad_pull_range):
31419         * gst/gstpad.h:
31420         More work on the generic source base class, implement seeking,
31421         query.
31422         Make filesrc extend the base source class.
31423         Added gst_pad_set_checkgetrange_function to GstPad.
31424
31425 2005-04-06  Andy Wingo  <wingo@pobox.com>
31426
31427         * pkgconfig/gstreamer-base.pc.in:
31428         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
31429
31430         * pkgconfig/Makefile.am:
31431         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
31432
31433 2005-04-04  Wim Taymans  <wim@fluendo.com>
31434
31435         * gst/base/Makefile.am:
31436         * gst/base/README:
31437         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31438         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31439         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31440         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
31441         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31442         (gst_basesrc_base_init), (gst_basesrc_class_init),
31443         (gst_basesrc_init), (gst_basesrc_get_formats),
31444         (gst_basesrc_get_query_types), (gst_basesrc_query),
31445         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
31446         (gst_basesrc_set_property), (gst_basesrc_get_property),
31447         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
31448         (gst_basesrc_loop), (gst_basesrc_activate),
31449         (gst_basesrc_change_state):
31450         * gst/base/gstbasesrc.h:
31451         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
31452         (gst_fakesrc_class_init), (gst_fakesrc_init),
31453         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
31454         (gst_fakesrc_get_property), (gst_fakesrc_create):
31455         * gst/elements/gstfakesrc.h:
31456         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
31457         (gst_filesrc_open_file), (gst_filesrc_loop),
31458         (gst_filesrc_activate), (filesrc_find_peek),
31459         (gst_filesrc_type_find):
31460         Made base source class, make fakesrc extend it.
31461         Add comments to basesink class.
31462         Some filesrc cleanup.
31463
31464 2005-03-31  David Schleef  <ds@schleef.org>
31465
31466         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
31467         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
31468         expected to link against libgstreamer.
31469         * gst/base/Makefile.am: link against libgstreamer
31470         * gst/elements/Makefile.am: same
31471
31472 2005-03-31  Andy Wingo  <wingo@pobox.com>
31473
31474         * tests/instantiate/Makefile.am:
31475         * tests/instantiate/caps.c: Add test to test speed of caps copy
31476         and free.
31477
31478         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
31479         GMemChunk to be fair.
31480
31481         * gst/gsttrashstack.h: Remove warning about using the fallback
31482         trash stack implementation, it's still faster than malloc.
31483
31484 2005-03-30  Andy Wingo  <wingo@pobox.com>
31485
31486         * tests/complexity.c: Add a copyright.
31487
31488 2005-03-31  Wim Taymans  <wim@fluendo.com>
31489
31490         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
31491         (gst_base_transform_class_init), (gst_base_transform_init),
31492         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
31493         (gst_base_transform_get_property),
31494         (gst_base_transform_sink_activate),
31495         (gst_base_transform_src_activate),
31496         (gst_base_transform_change_state):
31497         * gst/base/gstbasetransform.h:
31498         * gst/elements/gstidentity.c: (gst_identity_class_init),
31499         (gst_identity_event), (gst_identity_check_perfect),
31500         (gst_identity_transform), (gst_identity_start),
31501         (gst_identity_stop):
31502         Added start/stop methods to transform base class so subclasses 
31503         don't need to deal with state changes even.
31504
31505 2005-03-31  Wim Taymans  <wim@fluendo.com>
31506
31507         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
31508         (gst_event_new_discontinuous), (gst_event_discont_get_value):
31509         * gst/gstevent.h:
31510         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31511         (gst_pad_pull_range):
31512         Added rate to the discont event to prepare for variable speed
31513         and reverse playback.
31514
31515 2005-03-29  David Schleef  <ds@schleef.org>
31516
31517         * configure.ac:
31518         * testsuite/trigger/Makefile.am:
31519         * testsuite/trigger/trigger.c: A little example program to show
31520         how trigger-based elements can work.
31521
31522 2005-03-29  Wim Taymans  <wim@fluendo.com>
31523
31524         * gst/base/Makefile.am:
31525         * gst/base/README:
31526         * gst/base/gstbasesink.c: (gst_basesink_get_type),
31527         (gst_basesink_base_init), (gst_basesink_class_init),
31528         (gst_basesink_pad_getcaps), (gst_basesink_init),
31529         (gst_basesink_activate), (gst_basesink_change_state):
31530         * gst/base/gstbasesink.h:
31531         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
31532         (gst_base_transform_base_init), (gst_base_transform_finalize),
31533         (gst_base_transform_class_init), (gst_base_transform_init),
31534         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
31535         (gst_base_transform_event), (gst_base_transform_getrange),
31536         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
31537         (gst_base_transform_set_property),
31538         (gst_base_transform_get_property),
31539         (gst_base_transform_sink_activate),
31540         (gst_base_transform_src_activate),
31541         (gst_base_transform_change_state):
31542         * gst/base/gstbasetransform.h:
31543         * gst/elements/gstidentity.c: (gst_identity_finalize),
31544         (gst_identity_class_init), (gst_identity_init),
31545         (gst_identity_event), (gst_identity_check_perfect),
31546         (gst_identity_transform), (gst_identity_set_property),
31547         (gst_identity_get_property), (gst_identity_change_state):
31548         * gst/elements/gstidentity.h:
31549         * gst/gstelement.c: (gst_element_get_state_func),
31550         (gst_element_lost_state), (gst_element_pads_activate):
31551         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31552         (gst_pad_check_pull_range), (gst_pad_pull_range):
31553         * gst/gstpad.h:
31554         Simplify pad activation.
31555         Added function to check if pull_range can be performed.
31556         Error out when pulling inactive or flushing pads.
31557         Removed const from refcounted types as it does not make sense.
31558         Simplify pad templates in basesink
31559         Added base class for simple 1-to-1 transforms.
31560         Make identity subclass the base transform.
31561
31562 2005-03-29  Andy Wingo  <wingo@pobox.com>
31563
31564         * docs/libs/gstreamer-libs-overrides.txt: 
31565         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31566         really don't understand what's going on, but like whatever. I want
31567         green buildbot!
31568
31569         * docs/gst/Makefile.am:
31570         * docs/libs/Makefile.am: Dist the overrides files.
31571
31572         * check/Makefile.am (clean-local): Remove .libs directories.
31573
31574         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31575         elements to EXTRA_DIST, so po/ files are happy.
31576
31577         * po/POTFILES.in: Er, remove it here.
31578
31579         * po/POTFILES: Remove gstspider.c.
31580
31581         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31582
31583         * docs/libs/gstreamer-libs-docs.sgml: 
31584         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31585         bytestream.
31586
31587         * tests/complexity.c (main): Set the length of the preroll queue
31588         on the sinks to prevent a lockup.
31589
31590         * libs/gst/dataprotocol/Makefile.am: 
31591         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31592         the same as the one in check/gst-libs/gdp.c.
31593
31594         * po/, docs/gst/: Commit automatic changes to docs and po files.
31595
31596         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31597         the versioned libgstbase.
31598
31599         * check/Makefile.am: Depend on an unversioned gst-register, seems
31600         to make autoconf happier.
31601
31602         * gst/base/Makefile.am: Make libgstbase a versioned lib.
31603
31604 2005-03-28  Wim Taymans  <wim@fluendo.com>
31605
31606         * configure.ac:
31607         * docs/design/part-gstelement.txt:
31608         * docs/design/part-negotiation.txt:
31609         * docs/design/part-preroll.txt:
31610         * docs/design/part-scheduling.txt:
31611         * docs/design/part-states.txt:
31612         * gst/Makefile.am:
31613         * gst/base/Makefile.am:
31614         * gst/base/README:
31615         * gst/base/gstbasesink.c: (gst_basesink_get_template),
31616         (gst_basesink_base_init), (gst_basesink_class_init),
31617         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31618         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31619         (gst_basesink_set_pad_functions),
31620         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31621         (gst_basesink_set_property), (gst_basesink_get_property),
31622         (gst_base_sink_get_template), (gst_base_sink_get_caps),
31623         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31624         (gst_basesink_preroll_queue_push),
31625         (gst_basesink_preroll_queue_empty),
31626         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31627         (gst_basesink_event), (gst_basesink_get_times),
31628         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31629         (gst_basesink_chain_unlocked), (gst_basesink_chain),
31630         (gst_basesink_loop), (gst_basesink_activate),
31631         (gst_basesink_change_state):
31632         * gst/base/gstbasesink.h:
31633         * gst/elements/Makefile.am:
31634         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31635         (gst_fakesink_class_init), (gst_fakesink_init),
31636         (gst_fakesink_set_property), (gst_fakesink_get_property),
31637         (gst_fakesink_get_times), (gst_fakesink_event),
31638         (gst_fakesink_preroll), (gst_fakesink_render),
31639         (gst_fakesink_change_state):
31640         * gst/elements/gstfakesink.h:
31641         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31642         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31643         * gst/gstelement.c: (gst_element_add_pad),
31644         (gst_element_get_state_func), (gst_element_abort_state),
31645         (gst_element_commit_state), (gst_element_lost_state),
31646         (gst_element_set_state), (gst_element_pads_activate):
31647         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31648         * gst/gstpipeline.c: (gst_pipeline_send_event),
31649         (gst_pipeline_change_state):
31650         Added state change code.
31651         Added/updated docs.
31652         Added sink base class, make fakesink extend the base class.
31653         Small cleanups in GstPipeline.
31654
31655 2005-03-26  David Schleef  <ds@schleef.org>
31656
31657         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
31658         is broken and should be implemented in a different library.
31659         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31660         * gst/gst.h: remove gstcpu.h
31661         * gst/gstcpu.c: remove
31662         * gst/gstcpu.h: remove
31663         * gst/Makefile.am.future: Remove this file.  It's ancient.
31664
31665 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31666
31667         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31668         (gst_bin_send_event):
31669           Add default event/set_manager handlers. The set_manager handler
31670           takes care that the manager is distributed over kids that were
31671           already in the bin before the manager was set. The event handler
31672           is a utility virtual function that sends the event over all sinks,
31673           so that gst_element_send_event (bin, event); has the expected
31674           behaviour.
31675         * gst/gstpad.c: (gst_pad_event_default):
31676           Re-install default event handling for discontinuities, so that
31677           seeking works without requiring hacks in applications or extra
31678           code in sinks.
31679         * gst/gstpipeline.c: (gst_pipeline_class_init),
31680         (gst_pipeline_send_event):
31681           Half hack, half utility: set a pipeline to PAUSED for seek events,
31682           since that is the only way we can guarantee a/v sync. Means that
31683           you can do gst_element_seek (pipeline, method, pos); on a pipeline
31684           and it "just works".
31685
31686 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31687
31688         * gst/gstpipeline.c: (gst_pipeline_use_clock):
31689           Lock/unlock mismatch.
31690
31691 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
31692
31693         * docs/faq/gst-uninstalled:
31694           add gst-plugins-base
31695         * docs/gst/Makefile.am:
31696           don't error out until docs are fixed
31697         * docs/gst/gstreamer.types:
31698           remove thread
31699
31700 2005-03-22  Wim Taymans  <wim@fluendo.com>
31701
31702         * check/Makefile.am:
31703         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31704         * gst/gststructure.c: (gst_structure_set_valist),
31705         (gst_structure_copy_conditional):
31706         Activated more tests.
31707         Added message test.
31708         Added G_TYPE_POINTER to GstStructure.
31709         
31710
31711 2005-03-22  Wim Taymans  <wim@fluendo.com>
31712
31713         * docs/design/part-TODO.txt:
31714         * docs/design/part-events.txt:
31715         * docs/design/part-gstbin.txt:
31716         * docs/design/part-gstbus.txt:
31717         * docs/design/part-gstpipeline.txt:
31718         * docs/design/part-messages.txt:
31719         * gst/gstbus.c:
31720         * gst/gstmessage.c:
31721         Docs updates
31722
31723 2005-03-21  Wim Taymans  <wim@fluendo.com>
31724
31725         * gst/gstbus.c: (gst_bus_post):
31726         Fix copy-and-paste error.
31727
31728 2005-03-21  Wim Taymans  <wim@fluendo.com>
31729
31730         * check/Makefile.am:
31731         * gst/Makefile.am:
31732         * gst/elements/Makefile.am:
31733         * gst/elements/gstelements.c:
31734         * gst/elements/gstfakesink.c: (gst_fakesink_init),
31735         (gst_fakesink_event), (gst_fakesink_chain):
31736         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31737         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31738         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31739         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31740         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31741         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31742         (gst_fakesrc_loop), (gst_fakesrc_activate),
31743         (gst_fakesrc_change_state):
31744         * gst/elements/gstfakesrc.h:
31745         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31746         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31747         (gst_filesrc_open_file), (gst_filesrc_loop),
31748         (gst_filesrc_activate), (gst_filesrc_change_state),
31749         (filesrc_find_peek), (filesrc_find_suggest),
31750         (gst_filesrc_type_find):
31751         * gst/elements/gstidentity.c: (gst_identity_finalize),
31752         (gst_identity_class_init), (gst_identity_init),
31753         (gst_identity_proxy_getcaps), (identity_queue_push),
31754         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31755         (gst_identity_getrange), (gst_identity_chain),
31756         (gst_identity_sink_loop), (gst_identity_src_loop),
31757         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31758         (gst_identity_set_property), (gst_identity_get_property),
31759         (gst_identity_change_state):
31760         * gst/elements/gstidentity.h:
31761         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31762         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31763         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31764         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31765         (gst_tee_sink_activate):
31766         * gst/elements/gsttee.h:
31767         * gst/gst.c: (gst_register_core_elements), (init_post):
31768         * gst/gst.h:
31769         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31770         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31771         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31772         (gst_bin_change_state):
31773         * gst/gstbin.h:
31774         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31775         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31776         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31777         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31778         (gst_bus_set_sync_handler), (gst_bus_create_watch),
31779         (bus_watch_callback), (bus_watch_destroy),
31780         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31781         (poll_timeout), (gst_bus_poll):
31782         * gst/gstbus.h:
31783         * gst/gstcaps.h:
31784         * gst/gstdata.h:
31785         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31786         (gst_element_post_message), (gst_element_message_full),
31787         (gst_element_get_state_func), (gst_element_get_state),
31788         (gst_element_abort_state), (gst_element_commit_state),
31789         (gst_element_lost_state), (gst_element_set_state),
31790         (gst_element_pads_activate), (gst_element_change_state),
31791         (gst_element_dispose), (gst_element_set_manager_func),
31792         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31793         (gst_element_set_manager), (gst_element_get_manager),
31794         (gst_element_set_bus), (gst_element_get_bus),
31795         (gst_element_set_scheduler), (gst_element_get_scheduler):
31796         * gst/gstelement.h:
31797         * gst/gstevent.c: (gst_event_new_segment_seek),
31798         (gst_event_new_flush):
31799         * gst/gstevent.h:
31800         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31801         (_gst_message_free), (gst_message_get_type), (gst_message_new),
31802         (gst_message_new_eos), (gst_message_new_error),
31803         (gst_message_new_warning), (gst_message_new_tag),
31804         (gst_message_new_state_changed), (gst_message_new_application),
31805         (gst_message_get_structure), (gst_message_parse_tag),
31806         (gst_message_parse_state_changed), (gst_message_parse_error),
31807         (gst_message_parse_warning):
31808         * gst/gstmessage.h:
31809         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31810         (gst_real_pad_set_property), (gst_pad_set_active),
31811         (gst_pad_is_active), (gst_pad_set_blocked_async),
31812         (gst_pad_set_blocked), (gst_pad_is_blocked),
31813         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31814         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31815         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31816         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31817         (gst_pad_link_filtered), (gst_pad_relink_filtered),
31818         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31819         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31820         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31821         (gst_pad_set_caps), (gst_pad_configure_sink),
31822         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31823         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31824         (gst_real_pad_dispose), (gst_real_pad_finalize),
31825         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31826         (gst_pad_event_default_dispatch), (gst_pad_event_default),
31827         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31828         * gst/gstpad.h:
31829         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31830         (pipeline_bus_handler), (gst_pipeline_change_state),
31831         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31832         * gst/gstpipeline.h:
31833         * gst/gstprobe.h:
31834         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31835         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31836         (gst_queue_link_src), (gst_queue_bufferalloc),
31837         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31838         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31839         (gst_queue_loop), (gst_queue_handle_src_event),
31840         (gst_queue_handle_src_query), (gst_queue_src_activate),
31841         (gst_queue_change_state):
31842         * gst/gstqueue.h:
31843         * gst/gstscheduler.c: (gst_scheduler_init),
31844         (gst_scheduler_dispose), (gst_scheduler_create_task),
31845         (gst_scheduler_factory_create):
31846         * gst/gstscheduler.h:
31847         * gst/gststructure.c: (gst_structure_get_type),
31848         (gst_structure_copy_conditional):
31849         * gst/gststructure.h:
31850         * gst/gsttaginterface.h:
31851         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31852         (gst_task_init), (gst_task_dispose), (gst_task_create),
31853         (gst_task_get_state), (gst_task_start), (gst_task_stop),
31854         (gst_task_pause):
31855         * gst/gsttask.h:
31856         * gst/gstthread.c:
31857         * gst/gstthread.h:
31858         * gst/gsttypes.h:
31859         * gst/schedulers/Makefile.am:
31860         * gst/schedulers/cothreads_compat.h:
31861         * gst/schedulers/entryscheduler.c:
31862         * gst/schedulers/faircothreads.c:
31863         * gst/schedulers/faircothreads.h:
31864         * gst/schedulers/fairscheduler.c:
31865         * gst/schedulers/gstbasicscheduler.c:
31866         * gst/schedulers/gstoptimalscheduler.c:
31867         * gst/schedulers/gthread-cothreads.h:
31868         * gst/schedulers/threadscheduler.c:
31869         (gst_thread_scheduler_task_get_type),
31870         (gst_thread_scheduler_task_class_init),
31871         (gst_thread_scheduler_task_init),
31872         (gst_thread_scheduler_task_start),
31873         (gst_thread_scheduler_task_stop),
31874         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31875         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31876         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31877         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31878         (plugin_init):
31879         * libs/gst/Makefile.am:
31880         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31881         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31882         (gst_file_pad_parent_set):
31883         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31884         (gst_dp_event_from_packet):
31885         * tests/complexity.c: (main):
31886         * tests/mass_elements.c: (main):
31887         * testsuite/states/locked.c: (message_received), (main):
31888         * testsuite/states/parent.c: (main):
31889         * tools/gst-inspect.c: (print_element_flag_info),
31890         (print_implementation_info), (print_pad_info):
31891         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31892         (main):
31893         * tools/gst-md5sum.c: (event_loop), (main):
31894         * tools/gst-typefind.c: (main):
31895         * tools/gst-xmlinspect.c: (print_element_info):
31896         Next big merge.
31897         Added GstBus for mainloop integration.
31898         Added GstMessage for sending notifications on the bus.
31899         Added GstTask as an abstraction for pipeline entry points.
31900         Removed GstThread.
31901         Removed Schedulers.
31902         Simplified GstQueue for multithreaded core.
31903         Made _link threadsafe, removed old capsnego.
31904         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31905         Added pad blocking functions.
31906         Reworked scheduling functions in GstPad to prepare for
31907         scheduling updates soon.
31908         Moved events out of data stream.
31909         Simplified GstEvent types.
31910         Added return values to push/pull.
31911         Removed clocking from GstElement.
31912         Added prototypes for state change function for next merge.
31913         Removed iterate from bins and state change management.
31914         Fixed some elements, disabled others for now.
31915         Fixed -inspect and -launch.
31916         Added check for GstBus.
31917
31918 2005-03-10  Wim Taymans  <wim@fluendo.com>
31919
31920         * docs/design/part-MT-refcounting.txt:
31921         * docs/design/part-clocks.txt:
31922         * docs/design/part-gstelement.txt:
31923         * docs/design/part-gstobject.txt:
31924         * docs/design/part-standards.txt:
31925         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31926         (gst_bin_remove_func), (gst_bin_remove):
31927         * gst/gstbin.h:
31928         * gst/gstbuffer.c:
31929         * gst/gstcaps.h:
31930         * testsuite/clock/clock1.c: (main):
31931         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31932         (main):
31933         * testsuite/dlopen/loadgst.c: (do_test):
31934         * testsuite/refcounting/bin.c: (add_remove_test1),
31935         (add_remove_test2), (main):
31936         * testsuite/refcounting/element.c: (main):
31937         * testsuite/refcounting/element_pad.c: (main):
31938         * testsuite/refcounting/pad.c: (main):
31939         * tools/gst-launch.c: (sigint_handler_sighandler):
31940         * tools/gst-typefind.c: (main):
31941         Doc updates.
31942         Added doc about clock.
31943         removed gst_bin_iterate_recurse_up(), marked methods
31944         for removal.
31945         Fix more testsuites.
31946
31947 2005-03-09  Wim Taymans  <wim@fluendo.com>
31948
31949         * gst/gstpad.c: (gst_pad_get_direction),
31950         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31951         (gst_pad_collect_valist):
31952         * testsuite/bins/interface.c: (main):
31953         * testsuite/caps/audioscale.c: (test_caps):
31954         * testsuite/caps/caps.c: (test1), (test2), (test3):
31955         * testsuite/caps/deserialize.c: (main):
31956         * testsuite/caps/enumcaps.c: (main):
31957         * testsuite/caps/filtercaps.c: (main):
31958         * testsuite/caps/intersect2.c: (main):
31959         * testsuite/caps/random.c: (main):
31960         * testsuite/caps/renegotiate.c: (my_fixate), (main):
31961         * testsuite/caps/sets.c: (check_caps):
31962         * testsuite/caps/simplify.c: (check_caps), (main):
31963         * testsuite/caps/subtract.c: (check_caps):
31964         Fix _pad_get_direction wrt ghostpads.
31965         Fix caps testsuite.
31966
31967 2005-03-09  Wim Taymans  <wim@fluendo.com>
31968
31969         * check/Makefile.am:
31970         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31971         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31972         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31973         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31974         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31975         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31976         (gst_bin_remove), (gst_bin_iterate_recurse_up),
31977         (bin_element_is_sink), (gst_bin_iterate_sinks),
31978         (gst_bin_iterate_all_by_interface):
31979         * gst/gstbin.h:
31980         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31981         (gst_element_change_state), (gst_element_dispose),
31982         (gst_element_finalize), (gst_element_set_loop_function):
31983         * gst/gstelement.h:
31984         * gst/gstiterator.c: (find_custom_fold_func):
31985         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31986         (gst_pad_collectv), (gst_pad_collect_valist),
31987         (gst_pad_template_new):
31988         * gst/gstpipeline.c: (gst_pipeline_class_init),
31989         (gst_pipeline_dispose), (gst_pipeline_set_property),
31990         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31991         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31992         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31993         * gst/gstutils.h:
31994         * gst/schedulers/entryscheduler.c:
31995         * gst/schedulers/gstbasicscheduler.c:
31996         (gst_basic_scheduler_cothreaded_chain),
31997         (gst_basic_scheduler_chain_add_element):
31998         * testsuite/bins/interface.c: (main):
31999         Added GstBin test.
32000         Added GstSystemClock test.
32001         Implemented clock distribution code in GstBin.
32002         Implemented iterate sinks method for future use.
32003         Rearranged gstelement.h
32004         Fix GstIterator comparison bug.
32005         Moved some code to GstPipeline, mostly clocking related.
32006
32007 2005-03-09  Wim Taymans  <wim@fluendo.com>
32008
32009         * configure.ac:
32010         * gst/gst_private.h:
32011         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
32012         (gst_bin_remove_func), (gst_bin_remove),
32013         (gst_bin_get_by_name_recurse_up):
32014         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
32015         (gst_clock_id_compare_func), (gst_clock_id_wait),
32016         (gst_clock_id_wait_async), (gst_clock_init),
32017         (gst_clock_adjust_unlocked), (gst_clock_get_time):
32018         * gst/gstelement.h:
32019         * gst/gstinfo.c: (_gst_debug_init):
32020         * gst/gstobject.h:
32021         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
32022         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
32023         * gst/gstpad.h:
32024         Bump version number, we're now 0.9.0
32025         Add future debugging category.
32026         Fix NULL _unref() in _get_by_name_recurse_up
32027         Rearrange gstpad.h.
32028         Update some docs.
32029
32030 2005-03-08  Wim Taymans  <wim@fluendo.com>
32031
32032         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
32033         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
32034         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
32035         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
32036         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
32037         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
32038         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
32039         * gst/elements/gstidentity.c: (gst_identity_class_init):
32040         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
32041         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
32042         * gst/elements/gstshaper.c: (gst_shaper_class_init):
32043         * gst/elements/gststatistics.c: (gst_statistics_class_init):
32044         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
32045         (gst_tee_link):
32046         * gst/gstelement.c: (gst_element_class_init),
32047         (gst_element_base_class_init), (gst_element_init),
32048         (gst_element_get_random_pad), (gst_element_wait_state_change),
32049         (gst_element_change_state), (gst_element_dispose),
32050         (gst_element_finalize), (gst_element_set_loop_function):
32051         * gst/gstelement.h:
32052         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
32053         * gst/gstthread.c: (gst_thread_class_init),
32054         (gst_thread_release_children_locks), (gst_thread_change_state):
32055         * gst/schedulers/gstbasicscheduler.c:
32056         (gst_basic_scheduler_loopfunc_wrapper),
32057         (gst_basic_scheduler_chain_wrapper),
32058         (gst_basic_scheduler_src_wrapper),
32059         (gst_basic_scheduler_remove_element):
32060         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
32061         Remove threadsafe properties. Fix elements because GObject
32062         complains when installing a property before declaring a
32063         set/get_property handler.
32064         Rearrange gstelement.h file, use STATE macros for state locks.
32065         Free mutexes in the finalize method instead of dispose.
32066
32067 2005-03-08  Wim Taymans  <wim@fluendo.com>
32068
32069         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
32070         * gst/gstthread.c: (gst_thread_release_children_locks):
32071         Added parentage check.
32072         Fix build og GstThread again.
32073
32074 2005-03-08  Wim Taymans  <wim@fluendo.com>
32075
32076         * docs/design/part-MT-refcounting.txt:
32077         * docs/design/part-conventions.txt:
32078         * docs/design/part-gstobject.txt:
32079         * docs/design/part-relations.txt:
32080         * docs/design/part-standards.txt:
32081         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
32082         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
32083         (gst_bin_get_by_name), (gst_bin_get_by_interface),
32084         (gst_bin_iterate_all_by_interface):
32085         * gst/gstbuffer.h:
32086         * gst/gstclock.h:
32087         * gst/gstelement.c: (gst_element_class_init),
32088         (gst_element_change_state), (gst_element_set_loop_function):
32089         * gst/gstelement.h:
32090         * gst/gstiterator.c:
32091         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
32092         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
32093         (gst_object_dispatch_properties_changed), (gst_object_set_name),
32094         (gst_object_set_parent), (gst_object_unparent),
32095         (gst_object_check_uniqueness):
32096         * gst/gstobject.h:
32097         Docs updates, clean up some headers.
32098
32099 2005-03-07  Wim Taymans  <wim@fluendo.com>
32100
32101         * check/.cvsignore:
32102         * check/Makefile.am:
32103         * check/gst-libs/.cvsignore:
32104         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
32105         * check/gst/.cvsignore:
32106         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
32107         (START_TEST), (gstbus_suite), (main):
32108         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
32109         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
32110         (gst_data_suite), (main):
32111         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
32112         (add_fold_func), (gstiterator_suite), (main):
32113         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
32114         (thread_name_object), (thread_name_object_default),
32115         (gst_object_name_compare), (gst_object_suite), (main):
32116         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
32117         (gst_pad_suite), (main):
32118         * check/gstcheck.c: (gst_check_log_message_func),
32119         (gst_check_log_critical_func), (gst_check_init):
32120         * check/gstcheck.h:
32121         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
32122         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
32123         Added checks.
32124
32125 2005-03-07  Wim Taymans  <wim@fluendo.com>
32126
32127         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
32128         (gst_list_iterator_next), (gst_list_iterator_resync),
32129         (gst_list_iterator_free), (gst_iterator_new_list),
32130         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
32131         (gst_iterator_free), (gst_iterator_push), (filter_next),
32132         (filter_resync), (filter_uninit), (filter_free),
32133         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
32134         (gst_iterator_foreach), (find_custom_fold_func),
32135         (gst_iterator_find_custom):
32136         * gst/gstiterator.h:
32137         Added missing files.
32138
32139 2005-03-07  Wim Taymans  <wim@fluendo.com>
32140
32141         * Makefile.am:
32142         * configure.ac:
32143         * docs/design/part-MT-refcounting.txt:
32144         * docs/design/part-conventions.txt:
32145         * docs/design/part-gstobject.txt:
32146         * docs/design/part-relations.txt:
32147         * examples/mixer/mixer.c: (main):
32148         * examples/thread/thread.c: (eos), (main):
32149         * gst/Makefile.am:
32150         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
32151         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
32152         (gst_spider_plug_from_srcpad):
32153         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
32154         (gst_spider_identity_change_state),
32155         (gst_spider_identity_sink_loop_type_finding):
32156         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
32157         * gst/elements/gstidentity.c: (gst_identity_init):
32158         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
32159         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
32160         * gst/elements/gsttypefindelement.c: (free_entry):
32161         * gst/gst.c:
32162         * gst/gst.h:
32163         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
32164         (gst_bin_set_clock_func), (gst_bin_auto_clock),
32165         (gst_bin_set_index), (gst_bin_set_element_sched),
32166         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
32167         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
32168         (gst_bin_iterate_elements), (iterate_child_recurse),
32169         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
32170         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
32171         (compare_interface), (gst_bin_get_by_interface),
32172         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
32173         * gst/gstbin.h:
32174         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
32175         (gst_buffer_default_free), (gst_buffer_default_copy),
32176         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
32177         (gst_buffer_create_sub):
32178         * gst/gstbuffer.h:
32179         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
32180         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
32181         (gst_caps_unref), (gst_static_caps_get),
32182         (gst_caps_remove_and_get_structure), (gst_caps_append),
32183         (gst_caps_append_structure), (gst_caps_remove_structure),
32184         (gst_caps_copy_nth), (gst_caps_set_simple),
32185         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
32186         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
32187         (gst_caps_structure_intersect_field), (gst_caps_intersect),
32188         (gst_caps_structure_subtract_field), (gst_caps_subtract),
32189         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
32190         (gst_caps_structure_figure_out_union),
32191         (gst_caps_switch_structures), (gst_caps_do_simplify),
32192         (gst_caps_replace), (gst_caps_from_string),
32193         (gst_caps_copy_conditional):
32194         * gst/gstcaps.h:
32195         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
32196         (_gst_clock_id_free), (gst_clock_id_unref),
32197         (gst_clock_id_compare_func), (gst_clock_id_wait),
32198         (gst_clock_id_wait_async), (gst_clock_class_init),
32199         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
32200         (gst_clock_get_time), (gst_clock_set_time_adjust),
32201         (gst_clock_set_property), (gst_clock_get_property):
32202         * gst/gstclock.h:
32203         * gst/gstcompat.h:
32204         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
32205         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
32206         * gst/gstdata.h:
32207         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
32208         (gst_element_requires_clock), (gst_element_provides_clock),
32209         (gst_element_set_clock), (gst_element_clock_wait),
32210         (gst_element_wait), (gst_element_set_time_delay),
32211         (gst_element_is_indexable), (gst_element_add_pad),
32212         (gst_element_add_ghost_pad), (gst_element_remove_pad),
32213         (pad_compare_name), (gst_element_get_static_pad),
32214         (gst_element_request_pad), (gst_element_get_request_pad),
32215         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
32216         (gst_element_class_get_pad_template_list),
32217         (gst_element_class_get_pad_template), (gst_element_error_func),
32218         (gst_element_get_random_pad), (gst_element_get_event_masks),
32219         (gst_element_send_event), (gst_element_seek),
32220         (gst_element_get_query_types), (gst_element_query),
32221         (gst_element_get_formats), (gst_element_convert),
32222         (gst_element_is_locked_state), (gst_element_set_locked_state),
32223         (gst_element_sync_state_with_parent), (gst_element_change_state),
32224         (gst_element_finalize), (gst_element_yield),
32225         (gst_element_interrupt), (gst_element_set_scheduler),
32226         (gst_element_get_scheduler), (gst_element_set_loop_function):
32227         * gst/gstelement.h:
32228         * gst/gstevent.h:
32229         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
32230         (gst_format_get_by_nick), (gst_format_get_details),
32231         (gst_format_iterate_definitions):
32232         * gst/gstformat.h:
32233         * gst/gstindex.c: (gst_index_gtype_resolver):
32234         * gst/gstinfo.c:
32235         * gst/gstinfo.h:
32236         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
32237         (gst_mem_chunk_free):
32238         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
32239         (gst_object_ref), (gst_object_unref), (gst_object_sink),
32240         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
32241         (gst_object_dispatch_properties_changed),
32242         (gst_object_set_name_default), (gst_object_set_name),
32243         (gst_object_get_name), (gst_object_set_name_prefix),
32244         (gst_object_get_name_prefix), (gst_object_set_parent),
32245         (gst_object_get_parent), (gst_object_unparent),
32246         (gst_object_check_uniqueness), (gst_object_save_thyself),
32247         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
32248         (gst_object_set_property), (gst_object_get_property),
32249         (gst_object_get_path_string):
32250         * gst/gstobject.h:
32251         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
32252         (gst_real_pad_init), (gst_real_pad_get_property),
32253         (gst_pad_custom_new), (gst_pad_get_direction),
32254         (gst_pad_set_active), (gst_pad_is_active),
32255         (gst_pad_set_event_function), (gst_pad_is_linked),
32256         (gst_pad_link_free), (gst_pad_link_intersect),
32257         (gst_pad_link_fixate), (gst_pad_set_caps),
32258         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
32259         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
32260         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
32261         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
32262         (gst_pad_get_caps), (gst_pad_peer_get_caps),
32263         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
32264         (gst_pad_realize), (gst_pad_get_allowed_caps),
32265         (gst_real_pad_dispose), (gst_real_pad_finalize),
32266         (gst_pad_collectv), (gst_pad_collect_valist),
32267         (gst_pad_template_dispose), (gst_pad_template_new),
32268         (gst_pad_get_internal_links):
32269         * gst/gstpad.h:
32270         * gst/gstpipeline.c: (gst_pipeline_dispose),
32271         (gst_pipeline_change_state):
32272         * gst/gstpipeline.h:
32273         * gst/gstplugin.c:
32274         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
32275         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
32276         * gst/gstpluginfeature.h:
32277         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
32278         * gst/gstquery.c: (_gst_query_type_initialize),
32279         (gst_query_type_register), (gst_query_type_get_by_nick),
32280         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
32281         * gst/gstquery.h:
32282         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
32283         * gst/gstscheduler.c: (gst_scheduler_add_element),
32284         (gst_scheduler_factory_create):
32285         * gst/gststructure.c: (gst_structure_set_parent_refcount),
32286         (gst_structure_free), (gst_structure_set_name),
32287         (gst_structure_id_set_value), (gst_structure_set_value),
32288         (gst_structure_set_valist), (gst_structure_remove_field),
32289         (gst_structure_remove_fields),
32290         (gst_structure_remove_fields_valist),
32291         (gst_structure_remove_all_fields), (gst_structure_foreach),
32292         (gst_structure_map_in_place),
32293         (gst_caps_structure_fixate_field_nearest_int),
32294         (gst_caps_structure_fixate_field_nearest_double):
32295         * gst/gststructure.h:
32296         * gst/gstsystemclock.c: (gst_system_clock_class_init),
32297         (gst_system_clock_init), (gst_system_clock_dispose),
32298         (gst_system_clock_async_thread),
32299         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
32300         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
32301         * gst/gstsystemclock.h:
32302         * gst/gsttag.c: (gst_tag_list_add_value_internal),
32303         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
32304         * gst/gsttaginterface.c:
32305         * gst/gstthread.c: (gst_thread_dispose),
32306         (gst_thread_release_children_locks), (gst_thread_change_state),
32307         (gst_thread_main_loop):
32308         * gst/gsttrashstack.h:
32309         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
32310         * gst/gsttypes.h:
32311         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
32312         (gst_element_request_pad), (gst_element_get_pad_from_template),
32313         (gst_element_request_compatible_pad),
32314         (gst_element_get_compatible_pad_filtered),
32315         (gst_element_get_compatible_pad), (gst_element_state_get_name),
32316         (gst_element_link_pads_filtered), (gst_element_link_filtered),
32317         (gst_element_link_many), (gst_element_link),
32318         (gst_element_link_pads), (gst_element_unlink_pads),
32319         (gst_element_unlink_many), (gst_element_unlink),
32320         (gst_pad_can_link_filtered), (gst_pad_can_link),
32321         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
32322         (gst_object_default_error), (gst_bin_add_many),
32323         (gst_bin_remove_many), (gst_element_populate_std_props),
32324         (gst_element_class_install_std_props), (gst_buffer_merge),
32325         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
32326         (link_fold_func), (gst_pad_proxy_setcaps):
32327         * gst/gstutils.h:
32328         * gst/gstvalue.c: (gst_value_deserialize_string):
32329         * gst/parse/grammar.y:
32330         * gst/schedulers/gstbasicscheduler.c:
32331         (gst_basic_scheduler_cothreaded_chain),
32332         (gst_basic_scheduler_chain_recursive_add),
32333         (gst_basic_scheduler_pad_link):
32334         * gst/schedulers/gstoptimalscheduler.c:
32335         (get_group_schedule_function),
32336         (gst_opt_scheduler_state_transition),
32337         (gst_opt_scheduler_add_element), (element_get_reachables_func):
32338         * libs/gst/bytestream/bytestream.c:
32339         * libs/gst/dataprotocol/dataprotocol.c:
32340         (gst_dp_header_from_buffer):
32341         * po/nb.po:
32342         * po/ru.po:
32343         * tests/threadstate/threadstate2.c: (eos):
32344         * tools/gst-compprep.c: (main):
32345         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
32346         (print_pad_info), (print_children_info):
32347         * tools/gst-launch.c: (idle_func), (main):
32348         * tools/gst-md5sum.c: (idle_func), (main):
32349         * tools/gst-xmlinspect.c: (print_element_info):
32350         First THREADED backport attempt, focusing on adding locks and
32351         making sure the API is threadsafe. Needs more work. More docs
32352         follow this week.
32353
32354 2005-02-24  Andy Wingo  <wingo@pobox.com>
32355
32356         * tests/bench-complexity.scm:
32357         * tests/complexity.gnuplot: New files, good for running complexity
32358         benchmarks.
32359
32360         * tests/Makefile.am:
32361         * tests/complexity.c: New test, sets up N elements, at each level
32362         teeing into M streams per element. Eeeenteresting.
32363
32364         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
32365         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
32366         running bench-mass_elements.scm.
32367
32368         * tests/bench-mass_elements.scm: New script, runs mass_elements
32369         for various numbers of identities, outputting the results to a
32370         file. Requires guile 1.6. Just for testing.
32371
32372 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
32373
32374         * gst/schedulers/fairscheduler.c:
32375           compile with debug disabled
32376
32377 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
32378
32379         * configure.ac:
32380           hunting season on 0.9 is now OPEN