libs/gst/base/gstbasesink.*: Fix documentation for the wait_clock method, rename...
[platform/upstream/gstreamer.git] / ChangeLog
1 2009-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
2
3         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4         (gst_base_sink_wait_clock):
5         * libs/gst/base/gstbasesink.h:
6         Fix documentation for the wait_clock method, rename basesink -> sink
7         for consistency.
8
9 2009-01-08  Stefan Kost  <ensonic@users.sf.net>
10
11         * gst/gst.c:
12           Create a registry if there is none also when the option for
13           gst-disable-registry-update has been selected. Fixes #567002
14
15 2009-01-06  Tim-Philipp Müller  <tim.muller at collabora co uk>
16
17         * gst/gst.c: (init_post):
18           Ref new enum type in gst_init.
19
20         * win32/common/libgstreamer.def:
21           Add recently-added API.
22
23 2009-01-06  Tim-Philipp Müller  <tim.muller at collabora co uk>
24
25         * docs/gst/gstreamer-sections.txt::
26         * gst/gst_private.h: (GstPluginDep), (_GstPluginPrivate):
27         * gst/gstplugin.c: (gst_plugin_init), (gst_plugin_finalize),
28           (gst_plugin_class_init), (gst_plugin_list_free),
29           (gst_plugin_ext_dep_get_env_vars_hash),
30           (_priv_plugin_deps_env_vars_changed),
31           (gst_plugin_ext_dep_extract_env_vars_paths),
32           (gst_plugin_ext_dep_get_hash_from_stat_entry),
33           (gst_plugin_ext_dep_direntry_matches),
34           (gst_plugin_ext_dep_scan_dir_and_match_names),
35           (gst_plugin_ext_dep_scan_path_with_filenames),
36           (gst_plugin_ext_dep_get_stat_hash),
37           (_priv_plugin_deps_files_changed), (gst_plugin_ext_dep_free),
38           (gst_plugin_ext_dep_strv_equal), (gst_plugin_ext_dep_equals),
39           (gst_plugin_add_dependency), (gst_plugin_add_dependency_simple):
40         * gst/gstplugin.h: (GstPluginPrivate), (GstPluginFlags),
41           (GST_PLUGIN_DEPENDENCY_FLAG_NONE),
42           (GST_PLUGIN_DEPENDENCY_FLAG_RECURSE),
43           (GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY),
44           (GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX),
45           (GstPluginDependencyFlags), (GstPluginFilter):
46         * gst/gstregistry.c: (gst_registry_scan_path_level):
47         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
48           (gst_registry_binary_save_plugin_dep),
49           (gst_registry_binary_save_plugin),
50           (gst_registry_binary_load_feature),
51           (gst_registry_binary_load_plugin_dep_strv),
52           (gst_registry_binary_load_plugin_dep),
53           (gst_registry_binary_load_plugin):
54         * gst/gstregistrybinary.h: (GST_MAGIC_BINARY_VERSION_STR),
55           (GstBinaryPluginElement), (_GstBinaryDep), (GstBinaryDep):
56         * gst/gstregistryxml.c: (gst_registry_xml_save_plugin):
57           Add API for making a GStreamer plugin 'dependent' on external files,
58           directories or environment variables, so that GStreamer knows when
59           it needs to re-load GStreamer plugins that wrap other plugin systems.
60           Fixes bug #350477.
61           API: add gst_plugin_add_dependency()
62           API: add gst_plugin_add_dependency_simple()
63
64 2009-01-06  Tim-Philipp Müller  <tim.muller at collabora co uk>
65
66         * docs/faq/gst-uninstalled:
67           Add libgstapp-0.10 from -base to search path and remove the old
68           lib from -bad from the search path.
69
70 2009-01-05  Wim Taymans  <wim.taymans@collabora.co.uk>
71
72         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position_last),
73         (gst_base_sink_get_position_paused), (gst_base_sink_get_position):
74         Release the object lock before calling the query convert pad functions
75         to avoid deadlocks.
76
77 2009-01-05  Wim Taymans  <wim.taymans@collabora.co.uk>
78
79         * gst/gstbus.c: (gst_bus_wakeup_main_context):
80         The lock order should be maincontext > OBJECT_LOCK so we need to release
81         the object lock when waking up the mainloop to avoid deadlocks.
82
83 2009-01-05  Wim Taymans  <wim.taymans@collabora.co.uk>
84
85         * gst/gstbin.c: (gst_bin_set_index_func), (gst_bin_set_clock_func),
86         (gst_bin_change_state_func):
87         Use an iterator to set the clock and the index so that we can release
88         the object lock appropriately. Fixes #566393.
89
90 2009-01-03  Edward Hervey  <edward.hervey@collabora.co.uk>
91
92         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_available):
93         Use the name of the pads instead of a pointer, helps in debugging.
94
95 2009-01-03  Edward Hervey  <edward.hervey@collabora.co.uk>
96
97         * gst/gstindex.c: (gst_index_get_type):
98         Add a debugging category for GstIndex, first little step in making
99         indexing top-notch.
100
101 2009-01-03  Edward Hervey  <edward.hervey@collabora.co.uk>
102
103         * gst/gstelement.c: (gst_element_message_full),
104         (gst_element_pads_activate):
105         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
106         * gst/gstutils.c: (gst_pad_proxy_getcaps), (gst_pad_proxy_setcaps),
107         (gst_pad_add_data_probe_full), (gst_pad_add_event_probe_full),
108         (gst_pad_add_buffer_probe_full), (gst_pad_remove_data_probe),
109         (gst_pad_remove_event_probe), (gst_pad_remove_buffer_probe):
110         Assign debug statements to relevant categories instead of the 'default'
111         category so they don't get lost in debugging.
112
113 2009-01-01  Stefan Kost  <ensonic@users.sf.net>
114
115         * gst/gstdebugutils.c:
116           Add some ideas, how to make the graph smaller.
117
118         * gst/gstutils.c:
119           Add a comment from a debug session.
120
121         * libs/gst/base/gstbasetransform.c:
122           Log more context.
123
124         * libs/gst/controller/gstinterpolationcontrolsource.c:
125           Indet.
126
127         * plugins/elements/gstcapsfilter.c:
128           Fix typo in docs.
129
130 2008-12-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
131
132         * gst/gstbus.c: (gst_bus_dispose), (gst_bus_get_property),
133           (gst_bus_wakeup_main_context), (gst_bus_set_main_context),
134           (gst_bus_post), (gst_bus_source_prepare), (gst_bus_source_finalize),
135           (gst_bus_create_watch):
136           Make GstBusSource work with non-default main contexts (#562170).
137
138         * tests/check/gst/gstbus.c: (message_func_eos), (message_func_app),
139           (test_watch), (test_watch_with_custom_context), (gst_bus_suite):
140           Add test case for GstBusSource with a non-default main context.
141
142         * tests/check/libs/.cvsignore:
143           Ignore more.
144
145 2008-12-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
146
147         * gst/gstregistrybinary.c: (unpack_element), (unpack_const_string),
148           (unpack_string)::
149           Wrap multi-line macros in G_STMT_{START|END}.
150
151 2008-12-20  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
152
153         * docs/gst/gstreamer-sections.txt:
154         * gst/gstquark.c:
155         * gst/gstquark.h:
156         * gst/gstquery.c: (gst_query_new_uri), (gst_query_set_uri),
157         (gst_query_parse_uri):
158         * gst/gstquery.h:
159         API: Add URI query type. This is useful to query the URI
160         of a sink/source element and can be used by demuxers that
161         need to get data from other files.
162         This query should go upstream by default.
163         Fixes bug #562949.
164         * plugins/elements/gstfdsink.c: (gst_fd_sink_query):
165         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
166         (gst_fd_src_query):
167         * plugins/elements/gstfilesink.c: (gst_file_sink_query):
168         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
169         (gst_file_src_query):
170         Implement URI query.
171
172 2008-12-19  Alessandro Decina <alessandro.decina@collabora.co.uk>
173
174         * gst/gstghostpad.c:
175         * tests/check/gst/gstghostpad.c:
176         Don't forward gst_pad_set_caps() on a source ghostpad to its target.
177         That would cause the ghostpad to emit notify::caps two times (fist
178         from gst_pad_set_caps() and after from on_src_target_notify()).
179
180 2008-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
181
182         * tests/check/gst/gstghostpad.c: (ghost_notify_caps),
183         (GST_START_TEST):
184         Add some more unit-tests for the ghostpad notify signal, one of which
185         currently fails.
186
187 2008-12-19  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
188
189         * win32/common/libgstreamer.def:
190         Add gst_tag_setter_reset_tags to the list of exported symbols.
191
192 2008-12-17  Alessandro Decina  <alessandro.decina@collabora.co.uk>
193
194         * gst/gstghostpad.c:
195         * tests/check/gst/gstghostpad.c:
196         In a source ghostpad, when caps are changed in the target pad, the
197         change needs to be reflected in the ghostpad.
198         Fixes #564863.
199
200 2008-12-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
201
202         * gst/gstutils.c: (gst_element_found_tags_for_pad):
203         Add FIXME for 0.11 to set the pad as message source and not
204         the element. Otherwise it's impossible to detect for which
205         pad the tags were found without adding an event probe
206         or something similar to the pad.
207
208 2008-12-16  Wim Taymans  <wim.taymans@collabora.co.uk>
209
210         * docs/faq/general.xml:
211         Update the faq.
212
213 2008-12-16  Stefan Kost  <ensonic@users.sf.net>
214
215         * docs/gst/gstreamer-sections.txt:
216         * gst/gsttagsetter.c:
217         * gst/gsttagsetter.h:
218           Rename api added in previous commit and add since tag to docs.
219           API: gst_tag_setter_reset_tags()
220
221 2008-12-16  Stefan Kost  <ensonic@users.sf.net>
222
223         * docs/gst/gstreamer-sections.txt:
224         * gst/gsttagsetter.c:
225         * gst/gsttagsetter.h:
226           Add function to reset tagsetter for element reuse.
227
228 2008-12-16  Stefan Kost  <ensonic@users.sf.net>
229
230         * gst/gsttaglist.c:
231           Avoid copy of empty taglist.
232
233 2008-12-16  Stefan Kost  <ensonic@users.sf.net>
234
235         * gst/gsttaglist.c:
236         * tests/check/gst/gsttag.c:
237           More complete unit tests. Fix handling of empty taglists (they were
238           not merged before).
239
240 2008-12-15  Stefan Kost  <ensonic@users.sf.net>
241
242         * gst/gsttaglist.h:
243         * gst/gsttagsetter.c:
244           Update GstTagSetter and GstTagMergeMode documentation. Mention
245           that tags can come from events and from application. Fix example.
246
247 2008-12-15  Wim Taymans  <wim.taymans@collabora.co.uk>
248
249         * docs/design/part-TODO.txt:
250         Remove the seqnum entry that we implemented in 0.10 already.
251         Add entry about removing the format return value for queries.
252
253 2008-12-15  Wim Taymans  <wim.taymans@collabora.co.uk>
254
255         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
256         (gst_base_sink_init), (gst_base_sink_set_property),
257         (gst_base_sink_get_property):
258         Expose the render-delay as a property so things like appsink can use it
259         to tweak the synchronisation.
260
261 2008-12-10  Peter Kjellerstedt  <pkj@axis.com>
262
263         * libs/gst/check/gstcheck.h: Allow check tests to use
264         MAIN_START_THREADS()/MAIN_STOP_THREADS() multiple times. Also allows
265         CK_FORK=no to be used with multiple check test that use threads.
266
267 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
268
269         * gst/gstutils.c: (gst_element_get_compatible_pad):
270         Fix a caps memory leak introduced by the last change.
271
272 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
273
274         * gst/gstutils.c: (gst_element_get_compatible_pad):
275         Check if the caps of the pads are compatible before returning
276         a pad and claiming it is compatible. This, among other things,
277         fixes a bug with gst-launch where an incompatible pad is chosen
278         and linking fails. Fixes bug #544003.
279
280 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
281
282         * libs/gst/check/gstcheck.c: (gst_check_init):
283         Revert accidentially commited patch for bug #404631 which
284         tries to print a backtrace if a testcase is terminated by
285         a signal. This code was never activated as the corresponding
286         configure.ac change wasn't committed.
287
288 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
289
290         * tests/check/libs/controller.c: (GST_START_TEST):
291         This test should return TRUE now as syncing an uncontrolled
292         object will succeed now (there's nothing to sync).
293
294 2008-12-09  Stefan Kost  <ensonic@users.sf.net>
295
296         * libs/gst/controller/gstcontroller.c:
297           Aggregate return value for gst_controller_sync_values(). More info in
298           logging. Always set values on first sync-call.
299
300         * libs/gst/controller/gstcontrolsource.c:
301           Microoptimizations.
302
303         * libs/gst/controller/gsthelper.c:
304           Fix return code and comment.
305
306 2008-12-09  Stefan Kost  <ensonic@users.sf.net>
307
308         * tools/gst-launch.1.in:
309           Fix description of how to specify a type in caps. Fixes #553873.
310           Also ranges and list contain values and not property-assignments.
311
312 2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>
313
314         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
315         Check for changed pads-list before checking the last returned
316         GstFlowReturn because the pad could have been removed and we
317         need to ignore the value in that case.
318
319 2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>
320
321         * libs/gst/base/gstbasetransform.c:
322         (gst_base_transform_prepare_output_buffer),
323         (gst_base_transform_getrange), (gst_base_transform_chain):
324         * libs/gst/base/gstbasetransform.h:
325         Add vmethod that is called before we start the transform and which can
326         be used to configure the transform, such as dynamic properties.
327
328 2008-12-05  David Schleef  <ds@schleef.org>
329
330         * gst/gst.c:
331         Search for plugins on win32 based on the location of the
332         gstreamer DLL.  Fixes #548786
333
334 2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
335
336         * configure.ac:
337         Apparently AC_CONFIG_MACRO_DIR breaks when using more
338         than one macro directory, reverting last change.
339
340 2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
341
342         * configure.ac:
343         Set AC_CONFIG_MACRO_DIR to common/m4 to point autoconf to
344         our M4 macros.
345
346 2008-11-29  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
347
348         Patch by: Cygwin Ports maintainer
349                   <yselkowitz at users dot sourceforge dot net>
350
351         * autogen.sh:
352         * configure.ac:
353         Require gettext 0.17 because older versions don't mix with libtool
354         2.2. At build time an older gettext version will still work.
355         Fixes bug #556091.
356
357 2008-11-27  Wim Taymans  <wim.taymans@collabora.co.uk>
358
359         Patch by: 이문형 <iwings at gmail dot com>
360
361         * gst/gstpoll.c: (gst_poll_fd_ctl_write), (gst_poll_fd_has_error):
362         Adds support for FD_CONNECT event (win32). See #562258.
363
364 2008-11-24  Stefan Kost  <ensonic@users.sf.net>
365
366         * libs/gst/base/gstbasesink.c:
367           Turn comment into gtk-doc comment.
368
369 2008-11-24  Wim Taymans  <wim.taymans@collabora.co.uk>
370
371         * libs/gst/base/gstbasetransform.c:
372         (gst_base_transform_acceptcaps):
373         Revert quick accepcaps attempt, it's not fully equivalent to the old
374         behaviour and thus causes regressions.
375
376 2008-11-24  Edward Hervey  <edward.hervey@collabora.co.uk>
377
378         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
379         Fix memory leak.
380
381 2008-11-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
382
383         Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>
384
385         * gst/gstregistry.c: (gst_registry_scan_path_level):
386         Reduce the number of stat() calls for every file from three times
387         to one time. Fixes bug #560360.
388
389 2008-11-22  Wim Taymans  <wim.taymans@collabora.co.uk>
390
391         * libs/gst/base/gstbasetransform.c:
392         (gst_base_transform_acceptcaps):
393         Rename a variable to make the code clearer.
394
395 2008-11-21  Stefan Kost  <ensonic@users.sf.net>
396
397         * plugins/elements/gstidentity.c:
398         Don't warning on offset==-1. Taken from _check_imperfect_offset().
399
400 2008-11-21  Michael Smith <msmith@songbirdnest.com>
401
402         * plugins/elements/gstfilesrc.c:
403           Check for localhost in URI was backwards, fix it. Fixes unit test.
404
405 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
406
407         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
408         (gst_base_transform_getcaps), (gst_base_transform_find_transform),
409         (gst_base_transform_acceptcaps), (gst_base_transform_getrange):
410         Add beginnings of a more optimized acceptcaps function than the default
411         core one.
412
413 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
414
415         * gst/gstpad.c: (gst_pad_accept_caps):
416         Avoid getting the acceptcaps function too early.
417
418 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
419
420         * tools/gst-launch.c: (event_loop):
421         Make gst-launch handle LATENCY messages and make it recalculate the
422         latency.
423
424 2008-11-20  Michael Smith <msmith@songbirdnest.com>
425
426         * plugins/elements/gstfilesrc.c:
427           Use g_filename_from_uri() for URI parsing in filesrc rather than rolling
428           out own slightly incorrect version. Fixes use of some paths on
429           win32.
430
431 2008-11-20  Michael Smith <msmith@songbirdnest.com>
432
433         * gst/gstregistrybinary.c:
434           In win32 codepath, if we fail to write the registry, create the
435           directory for it and try again, matching the behaviour in non-win32
436           codepaths.
437
438 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
439
440         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay):
441         Changing the render delay changes the latency and so we must post a
442         latency message.
443
444 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
445
446         * gst/gstquery.c:
447         * gst/gstquery.h:
448         Add GstQueryType for custom queries instead of having to use the
449         not-so-very-convenient registration infrastructure to register new
450         types.
451
452 2008-11-19  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
453
454         Patch by: Andrew Feren <acferen at yahoo dot com>
455
456         * gst/gstobject.c: (gst_object_default_deep_notify):
457         Unref the GEnumClass after usage again. Fixes bug #561501.
458
459 2008-11-19  Wim Taymans  <wim.taymans@collabora.co.uk>
460
461         * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
462         (gst_bin_recalculate_latency), (gst_bin_do_latency_func),
463         (gst_bin_change_state_func):
464         * gst/gstbin.h:
465         Add do-latency signal with the old default fallback implementation. This
466         allows for custom latency calculations for when the default is not
467         sufficient.
468         API: GstBin::do-latency signal.
469
470 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
471
472         * win32/common/libgstreamer.def:
473         Add new symbols to .def file.
474
475 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
476
477         * docs/gst/gstreamer-sections.txt:
478         * gst/gstbin.c: (gst_bin_recalculate_latency),
479         (gst_bin_change_state_func):
480         * gst/gstbin.h:
481         Add method to recalculate and redistribute the latency on a bin.
482         API: gst_bin_recalculate_latency().
483
484 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
485
486         * gst/gstbuffer.h:
487         Document the free_func.
488
489 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
490
491         * libs/gst/controller/gstinterpolation.c:
492         * libs/gst/controller/gstlfocontrolsource.c:
493         Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
494         as it is mapped to a cast on non-win32 platforms.
495
496 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
497
498         * libs/gst/controller/gstcontroller.c:
499         * libs/gst/controller/gstcontrollerprivate.h:
500           Keep last-value and only call set_property if value has changed. This
501           supresses all the g_object_notifies we would trigger otherwise. It
502           also allows the user to chage the value while there is no controller
503           change.
504
505 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
506
507         * gst/gstvalue.c:
508           Don't crash if either of the string GValues is empty.
509
510 2008-11-17  Andy Wingo  <wingo@pobox.com>
511
512         * tools/gst-inspect.c (print_all_uri_handlers): New function,
513         prints a summary of what URI schemes are supported by what
514         elements.
515         (main): Plumb in support for --uri-handlers or -u, and fix the
516         argc check for -a and -u.
517
518 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
519
520         * gst/gstutils.h:
521         Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
522         conversion functions.
523
524 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
525
526         * gst/gstbuffer.c: (gst_buffer_finalize):
527         Avoid costly typechecking for trivially correct pointers.
528
529         * gst/gstpoll.c: (gst_poll_wait):
530         Add some G_LIKELY here and there.
531
532         * libs/gst/base/gstadapter.c: (gst_adapter_push):
533         Add some debug info.
534
535 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
536
537         * docs/random/wtay/poll-timeout:
538         Small tweaks.
539
540 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
541
542         * tests/old/testsuite/caps/intersection.c: (main):
543         * tests/old/testsuite/plugin/loading.c: (main):
544         Remove references to deprecated API g_mem_chunk*.
545         Fixes #560442.
546
547 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
548
549         * tools/gst-inspect.c: (main):
550         Add --plugin option. Fixes #560301.
551
552 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
553
554         * docs/random/wtay/poll-timeout:
555         Quick braindump for a possible (not totally verified) atomic case.
556
557 2008-11-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
558
559         * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
560         (gst_registry_binary_initialize_magic),
561         (gst_registry_binary_write_cache),
562         (gst_registry_binary_check_magic):
563         * gst/gstregistrybinary.h:
564         Don't write and check a CRC for the binary registry file. It's
565         guaranteed that the registry is completely written (it's first written
566         to a temporary file and then moved) and if the registry was corrupted
567         by some hardware failure we would have bigger problems.
568
569         Bump binary registry version to 0.10.21.1 for this as it's an
570         incompatible change and to ensure that the registry gets rebuild
571         after the update.
572
573         This saves some milliseconds for reading/writing the registry.
574         Fixes bug #560399.
575
576 2008-11-11  Wim Taymans  <wim.taymans@collabora.co.uk>
577
578         * docs/random/wtay/poll-timeout:
579         Some pseudo code for how we could implement clock timeouts with GstPoll.
580
581 2008-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
582
583         * plugins/elements/gstfilesink.c:
584           Update Author string to match others.
585
586 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
587
588         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
589         Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
590         being fixed and inline the trivial check.
591
592 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
593
594         * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
595         (gst_caps_merge_structure), (gst_caps_get_structure),
596         (gst_caps_copy_nth), (gst_caps_set_simple),
597         (gst_caps_set_simple_valist), (gst_caps_is_fixed),
598         (gst_caps_is_equal_fixed), (gst_caps_intersect),
599         (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
600         (gst_caps_to_string):
601         Callgrind micro optimisations.
602         Avoid array bounds checks and force inline of trivial function.
603
604         * gst/gstobject.c: (gst_object_set_name_default):
605         -1 is equivalent to letting glib to the strlen but then there is more
606         room for optimisations and it's not our fault.
607
608         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
609         no need to clear the array, we're cool.
610
611         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
612         The most common _is_fixed() check is done on fundamental glib base
613         types so we check this first instead of doing a huge amount of
614         useless GST_TYPE_ARRAY calls.
615
616 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
617
618         * gst/gstevent.h:
619         Add a SKIP seek flag for use with advanced trickmodes.
620         API: GstSeekFlags::GST_SEEK_FLAG_SKIP
621
622 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
623
624         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
625         No need to memset, we can clear the value ourselves.
626
627         * gst/gstvalue.c: (gst_type_is_fixed),
628         (gst_value_get_compare_func):
629         Some optimisations from a few callgrind sessions:
630         When checking if a type is fixed, check for trivial fundamental types
631         first before checking types for which we need to get the type followed
632         by the heavy duty type checks, this reduces the amount of
633         g_type_fundamental() calls a lot.
634         When getting the compare function, first check for our registered types.
635         If that fails, do the heavy duty g_type_is_a() checks, reduces the
636         amount of g_type_is_a() considerably.
637
638 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
639
640         * docs/design/part-TODO.txt:
641         Mumble something about removing GstXML.
642
643 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
644
645         * gst/gstbin.c: (gst_bin_handle_message_func):
646         Get the seqnum before we dispose the message.
647
648 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
649
650         * docs/design/part-TODO.txt:
651         Refer to the framestepping document.
652
653 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
654
655         * gst/gstbin.c: (bin_handle_async_start),
656         (gst_bin_handle_message_func), (gst_bin_query):
657         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
658         (gst_base_sink_event), (gst_base_sink_change_state):
659         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
660         (gst_base_src_loop), (gst_base_src_change_state):
661         Copy seqnums from events to messages so that they can all be related
662         back to eachother.
663
664 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
665
666         * tools/gst-launch.c: (event_loop):
667         Print the message seqnums.
668
669 2008-11-04  Andy Wingo  <wingo@pobox.com>
670
671         * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
672
673 2008-11-04  Andy Wingo  <wingo@pobox.com>
674
675         Add sequence numbers to events and messages. See #559250.
676
677         * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
678         API: New functions.
679
680         * gst/gstevent.h:
681         * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
682         events with a new sequence number, and copy it when copying.
683         (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
684         an event's sequence number.
685
686         * gst/gstmessage.h:
687         * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
688         (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
689         so with messages.
690
691         * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
692
693 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
694
695         * docs/manual/advanced-position.xml:
696         * docs/manual/basics-bins.xml:
697         * docs/manual/basics-bus.xml:
698         * docs/manual/basics-pads.xml:
699         * docs/manual/intro-gstreamer.xml:
700         * docs/manual/intro-preface.xml:
701         Some Application Development Manual fixes thanks to
702         Andrew Feren. Fixes #558459.
703
704 2008-11-03  Stefan Kost  <ensonic@users.sf.net>
705
706         * gst/gstregistrybinary.c:
707           Don't bother with the GTimer if we don't output the results.
708
709 2008-11-03  Wim Taymans  <wim.taymans@collabora.co.uk>
710
711         Patch by: David Schleef  <ds@schleef.org>
712
713         * libs/gst/net/Makefile.am:
714         Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
715
716 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
717
718         * gst/gstregistrybinary.c:
719           Oh my, studip, stupid me. Remove double stat() call.
720
721 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
722
723         * gst/gstpreset.c:
724           Use g_unlink instead of unlink.
725
726         * gst/gststructure.c:
727           Use glib type.
728
729         * gst/gstutils.c:
730           Add a FIXME:.
731
732         * gst/gsttaglist.c:
733         * gst/gsttypefind.c:
734         * gst/gstvalue.c:
735           Formatting & whitespaces.
736
737 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
738
739         * plugins/elements/gstidentity.c:
740           Doc typo. Use return value of parent_class->event.
741   
742         * plugins/elements/gsttypefindelement.c:
743           Chain up at the end for consistency.
744   
745 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
746
747         * docs/Makefile.am:
748         * docs/gst/gstreamer-docs.sgml:
749         * docs/gst/gstreamer-sections.txt:
750         * docs/gst/running.xml:
751         * docs/libs/gstreamer-libs-docs.sgml:
752           Change to xinclude based build - its faster and easier to maintain.
753
754 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
755
756         * gst/gstregistrybinary.c:
757         * gst/gstregistryxml.c:
758           Use g_unlink() as none of these are directories.
759
760 2008-10-29  Wim Taymans  <wim.taymans@collabora.co.uk>
761
762         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
763         Some more comments.
764
765 2008-10-27  Wim Taymans  <wim.taymans@collabora.co.uk>
766
767         * libs/gst/base/gstbasetransform.c:
768         (gst_base_transform_find_transform), (gst_base_transform_getrange):
769         If we have a fixate function, call it even if we already have fixed caps
770         because the subclass might add some caps. Makes audioconvert add a
771         default channel layout.
772
773 2008-10-24  Wim Taymans  <wim.taymans@collabora.co.uk>
774
775         * libs/gst/base/gstbasetransform.c:
776         (gst_base_transform_prepare_output_buffer),
777         (gst_base_transform_getrange):
778         Clear the output buffer variable.
779         Cleanups to the error path in the getrange function.
780         Fixes #557649.
781
782 2008-10-23  Sebastian Dröge  <slomo@circular-chaos.org>
783
784         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
785         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
786         Use gst_buffer_try_new_and_alloc() and handle errors instead of
787         using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
788         be allocated.
789
790 2008-10-23  Wim Taymans  <wim.taymans@collabora.co.uk>
791
792         * gst/gstsegment.c: (gst_segment_set_newsegment_full):
793         Set the last_stop to a more meaningful position when configuring the
794         segment. ie. the start/stop of the segment or clipped against the
795         updated segment boundaries.
796
797         * tests/check/gst/gstsegment.c: (GST_START_TEST):
798         Add some unit tests for the last_stop.
799
800 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
801
802         * libs/gst/base/gstbytereader.c:
803         Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
804         copies of them.
805
806 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
807
808         * docs/gst/gstreamer-sections.txt:
809         * gst/gstutils.h:
810         API: Move float endianness conversion macros from libgstfloatcast
811         to core as it's useful in general, even in core. Fixes bug #555196.
812         This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
813         GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
814         GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
815
816         Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
817         GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
818         GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
819         GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
820
821 2008-10-22  Sebastian Dröge  <slomo@circular-chaos.org>
822
823         * docs/libs/gstreamer-libs-sections.txt:
824         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
825         (gst_byte_reader_peek_data):
826         * libs/gst/base/gstbytereader.h:
827         * win32/common/libgstbase.def:
828         API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
829         to get a pointer to the data at the current position and have
830         a guaranteed size.
831
832 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
833
834         * configure.ac:
835         Fix a bug in the output of the configure script summary
836         when --gst-disable-registry is supplied
837
838 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
839
840         * libs/gst/base/gstbitreader.c:
841         * libs/gst/base/gstbytereader.c:
842         Fix the names of 2 functions in the docs strings.
843
844 2008-10-21  Wim Taymans  <wim.taymans@collabora.co.uk>
845
846         * libs/gst/base/gstbasetransform.c:
847         (gst_base_transform_prepare_output_buffer),
848         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
849         Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
850         refcount problems as seen in banshee and maybe also in farsight2.
851         Remove atomic int now that we need to take the lock anyways.
852
853 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
854
855         * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
856         (gst_base_sink_default_prepare_seek_segment),
857         (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
858         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
859         (gst_base_sink_query):
860         Implement more seeking in pull mode.
861         Use pad convert functions to convert position to the requested format.
862         Fix position/duration reporting in pull mode.
863         Implement position and duration reporting in other formats than time.
864
865         * libs/gst/base/gstbasesink.h:
866         Add member to keep track of when the segment is playing.
867
868 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
869
870         * gst/gstpad.c: (gst_pad_configure_src):
871         When we use gst_pad_alloc_buffer() without wanting to set the caps we
872         also don't need to check if the caps are compatible because the caller
873         presumably is going to perform its own custom checks. Fixes some cases
874         where basetransform elements would error out when it was not needed.
875
876 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
877
878         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
879         Update comment.
880
881         * libs/gst/base/gstbasetransform.c:
882         (gst_base_transform_handle_buffer),
883         (gst_base_transform_reconfigure):
884         Add some debug info.
885
886         * win32/common/libgstbase.def:
887         Add new method.
888
889 2008-10-19  Stefan Kost  <ensonic@users.sf.net>
890
891         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
892           Remove duplicated assignment and log a message in failure case.
893
894 2008-10-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
895
896         Patch by: Dig Ge <dig.ge.cn at gmail com>
897
898         * tests/examples/helloworld/helloworld.c: (main):
899           Fix copy'n'paste bug in hello world example (#556900).
900
901 2008-10-17  Wim Taymans  <wim.taymans@collabora.co.uk>
902
903         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
904         (gst_base_sink_query):
905         Query the total number of bytes when activating the pad in pull mode.
906         Implement duration query in pull mode by using the installed pad convert
907         function to convert from bytes to the requested format.
908
909 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
910
911         * docs/libs/gstreamer-libs-sections.txt:
912         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
913         (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
914         (gst_base_sink_event), (gst_base_sink_perform_seek),
915         (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
916         (gst_base_sink_send_event), (gst_base_sink_change_state):
917         * libs/gst/base/gstbasesink.h:
918         Add method to commit the state in subclasses.
919         Refactor the flush_start and flush_stop code because we need it for
920         flushing while seeking too.
921         Implement the beginnings of seeking in pull mode.
922         Use the segment last_stop field for the pulling offset.
923         Fix the pause method in pull mode.
924         Configure the segment to BYTES for pull mode.
925         API: GstBaseSink::gst_base_sink_do_preroll()
926
927 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
928
929         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
930         Update some docs.
931
932 2008-10-14  Tim-Philipp Müller  <tim.muller at collabora co uk>
933
934         * gst/gstquark.c: (_priv_gst_quarks_initialize):
935           Fix printf format warning.
936
937 2008-10-14  Sebastian Dröge  <slomo@circular-chaos.org>
938
939         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
940         Fix flow aggregation of tee. Error out immediately for all flow returns
941         except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
942         and return OK if at least one pad is linked.
943
944         Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
945         and otherwise returned the flow return of the last pad, which is wrong.
946         
947         * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
948         (GST_START_TEST), (tee_suite):
949         Add unit tests for the flow aggregation.
950
951 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
952
953         * docs/design/part-TODO.txt:
954         Remove item from the todo list because it was fixed with the latency
955         state change rewrites.
956
957         * docs/design/part-seeking.txt:
958         * docs/design/part-segments.txt:
959         Update some docs.
960
961         * gst/gstevent.c: (gst_event_new_new_segment_full),
962         (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
963         (gst_event_parse_buffer_size), (gst_event_new_qos),
964         (gst_event_parse_qos), (gst_event_new_seek),
965         (gst_event_parse_seek), (gst_event_new_latency),
966         (gst_event_parse_latency):
967         Use quarks to construct and parse events.
968
969         * gst/gstquark.c: (_priv_gst_quarks_initialize):
970         * gst/gstquark.h:
971         Add some more quarks to the table.
972         Emit a warning when the quark tables are not in sync.
973
974         * tests/check/gst/gstbus.c: (GST_START_TEST):
975         Add an assert.
976
977 2008-10-13  Stefan Kost  <ensonic@users.sf.net>
978
979         * plugins/elements/Makefile.am:
980         * plugins/indexers/Makefile.am:
981           Don't install static libs for plugins. Fixes #550851 for core.
982
983 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
984
985         * gst/gstbus.c: (gst_bus_source_finalize),
986         (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
987         (gst_bus_enable_sync_message_emission),
988         (gst_bus_disable_sync_message_emission),
989         (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
990         Fix deadlock, g_source_get_id() cannot be called in finalize.
991         Keep track of the watch source by keeping a pointer to the source object
992         instead.
993         Use the bus lock to protect access to the pointer to the current
994         watch source.
995
996 2008-10-13  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
997
998         Base on Patch by: Olivier Crete <tester at tester dot ca>
999
1000         * gst/gstbus.c: (gst_bus_source_finalize),
1001         (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
1002         Only allow one bus watch to be set at a time. This is necessary
1003         because the dispatcher pops the message from the bus and the second
1004         watcher will then get NULL or the next message (and the first won't
1005         get this next message then, etc). If more than one "watcher" is
1006         required signal watches should be used. Fixes bug #526044.
1007
1008 2008-10-12  Jan Schmidt  <jan.schmidt@sun.com>
1009
1010         * tools/gst-launch.c:
1011         Change the printing of the 'buffering...' output to avoid putting
1012         a \r in a translateable string (flagged by the TP).
1013
1014 2008-10-10  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1015
1016         * gst/gstxml.c:
1017         Clarify that the save_thyself() and restore_thyself() virtual
1018         functions of GstObject need to be overriden, not
1019         gst_object_(save|restore)_thyself() which is impossible.
1020         Fixes bug #555700.
1021
1022 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
1023
1024         * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
1025         Revert a patch from 21 months ago that broke caps negotiation in pull
1026         mode. Basically, having a buffer pass over a pad will trigger the
1027         setcaps function when caps change, just like in push mode.
1028
1029 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
1030
1031         * docs/design/part-negotiation.txt:
1032         Update the docs some more.
1033
1034         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
1035         If we pull a buffer with non-trivial caps, suggest those caps with the
1036         max probability.
1037
1038 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
1039
1040         * docs/design/part-TODO.txt:
1041         Add another limitation of pad-blocking with segment seeks not pushing
1042         EOS events.
1043
1044 2008-10-10  Jan Schmidt  <jan.schmidt@sun.com>
1045
1046         * win32/common/libgstbase.def:
1047         * win32/common/libgstreamer.def:
1048         Add new symbols to the win32 defs files
1049
1050 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
1051
1052         * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
1053         (gst_bin_handle_message_func):
1054         The message src can be NULL, don't try to print the object names in that
1055         case.
1056
1057         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
1058         Add some more debug info.
1059
1060         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
1061         (GST_START_TEST):
1062         Add some debug.
1063         Fix the test, pull based sinks go ASYNC to PAUSED, just like other
1064         scheduling modes.
1065
1066 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
1067
1068         * docs/design/part-negotiation.txt:
1069         Small doc update.
1070
1071         * docs/libs/gstreamer-libs-sections.txt:
1072         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1073         (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
1074         (gst_base_sink_init), (gst_base_sink_set_blocksize),
1075         (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
1076         (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
1077         (gst_base_sink_loop), (gst_base_sink_pad_activate),
1078         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1079         (gst_base_sink_change_state):
1080         * libs/gst/base/gstbasesink.h:
1081         Add blocksize property and methods to control the amount of data
1082         to pull.
1083         Negotiate first before activating upstream in pull mode so that they can
1084         negotiate themselves.
1085         When we operate in pull mode, we only accept the caps that we
1086         negotiated.
1087         Make the sink go ASYNC to PAUSED, like all other sinks.
1088         API: GstBaseSink::gst_base_sink_set_blocksize()
1089         API: GstBaseSink::gst_base_sink_get_blocksize()
1090         API: GstBaseSink::blocksize
1091
1092         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
1093         (gst_base_src_set_live), (gst_base_src_is_live),
1094         (gst_base_src_set_format), (gst_base_src_query_latency),
1095         (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
1096         (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
1097         (gst_base_src_set_property), (gst_base_src_get_property):
1098         * libs/gst/base/gstbasesrc.h:
1099         Add typechecking in public API functions.
1100         Add methods to control the blocksize in subclasses.
1101         API: GstBaseSrc::gst_base_src_set_blocksize()
1102         API: GstBaseSrc::gst_base_src_get_blocksize()
1103
1104 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
1105
1106         * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
1107         (buffer_probe), (event_probe), (GST_START_TEST):
1108         We now see 3 events go through our pad, since basesink now sends
1109         upstream latency events.
1110
1111 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1112
1113         * gst/gstpipeline.c: (gst_pipeline_change_state):
1114         Release the object lock before trying to flush the bus.
1115
1116 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1117
1118         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
1119         Forward LATENCY events upstreams so that elements know about the total
1120         pipeline latency. Fixes #555307.
1121
1122 2008-10-08  Jan Schmidt  <jan.schmidt@sun.com>
1123
1124         * plugins/elements/gstqueue.c:
1125         Allow through queries when we don't know how
1126         to adjust them (not TIME or BYTES), as otherwise it's
1127         not possible to query the current position in order
1128         to seek in other formats at all.
1129
1130 2008-10-08  Andy Wingo  <wingo@pobox.com>
1131
1132         * docs/gst/gstreamer-sections.txt: Placate doc pendants.
1133
1134 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1135
1136         * gst/gstghostpad.c:
1137         * gst/gstghostpad.h:
1138         Unbreak -good build, private is a reserved c++ keyword.
1139
1140 2008-10-08  Andy Wingo  <wingo@pobox.com>
1141
1142         * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
1143         * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
1144         removal: re-add GST_GHOST_PAD_CAST to the header.
1145
1146         * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
1147         (GstGhostPadClass): Publically expose these structures so as to
1148         allow easy subclassing from C. Hide the member data behind a
1149         private opaque data pointer.
1150
1151         * gst/gstghostpad.c: Adapt to store instance data in the type
1152         instance's private data region, not in the public struct.
1153
1154 2008-10-08  Andy Wingo  <wingo@pobox.com>
1155
1156         * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
1157         template via g_object_get(), be sure to unref it.
1158
1159         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
1160
1161 2008-10-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1162
1163         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
1164         If we can't get a cache file don't try to save something to it.
1165         Dereferencing NULL pointers usually isn't a good idea.
1166
1167 2008-10-07  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
1168
1169         * tests/check/Makefile.am:
1170         * tests/check/gst/gstabi.c:
1171         * tests/check/gst/struct_sparc.h:
1172         * tests/check/libs/libsabi.c:
1173         * tests/check/libs/struct_sparc.h:
1174         Add Sparc ABI checks
1175
1176         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1177         Cast signed integer to unsigned to avoid a compiler warning.
1178
1179 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1180
1181         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
1182         (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
1183         (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
1184         (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
1185         (gst_byte_reader_peek_int24_be):
1186         Use new GST_READ_UINT24_(LE|BE) macros.
1187
1188 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1189
1190         * docs/gst/gstreamer-sections.txt:
1191         * gst/gstutils.h:
1192         Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
1193         as it's too easy to break the ISO C strict aliasing rules with simple
1194         casts to the corresponding type and this would introduce hard to debug
1195         bugs. Fixes bug #545714.
1196
1197         API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
1198
1199 2008-10-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
1200
1201         * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
1202         * gst/gstghostpad.c: (gst_ghost_pad_construct):
1203           Add 'Since' bits to gtk-doc chunks for new API.
1204
1205 2008-10-06  Thijs Vermeir  <thijsvermeir@gmail.com>
1206
1207         * docs/gst/gstreamer-sections.txt:
1208         Fix documentation
1209
1210 2008-10-06  Andy Wingo  <wingo@pobox.com>
1211
1212         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
1213         that will be called on the malloc_data to free it. Basically a way
1214         to avoid subclassing when all you need is a different free
1215         function, i.e. free() instead of g_free().
1216
1217         * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
1218         calling the free function.
1219         (gst_buffer_init): Initialize the free function to g_free.
1220
1221 2008-10-06  Andy Wingo  <wingo@pobox.com>
1222
1223         * gst/gstghostpad.h:
1224         * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
1225         finishes the initialization of ghost pad. Useful for language
1226         bindings and subclassers of GstGhostPad. Fixes #539108.
1227         (gst_ghost_pad_new_full): Use the new constructor.
1228
1229 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1230
1231         Base on Patch by: Olivier Crete <tester at tester dot ca>
1232
1233         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
1234         (gst_bin_remove_func), (update_degree),
1235         (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
1236         Keep track of pads that are being linked/unlinked and resync the state
1237         changes.
1238
1239         * gst/gstpad.c: (gst_pad_get_direction),
1240         (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
1241         (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
1242         (gst_pad_link_prepare), (gst_pad_link),
1243         (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
1244         (gst_pad_check_pull_range), (gst_pad_get_range),
1245         (gst_pad_pull_range):
1246         Some code cleanups, use macros to check pad direction.
1247         Don't need to take the lock on the pad direction.
1248         Post structure change when pads are linked/unlinked.
1249         Change some checks into _return_if_fail().
1250
1251         * tests/check/gst/gstbin.c:
1252         (test_link_structure_change_state_changed_sync_cb),
1253         (GST_START_TEST), (gst_bin_suite):
1254         Add testcase for pad link/unlinke resync during a state change.
1255         Fixes #510354.
1256
1257 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1258
1259         * docs/gst/gstreamer-sections.txt:
1260         * gst/gstmessage.c: (gst_message_new_structure_change),
1261         (gst_message_parse_structure_change):
1262         * gst/gstmessage.h:
1263         Implement STRUCTURE_CHANGED messages. These messages will be used to
1264         signal the parent bin of link/unlink operations that could require a
1265         resync when doing a state change. See ##510354.
1266         API: gst_message_new_structure_change()
1267         API: gst_message_parse_structure_change()
1268
1269 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1270
1271         * gst/gstquark.c:
1272         * gst/gstquark.h:
1273         Add some more quarks for new message. See #510354.
1274
1275 2008-10-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1276
1277         * docs/libs/gstreamer-libs-docs.sgml:
1278         * docs/libs/gstreamer-libs-sections.txt:
1279         * libs/gst/base/Makefile.am:
1280         * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
1281         (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
1282         (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
1283         (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
1284         (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
1285         (gst_bit_reader_skip_to_byte):
1286         * libs/gst/base/gstbitreader.h:
1287         * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
1288         (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
1289         (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
1290         (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
1291         (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
1292         (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
1293         (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
1294         (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
1295         (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
1296         (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
1297         (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
1298         (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
1299         * libs/gst/base/gstbytereader.h:
1300         * tests/check/Makefile.am:
1301         * tests/check/libs/bitreader.c: (GST_START_TEST),
1302         (gst_bit_reader_suite):
1303         * tests/check/libs/bytereader.c: (GST_START_TEST),
1304         (gst_byte_reader_suite):
1305         API: Add bit reader and byte reader classes, including documentation
1306         and an extensive unit test suite. Fixes bug #553554.
1307
1308 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1309
1310         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
1311         (gst_base_sink_query):
1312         Improve position reporting while flushing and other intermediate state
1313         changes. Fixes #553874.
1314
1315 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1316
1317         Patch by: Antoine Tremblay <hexa00 at gmail dot com>
1318
1319         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1320         Original patch by : Simon Descaries
1321         Fix small refount leak in caps compatibility check.
1322         Fixes #551676.
1323
1324 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
1325
1326         * docs/pwg/advanced-request.xml:
1327           Fix 0.8 api usage in example. Fixes #554561
1328
1329         * docs/pwg/appendix-porting.xml:
1330           Change 0.9 to 0.10 here.
1331
1332 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
1333
1334         * docs/manual/basics-data.xml:
1335           Change "event-event interaction" to "element-element interaction".
1336           Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
1337           updates.
1338
1339 2008-10-05  Jan Schmidt  <jan.schmidt@sun.com>
1340
1341         * configure.ac:
1342         Back to development -> 0.10.21.1
1343
1344 === release 0.10.21 ===
1345
1346 2008-10-02  Jan Schmidt <jan.schmidt@sun.com>
1347
1348         * configure.ac:
1349           releasing 0.10.21, "Take These Things From Me"
1350
1351 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
1352
1353         * configure.ac:
1354         0.10.20.4 pre-release
1355
1356 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
1357
1358         * libs/gst/base/gstbasetransform.c:
1359         * plugins/elements/gstcapsfilter.c:
1360         * tests/check/Makefile.am:
1361         * tests/check/elements/.cvsignore:
1362         * tests/check/elements/capsfilter.c:
1363         Fix assertion in basetransform when the subclass chooses not to
1364         allocate a buffer in prepare_buffer(), and make capsfilter error out
1365         cleanly if requested to apply caps that don't completely specify the
1366         buffer. Fixes #551509
1367
1368 2008-09-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1369
1370         * libs/gst/base/gstbasetransform.c:
1371         (gst_base_transform_prepare_output_buffer):
1372         Take new caps ref because our old one might have been gone when the
1373         subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
1374
1375 2008-09-15  Stefan Kost  <ensonic@users.sf.net>
1376
1377         * configure.ac:
1378           Do not probe availability of check unit test library when cross
1379           compiling, as test would not work anyway. Also cleanup verbose output
1380           of the check test. Fixes #551952.
1381
1382 2008-09-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1383
1384         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
1385
1386         * gst/gstelement.c: (gst_element_sync_state_with_parent):
1387         Avoid leaking the parent ref when we fail changing the state of the
1388         element using gst_element_sync_state_with_parent(). Fixes #551978.
1389
1390 2008-09-11  Tim-Philipp Müller  <tim.muller at collabora co uk>
1391
1392         * docs/manual/intro-motivation.xml::
1393           Remove some bits that no longer apply, update others (#551642).
1394
1395 2008-09-10  Jan Schmidt  <jan.schmidt@sun.com>
1396
1397         * configure.ac:
1398         0.10.20.2 pre-release
1399
1400         * po/LINGUAS:
1401         * po/id.po:
1402         * po/pt_BR.po:
1403
1404         New translations.
1405
1406 2008-09-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
1407
1408         * win32/common/config.h.in:
1409           Add GST_DATADIR, hard-code cpu to x86.
1410
1411         * win32/common/libgstreamer.def:
1412           Spaces to tabs.
1413
1414 2008-09-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1415
1416         * gst/gsttaglist.h:
1417           Fix Since: markers for new geo tags.
1418
1419 2008-09-02  Stefan Kost  <ensonic@users.sf.net>
1420
1421         * gst/gsttaglist.h:
1422           Fix actual tag name define after renaming from altitude to elevation.
1423
1424 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1425
1426         * gst/gstpad.c: (add_unref_pad_to_list),
1427         (gst_pad_get_internal_links_default):
1428         Add fallback when calling the deprecated function on an element that
1429         implements the new internal_link handler.
1430
1431 2008-09-01  Stefan Kost  <ensonic@users.sf.net>
1432
1433         * docs/gst/gstreamer-sections.txt:
1434         * gst/gsttaglist.c:
1435         * gst/gsttaglist.h:
1436           Add new tags for geo location and clarify purpose of existing location
1437           tag. Fixes #481169
1438
1439 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1440
1441         Patch by: Olivier Crete <tester at tester dot ca>
1442
1443         * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
1444         (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
1445         Use thread-safe internal links iterator. Fixes #549504.
1446
1447 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1448
1449         Based on patch by: Olivier Crete <tester at tester dot ca>
1450
1451         * docs/gst/gstreamer-sections.txt:
1452         * win32/common/libgstreamer.def:
1453         * gst/gstpad.c: (gst_pad_init),
1454         (gst_pad_set_iterate_internal_links_function),
1455         (int_link_iter_data_free), (iterate_pad),
1456         (gst_pad_iterate_internal_links_default),
1457         (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
1458         * gst/gstpad.h:
1459         Add threadsafe replacement functions for getting internal links of an
1460         element. Deprecate the old internal links functions.
1461         API:GstPad::gst_pad_set_iterate_internal_links_function()
1462         API:GstPad::GstPadIterIntLinkFunction
1463         API:GstPad::gst_pad_iterate_internal_links()
1464         API:GstPad::gst_pad_iterate_internal_links_default()
1465
1466         * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
1467         (gst_proxy_pad_init):
1468         Implement threadsafe internal links.
1469
1470         * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
1471         Unit test for internal links on tee. See #549504.
1472
1473 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1474
1475         * tests/check/Makefile.am:
1476         libs/transform1 test requires libs/test_transform.c
1477
1478 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1479
1480         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1481         Die evil deadlock, die !
1482
1483 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1484
1485         * gst/gstutils.c: (gst_element_get_compatible_pad):
1486         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1487         * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
1488         Fix all leaks due to the bug in gst_pad_template_new() by which it does
1489         not steal the refcount of the given caps as stated.
1490
1491         REVERT THIS COMMIT ONCE FIXED !
1492         REVERT THIS COMMIT ONCE FIXED !
1493         REVERT THIS COMMIT ONCE FIXED !
1494         REVERT THIS COMMIT ONCE FIXED !
1495         REVERT THIS COMMIT ONCE FIXED !
1496         REVERT THIS COMMIT ONCE FIXED !
1497
1498 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1499
1500         * gst/gstiterator.c:
1501         * gst/gstiterator.h:
1502         After 3 years it's about time to revise the documentation of the
1503         iterator objects.
1504
1505 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1506
1507         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1508         Make the internal links function less thread-unsafe and add some
1509         comments, dunno why.
1510
1511 2008-08-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1512
1513         * gst/gst_private.h:
1514           Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
1515           build with --disable-gst-debug.
1516
1517 2008-08-28  David Schleef  <ds@schleef.org>
1518
1519         * gst/gstpadtemplate.c: Revert last change, since it breaks
1520           a few plugins, ffmpeg, alaw, and mulaw.  Code is correct,
1521           but shouldn't be enabled until we've released fixed versions
1522           of -good and -ffmpeg.
1523
1524 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1525
1526         * gst/gstobject.c:
1527           Put the gst_object_get_name() back in.
1528
1529 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1530
1531         * gst/gstpadtemplate.c:
1532           The old behaviour was that gst_pad_template_new() takes ownership of
1533           the caps. As we now call g_object_new() which calls g_object_set() and
1534           which copies the caps, we have to unref them to not leak them. Fixes
1535           make valgrid for me.
1536
1537 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1538
1539         * gst/gsturi.c:
1540           Don't segfault on input like "tel:+1-123-555-1234".
1541
1542 2008-08-27  Stefan Kost  <ensonic@users.sf.net>
1543
1544         * gst/gstobject.c:
1545           Due to popular request also include ObjectType in
1546           gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1547
1548 2008-08-26  David Schleef  <ds@schleef.org>
1549
1550         * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1551           src_val must be positive, because that's not a requirement.
1552           This causes problems with converting negative granulepos
1553           values for Dirac.
1554         * gst/gstquery.c: Same, gst_query_new_convert().
1555
1556 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1557
1558         * gst/gstclock.c: (gst_clock_add_observation):
1559         Add some more debugging to the clock slaving code.
1560
1561         * win32/common/libgstbase.def:
1562         Add new basetransform method.
1563
1564 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1565
1566         * gst/gstbin.c: (gst_bin_element_set_state):
1567         Take the (recursive) state lock between getting the locked state of an
1568         element and changing the element state. This allows the application to
1569         lock an element's state and then change its state without races.
1570
1571 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1572
1573         * gst/gstbin.c: (gst_bin_element_set_state):
1574         When an element is in the locked state we still want to update the
1575         base_time of the element.
1576
1577 2008-08-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1578
1579         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1580         Use the result from gst_pad_set_caps() instead of assuming the element
1581         always accepted the caps computed by the default negotiate function.
1582
1583 2008-08-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1584
1585         * docs/libs/gstreamer-libs-sections.txt:
1586         * libs/gst/base/gstbasetransform.c:
1587         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1588         (gst_base_transform_chain), (gst_base_transform_suggest),
1589         (gst_base_transform_reconfigure):
1590         * libs/gst/base/gstbasetransform.h:
1591         Implement method for reconfiguring basetransform.
1592         API: GstBaseTransform::gst_base_transform_reconfigure()
1593
1594 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1595
1596         patch by: Murray Cumming <murrayc@murrayc.com>
1597
1598         * gst/gstutils.c:
1599           Mention that this is just like gst_buffer_merge() but with extra
1600           unreffing for C coders. Advise language bindings not to wrap it.
1601           Fixes Bug #533856.
1602           
1603           Also fix file comment.
1604
1605 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1606
1607         reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1608
1609         * plugins/elements/gstfakesink.c:
1610         * plugins/elements/gstfakesrc.c:
1611           Call super::event() when not handling it. Fixes #544855.
1612
1613 2008-08-19  Michael Smith <msmith@songbirdnest.com>
1614
1615         Patch by: Alessandro Decina <alessandro@nnva.org>
1616         * plugins/elements/gstfilesrc.c:
1617           Use 64 bit variants of stat functions on win32, to enable support
1618           of large files there.
1619           Fixes #547277.
1620
1621 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1622
1623         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1624         (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1625         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1626         (gst_base_sink_get_position), (gst_base_sink_change_state):
1627         Improve position reporting in the flushing state.
1628         Also report the position when we are not yet prerolled but we
1629         have a newsegment event. Fixes #543444.
1630         Improve the pull-based negotiation code.
1631
1632         * tests/check/elements/fakesink.c: (GST_START_TEST),
1633         (fakesink_suite):
1634         Add testcase for position reporting while flushing in PAUSED and
1635         PLAYING.
1636
1637         * tests/check/generic/sinks.c: (GST_START_TEST):
1638         Update unit-test, we can now query the position as soon as we receive a
1639         NEWSEGMENT event.
1640
1641 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1642
1643         Based on patch by: Jason Zhao <e3423c at motorola dot com>
1644
1645         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1646         When the subclass event handler releases the PREROLL_LOCK, we could be
1647         in the flushing state and we have to ignore the event. Fixes #548394.
1648
1649 2008-08-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1650
1651         * tools/gst-launch.1.in:
1652           Document GST_REGISTRY_UPDATE environment variable.
1653
1654 2008-08-18  Wim Taymans  <wim.taymans@collabora.co.uk>
1655
1656         * libs/gst/base/gstbasetransform.c:
1657         (gst_base_transform_prepare_output_buffer):
1658         If the element is configured in passthrough mode but the
1659         prepare_output_buffer gave us a new output buffer, discard that buffer
1660         and reuse the input buffer.
1661
1662 2008-08-15  Wim Taymans  <wim.taymans@collabora.co.uk>
1663
1664         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1665
1666         * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1667         (gst_tee_request_new_pad), (gst_tee_release_pad),
1668         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1669         * plugins/elements/gsttee.h:
1670         Protect pad_alloc with a new lock so that we can be sure that nothing is
1671         performing a pad_alloc when removing the pad. Fixes #547835.
1672
1673         * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1674         (buffer_alloc_harness_teardown), (app_thread_func),
1675         (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1676         Added testcase for shutdown race.
1677
1678 2008-08-14  Thijs Vermeir  <thijsvermeir@gmail.com>
1679
1680         * gst/gstpad.h:
1681         Add doc
1682
1683 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1684
1685         * libs/gst/base/gstbasetransform.c:
1686         (gst_base_transform_prepare_output_buffer),
1687         (gst_base_transform_buffer_alloc):
1688         Go over the buffer_alloc function again and make sure we always end up
1689         allocating a buffer.
1690         Add some more docs.
1691         Avoid doing pad alloc when we have a pending suggestion because we
1692         cannot yet deal with changing caps in that case. Fixes #547728
1693
1694 2008-08-14  Stefan Kost  <ensonic@users.sf.net>
1695
1696         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1697
1698         * docs/manual/advanced-clocks.xml:
1699         * docs/manual/clocks.png:
1700         * docs/manual/diagrams-clocks.svg:
1701           Add one more image showing different times together with a describing
1702           paragraph. Fixes #547729.
1703
1704 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1705
1706         * win32/common/libgstbase.def:
1707         Add new method.
1708
1709 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1710
1711         * libs/gst/base/gstbasetransform.c:
1712         (gst_base_transform_transform_caps),
1713         (gst_base_transform_prepare_output_buffer),
1714         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1715         Don't overwrite the outsize when calculating the expected size of a new
1716         buffer because we still need it in case we cannot process the new
1717         buffer.
1718         When converting the size of the new buffer to an upstream size, actually
1719         use the expected size of the buffer, not some other random value.
1720         Use an atomic int to signal that a new upstream caps suggestion is
1721         available.
1722         When we can convert the current buffer to a new format, check if the
1723         buffer size is of the expected size and allocate a new buffer of the
1724         expected size when this is not the case. Fixes #546883.
1725
1726         * tests/check/libs/transform1.c: (GST_START_TEST):
1727         remove ifdeffed code from the unit test.
1728
1729 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1730
1731         * pkgconfig/gstreamer-uninstalled.pc.in:
1732         * pkgconfig/gstreamer.pc.in:
1733           Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1734           called gstcontroller-0.10.
1735
1736 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1737
1738         * gst/gstchildproxy.h:
1739         * gst/gstpreset.h:
1740           Remove double interface from doc-string.        
1741
1742 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1743
1744         * libs/gst/base/gstbasesrc.c:
1745         * libs/gst/base/gstbasetransform.c:
1746           Fix headings in docs and gtk-doc warnings.
1747
1748 2008-08-11  Michael Smith <msmith@songbirdnest.com>
1749
1750         * gst/gstregistrybinary.c:
1751           Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1752           libc.
1753           Fixes #544776.
1754
1755 2008-08-11  Edward Hervey  <edward.hervey@collabora.co.uk>
1756
1757         * libs/gst/base/gstbasetransform.c:
1758         (gst_base_transform_buffer_alloc):
1759         Fix a "may be used unitialized" warning.
1760
1761 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1762
1763         * docs/gst/gstreamer-sections.txt:
1764         * gst/gstpreset.h:
1765           Document preset-iface vmethods.
1766
1767 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1768
1769         * docs/manual/advanced-interfaces.xml:
1770           Turn thoughts about HAL into a note-tag. Remove mentioning that is
1771           only used to discover devices.
1772
1773 2008-08-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
1774
1775         Patch by: Frederic Crozat <fcrozat@mandriva.org>
1776
1777         * gst/gst.c: (init_pre):
1778         Make sure gettext returns translations in UTF-8 encoding rather
1779         than in the current locale encoding (#546822).
1780
1781 2008-08-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1782
1783         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1784         Fix subset test.
1785
1786         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1787         Improve unit test subset tests and add a testcase for the subset failure
1788         cases.
1789
1790         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1791         Improve subtraction unit test.
1792
1793 2008-08-07  Stefan Kost  <ensonic@users.sf.net>
1794
1795         * plugins/elements/gsttee.c:
1796           Unlock, instead of locking again.
1797
1798 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1799
1800         * gst/gstpad.h:
1801         Clarify the docs a bit more.
1802
1803 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1804
1805         * tests/examples/metadata/read-metadata.c:
1806           Don't leak old taglist.
1807
1808 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1809
1810         Patch by: Olivier Crete <tester at tester dot ca>
1811
1812         * gst/gststructure.c:
1813         (gst_structure_fixate_field_nearest_fraction):
1814         Avoid overflows in fixation code when dealing with MAXINT values, which
1815         v4l2src seems to do.
1816         Fixes #546328.
1817
1818         * tests/check/gst/gststructure.c: (GST_START_TEST):
1819         Make a unit test to check the fix. 
1820
1821 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1822
1823         * plugins/elements/gstcapsfilter.c: (copy_func),
1824         (gst_capsfilter_set_property):
1825         Use new caps suggestion feature of basetransform to request a caps
1826         negotiation upstream.
1827
1828 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1829
1830         * docs/libs/gstreamer-libs-sections.txt:
1831         Add new function:
1832         API: GstBaseTransform::gst_base_transform_suggest()
1833
1834         * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1835         (gst_base_transform_init), (gst_base_transform_transform_caps),
1836         (gst_base_transform_transform_size),
1837         (gst_base_transform_configure_caps),
1838         (gst_base_transform_can_transform),
1839         (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1840         (gst_base_transform_prepare_output_buffer),
1841         (gst_base_transform_buffer_alloc),
1842         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1843         (gst_base_transform_chain), (gst_base_transform_activate),
1844         (gst_base_transform_set_passthrough),
1845         (gst_base_transform_is_passthrough),
1846         (gst_base_transform_set_in_place),
1847         (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1848         (gst_base_transform_set_qos_enabled),
1849         (gst_base_transform_is_qos_enabled),
1850         (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1851         (gst_base_transform_reconfigure):
1852         * libs/gst/base/gstbasetransform.h:
1853         Rewrite of basetransform to perform negotiation outside of the
1854         buffer_alloc functions.  Fixes #545853.
1855
1856         * tests/check/libs/transform1.c: (GST_START_TEST),
1857         (buffer_alloc_ct2):
1858         Update unit test.
1859
1860 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1861
1862         * tests/check/gst/gstpreset.c:
1863           Only run preset tests when $HOME is writable. Preliminary fix for
1864           #545433.
1865
1866 2008-08-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1867
1868         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1869         (gst_bin_change_state_func), (bin_handle_async_done),
1870         (gst_bin_handle_message_func):
1871         Fix race for bins that simulate ASYNC state changes by inserting
1872         ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1873         pending ASYNC messages even when the bin does not have ASYNC children.
1874         We note detect this behaviour because we will receive an ASYNC message
1875         that is originating from the bin itself. 
1876         Fixes races with decodebin2 state changes.
1877
1878         * tests/check/gst/gstbin.c: (GST_START_TEST):
1879         Add some more debug.
1880
1881 2008-08-04  Tim-Philipp Müller  <tim.muller at collabora co uk>
1882
1883         * gst/gsttaglist.c: (_gst_tag_initialize):
1884           Fix typo.
1885
1886 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1887
1888         * gst/gsttaglist.c:
1889           Argh. actually save the text before committing. Now adds
1890           gst_tag_merge_strings_with_comma() to gst_tag_register().
1891
1892 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1893
1894         * gst/gsttaglist.c:
1895         * gst/gsttaglist.h:
1896           Do as tim pointed out and actually register the new tag. Also improve
1897           te docs and use gst_tag_merge_strings_with_comma() method to allow
1898           retriving all keywords merged in one list.
1899
1900 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1901
1902         * configure.ac:
1903         * docs/gst/gstreamer.types:
1904           Revert 'accidential' change of the configure option removal. We still
1905           need to generate the types file in configure --disable-load-save.
1906
1907 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1908
1909         * docs/gst/gstreamer-sections.txt:
1910         * gst/gsttaglist.h:
1911           Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1912
1913 2008-08-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1914
1915         * gst/gstpadtemplate.c:
1916           (gst_pad_template_class_init), (gst_static_pad_template_get),
1917           (gst_pad_template_new), (gst_pad_template_pad_created),
1918           (gst_pad_template_set_property), (gst_pad_template_get_property):
1919           Add "name-template", "direction", "presence" and "caps" properties,
1920           so that gst_pad_template_new() is just a thin wrapper around
1921           g_object_new(), which is better for bindings. (Fixes: #539772)
1922
1923 2008-07-31  Michael Smith <msmith@songbirdnest.com>
1924
1925         * gst/gsturi.c:
1926           Be more liberal in what URIs we accept.
1927           Do not unescape bits of the URI for no apparent reason before passing to
1928           the element. Fixes #545352.
1929
1930 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1931
1932         Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1933
1934         * gst/gst.c:
1935         Include gstconfig.h as macros from it are used. Fixes bug #545607.
1936
1937 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1938
1939         * configure.ac:
1940         * docs/gst/gstreamer-sections.txt:
1941         * docs/gst/gstreamer.types:
1942         * docs/gst/gstreamer.types.in:
1943         * gst/Makefile.am:
1944         * gst/gst.c:
1945         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1946         * gst/gstconfig.h.in:
1947         * gst/gstelement.c: (gst_element_get_index):
1948         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1949         (gst_registry_binary_load_feature),
1950         (gst_registry_binary_read_cache):
1951         * gst/gstregistryxml.c: (load_feature),
1952         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1953         * plugins/Makefile.am:
1954         * tools/gst-indent:
1955         * tools/gst-inspect.c: (print_index_info), (print_element_list),
1956         (print_plugin_features), (print_element_features):
1957         * tools/gst-xmlinspect.c: (print_event_masks),
1958         (print_element_info):
1959         * win32/common/gstconfig.h:
1960         Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1961
1962         Disabling the indexers and URI handler code will only reduce the
1963         required amount of memory by a very small amount but on the other hand
1964         requires much more maintaince work. Apart from that many places of
1965         code are broken when disabling them.
1966
1967         Disabling the enum types doesn't reduce the required amount of memory
1968         by more than a few bytes and makes it hard to fix bugs like #539772,
1969         i.e. use the enums as GObject properties.
1970
1971 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1972
1973         * docs/design/part-TODO.txt:
1974         Add some thoughts and problems with upstream renegotiation.
1975
1976 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1977
1978         * gst/gstpad.c: (gst_pad_acceptcaps_default),
1979         (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1980         Remove silly redundant debug.
1981         Add some more debug info.
1982         Clarify the docs regarding new caps received from pad_alloc.
1983
1984 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1985
1986         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1987         (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1988         Make setting the caps more threadsafe.
1989
1990 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1991
1992         * docs/design/part-element-transform.txt:
1993         Update docs.
1994
1995 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1996
1997         * plugins/elements/gstqueue.c: (gst_queue_init),
1998         (gst_queue_acceptcaps):
1999         Add and use a custom acceptcaps function instead of falling back to the
2000         potentially less optimized default implementation.
2001
2002 2008-07-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
2003
2004         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2005           Only sanity-check the buffer size if requested_caps == buffer_caps
2006           (ie. don't take pad caps into account, they're not relevant here)
2007
2008 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
2009
2010         * plugins/elements/gsttee.c:
2011         * plugins/elements/gsttee.h:
2012           Reverting as not everything is clear yet. Needs some general design
2013           work.
2014
2015 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
2016
2017         * ChangeLog:
2018           ChangeLog surgery for tee commit.
2019
2020 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
2021
2022         * docs/gst/gstreamer-sections.txt:
2023           Cleanup section-file.
2024
2025 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
2026
2027         * plugins/elements/gsttee.c:
2028         * plugins/elements/gsttee.h:
2029           Relay tag events in tee. Fixes parts of #474016.
2030           Downgrades 3 reoccurring debugs to log.
2031
2032 2008-07-28  Michael Smith <msmith@songbirdnest.com>
2033
2034         * configure.ac:
2035         * libs/gst/Makefile.am:
2036           Build the net library if we have winsock2.
2037
2038 2008-07-26  Stefan Kost  <ensonic@users.sf.net>
2039
2040         patch by: Luc Pionchon <luc.pionchon@nokia.com>
2041
2042         * docs/manual/advanced-threads.xml:
2043         * docs/manual/diagrams-pipelines.svg:
2044         * docs/manual/hello-world.png:
2045         * docs/manual/linked-elements.png:
2046         * docs/manual/mime-world.png:
2047         * docs/manual/queue.png:
2048         * docs/manual/thread-buffering.png:
2049         * docs/manual/thread-synchronizing.png:
2050           Replace one diagram with two separate ones and updates others.
2051           Fixes #542401.
2052
2053 2008-07-25  Thijs Vermeir  <thijsvermeir@gmail.com>
2054
2055         * gst/gstelement.h:
2056         Fix link in documentation.
2057
2058 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
2059
2060         * gst/gstmessage.c:
2061         Fix confusing documentation.
2062
2063 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
2064
2065         * libs/gst/base/gstbasesrc.h:
2066         revert the changes to the header file for the ABI.
2067
2068 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
2069
2070         * libs/gst/base/gstbasesrc.c:
2071         * libs/gst/base/gstbasesrc.h:
2072         Don't cache the seekable status.
2073         Fixes bug #544174
2074
2075 2008-07-24  Rene Stadler  <mail@renestadler.de>
2076
2077         * docs/manual/advanced-autoplugging.xml: Add fakesink to example
2078         code to close the pipeline graph.  This prevents the program from
2079         printing internal data flow errors.
2080
2081 2008-07-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2082
2083         * docs/manual/basics-bus.xml:
2084         Correct typo. Fixes bug #544320.
2085
2086 2008-07-22  Michael Smith <msmith@songbirdnest.com>
2087
2088         * configure.ac:
2089           Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
2090           Add check (taken from -base) for winsock, adds WIN32_LIBS
2091         * gst/Makefile.am:
2092           Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
2093           winsock.
2094           Define GST_EXPORTS when building libgstreamer (only used on win32)
2095         * gst/gst_private.h:
2096         * gst/gstinfo.h:
2097           Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
2098           for symbols that we need to export in both these files.
2099         * gst/gstpoll.c:
2100           Include gst_private.h higher up to avoid some compile problems on win32.
2101
2102 2008-07-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2103
2104         * gst/gstvalue.c:
2105         Fix typos.
2106
2107 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2108
2109         * gst/gstcaps.c:
2110         Previous commit was wrong NULL caps does not exist
2111         and indicate an error, so also add a FIXME to
2112         gst_caps_is_equal where NULL caps are accepted.
2113
2114 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2115
2116         * gst/gstcaps.c:
2117         Allow passing of NULL to gst_caps_union
2118
2119 2008-07-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2120
2121         * gst/gstghostpad.c:
2122         Add in doc that gst_ghost_pad_set_target can accept
2123         NULL to clear target
2124
2125 2008-07-15  Michael Smith <msmith@songbirdnest.com>
2126
2127         * gst/gstplugin.c:
2128         * gst/gstregistry.c:
2129           GstRegistryPool doesn't exist; don't refer to it in docs.
2130           Don't refer to functions that don't exist in docs, it's
2131           unhelpful.
2132
2133 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2134
2135         * gst/gst.c:
2136         Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
2137
2138 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2139
2140         Patch by: Tristan Matthews <le dot businessman at gmail dot com>
2141
2142         * docs/pwg/building-testapp.xml:
2143         Don't use an undeclared variable in the example program.
2144         Fixes bug #542573.
2145
2146 2008-07-12  Stefan Kost  <ensonic@users.sf.net>
2147
2148         * gst/gstdebugutils.c:
2149           Squeeze ghost-pad links and remove <> from classname labels to save
2150           more horizontal space.
2151
2152 2008-07-11  Stefan Kost  <ensonic@users.sf.net>
2153
2154         * gst/gstdebugutils.c:
2155           Give request and sometimes pads a different shpe style. Condense the
2156           graphs a little more.
2157
2158 2008-07-09  Michael Smith <msmith@songbirdnest.com>
2159
2160         * configure.ac:
2161           Don't require flex and bison if the parser is disabled.
2162
2163 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2164
2165         * libs/gst/controller/gstinterpolationcontrolsource.c:
2166         (_list_find_sorted_custom):
2167         Don't use declarations after statements.
2168
2169 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2170
2171         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
2172         Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
2173         of the the child-added / -removed signals as GstChildProxy
2174         only supports GstObjects.
2175
2176 2008-07-07  Thijs Vermeir  <thijsvermeir@gmail.com>
2177
2178         * gst/gstdebugutils.c:
2179         Fix memleak
2180
2181 2008-07-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2182
2183         Patch by: Alessandro Decina <alessandro at nnva dot org>
2184
2185         * gst/gstpoll.c:
2186         Fix "ignored return value" compiler warning with newer glibc.
2187
2188 2008-07-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2189
2190         * gst/gstchildproxy.c:
2191         Fix copy&paste error in gst_child_proxy_removed() documentation.
2192
2193 2008-07-02  Tim-Philipp Müller  <tim.muller at collabora co uk>
2194
2195         * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
2196           Print error debug message if plugin description fields that should
2197           be set are NULL.
2198
2199         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
2200           Don't crash if the string to serialise is NULL (it really should
2201           not be, but apparently this used to work with the xml registry ...).
2202
2203 2008-07-02  Thijs Vermeir  <thijsvermeir@gmail.com>
2204
2205         * tools/gst-plot-timeline.py:
2206         Fix parsing of log messages
2207
2208 2008-07-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
2209
2210         * win32/common/libgstbase.def::
2211           Sort alphabetically so make check-exports doesn't barf.
2212
2213 2008-07-01  Stefan Kost  <ensonic@users.sf.net>
2214
2215         * gst/gstevent.c:
2216           Use gst_format_get_name() to improve debug output.
2217
2218         * gst/gstpreset.c:
2219           Remove #ifdef'ed code. Add TODO comment.
2220
2221         * gst/gstsegment.c:
2222           Add debug output to ease spotting format != segment.format assertions.
2223
2224 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2225
2226         * tests/check/libs/gdp.c: (gst_dp_suite):
2227         Also enable the GDP unit test again on PPC now that the bug
2228         is fixed.
2229
2230 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2231
2232         * libs/gst/dataprotocol/dataprotocol.c:
2233         Don't write to the same region of memory as a uint64 and uint16
2234         as this breaks strict aliasing rules and apparantly breaks on PPC
2235         and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
2236
2237 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
2238
2239         * libs/gst/controller/gstinterpolationcontrolsource.c:
2240           Optimize list handling. Use own find function. Exploit that fact that
2241           the list is sorted. Also pass back the node before, so that we can
2242           insert quickly. Have a fast path for append.
2243
2244 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
2245
2246         * docs/design/draft-framestep.txt:
2247         * docs/design/part-negotiation.txt:
2248           Fix two typos.
2249
2250 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
2251
2252         * configure.ac:
2253           Show configuration sumary after configure run. Based on patch by
2254           Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
2255
2256 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
2257
2258         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2259
2260         * docs/manual/advanced-autoplugging.xml:
2261         * docs/manual/advanced-threads.xml:
2262         * docs/manual/basics-bins.xml:
2263         * docs/manual/basics-elements.xml:
2264         * docs/manual/basics-helloworld.xml:
2265         * docs/manual/basics-pads.xml:
2266           Add scale factor for pdf output.
2267
2268         * docs/manual/intro-basics.xml:
2269           Switched sections "pads" and "bins" and added a pipeline diagram.
2270
2271         * docs/manual/intro-gstreamer.xml:
2272           Added more info on gstreamer.
2273
2274         * docs/manual/intro-motivation.xml:
2275           Commented out the whole section "current problem", which sounds
2276           historical and somehow osolete; it could be turned in a positive
2277           way and reused to improve the design principles.
2278
2279         * docs/manual/intro-preface.xml:
2280           - Update URLs to library.gnome.org. 
2281           - Do not mention GTK+ in preliminary reading (irrelevant). 
2282           - Mention Plugin Writer's Manual and further reading only in the
2283             previous section.
2284           - Added a list of most relevant GObject/glib topics.
2285
2286         * docs/manual/Makefile.am:
2287         * docs/manual/bin-element-ghost.fig:
2288         * docs/manual/bin-element-ghost.png:
2289         * docs/manual/bin-element-noghost.fig:
2290         * docs/manual/bin-element-noghost.png:
2291         * docs/manual/bin-element.fig:
2292         * docs/manual/bin-element.png:
2293         * docs/manual/filter-element-multi.fig:
2294         * docs/manual/filter-element-multi.png:
2295         * docs/manual/filter-element.fig:
2296         * docs/manual/filter-element.png:
2297         * docs/manual/gstreamer-overview.png:
2298         * docs/manual/hello-world.fig:
2299         * docs/manual/hello-world.png:
2300         * docs/manual/linked-elements.fig:
2301         * docs/manual/linked-elements.png:
2302         * docs/manual/mime-world.fig:
2303         * docs/manual/mime-world.png:
2304         * docs/manual/queue.fig:
2305         * docs/manual/queue.png:
2306         * docs/manual/simple-player.png:
2307         * docs/manual/sink-element.fig:
2308         * docs/manual/sink-element.png:
2309         * docs/manual/src-element.fig:
2310         * docs/manual/src-element.png:
2311         * docs/manual/diagrams-general.svg:
2312         * docs/manual/diagrams-pipelines.svg:
2313           Removed .fig, added .png counterpart.
2314           
2315           Fixes: #539137
2316
2317 2008-06-26  Thijs Vermeir  <thijsvermeir@gmail.com>
2318
2319         * plugins/elements/gstmultiqueue.c:
2320         * plugins/elements/gstmultiqueue.h:
2321         revert extra-size-buffers stuff, caused some race conditions
2322         and extra-size-buffers is not used anymore. Docs needs some updates
2323
2324 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
2325
2326         * win32/common/config.h:
2327         * win32/common/gstenumtypes.c:
2328         * win32/common/gstenumtypes.h:
2329         * win32/common/gstversion.h:
2330           Update win32 files.
2331
2332 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
2333
2334         * gst/gstdebugutils.h: (GstDebugGraphDetails),
2335           (GST_DEBUG_BIN_TO_DOT_FILE):
2336           Add missing Since' markers to gtk-doc blurbs.
2337
2338 2008-06-26  Wim Taymans  <wim.taymans@collabora.co.uk>
2339
2340         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2341         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2342         (set_caps_1), (set_caps_ct1), (transform_ct1),
2343         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2344         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2345         (transform_size_ct2), (buffer_alloc_ct2):
2346         Add some more tests with switching caps in buffer_alloc.
2347
2348 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2349
2350         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2351         (gst_test_trans_class_init), (result_sink_chain),
2352         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2353         (gst_test_trans_push), (gst_test_trans_pop):
2354         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2355         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2356         (set_caps_1), (set_caps_ct1), (transform_ct1),
2357         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2358         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2359         (transform_size_ct2), (buffer_alloc_ct2),
2360         (gst_basetransform_suite):
2361         More tests, prepare for tests with switching caps in buffer_alloc.
2362
2363 2008-06-25  Thijs Vermeir  <thijsvermeir@gmail.com>
2364
2365         * plugins/elements/gstmultiqueue.c:
2366         * plugins/elements/gstmultiqueue.h:
2367         Fix dead-lock in underrun_cb
2368
2369 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2370
2371         * docs/design/part-states.txt:
2372         Fix device open/close docs.
2373
2374 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2375
2376         * ChangeLog:
2377           Mention bugnumber for last commit.
2378
2379 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2380
2381         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2382
2383         * docs/manual/manual.xml:
2384         - Reorganised the previous "introduction" bundle into Foreword,
2385         Introduction, and About GStreamer. The two first are <preface>
2386         docbook elements. The later is the first part of the book.
2387         - added intro-gstreamer.xml (content partially from
2388         intro-preface.xml)
2389         - moved appendix-win32.xml into appendix-integration.xml
2390
2391         * docs/manual/intro-preface.xml: gstreamer section moved...
2392         * docs/manual/intro-gstreamer.xml: ...here. new file.
2393
2394         * docs/manual/appendix-win32.xml: removed file. Content moved...
2395         * docs/manual/appendix-integration.xml: ...here.
2396         
2397         * docs/manual/highlevel-components.xml: section about GstEditor moved...
2398         * docs/manual/appendix-checklist.xml: ...here.
2399         
2400         Fixes: 538764
2401
2402 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2403
2404         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2405
2406         * docs/manual/basics-helloworld.xml:
2407         * docs/manual/hello-world.fig:
2408           - Explicitely include glib.h.
2409           - Do not use global variables.
2410           - Use g_printerr() instead of g_print().
2411           - Minor formating/renaming to increase readibility.
2412           - Renamed new_pad() to on_pad_added()
2413           - Improved explenatory comments.
2414           - renamed ogg parser to ogg demuxer
2415           - Use "autoaudiosink" instead of "alsasink".
2416           Fixes: #538619
2417
2418 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2419
2420         * ChangeLog:
2421           Remove cvs conflict marker.
2422
2423 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2424
2425         * docs/README:
2426           Document that for plgin-docs we extraxt he short-desc from the element
2427           details.
2428
2429         * docs/design/part-states.txt:
2430           Tell that devices should be closed in PAUSED -> READY.
2431
2432         * docs/manual/README:
2433           Document how tests in the manual are handled.
2434
2435         * docs/manuals.mak:
2436           Typo in comment.
2437
2438 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2439
2440         * gst/gstbin.c: (bin_query_latency_fold):
2441         Only care about latency min and max when the sink is actually a live
2442         sink.
2443
2444 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2445
2446         * docs/design/part-block.txt:
2447         Fix typo.
2448
2449         * docs/design/part-element-transform.txt:
2450         Add notes about why transform needs to know input/output sizes.
2451         Add some issues that need to be solved.
2452         Add some more use cases.
2453
2454         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2455         (gst_test_trans_class_init), (result_sink_chain),
2456         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2457         (gst_test_trans_push), (gst_test_trans_pop):
2458         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2459         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2460         (set_caps_1), (set_caps_ct1), (transform_ct1),
2461         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2462         (gst_basetransform_suite):
2463         Add suport for different pad templates and buffer-alloc.
2464         Add more checks for caps and buffer-alloc.
2465         Add checks for proxy buffer alloc.
2466         Add unit test for copy transform.
2467
2468 2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2469
2470         Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2471
2472         * docs/manual/appendix-integration.xml:
2473         * docs/manual/appendix-licensing.xml:
2474         * docs/manual/basics-elements.xml:
2475         * docs/manual/basics-helloworld.xml:
2476         * docs/manual/basics-pads.xml:
2477         * docs/manual/highlevel-components.xml:
2478         * docs/manual/highlevel-xml.xml:
2479         * docs/manual/intro-basics.xml:
2480         * docs/manual/intro-preface.xml:
2481           Typo and formatting fixes (#538594).
2482
2483 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2484
2485         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2486         Fix some memory leaks and uses of object instances that we don't
2487         actually own.
2488
2489 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2490
2491         * plugins/elements/gstmultiqueue.c:
2492         Add functionality to extra-size-buffers property.
2493
2494 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2495
2496         * plugins/elements/gstmultiqueue.c:
2497         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
2498         activate the pads if they are added in STATE_NULL.
2499
2500 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2501
2502         * docs/libs/gstreamer-libs-sections.txt:
2503         Add new API to doc
2504         * libs/gst/check/gstcheck.c:
2505         * libs/gst/check/gstcheck.h:
2506         API: gst_check_teardown_pad_by_name
2507
2508 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2509
2510         * libs/gst/check/gstcheck.c:
2511         * libs/gst/check/gstcheck.h:
2512         Also setup request pads and allow setup pads by name (#537812)
2513         API: gst_check_setup_src_pad_by_name
2514         API: gst_check_setup_sink_pad_by_name
2515
2516 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2517
2518         * tests/check/gst/gstbuffer.c:
2519         * tests/check/pipelines/parse-launch.c:
2520           Use HAVE_VALGRIND_H some more.
2521
2522 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2523
2524         * scripts/cvs-update.sh:
2525           Pass arguments to make.
2526           Run autoregen.sh if Makefile is not there.
2527
2528 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2529
2530         * configure.ac:
2531         * gst/gstinfo.c:
2532           Don't assume that <valgrind/valgrind.h> exists just because
2533           the binary is there.
2534
2535 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2536
2537         * tests/check/Makefile.am:
2538         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2539         (gst_test_trans_class_init), (gst_test_trans_init),
2540         (gst_test_trans_set_data), (result_sink_chain),
2541         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
2542         (gst_test_trans_pop):
2543         * tests/check/libs/transform1.c: (GST_START_TEST),
2544         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
2545         Add some test basetransform element and the beginnings of various
2546         unit tests for it.
2547
2548 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2549
2550         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2551         Increase code readability.
2552         Don't try to compare buffer offsets when ther are invalid.
2553
2554 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2555
2556         * docs/design/Makefile.am:
2557           Dist some more design docs.
2558
2559         * docs/random/moving-plugins:
2560           Small addition: good plugins mustn't have functional code
2561           within assertion macros.
2562
2563 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2564
2565         * docs/design/draft-framestep.txt:
2566         Some ideas about a framestep API
2567
2568         * docs/design/part-element-transform.txt:
2569         Start design and use cases for basetransform in order to get it
2570         fixed soon.
2571
2572 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2573
2574         * gst/gsttaglist.h:
2575           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2576           be in UTF-8 encoding.
2577
2578 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2579
2580         * gst/gstbus.c:
2581           Make it known that gst_bus_poll() is pure evil (fixes #538810).
2582
2583 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2584
2585         * plugins/elements/gstcapsfilter.c:
2586         * plugins/elements/gstfakesink.c:
2587         * plugins/elements/gstfakesrc.c:
2588         * plugins/elements/gstfdsink.c:
2589         * plugins/elements/gstfdsrc.c:
2590         * plugins/elements/gstfilesink.c:
2591         * plugins/elements/gstfilesrc.c:
2592         * plugins/elements/gstidentity.c:
2593         * plugins/elements/gstmultiqueue.c:
2594         * plugins/elements/gstqueue.c:
2595         * plugins/elements/gsttee.c:
2596         * plugins/elements/gsttypefindelement.c:
2597           Remove short_description. Add basic docs for gsttypefindelement.
2598           Simplify markup for fakesrc/fdsrc.
2599
2600 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2601
2602         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2603         Added Since doc.
2604
2605 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2606
2607         Patch by: Joel Larsson <tilljoel at gmail dot com>
2608
2609         * docs/plugins/gstreamer-plugins.args:
2610         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2611         (gst_fd_src_init), (gst_fd_src_update_fd),
2612         (gst_fd_src_set_property), (gst_fd_src_get_property),
2613         (gst_fd_src_create):
2614         * plugins/elements/gstfdsrc.h:
2615         Add timeout property like udpsrc. Fixes #538628.
2616         Add some more docs and example pipelines.
2617
2618 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2619
2620         * docs/libs/gstreamer-libs-sections.txt:
2621         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2622         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2623         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2624         (gst_base_sink_do_sync):
2625         * libs/gst/base/gstbasesink.h:
2626         * win32/common/libgstbase.def:
2627         Add method to allow sinks to specify additional delay between the sync
2628         times and the actual rendering of the data.
2629         API: gst_base_sink_set_render_delay()
2630         API: gst_base_sink_get_render_delay()
2631
2632 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
2633
2634         * configure.ac:
2635         Bump version number back to dev -> 0.10.20.1
2636
2637 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
2638
2639         * docs/gst/gstreamer-sections.txt:
2640         * gst/gsttaglist.c: (_gst_tag_initialize):
2641         * gst/gsttaglist.h:
2642         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2643         Fixes bug #538568.
2644
2645 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2646
2647         * libs/gst/controller/gstcontroller.c:
2648           Revert one change, that make ret value possible uninitialized.
2649
2650 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2651
2652         * libs/gst/controller/gstcontroller.c:
2653           Use freeze/thaw notify to sync notify emission a bit (its also more
2654           efficient). Move debug output to LOG (is called a lot in a loop).
2655           Always unset g_values if the have been initialized.
2656
2657 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2658
2659         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2660         (gst_base_sink_wait_eos), (gst_base_sink_event):
2661         If we have not seen a buffer before EOS, use the segment values to
2662         report the current position instead of invalid positions.
2663
2664 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2665
2666         * docs/plugins/tmpl/.cvsignore:
2667         * tests/check/gst/.cvsignore:
2668           Ignore more.
2669
2670 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2671
2672         * libs/gst/controller/gstinterpolation.c:
2673         * libs/gst/controller/gstinterpolationcontrolsource.c:
2674         * tests/check/libs/controller.c:
2675           Rewrite handling of default values. Fix overflow with unsigned types
2676           in linear interpolation. Remove now obsolete _first_value() function.
2677           Add more tests. Fixes #538201.
2678
2679 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2680
2681         * libs/gst/base/gstbasetransform.c:
2682         (gst_base_transform_class_init), (gst_base_transform_init),
2683         (gst_base_transform_transform_caps),
2684         (gst_base_transform_prepare_output_buffer):
2685         Add debug info.
2686         When a buffer is writable, its metadata is also writable so we don't
2687         need to subbuffer (which then makes the buffer not-writable anymore).
2688
2689 === release 0.10.20 ===
2690
2691 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
2692
2693         * configure.ac:
2694           releasing 0.10.20, "You Crazy Diamond"
2695
2696 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2697
2698         * configure.ac:
2699         0.10.19.3 pre-release
2700
2701 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2702
2703         * configure.ac:
2704         * gst/gstpreset.c:
2705         Rename DATADIR to GST_DATADIR to avoid build problems
2706         on win32. Patch By: David Schleef <ds@schleef.org>
2707         Fixes: #536857
2708
2709 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
2710
2711         * configure.ac:
2712         Explicitely link with -ldl if dladdr() is found there. Before it was
2713         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2714         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2715
2716 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2717
2718         * gst/gsterror.c: (_gst_stream_errors_init):
2719           Fix typo (spotted by Fabricio Godoy, #536723).
2720
2721 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
2722
2723         * configure.ac:
2724         0.10.19.2 pre-release
2725
2726 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2727
2728         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2729         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2730         Add some debug.
2731         Make sure we don't generate invalid QoS messages.
2732
2733 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2734
2735         * gst/gstevent.c: (gst_event_new_qos):
2736         Add some assert and docs for invalid input to the qos function.
2737
2738 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
2739
2740         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2741         (gst_base_sink_get_position):
2742         The reported position must always be smaller than the last seen
2743         timestamps (or timestamp + duration for reverse).
2744
2745 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
2746
2747         Patch by: Rob Bradford <rob at robster dot org dot uk>
2748
2749         * gst/gstregistry.c: (gst_registry_scan_path_level):
2750         Don't recurse into .debug directories as some distros install
2751         the debugging symbols next to the plugins in .debug directories
2752         and dlopen() crashes on them sometimes. Fixes bug #508070.
2753
2754         Add FIXME for 0.11 to not recurse into directories at all because
2755         it's very inconsistent to the behaviour of other PATH environment
2756         variables.
2757
2758 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2759
2760         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2761         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2762         Fix position query range checks in reverse playback.
2763
2764 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
2765
2766         * gst/gstelement.c:
2767         * gst/gstelement.h:
2768         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2769         clear of the reference to the resulting pad must be released later
2770         or not, resulting in possible leaks. Fixes bug #533865.
2771
2772 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2773
2774         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2775
2776         * gst/gstelementfactory.c:
2777         Small doc fix. Fixes #535285.
2778
2779 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2780
2781         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2782
2783         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2784         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2785         (gst_base_src_loop), (gst_base_src_set_flushing),
2786         (gst_base_src_change_state):
2787         Make sending an EOS event to the basesrc non-blocking even if the
2788         implementation does blocking waits in the create function. This is done
2789         by unlocking the create function when EOS is sent.
2790         Fixes #535218.
2791
2792 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2793
2794         * tools/gst-inspect.c: (print_element_properties_info):
2795         If possible print the element type of GValueArray properties.
2796
2797 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2798
2799         * gst/gstiterator.c:
2800         Remove an unused field from the private GstListIterator struct.
2801
2802 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2803
2804         * libs/gst/controller/gstcontroller.c:
2805           Add parameter guards.
2806
2807 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2808
2809         * tests/check/gst/gstpipeline.c:
2810           Revert test change and add comment why it should not work.
2811
2812 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2813
2814         * tests/check/gst/gstpipeline.c:
2815           Extending the test a little to verify that we also get the NULL state-
2816           change message.
2817
2818 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2819
2820         * gst/gstpreset.c: (gst_preset_default_get_meta),
2821           (gst_preset_get_preset_names), (gst_preset_get_property_names),
2822           (gst_preset_load_preset), (gst_preset_save_preset),
2823           (gst_preset_rename_preset), (gst_preset_delete_preset),
2824           (gst_preset_set_meta):
2825           Add Since: markers to docs blurbs.
2826
2827         * win32/common/libgstreamer.def:
2828           Add recently-added API.
2829
2830 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2831
2832         Patch by: Stefan Kost  <ensonic@users.sf.net>
2833
2834         * configure.ac:
2835         Add DATADIR for storing presets.
2836
2837         * docs/gst/gstreamer-docs.sgml:
2838         * docs/gst/gstreamer-sections.txt:
2839         * docs/gst/gstreamer.types.in:
2840         Add GstPreset to docs.
2841
2842         * gst/Makefile.am:
2843         * gst/gst.h:
2844         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2845         (preset_open_and_parse_header), (preset_parse_version),
2846         (preset_merge), (preset_get_keyfile),
2847         (gst_preset_default_get_preset_names),
2848         (gst_preset_default_get_property_names),
2849         (gst_preset_default_load_preset),
2850         (gst_preset_default_save_presets_file),
2851         (gst_preset_default_save_preset),
2852         (gst_preset_default_rename_preset),
2853         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2854         (gst_preset_default_get_meta), (gst_preset_default_randomize),
2855         (gst_preset_default_reset), (gst_preset_get_preset_names),
2856         (gst_preset_get_property_names), (gst_preset_load_preset),
2857         (gst_preset_save_preset), (gst_preset_rename_preset),
2858         (gst_preset_delete_preset), (gst_preset_set_meta),
2859         (gst_preset_get_meta), (gst_preset_class_init),
2860         (gst_preset_base_init), (gst_preset_get_type):
2861         * gst/gstpreset.h:
2862         Add GstPreset to core. Fixes #396779
2863
2864         * tests/check/Makefile.am:
2865         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2866         (gst_preset_test_set_property), (gst_preset_test_class_init),
2867         (gst_preset_test_base_init), (gst_preset_test_get_type),
2868         (gst_preset_test_plugin_init), (GST_START_TEST),
2869         (remove_preset_file), (test_setup), (test_teardown),
2870         (gst_preset_suite):
2871         Add GstPreset unit tests.
2872
2873 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2874
2875         * gst/gstpad.c: (gst_pad_event_default_dispatch):
2876         The default event function on a sinkpad should return TRUE when
2877         there are no internal links but should collect the return values from
2878         the internal links otherwise.
2879
2880 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2881
2882         * plugins/elements/gsttypefindelement.c:
2883         (gst_type_find_element_src_event),
2884         (gst_type_find_element_handle_event):
2885         Use faster and safer _pad_push_event().
2886
2887 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2888
2889         * docs/gst/gstreamer-sections.txt:
2890         * gst/gstutils.c: (element_find_unlinked_pad),
2891           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2892         * gst/gstutils.h:
2893           API: add gst_bin_find_unlinked_pad()
2894           API: deprecate gst_bin_find_unconnected_pad() (#401456)
2895
2896 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
2897
2898         * gst/gstclock.c:
2899         * gst/gstclock.h:
2900         * gst/gsttask.c:
2901         * gst/gsttask.h:
2902         Fixed a bunch of typos.
2903
2904 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2905
2906         * gst/gstpad.h:
2907         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2908           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2909           (gst_parse_bin_from_description_full):
2910         * gst/gstutils.h:
2911           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2912
2913 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2914
2915         * docs/pwg/advanced-tagging.xml:
2916           Small docs update, can't be bothered to rewrite the nonsensical
2917           examples right now.
2918
2919 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2920
2921         * gst/gstevent.h:
2922           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2923
2924 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2925
2926         * gst/parse/grammar.y:
2927           Remove unneeded casts.
2928
2929 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2930
2931         * gst/parse/grammar.y:
2932         * tests/check/pipelines/parse-launch.c:
2933           Get all missing elements from a parse launch string if possible
2934           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2935
2936 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2937
2938         * tests/check/Makefile.am:
2939         * tests/check/pipelines/parse-launch.c:
2940           Add some unit tests for the new gst_parse_launch*_full() API.
2941           (Exposes a previously-existing memory leak in the error code
2942           path, so adding to VALGRIND_TO_FIX for now).
2943
2944 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2945
2946         * docs/gst/gstreamer-sections.txt:
2947         * gst/gst.c: (init_post):
2948         * gst/gst_private.h: (_GstParseContext):
2949         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2950           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2951           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2952           (gst_parse_launch_full):
2953         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2954           (GstParseFlags), (GstParseContext):
2955         * gst/gstutils.c: (gst_parse_bin_from_description),
2956           (gst_parse_bin_from_description_full):
2957         * gst/gstutils.h:
2958         * gst/parse/grammar.y:
2959         * gst/parse/types.h:
2960         * win32/common/libgstreamer.def:
2961           Add new gst_parse_*_full API (#528178):
2962           API: gst_parse_launch_full()
2963           API: gst_parse_launchv_full()
2964           API: gst_parse_bin_from_description_full()
2965           API: gst_parse_context_new()
2966           API: gst_parse_context_free()
2967           API: gst_parse_context_get_missing_elements()
2968
2969 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
2970
2971         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2972
2973         * docs/faq/gst-uninstalled:
2974           Also support ffmpeg in gst-uninstalled.
2975
2976 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2977
2978         * configure.ac:
2979         After discussion on IRC use the binary registry as default
2980         but allow to disable it with --disable-binary-registry.
2981
2982         * win32/common/libgstreamer.def:
2983         Add the two new symbols for the binary registry.
2984
2985 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
2986
2987         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2988         * gst/gstutils.c: (gst_parse_bin_from_description):
2989         * gst/parse/grammar.y: (graph):
2990           More guards against bad input; typo fix; some minor clean-ups.
2991
2992 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2993
2994         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2995
2996         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2997         If nothing else can be used, use the last buffer's start time as
2998         the segment's last stop. Fixes bug #534258.
2999
3000 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
3001
3002         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
3003           Move size sanity check to the right place: downstream may return
3004           a buffer with a smaller size if the buffer caps are different than
3005           the requested ones, as may happen when doing reverse negotiation.
3006
3007 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3008
3009         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
3010         (gst_file_sink_render):
3011         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
3012         (gst_file_src_start):
3013         Small cleanups. Add note adbout g_fopen() on windows and why we don't
3014         use it yet.
3015
3016 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3017
3018         * gst/gstpad.c: (gst_pad_load_and_link):
3019         * gst/gstutils.c: (gst_element_link_pads),
3020         (gst_element_unlink_pads):
3021         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
3022         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
3023         (gst_check_teardown_sink_pad),
3024         (gst_check_element_push_buffer_list):
3025         * tests/check/elements/fakesink.c: (GST_START_TEST):
3026         * tests/check/elements/filesink.c:
3027         * tests/check/elements/filesrc.c: (GST_START_TEST):
3028         * tests/check/elements/multiqueue.c: (setup_multiqueue),
3029         (mq_sinkpad_to_srcpad):
3030         * tests/check/elements/tee.c: (GST_START_TEST):
3031         * tests/check/generic/sinks.c: (GST_START_TEST):
3032         * tests/check/gst/gstbin.c: (GST_START_TEST):
3033         * tests/check/gst/gstevent.c: (GST_START_TEST):
3034         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3035         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
3036         * tests/check/gst/gstquery.c: (GST_START_TEST):
3037         * tests/check/gst/gstutils.c: (GST_START_TEST):
3038         * tests/check/libs/basesrc.c: (GST_START_TEST):
3039         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
3040         (gst_parse_test_element_change_state):
3041         Don't use gst_element_get_pad().
3042
3043 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
3044
3045         * docs/Makefile.am:
3046         Fix installing plugin documentation when gtk-doc is disabled.
3047
3048 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3049
3050         * docs/manual/advanced-autoplugging.xml:
3051         * docs/manual/basics-helloworld.xml:
3052         * docs/manual/basics-pads.xml:
3053         * docs/manual/highlevel-components.xml:
3054         Avoid using a bad function in the example code.
3055
3056 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3057
3058         * gst/gstclock.c: (gst_clock_set_calibration):
3059         Fix debug of the new clock rate.
3060
3061 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
3062
3063         * win32/common/libgstbase.def:
3064         Add gst_base_sink_wait_clock() to the exported symbols.
3065
3066 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
3067
3068         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
3069
3070         * libs/gst/base/gstbasetransform.c:
3071         (gst_base_transform_sink_event):
3072         Unref events that the GstBaseTransform::event vfunc didn't want to
3073         have forwarded by the base class. Closes a leak in identity.
3074         Fixes bug #446763.
3075
3076 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
3077
3078         * docs/libs/gstreamer-libs-sections.txt:
3079         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
3080         * libs/gst/base/gstbasesink.h:
3081         Expose a method that was previously used internally to synchronize
3082         against the clock because it can be useful for subclasses too.
3083         API: GstBaseSink::gst_base_sink_wait_clock()
3084
3085 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
3086
3087         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
3088           Add sanity check to make sure we don't get smaller buffers
3089           than requested (and fallback to normal buffer alloc if we do).
3090
3091 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
3092
3093         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
3094         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
3095         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
3096         Refactor adjusting the running_time with latency and offset into a
3097         separate method.
3098         When doing clipping, we still want to use the subclass get_times method,
3099         just in case the DURATION or TIMESTAMP are not set.
3100
3101 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
3102
3103         * docs/gst/gstreamer-sections.txt:
3104         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
3105         * gst/gsttypefind.h:
3106         * win32/common/libgstreamer.def:
3107           API: add gst_type_find_suggest_simple(), #533740.
3108
3109 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
3110
3111         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
3112           Use right error code when typefinding fails, so we can use
3113           the default (translated) error messages.
3114
3115 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
3116
3117         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
3118         (gst_base_src_start):
3119         When the subclass did not set caps on outgoing buffers, configure the
3120         caps we negotiated on the source pad.
3121         When the typefind helper does not find caps, error out properly instead
3122         of doing things with NULL caps.
3123
3124 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
3125
3126         * gst/gsttypefind.h:
3127           Tabs to spaces, oh yes!
3128
3129 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
3130
3131         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
3132           Add David's and Benjamin's tests for array intersection to the
3133           unit test suite (#147931).
3134
3135 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
3136
3137         * gst/gstevent.c:
3138           Document that gst_event_new_tag() and gst_event_new_navigation()
3139           take ownership of the taglist/structure passed to them. (#533635).
3140
3141 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
3142
3143         * docs/Makefile.am:
3144         Don't descend into the plugins dir if plugin docs building
3145         is disabled.
3146
3147         * docs/README:
3148         Add a note about the new type:GTypeName syntax for the plugin
3149         documentation .types file.
3150
3151 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
3152
3153         * gst/gstmessage.c: (gst_message_new_error),
3154         (gst_message_new_warning), (gst_message_new_info):
3155         * gst/gstmessage.h:
3156         Mark the debug string parameters as const. Fixes bug #533490.
3157
3158 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
3159
3160         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
3161         Sort buffer cache list by end offsets. This makes sure that we don't
3162         stop to search for a cached buffer that contains the requested data
3163         too early.
3164         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
3165         more efficient. Fixes bug #459862.
3166
3167 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
3168
3169         * gst/gstinfo.c:
3170           Explain why we copy the list.
3171
3172         * gst/gstpipeline.c:
3173           Improve docs.
3174
3175         * gst/gstutils.c:
3176           Add one debug-log statement to help tracing probelms with linking pads.
3177
3178 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
3179
3180         * tests/check/gst/gstinfo.c:
3181         Add a test for removing the default log handler. Seems to fail under
3182         windows.
3183
3184 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
3185
3186         * gst/gstpad.c: (gst_pad_peer_accept_caps):
3187         Release pad lock before calling out to avoid a possible deadlock.
3188
3189 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
3190
3191         * gst/parse/grammar.y:
3192         Remove unneeded value unset.
3193
3194         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3195         Add unit test for de/serialization of caps.
3196
3197 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
3198
3199         * plugins/elements/gstfakesink.c:
3200         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
3201         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
3202         (gst_fake_src_class_init):
3203         Use custom marshalers that take GstMiniObject as first parameter.
3204         Using OBJECT as parameter while a GstMiniObject is given will lead
3205         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
3206
3207 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
3208
3209         * plugins/elements/gsttypefindelement.c:
3210         (gst_type_find_element_handle_event),
3211         (gst_type_find_element_send_cached_events),
3212         (gst_type_find_element_change_state):
3213         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
3214         immediately.
3215
3216 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
3217
3218         * plugins/elements/gsttypefindelement.c:
3219         (gst_type_find_handle_src_query), (stop_typefinding),
3220         (gst_type_find_element_handle_event),
3221         (gst_type_find_element_send_cached_events),
3222         (gst_type_find_element_change_state):
3223         Forward FLUSH_START events immediately and clean up instead of
3224         caching them.
3225
3226 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
3227
3228         Patch by: Sjoerd Simons <sjoerd at luon dot net>
3229
3230         * libs/gst/base/gstbasetransform.c:
3231         (gst_base_transform_buffer_alloc):
3232         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
3233         fall back to default negotiation in the chain function if the caps
3234         are different from what was requested. Fixes bug #526768.
3235
3236 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
3237
3238         * gst/gstsegment.c:
3239         * tests/check/gst/gstsegment.c:
3240           No, let's not use g_slice_{dup|copy} here, since they only exist
3241           since GLib 2.14 and we still depend only on >= 2.12. Also add
3242           unit test for gst_segment_copy().
3243
3244 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
3245
3246         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
3247           Try to fix 'dereferencing type-punned pointer will break strict
3248           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
3249           changed the default GType typedef from gulong to gsize at some point,
3250           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
3251           g_once_* functions all take a gsize * though, so work around the type
3252           mismatch for C++ by doing everything in gsize and casting to GType
3253           later.
3254
3255 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
3256
3257         * plugins/elements/gstmultiqueue.c:
3258         Add documentation for the signals to push our core plugin docs
3259         coverage back up to 100%.
3260
3261 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3262
3263         * gst/gstinfo.h (GST_FUNCTION):
3264           Reverted GST_FUNCTION to the old version as we don't want the
3265           full signature in C++ code. Also added support for MSVC.
3266
3267 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3268
3269         * gst/gstutils.h:
3270         Intern the type name string, similar to what G_DEFINE_TYPE does.
3271
3272 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3273
3274         * gst/gstutils.h:
3275         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
3276
3277 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3278
3279         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
3280
3281         * libs/gst/base/gstbasetransform.c:
3282         (gst_base_transform_buffer_alloc):
3283         Don't passthrough buffer allocation too easily if the caps change.
3284         This breaks when working in passthrough mode and upstream changes
3285         it's caps. Fixes bug #526768.
3286
3287 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3288
3289         * gst/gstinfo.c (gst_debug_log_valist):
3290           Improved the __FILE__ part of debug output for MSVC.
3291
3292 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3293
3294         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
3295           Declaration after statement fix for compilers like MSVC.
3296
3297 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3298
3299         * win32/common/config.h.in:
3300           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
3301           use the real thing than having "???" unconditionally.
3302
3303 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3304
3305         * gst/gstinfo.h (GST_FUNCTION):
3306           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
3307
3308 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3309
3310         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
3311         Small code cleanup.
3312
3313         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3314         (gst_base_sink_set_flushing):
3315         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3316         Fix some comments.
3317
3318 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3319
3320         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3321         (gst_fake_src_init), (gst_fake_src_set_property),
3322         (gst_fake_src_get_property), (gst_fake_src_start):
3323         * plugins/elements/gstfakesrc.h:
3324         Added format property to control the format of the newsegment events.
3325         API: GstFakeSrc:format
3326
3327 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
3328
3329         * win32/common/libgstreamer.def:
3330         Add gst_pad_has_name() to the exported symbols.
3331
3332 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
3333
3334         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
3335         * libs/gst/base/gstbasetransform.c:
3336         (gst_base_transform_prepare_output_buffer):
3337         Don't allow negative sizes when allocating new buffers.
3338         Fixes bug #461253.
3339
3340 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
3341
3342         Patch by: Sjoerd Simons <sjoerd at luon net>
3343
3344         * gst/gstbus.c: (gst_bus_source_dispatch):
3345           Don't print a warning if the queue is empty when we try to pop
3346           here. That could happen if another thread or callback set the
3347           bus to flushing between the source's check/prepare and the
3348           dispatch being called (#531538).
3349
3350 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
3351
3352         * plugins/elements/gstmultiqueue.c:
3353           Small docs fix.
3354         
3355 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
3356
3357         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3358         Add unit test for deserializing uint64s and check some really large
3359         numbers in the int64 test.
3360
3361 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
3362
3363         * tools/gst-inspect.c: (n_print), (print_hierarchy),
3364         (print_interfaces), (print_element_properties_info),
3365         (print_signal_info):
3366         Use "%s" as format string instead of printing strings directly.
3367
3368 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
3369
3370         * gst/gstclock.c: (gst_clock_set_calibration):
3371         Make some checks actually useful.
3372
3373         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3374         Remove some unused code. Unsigned integers tend to be >= 0.
3375
3376 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3377
3378         * gst/gstminiobject.c: (gst_value_get_mini_object):
3379           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
3380           function was not in the unscheduled 0.10.19 release.
3381
3382 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3383
3384         * gst/gstregistry.c: (gst_registry_scan_path_level):
3385           Only print one log message per non-plugin file.
3386
3387 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3388
3389         * gst/gstinfo.c: (gst_debug_log_default):
3390           Fix alignment of debug log columns on 64-bit.
3391
3392 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3393
3394         * docs/libs/Makefile.am:
3395         * docs/libs/gstreamer-libs-sections.txt:
3396           Ignore private controller headers for docs.
3397
3398 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
3399
3400         * libs/gst/controller/gstcontrollerprivate.h:
3401         * libs/gst/controller/gsthelper.c:
3402         * libs/gst/controller/gstinterpolation.c:
3403         * libs/gst/controller/gstinterpolationcontrolsource.c:
3404         (gst_interpolation_control_source_set_interpolation_mode):
3405         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
3406         * libs/gst/controller/lib.c:
3407         Move some private declarations into private headers.
3408
3409 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
3410
3411         * gst/gstdebugutils.c: (debug_dump_element_pad):
3412         Remove some code that is unused after Stefan's refactoring and uses
3413         uninitialized variables now, resulting in a compiler warning.
3414
3415 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
3416
3417         * gst/gstregistry.c: (gst_registry_scan_path_level):
3418           Run g_str_has_suffix() only on the file name, not the
3419           entire file path.
3420
3421 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
3422
3423         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
3424           Since we're not called only from the chain function any longer,
3425           we can't assume that there's always data in the queue, so move
3426           the is_full check to the beginning of the loop (otherwise we'd
3427           hit the assert when changing the limit properties while the
3428           queue is empty or not running yet).
3429           Also, only set a discont if items were actually removed from
3430           the queue.
3431
3432         * tests/check/elements/queue.c: (test_leaky_downstream):
3433           Test case for the above.
3434
3435 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
3436
3437         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
3438
3439         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
3440         (gst_queue_chain), (queue_capacity_change),
3441         (gst_queue_set_property):
3442         When changing thr max capacity of a leaky queue, immediatly drop buffers
3443         instead of waiting for a push on the sinkpad. Fixes #530637.
3444
3445 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
3446
3447         * gst/gstdebugutils.c:
3448           Refactor code and fix handling of ghostpads and their proxypads.
3449
3450 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3451
3452         * docs/gst/gstreamer-sections.txt:
3453         * gst/gstevent.c: (gst_event_has_name):
3454         * gst/gstevent.h:
3455         * tests/check/gst/gstevent.c: (GST_START_TEST):
3456         Add method to conveniently check the name of a custom event with
3457         gst_event_has_name().
3458         Reformat the event docs so that related methods are put together instead
3459         of the default alphabetical sort.
3460         Update unit test with new method.
3461         API: GstEvent::gst_event_has_name()
3462
3463 2008-04-28  Michael Smith <msmith@songbirdnest.com>
3464
3465         * libs/gst/check/Makefile.am:
3466           Don't add an explicit link to libgstreamer-0.10.la; it's already
3467           included in GST_OBJ_LIBS.
3468
3469 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
3470
3471         * gst/gst.c:
3472         Register GstClock type from a type-safe context. Fixes bug #530317.
3473
3474 2008-04-25  Michael Smith <msmith@songbirdnest.com>
3475
3476         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
3477         * tools/gst-run.c:
3478           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
3479
3480 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3481
3482         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3483         (gst_bin_dispose):
3484         Use the GLib stuff to create a private structure.
3485         Add some locking around some dispose methods to make them a little
3486         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
3487
3488 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3489
3490         * libs/gst/base/gstbasesink.h:
3491         * libs/gst/base/gstbasesrc.h:
3492         * libs/gst/base/gstbasetransform.h:
3493         * libs/gst/base/gstcollectpads.h:
3494           Fix doc typos and unify caps a bit.
3495
3496 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3497
3498         * tools/gst-launch.1.in:
3499           Forgot to also add the envvar docs here.
3500
3501 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
3502
3503         * gst/gst.c: (init_post), (gst_deinit):
3504         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
3505           (test_concurrent_create), (gst_pipeline_suite):
3506           Ref some more classes in gst_init() to work around thread-safety
3507           issues in pre-2.16 GLibs, and add basic unit test.
3508
3509 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3510
3511         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3512         (gst_base_sink_send_event):
3513         Rearrange the latency query code. We always want to do the upstream
3514         query, even if we are not live so that the upstream elements can get the
3515         latency results too. If we fail doing the query and we are live, we
3516         return TRUE afterwards.
3517
3518 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3519
3520         patch by: Jason Zhao <e3423c@motorola.com>
3521
3522         * docs/gst/running.xml:
3523         * gst/gst.c:
3524           Enable/disable scan_and_update_registry() based on commandline switch
3525           or environment variable. Fixes #520468.
3526           
3527         * ChangeLog:
3528           Fix typo in my previous commit.
3529
3530 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3531
3532         * gst/gstregistrybinary.c:
3533           Add a warning if we hit unhandled factories when saving.
3534           More debug logging detail, but move to LOG category.
3535
3536 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3537
3538         * gst/gstregistry.c:
3539           Tell the *truth* when improving the documentation.
3540
3541 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
3542
3543         * gst/gstelementfactory.c: (gst_element_factory_make):
3544         Unref the factory after it was used the last time, not before.
3545
3546         * gst/gstindexfactory.c: (gst_index_factory_make):
3547         Improve debugging a bit and don't leak a ref to the index factory with
3548         each call.
3549
3550 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3551
3552         * gst/gstregistry.c:
3553           Improve the documentation.
3554
3555 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3556
3557         * gst/gstsegment.c:
3558           The glib macro seems to be borked. Use g_slice_copy directly and cast
3559           in the hope that this fixes the warning on 64bit.
3560
3561 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3562
3563         * gst/gstsegment.c:
3564           Document the new function. Use g_slice_dup() (no need for
3565           gst_segment_init()).    
3566
3567 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3568
3569         * docs/gst/gstreamer-sections.txt:
3570           Move GParamSepc macros to standart section.
3571   
3572         * gst/gstbin.c:
3573           Dn't document _get_type - its in private section in docs anyway and
3574           this doc-blob was incomplete.
3575
3576         * gst/gstclock.h:
3577           Fix wrong symbol names in docs.
3578
3579         * gst/gstmacros.h:
3580           Add once doc sentence.
3581
3582         * tests/check/gst/.cvsignore:
3583           Ignore more.
3584
3585 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3586
3587         * docs/gst/Makefile.am:
3588           And remove those libs here.
3589
3590 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
3591
3592         * docs/libs/Makefile.am:
3593           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3594
3595 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3596
3597         Patch by: Olivier Crete <tester at tester dot ca>
3598
3599         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3600         Add the min-threshold to the min latency if possible. Fixes #529148.
3601
3602 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3603
3604         * docs/gst/gstreamer.types.in:
3605           Stupid editor, I removed that line as it should go in yet.
3606
3607 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3608
3609         * docs/gst/gstreamer.types.in:
3610         * docs/libs/gstreamer-libs.types:
3611           Remove library types fro core docs and have them in libs docs.
3612           Reformat and cleanup. Add comment for miniobject types.
3613
3614 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
3615
3616         * gst/gsturi.c: (gst_uri_get_protocol):
3617           Fix leak: g_strdown operates on the string in place, while
3618           g_ascii_strdown() returns a newly-allocated string.
3619
3620 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
3621
3622         * tools/gst-inspect.c: (print_uri_handler_info),
3623         (print_element_info):
3624         Print the URI protocols and the URI type supported by the element.
3625
3626 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3627
3628         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3629         Use g_value_take_string() instead of the deprecated
3630         g_value_set_string_take_ownership().
3631
3632 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3633
3634         * gst/gstregistrybinary.c: (_gst_crc32):
3635         Return the old CRC instead of 0 if we give a NULL buffer
3636         or a buffer with a length of 0.
3637
3638 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3639
3640         * gst/gsturi.c: (gst_uri_protocol_check_internal),
3641         (gst_uri_get_protocol), (gst_uri_has_protocol),
3642         (gst_uri_construct), (gst_uri_handler_set_uri):
3643         A valid URI scheme can also include '+', '-' and '.' additional
3644         to alphanumeric characters as per RFC 3986 Section 3.1.
3645
3646         Handle URI schemes case insensitive in all places and convert
3647         to lower-case when constructing an URI or setting an URI with
3648         the GstURIHandler interface. Fixes bug #528868.
3649         All elements can still assume (as before) that they will
3650         get passed URIs with a lower-case URI scheme by the GstURIHandler
3651         interface.
3652
3653 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
3654
3655         * gst/gstcaps.c: (gst_static_caps_get):
3656         * gst/gstclock.c: (gst_clock_entry_new):
3657           Don't use g_atomic_set_int where it's not needed.
3658
3659 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
3660
3661         * gst/gstvalue.c: (gst_value_deserialize_caps):
3662         * gst/parse/grammar.y:
3663         Fix 2 caps leaks.
3664
3665 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3666
3667         * gst/gstutils.c: (gst_atomic_int_set):
3668         Use g_atomic_int_set() here too instead of assignment +
3669         g_atomic_int_get().
3670
3671 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3672         
3673         * gst/gstutils.c:
3674         * gst/gstutils.h:
3675         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3676         now that we depend on new enough GLib.
3677
3678         * gst/gstcaps.c: (gst_static_caps_get):
3679         * gst/gstclock.c: (gst_clock_entry_new):
3680         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3681         (gst_debug_set_default_threshold), (_gst_debug_category_new),
3682         (gst_debug_category_set_threshold):
3683         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3684         (gst_base_sink_set_qos_enabled):
3685         * libs/gst/net/gstnettimeprovider.c:
3686         (gst_net_time_provider_set_property):
3687         Use g_atomic_int_set() instead of gst_atomic_int_set().
3688
3689 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3690
3691         * gst/gstquery.c:
3692           Also use G_GINT64_CONSTANT for the queries.
3693
3694 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3695
3696         * gst/gstmessage.c:
3697           Use G_GINT64_CONSTANT in varargs function.
3698
3699 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3700
3701         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3702         Initialize the registry magic with zeroes.
3703
3704 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3705
3706         * gst/gstregistrybinary.c: (_gst_crc32),
3707         (gst_registry_binary_write),
3708         (gst_registry_binary_initialize_magic),
3709         (gst_registry_binary_write_cache),
3710         (gst_registry_binary_check_magic),
3711         (gst_registry_binary_read_cache):
3712         * gst/gstregistrybinary.h:
3713         Add crc32 checksum to the binary registry file and check this before
3714         accepting a registry file.
3715
3716         Also free the data list when writing to the registry file fails.
3717
3718 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3719
3720         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3721         (gst_registry_binary_load_feature),
3722         (gst_registry_binary_load_plugin):
3723         If an element supports the Uri interface, returns a valid pointer
3724         to the supported URI protocols but this pointer contains nothing
3725         don't try to save that as it will corrupt the registry.
3726
3727         Don't unref the plugin if we added it to the registry already but
3728         fail to load a feature as gst_registry_add_plugin() takes ownership
3729         of the plugin.
3730
3731         Improve debugging a bit.
3732
3733 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3734
3735         * gst/gsttaglist.h:
3736           Clarify some tag item docs after discussion on irc.
3737
3738 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3739
3740         * docs/gst/gstreamer-docs.sgml:
3741           Remove commented out plugins (they have their own docs). Update
3742           comments.
3743
3744 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3745
3746         * docs/gst/gstreamer-docs.sgml:
3747         * docs/gst/gstreamer-sections.txt:
3748         * gst/gstparamspecs.c:
3749         * gst/gstparamspecs.h:
3750           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3751           docs to own section.
3752
3753         * gst/gstvalue.c:
3754           This now only documents GValue.
3755           
3756         * docs/libs/gstreamer-libs-sections.txt:
3757         * libs/gst/controller/gstcontroller.h:
3758           Remove GST_PARAM_CONTROLLABLE.
3759
3760 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3761
3762         * docs/README:
3763           Correct file path. Tell about how to use -overrides.txt.
3764         * docs/design/draft-tagreading.txt:
3765           Small design update.
3766
3767 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
3768
3769         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3770         (gst_registry_binary_load_plugin):
3771         Fix a typo in a debug message and revert change from yesterday as
3772         gst_registry_add_plugin() will only fail if something is really wrong
3773         already and we can't survive it anyway.
3774
3775 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
3776
3777         * gst/gst.c: (init_post), (gst_deinit):
3778           Pre-register GstGError GType from a thread-safe context
3779           (fixes #527967); unref enum type classes in deinit.
3780
3781 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3782
3783         Patch by: Rene Stadler <mail at renestadler de>
3784
3785         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3786           Merging an empty list with another list in KEEP_ALL mode should
3787           yield an empty list as result and not the second list (#512578).
3788
3789         * tests/check/gst/gsttagsetter.c:
3790           Add unit test for tag merge modes and the aforementioned bug.
3791
3792 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3793
3794         Patch by: Rene Stadler <mail at renestadler de>
3795
3796         * gst/gsttaglist.h:
3797           Fix description to match the order in the table (#512577).
3798   
3799 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3800
3801         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
3802
3803         * libs/gst/net/gstnettimepacket.h:
3804         * docs/libs/gstreamer-libs-sections.txt:
3805           Define socklen_t as int if it's not defined yet. Fixes compilation
3806           with MSVC6 and other versions where socklen_t is not defined in
3807           the windows headers (#518022).
3808
3809 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
3810
3811         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3812         If gst_registry_add_plugin() fails our reference to the plugin is
3813         invalid so don't try to use it anymore and instead error out.
3814
3815 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3816
3817         * tools/gst-xmlinspect.c: (print_element_info), (main):
3818           De-cruft a bit. If no argument is specified, print all elements in
3819           XML syntax rather than a freestyle list of elements like gst-inspect.
3820           Also, don't print XML header chunk unless we actually have something
3821           to print (ie. don't print it before an error message); print error
3822           message to stderr not stdout. Remove support for printing plugin
3823           info (it would just output something freestyle along the lines of
3824           gst-inspect so far), which fixes #514507. Also add license header.
3825
3826 2008-04-11  Julien Moutte  <julien@fluendo.com>
3827
3828         Mac OS X love...
3829         * configure.ac: Merge platform specific defines, introduce a new
3830         define on OS X to remember that forking when updating registry is
3831         unsafe.
3832         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3833         module.
3834         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3835         is defined.
3836         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3837         condition that leads to absolutely no plugins being registered on
3838         OS X.
3839
3840 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3841
3842         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3843
3844         * gst/gstutils.c: (gst_pad_add_data_probe),
3845           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3846           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3847           (gst_pad_add_buffer_probe_full):
3848         * gst/gstutils.h:
3849         * docs/gst/gstreamer-sections.txt:
3850         * win32/common/libgstreamer.def:
3851           Add gst_pad_add_*_probe_full() functions with a notify callback that
3852           lets the caller free the data it passes to the probe functions. This
3853           is useful for bindings such as gst-python or gstreamermm (#526814).
3854           API: gst_pad_add_data_probe_full
3855           API: gst_pad_add_buffer_probe_full
3856           API: gst_pad_add_event_probe_full
3857
3858         * tests/check/gst/gstutils.c:
3859           Add minimal unit test to make sure freeing the data actually works
3860           as expected.
3861
3862         * tests/benchmarks/.cvsignore:
3863           Random cvsignore addendum.
3864
3865 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3866
3867         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3868           (GST_DEBUG_BIN_TO_DOT_FILE):
3869           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3870           to it in the docs (since these are macros the types of the arguments
3871           won't be shown in the docs otherwise).
3872
3873 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3874
3875         * gst/gstpad.c:
3876           Do not abort on out of memory for pad_alloc_buffer.
3877
3878 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3879
3880         * libs/gst/check/gstcheck.c:
3881           Remove blank line between symbol name ad parameters to fix gtkdoc
3882           warning.
3883
3884 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3885
3886         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3887
3888         * docs/gst/gstreamer-sections.txt:
3889         * gst/gstsegment.c:
3890         * gst/gstsegment.h:
3891         * win32/common/libgstreamer.def:
3892           Expose gst_segment_copy() to make things easier for the c++ bindings.
3893           Fixes #518932.
3894           API: gst_segment_copy()
3895
3896 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3897
3898         * gst/gst.c: (gst_init_get_option_group), (init_post):
3899           Fix const position; ref GType classes for enum types to work
3900           around thread-safety issues in GLib versions < 2.16.
3901
3902 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3903
3904         * docs/design/part-buffering.txt:
3905         Fix some typos and set the estimated total for push mode to -1.
3906
3907         * gst/gstquery.c: (gst_query_new_buffering):
3908         Set buffering-left to 0 as we're not buffering by default.
3909
3910         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3911         Implement BUFFERING query.
3912
3913 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3914
3915         Based on patch by: Milosz Derezynski <internalerror gmail com>
3916
3917         * gst/gsterror.c: (_gst_stream_errors_init):
3918         * gst/gsterror.h:
3919           Add two new error codes for encrypted content. Fixes #524659.
3920           API: GST_STREAM_ERROR_DECRYPT
3921           API: GST_STREAM_ERROR_DECRYPT_NOKEY
3922
3923 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3924
3925         * gst/gstquery.h:
3926           Fix typo.
3927
3928         * win32/common/libgstreamer.def:
3929           Add new functions.
3930
3931 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
3932
3933         * plugins/elements/gstidentity.c: (gst_identity_event),
3934         (gst_identity_start):
3935         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3936         event after processing some data. Fixes bug #526042.
3937
3938 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3939
3940         * docs/gst/gstreamer-sections.txt:
3941         * gst/gstquery.c: (gst_query_parse_latency),
3942         (gst_query_set_buffering_percent),
3943         (gst_query_parse_buffering_percent),
3944         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3945         * gst/gstquery.h:
3946         Rename _avail -> _range
3947         API: gst_query_set_buffering_range
3948         API: gst_query_parse_buffering_range
3949
3950 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3951
3952         * docs/design/part-buffering.txt:
3953         * gst/gstquark.c:
3954         * gst/gstquark.h:
3955         * gst/gstquery.c: (gst_query_parse_latency),
3956         (gst_query_new_buffering), (gst_query_set_buffering_percent),
3957         (gst_query_parse_buffering_percent):
3958         * gst/gstquery.h:
3959         Add busy field and quark for the buffering query so that the app can
3960         only use the query to see if buffering is in progress.
3961
3962 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3963
3964         * docs/gst/gstreamer-sections.txt:
3965         * gst/gstmessage.c: (gst_message_set_buffering_stats),
3966         (gst_message_parse_buffering_stats):
3967         * gst/gstmessage.h:
3968         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3969         (gst_query_parse_latency), (gst_query_new_buffering),
3970         (gst_query_set_buffering_percent),
3971         (gst_query_parse_buffering_percent),
3972         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3973         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3974         * gst/gstquery.h:
3975         Reorder the message docs and headers for clarity.
3976         Add aditional buffering stats API for messages.
3977         Add buffering query.
3978         Convert some leftover queries to use GstQuark.
3979         API: gst_message_set_buffering_stats
3980         API: gst_message_parse_buffering_stats
3981         API: GST_QUERY_BUFFERING
3982         API: GstBufferingMode
3983         API: gst_query_new_buffering
3984         API: gst_query_set_buffering_percent
3985         API: gst_query_parse_buffering_percent
3986         API: gst_query_set_buffering_stats
3987         API: gst_query_parse_buffering_stats
3988
3989 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3990
3991         * gst/gstmessage.c: (gst_message_new_error),
3992         (gst_message_new_warning), (gst_message_new_info),
3993         (gst_message_new_buffering), (gst_message_new_state_changed),
3994         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3995         (gst_message_new_new_clock), (gst_message_new_segment_start),
3996         (gst_message_new_segment_done), (gst_message_new_duration),
3997         (gst_message_new_async_start), (gst_message_parse_buffering),
3998         (gst_message_parse_state_changed),
3999         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4000         (gst_message_parse_new_clock), (gst_message_parse_error),
4001         (gst_message_parse_warning), (gst_message_parse_info),
4002         (gst_message_parse_segment_start),
4003         (gst_message_parse_segment_done), (gst_message_parse_duration),
4004         (gst_message_parse_async_start):
4005         Use GstQuark for messages.
4006
4007 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
4008
4009         * gst/gstquark.c: (_priv_gst_quarks_initialize):
4010         * gst/gstquark.h:
4011         Add some more quarks needed for messages and queries.
4012
4013 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
4014
4015         * docs/design/part-buffering.txt:
4016         Remove the "none" buffering mode, STREAM is a good default.
4017         Move estimated-time to the avail query, that's when it will be needed.
4018         Other small typo fixes and updates.
4019
4020 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
4021
4022         * gst/gstindex.c: (gst_index_resolver_get_type):
4023           Don't put descriptions into the nick field of a GEnumValue: it's not
4024           meant for that and some language bindings rely on the nick field to
4025           construct constants and the like. Fixes #526705.
4026
4027 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
4028
4029         * NEWS:
4030         * RELEASE:
4031         * gstreamer.doap:
4032           Merge other changes from 0.10.19 release branch.
4033
4034 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
4035
4036         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
4037
4038         * configure.ac:
4039         Actually build dlls when cross-compiling with mingw32.
4040         Fixes bug #526247.
4041
4042 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
4043
4044         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
4045
4046         * gst/gstpoll.c:
4047         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
4048
4049 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
4050
4051         * docs/design/draft-latency.txt:
4052         Fix typo.
4053
4054         * docs/design/part-buffering.txt:
4055         Update design docs with more buffering ideas.
4056
4057 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
4058
4059         * configure.ac:
4060           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
4061
4062 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
4063
4064         * configure.ac:
4065           Revert part that belongs to the preset patch.
4066
4067 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
4068
4069         * configure.ac:
4070           Add qoutes to the define. Fixes # 525961.
4071
4072 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
4073
4074         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
4075         (gst_file_index_load), (gst_file_index_add_id),
4076         (gst_file_index_get_assoc_entry):
4077         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
4078         (gst_mem_index_free_id), (gst_mem_index_add_id),
4079         (gst_mem_index_index_format):
4080         Use GSlice when possible.
4081
4082 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
4083
4084         * libs/gst/controller/gstinterpolationcontrolsource.c:
4085         (gst_control_point_free),
4086         (gst_interpolation_control_source_set_internal):
4087         Use GSlice for allocating the control points.
4088
4089 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
4090
4091         * plugins/elements/gsttypefindelement.c:
4092         (gst_type_find_element_class_init),
4093         (gst_type_find_element_set_property),
4094         (gst_type_find_element_get_property),
4095         (gst_type_find_element_activate):
4096         * plugins/elements/gsttypefindelement.h:
4097         Cleanup properties.
4098         Fix pad leak when peer query fails.
4099         We can still typefind when the peer returns -1.
4100         Add property to force caps and bypass typefinding. This will be used in
4101         uridecodebin.
4102         API::force-caps
4103
4104 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
4105
4106         * configure.ac:
4107         Require GLib 2.12.
4108
4109         * gst/glib-compat-private.h:
4110         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
4111         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
4112         Unconditionally use GSlice for allocation.
4113
4114         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
4115         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
4116         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
4117         (gst_structure_free):
4118         Use GSlice for allocation.
4119
4120 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
4121
4122         * gst/parse/Makefile.am:
4123         * gst/parse/grammar.tab.pre.c:
4124         * gst/parse/grammar.tab.pre.h:
4125         * gst/parse/lex._gst_parse_yy.pre.c:
4126         Require a new enough flex and bison and remove the parser hacks to use
4127         a pre-regenerated version.
4128
4129 2008-04-01  Julien Moutte  <julien@fluendo.com>
4130
4131         patch by: Jason Zhao <E3423C@motorola.com>
4132
4133         * configure.ac: Add a configure switch to disable option parsing
4134         in gst_init.
4135         Fixes #522882.
4136
4137 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
4138
4139         * configure.ac:
4140         * gst/gstregistry.c:
4141           MacOS has plugins under .so or under .dylib. Add detection for MacOS
4142           and handle this case.
4143
4144         * gst/gst.c:
4145           Add a comment here describing, why we stat each plugin and not try to
4146           be smart.
4147
4148 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
4149
4150         * libs/gst/base/gstbasetransform.c:
4151         (gst_base_transform_prepare_output_buffer):
4152         Also unset the GAP flag on buffers if we're working inplace but
4153         the element is not GAP-aware.
4154
4155         Mark a comment as FIXME 0.11.
4156
4157 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
4158
4159         * gst/gst.c:
4160           Fix type in log message and add one to ease seeing how long registry
4161           cache verification takes.
4162
4163         * gst/gstregistry.c:
4164           Only test plugin filenames against G_MODULE_SUFFIX.
4165
4166 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
4167
4168         * gst/gstdebugutils.c:
4169           Improve handling ghost/proxy pads.
4170
4171 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
4172
4173         * docs/gst/gstreamer-sections.txt:
4174         * gst/gstpad.c:
4175         * gst/gstpad.h:
4176           Expose macro to docs and fix link to it.
4177
4178 2008-03-27  Michael Smith <msmith@fluendo.com>
4179
4180         * libs/gst/dataprotocol/dataprotocol.c:
4181         (gst_dp_packet_from_event_1_0):
4182           When calculating GDP body CRC, use the correct pointer. 
4183           Fixes part of #522401.
4184
4185 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4186
4187         Patch by: Mark Nauwelaerts <manauw at skynet be>
4188
4189         * plugins/elements/gstidentity.c: (gst_identity_class_init),
4190         (gst_identity_init), (gst_identity_prepare_output_buffer):
4191         Identity is not always a passthrough element, it can modify the buffer
4192         timestamps when it has a datarate and operates in single-segment mode.
4193         We therefore make it an in_place filter with a custom buffer prepare
4194         function that conditionally makes the input buffer metadata writable
4195         when needed.  Fixes #523985.
4196
4197 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4198
4199         Patch by: Mark Nauwelaerts <manauw at skynet be>
4200
4201         * gst/gstclock.h:
4202         * libs/gst/base/gstbasesrc.h:
4203         * libs/gst/base/gstbasetransform.c:
4204         * libs/gst/check/gstcheck.c:
4205         Small documentation fixes. Fixes #523978.
4206
4207 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4208
4209         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
4210         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
4211         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
4212
4213 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4214
4215         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
4216         (single_queue_underrun_cb):
4217         When trying to make room in the queue, bump the max allowed buffers
4218         bigger than the current amount of buffers in the queue. this fixes some
4219         nasty deadlocks in multiqueue when dynamically changing the limits of
4220         the queue.
4221
4222 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4223
4224         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
4225
4226         * gst/gstcaps.c: (gst_caps_set_simple),
4227         (gst_caps_set_simple_valist), (gst_caps_intersect):
4228         * gst/gstcaps.h:
4229         Constify the field gchar * params in set_simple and friends.
4230         Fixes #522326.
4231
4232 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4233
4234         * gst/gstvalue.c: (gst_value_transform_object_string):
4235         Transform a GstObject to a more meaningfull string that includes the
4236         object type in addition to its name.
4237
4238 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
4239
4240         * ChangeLog:
4241           ChangeLog surgery to add bugnumber to commit.
4242
4243 2008-03-23  Rene Stadler  <mail@renestadler.de>
4244
4245         * libs/gst/base/gstbasetransform.c:
4246         (gst_base_transform_set_gap_aware): Fix confusing documentation.
4247
4248 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
4249
4250         * gst/gstregistrybinary.c: (gst_registry_binary_write):
4251         Rename constant everywhere and don't forget one occurence.
4252
4253 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
4254
4255         * gst/gstregistrybinary.c: (gst_registry_binary_write):
4256         Align memory to the pointer size even if the architecture allows
4257         unaligned memory access. Unaligned memory access usually comes with
4258         performance penality.
4259
4260 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
4261
4262         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4263         (gst_registry_binary_check_magic),
4264         (gst_registry_binary_load_pad_template),
4265         (gst_registry_binary_load_feature),
4266         (gst_registry_binary_load_plugin):
4267         Align memory to the pointer size instead of always 32 bit. Fixes
4268         unaligned memory accesses on ia64 and friends.
4269
4270         * gst/gstregistrybinary.h:
4271         Bump binary registry format version for this as it changes the
4272         format on those architectures that don't have unaligned access
4273         and 64 bit pointers.
4274
4275 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
4276
4277         * docs/pwg/advanced-dparams.xml:
4278         * docs/pwg/building-props.xml:
4279         * docs/pwg/other-source.xml:
4280         * gst/glib-compat.h:
4281         * gst/gstbin.c: (gst_bin_class_init):
4282         * gst/gstclock.c: (gst_clock_class_init):
4283         * gst/gstindex.c: (gst_index_class_init):
4284         * gst/gstobject.c: (gst_object_class_init):
4285         * gst/gstpad.c: (gst_pad_class_init):
4286         * gst/gstpipeline.c: (gst_pipeline_class_init):
4287         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4288         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
4289         * libs/gst/base/gstbasetransform.c:
4290         (gst_base_transform_class_init):
4291         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
4292         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
4293         (_gst_check_fault_handler_sighandler),
4294         (_gst_check_fault_handler_setup), (gst_check_init):
4295         * libs/gst/controller/gstcontroller.c:
4296         (_gst_controller_class_init):
4297         * libs/gst/controller/gstlfocontrolsource.c:
4298         (gst_lfo_control_source_class_init):
4299         * libs/gst/net/gstnetclientclock.c:
4300         (gst_net_client_clock_class_init):
4301         * libs/gst/net/gstnettimeprovider.c:
4302         (gst_net_time_provider_class_init):
4303         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
4304         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
4305         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
4306         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
4307         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
4308         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
4309         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4310         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4311         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
4312         * plugins/elements/gstqueue.c: (gst_queue_class_init):
4313         * plugins/elements/gsttee.c: (gst_tee_class_init):
4314         * plugins/elements/gsttypefindelement.c:
4315         (gst_type_find_element_class_init):
4316         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
4317         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
4318         use it everywhere for GParamSpecs that use static strings (i.e. all).
4319         This gives us less memory usage, fewer allocations and thus less
4320         memory defragmentation. Fixes bug #523806.
4321
4322 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
4323
4324         * gst/gstminiobject.c: (gst_value_dup_mini_object),
4325         (gst_param_spec_mini_object):
4326         * gst/gstminiobject.h:
4327         * win32/common/libgstreamer.def:
4328         * docs/gst/gstreamer-sections.txt:
4329         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
4330         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
4331         GstParamSpecMiniObject into a public header for this.
4332
4333         This make GstMiniObject a bit more consistent with GObject and makes
4334         it possible to extend the param specs.
4335
4336         gst_value_dup_mini_object is mainly useful for set_property methods.
4337
4338         Fixes bug #523798.
4339
4340         * tools/gst-inspect.c: (print_element_properties_info):
4341         Print something useful for GstMiniObject properties and not just
4342         "unknown type".
4343
4344 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
4345
4346         * docs/gst/gstreamer-sections.txt:
4347         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4348         (gst_registry_binary_check_magic):
4349         * gst/gstregistrybinary.h:
4350         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
4351         and add it to the (private part) of the docs to fix the build.
4352
4353 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
4354
4355         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4356         (gst_registry_binary_check_magic),
4357         (gst_registry_binary_read_cache):
4358         * gst/gstregistrybinary.h:
4359         Don't use GST_MAJORMINOR for the binary registry version. Instead
4360         hardcode a value that must be changed whenever the format changes
4361         in an incompatible way.
4362         Also don't GST_ERROR when there is a version mismatch, just
4363         regenerate the registry silently.
4364
4365 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
4366
4367         * configure.ac:
4368         Back to development - 0.10.18.1
4369
4370 === release 0.10.18 ===
4371
4372 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
4373
4374         * configure.ac:
4375           releasing 0.10.18, "So far away"
4376
4377 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
4378
4379         * configure.ac:
4380         * win32/common/config.h:
4381         0.10.17.4 pre-release
4382
4383 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
4384
4385         Patch by: Ole André Vadla Ravnås
4386             <ole dot andre dot ravnas at tandberg dot com>
4387
4388         * docs/gst/gstreamer-sections.txt:
4389         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
4390         (gst_poll_update_winsock_event_mask),
4391         (gst_poll_prepare_winsock_active_sets),
4392         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
4393         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
4394         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
4395         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4396         (gst_poll_check_ctrl_commands), (gst_poll_wait):
4397         * gst/gstpoll.h:
4398         * win32/common/libgstreamer.def:
4399         Add new function gst_poll_fd_ignored() for improved Windows
4400         compatibility.
4401         Various minor fixes and cleanups. See #520808.
4402
4403 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
4404
4405         * gst/gstindex.c: (gst_index_entry_free):
4406         * gst/gstindex.h:
4407           Don't free key strings which we don't own. Fixes crash in
4408           gst_index_entry_free() (#522741).
4409
4410         * tests/check/Makefile.am:
4411         * tests/check/gst/.cvsignore:
4412         * tests/check/gst/gstindex.c: (test_index_entries),
4413           (gst_index_suite), (gst_index):
4414           Add unit test for the above.
4415
4416 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
4417
4418         * win32/common/libgstreamer.def:
4419         Remove symbols that were removed recently. Fixes bug #521740.
4420
4421 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
4422
4423         * configure.ac:
4424         * win32/common/config.h:
4425         0.10.17.3 pre-release
4426
4427 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
4428
4429         Patch by: Ole André Vadla Ravnås
4430             <ole dot andre dot ravnas at tandberg dot com>
4431
4432         * docs/gst/gstreamer-sections.txt:
4433         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
4434         (gst_poll_update_winsock_event_mask), (gst_poll_new),
4435         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
4436         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4437         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
4438         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4439         (gst_poll_fd_can_write), (gst_poll_wait),
4440         (gst_poll_set_controllable), (gst_poll_restart),
4441         (gst_poll_set_flushing):
4442         * gst/gstpoll.h:
4443         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4444         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
4445         (gst_net_time_provider_new):
4446         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4447         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
4448         * tests/benchmarks/gstpollstress.c: (main):
4449         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
4450         Remove GstPollMode from the API, it does not make sense to let the
4451         application control this.
4452         Add support for Win32.
4453         Fix the testsuite. Fixes #520671.
4454
4455 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
4456
4457         Patch by: Ole André Vadla Ravnås
4458             <ole dot andre dot ravnas at tandberg dot com>
4459
4460         * gst/gstregistrybinary.c:
4461         Include io.h for write() and close() when building with MSVC. Fixes
4462         bug #520877.
4463
4464 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
4465
4466         * configure.ac:
4467         * gst/gst_private.h:
4468         * gst/gstconfig.h.in:
4469         * gst/gstregistry.h:
4470         * gst/gstregistrybinary.c:
4471         * win32/common/gstconfig.h:
4472           Move registry backend API to private headers where we can. Add
4473           fixme-0.11 comments for the others. Add stubs for the xml backend when
4474           using the binary to ensure they functions exists (they should not be
4475           used though). Fixes #520756.
4476
4477 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
4478
4479         * configure.ac:
4480         * win32/common/config.h:
4481         0.10.17.2 prelease
4482
4483 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4484
4485         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4486         (gst_registry_binary_read_cache):
4487         * gst/gstregistryxml.c: (gst_registry_save):
4488         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
4489         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
4490         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4491         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
4492         Switch to using portabl gsize/gssize instead of size_t/ssize_t
4493         Fixes #520152
4494
4495 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4496
4497         * gst/gstminiobject.c:
4498         Import gst_private.h before any other header that might include other
4499         glib headers. This fixes the build on windows using native compilers.
4500
4501 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4502
4503         * win32/common/gstconfig.h:
4504           Add here too, just for completeness.
4505
4506 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4507
4508         * configure.ac:
4509         * gst/gstconfig.h.in:
4510         * gst/gstregistry.h:
4511           Fix broken use of config.h-defined preprocessor directive in a public
4512           header file. Add a corresponding define to gstconfig.h, since we can't
4513           really remove those function declarations from the header file now
4514           (or can we? and why are they there in the first place?).
4515
4516 2008-03-03  Andy Wingo  <wingo@pobox.com>
4517
4518         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
4519         the new warning.
4520
4521         * gst/gststructure.c (gst_structure_from_string): Warn if
4522         structure_from_string didn't consume the whole string, but the
4523         caller did not provide an end pointer.
4524
4525 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
4526
4527         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
4528
4529         * gst/gstregistryxml.c: (read_string), (load_feature):
4530           Strings allocated by libxml2 should be freed with xmlFree(), not
4531           with g_free(). Fixes issues on windows in certain contexts (#519698).
4532
4533 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
4534
4535         * gst/gstinterface.c: (gst_element_implements_interface):
4536           Don't crash if the element supports the interface queried, but does
4537           not implement GstImplementsInterface. Fixes #519584.
4538
4539         * tests/check/Makefile.am:
4540         * tests/check/gst/.cvsignore:
4541         * tests/check/gst/gstinterface.c:
4542           Add unit test for the above.
4543
4544 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4545
4546         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4547         Small doc update.
4548
4549 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4550
4551         * gst/gstsegment.c: (gst_segment_set_seek),
4552         (gst_segment_to_stream_time):
4553         Improve some comment.
4554         Update variables where it makes more sense.
4555
4556 2008-02-29  Rene Stadler  <mail@renestadler.de>
4557
4558         * gst/gsturi.c: (gst_uri_handler_get_protocols):
4559         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
4560         URIHandlers implemented using language bindings.
4561
4562 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4563
4564         * gst/gstelementfactory.h:
4565         * tests/check/elements/fakesink.c:
4566         * tests/check/elements/fakesrc.c: (setup_fakesrc):
4567         * tests/check/elements/fdsrc.c: (setup_fdsrc):
4568         * tests/check/elements/filesink.c: (setup_filesink):
4569         * tests/check/elements/filesrc.c: (setup_filesrc):
4570         * tests/check/elements/identity.c: (setup_identity):
4571         * tests/check/elements/tee.c:
4572         * tests/check/generic/sinks.c:
4573         * tests/check/generic/states.c: (setup), (teardown):
4574         * tests/check/gst/gst.c:
4575         * tests/check/gst/gstabi.c:
4576         * tests/check/gst/gstbin.c:
4577         * tests/check/gst/gstbus.c: (pull_messages):
4578         * tests/check/gst/gstcaps.c:
4579         * tests/check/gst/gstelement.c:
4580         * tests/check/gst/gstevent.c:
4581         * tests/check/gst/gstghostpad.c:
4582         * tests/check/gst/gstiterator.c:
4583         * tests/check/gst/gstmessage.c:
4584         * tests/check/gst/gstminiobject.c: (my_foo_init):
4585         * tests/check/gst/gstobject.c: (thread_name_object),
4586         (gst_object_suite):
4587         * tests/check/gst/gstpad.c:
4588         * tests/check/gst/gstplugin.c:
4589         * tests/check/gst/gstpoll.c:
4590         * tests/check/gst/gstquery.c:
4591         * tests/check/gst/gstsegment.c:
4592         * tests/check/gst/gststructure.c:
4593         * tests/check/gst/gstsystemclock.c:
4594         * tests/check/gst/gsttask.c:
4595         * tests/check/gst/gstutils.c:
4596         * tests/check/gst/gstvalue.c:
4597         * tests/check/gst/struct_hppa.h:
4598         * tests/check/gst/struct_i386.h:
4599         * tests/check/gst/struct_ppc32.h:
4600         * tests/check/gst/struct_ppc64.h:
4601         * tests/check/gst/struct_x86_64.h:
4602         * tests/check/libs/adapter.c: (create_and_fill_adapter):
4603         * tests/check/libs/basesrc.c:
4604         * tests/check/libs/controller.c: (GST_START_TEST):
4605         * tests/check/libs/gdp.c:
4606         * tests/check/libs/gstnetclientclock.c:
4607         * tests/check/libs/gstnettimeprovider.c:
4608         * tests/check/libs/libsabi.c:
4609         * tests/check/libs/struct_hppa.h:
4610         * tests/check/libs/struct_i386.h:
4611         * tests/check/libs/struct_ppc32.h:
4612         * tests/check/libs/struct_ppc64.h:
4613         * tests/check/libs/struct_x86_64.h:
4614         * tests/check/pipelines/cleanup.c:
4615         * tests/check/pipelines/simple-launch-lines.c:
4616         * tests/check/pipelines/stress.c:
4617         And correct even more valid sparse warnings.
4618
4619         * win32/common/libgstreamer.def:
4620         Add gst_poll_fd_init to the list of symbols.
4621
4622 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4623
4624         * gst/gstconfig.h.in:
4625         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4626         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4627         (gst_check_log_critical_func), (gst_check_drop_buffers),
4628         (gst_check_element_push_buffer_list):
4629         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4630         (gst_controller_get_type):
4631         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4632         (gst_object_get_controller), (gst_object_get_control_source):
4633         * libs/gst/controller/gstinterpolationcontrolsource.c:
4634         (gst_interpolation_control_source_new):
4635         * libs/gst/controller/gstlfocontrolsource.c:
4636         (gst_lfo_control_source_new):
4637         * libs/gst/dataprotocol/dataprotocol.c:
4638         (gst_dp_event_from_packet_0_2):
4639         * plugins/elements/gstfdsrc.c:
4640         * plugins/elements/gstmultiqueue.c:
4641         * plugins/elements/gsttee.c:
4642         * plugins/elements/gsttypefindelement.c:
4643         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4644         (gst_file_index_add_association):
4645         * plugins/indexers/gstmemindex.c:
4646         * tests/benchmarks/gstpollstress.c: (mess_some_more):
4647         * tests/check/elements/queue.c: (setup_queue):
4648         * tests/check/gst/gstpipeline.c:
4649         * tests/check/libs/collectpads.c: (setup), (teardown),
4650         (gst_collect_pads_suite):
4651         * tests/examples/adapter/adapter_test.c:
4652         * tests/examples/metadata/read-metadata.c: (make_pipeline):
4653         * tests/examples/xml/createxml.c:
4654         * tests/examples/xml/runxml.c:
4655         * tools/gst-inspect.c:
4656         * tools/gst-run.c:
4657         Correct all relevant warnings found by the sparse semantic code
4658         analyzer. This include marking several symbols static, using
4659         NULL instead of 0 for pointers, not using variable sized arrays
4660         on the stack, moving variable declarations to the beginning of
4661         a block and using "foo (void)" instead of "foo ()" for declarations.
4662
4663 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4664
4665         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4666         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4667         Don't reset GstPollFDs, this is not necessary at all.
4668
4669         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4670         (delayed_restart), (delayed_control):
4671         Use GST_POLL_FD_INIT.
4672
4673 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4674
4675         * gst/gstpoll.c: (gst_poll_fd_init):
4676         * gst/gstpoll.h:
4677         Added Since tags.
4678
4679         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4680         Use some more init macros.
4681
4682 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4683
4684         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4685         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4686         Use init macros and functions.
4687
4688 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4689
4690         * docs/gst/gstreamer-sections.txt:
4691         * gst/gstpoll.c: (gst_poll_fd_init):
4692         * gst/gstpoll.h:
4693         Add INIT macro and _init method for initializing the GstPollFD.
4694
4695 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
4696
4697         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4698         (gst_fd_sink_update_fd):
4699         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4700         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4701         (delayed_restart), (delayed_control):
4702         Initialize some uninitialized variables as spotted by valgrind.
4703
4704 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4705
4706         * tests/benchmarks/Makefile.am:
4707         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4708         (main):
4709         Add poll stress test.
4710
4711 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4712
4713         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4714
4715         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4716         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4717         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4718         * plugins/elements/gstfdsink.h:
4719         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4720         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4721         (gst_fd_src_unlock_stop), (gst_fd_src_create),
4722         (gst_fd_src_uri_set_uri):
4723         * plugins/elements/gstfdsrc.h:
4724         Port to GstPoll. See #505417.
4725
4726 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
4727
4728         * win32/common/libgstreamer.def:
4729         Add new gst_poll_ symbols to win32 defs.
4730
4731 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4732
4733         * docs/libs/gstreamer-libs-sections.txt:
4734         * libs/gst/net/gstnetclientclock.c:
4735         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4736         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4737         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4738         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4739         * libs/gst/net/gstnetclientclock.h:
4740         * libs/gst/net/gstnettimeprovider.c:
4741         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4742         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4743         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4744         (gst_net_time_provider_new):
4745         * libs/gst/net/gstnettimeprovider.h:
4746         Use a private stuct to not break ABI.
4747
4748 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4749
4750         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4751
4752         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4753         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4754         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4755         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4756         * libs/gst/net/gstnetclientclock.h:
4757         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4758         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4759         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4760         (gst_net_time_provider_new):
4761         * libs/gst/net/gstnettimeprovider.h:
4762         Massive code removal and cleanups because of GstPoll.
4763         Fixes #505417.
4764
4765 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4766
4767         * configure.ac:
4768         Add checks for poll, ppoll and pselect.
4769
4770         * docs/gst/gstreamer-docs.sgml:
4771         * docs/gst/gstreamer-sections.txt:
4772         Add docs for GstPoll.
4773
4774         * gst/Makefile.am:
4775         * gst/gst.h:
4776         * gst/gstpoll.c: (find_index), (selectable_fds),
4777         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4778         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4779         (gst_poll_set_mode), (gst_poll_get_mode),
4780         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4781         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4782         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4783         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4784         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4785         (gst_poll_fd_can_write), (gst_poll_wait),
4786         (gst_poll_set_controllable), (gst_poll_restart),
4787         (gst_poll_set_flushing):
4788         * gst/gstpoll.h:
4789         Add generic poll abstraction. We ideally don't want to have this in core
4790         here but in glib intead...
4791         This code will be used in various network elements and ultimately for
4792         the nanosecond precision monotonic clock (that's why it's here in core).
4793         It'll allow us to implement cancelable socket operations for windows too.
4794
4795         * tests/check/Makefile.am:
4796         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4797         (delayed_stop), (delayed_restart), (delayed_flush),
4798         (delayed_control), (gst_poll_suite):
4799         Add GstPoll unit test.
4800
4801 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
4802
4803         * gst/gstfilter.c:
4804           Improve documentation of gst_filter_run(). Fixes #518627.
4805
4806 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4807
4808         * docs/README:
4809           Add a few lines about the new 'check-inspected-versions' target.
4810
4811 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4812
4813         * tests/check/gst/gstevent.c:
4814           Add qos to the event test. Rename tcase/tsuite; is not only about
4815           custom events.
4816
4817 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4818
4819         * plugins/elements/gstqueue.c:
4820           Ensure that buffer metadata is writeable, before modifying. Spotted by
4821           Mike.
4822
4823 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
4824
4825         * plugins/elements/gstqueue.c:
4826         * plugins/elements/gstqueue.h:
4827           When dropping buffers in leaky modes, mark next buffers we sent as
4828           DISCONT.
4829
4830 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4831
4832         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4833           Also, if mmap() fails that would be a READ error, not OPEN_READ.
4834
4835 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4836
4837         * plugins/elements/Makefile.am:
4838         * plugins/elements/gstbufferstore.c:
4839         * plugins/elements/gstbufferstore.h:
4840         * plugins/elements/gsttypefindelement.h:
4841           Remove GstBufferStore, no idea why we were still building it.
4842           It's not used anywhere and superseded by GstAdapter.
4843
4844         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4845           (gst_file_src_create_mmap):
4846         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4847           Printf format fixes for 64-bit integers.
4848
4849 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4850
4851         * configure.ac:
4852         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4853         We're not in 0.8 times anymore.
4854
4855 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
4856
4857         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4858         (gst_check_element_push_buffer_list):
4859         * libs/gst/check/gstcheck.h:
4860         Make the declaration in the header for
4861         gst_check_element_push_buffer_list match the implementation.
4862
4863         Fix up spelling, grammar and wording of the documentation in a few
4864         places, and add the Since keyword to new API functions.
4865         Use g_list_delete_link instead of g_list_remove in
4866         gst_check_drop_buffers, since it's immeasurably more efficient.
4867
4868         * tests/check/elements/fakesrc.c: (GST_START_TEST):
4869         Use new gst_check_drop_buffers function where appropriate.
4870
4871         * win32/common/libgstbase.def:
4872         * win32/common/libgstreamer.def:
4873         Add new symbols gst_collect_pads_take_buffer, 
4874         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4875         exports
4876
4877         Changelog surgery to add API keyword to new gst_check API.
4878
4879 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4880
4881         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4882         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4883         Update pre-generated flex files with flex 2.3.34.
4884
4885 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4886
4887         * gst/gstminiobject.c:
4888           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4889           friendly to subclasses and not require them to know all internals
4890           of their parent class.
4891
4892 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4893
4894         * docs/libs/gstreamer-libs-sections.txt:
4895         * libs/gst/base/gstcollectpads.c:
4896         * libs/gst/base/gstcollectpads.h:
4897           Add sub-buffer functions to collectpads. Fixes #516187.
4898           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4899
4900 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4901
4902         * gst/gstbuffer.c:
4903           Copy selected buffer-flags when creating subbuffers.
4904           Fixes #516395.
4905
4906 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
4907
4908         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4909         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4910         * gst/gstmessage.c: (gst_message_class_init),
4911         (gst_message_finalize):
4912         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4913         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4914         (gst_mmap_buffer_finalize):
4915         Properly chain up finalize functions to the parent class.
4916
4917 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
4918
4919         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4920
4921         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4922         (gst_index_set_resolver_full):
4923         * gst/gstindex.h:
4924         Add new function with option to dispose of user_data in resolver.
4925         Actually call the dispose function when finalizing the object and not
4926         just when changing the resolver/filter.
4927         API: GstIndex::gst_index_set_resolver_full()
4928
4929         * docs/gst/gstreamer-sections.txt:
4930         Add new function to docs. Fixes #515469.
4931
4932 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
4933
4934         * gst/gstindex.c: (gst_index_finalize):
4935         Chain up finalize to the parent class. Fixes leaking the GstObject
4936         name and other things.
4937
4938 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
4939
4940         * configure.ac:
4941         Make DISABLE_DEPRECATED defined *only* during CVS, not during
4942         pre-releases or releases.
4943
4944         * docs/faq/gst-uninstalled:
4945         Add gst-plugins-gl
4946
4947         * docs/random/release:
4948         Change one of the steps - we only upload core & base to Gnome FTP
4949
4950 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
4951
4952         * gst/gstconfig.h.in:
4953           Add 'id' for example.
4954
4955         * gst/gstpad.c:
4956         * gst/gstutils.c:
4957         * plugins/elements/gstfdsink.c:
4958           Link to signals. Doc and comment fixes.
4959
4960 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
4961
4962         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4963         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4964           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4965           unused and unimplemented; finally, it is plugin features, not
4966           plugins, that have ranks.
4967           
4968 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4969
4970         * gst/gstpluginfeature.h:
4971           Clarify GstRank range docs.
4972
4973 2008-02-05  David Schleef  <ds@schleef.org>
4974
4975         * gst/gst.c: Add a separate gst_deinitialized that prevents
4976           gst_init() from being called after gst_deinit().  Fixes #509559
4977
4978 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4979
4980         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4981         (gst_bin_class_init):
4982         * gst/gstelement.c: (gst_element_base_class_init),
4983         (gst_element_class_add_pad_template):
4984         * gst/gstpadtemplate.c: (gst_pad_template_init):
4985         * gst/gstpipeline.c: (gst_pipeline_get_type),
4986         (gst_pipeline_base_init), (gst_pipeline_class_init):
4987         * libs/gst/base/gstbasesink.c:
4988         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4989         (gst_base_src_base_init), (gst_base_src_class_init):
4990         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4991         (gst_capsfilter_class_init):
4992         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4993         (gst_fake_sink_class_init):
4994         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4995         (gst_fake_src_class_init):
4996         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4997         (gst_fd_sink_class_init):
4998         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4999         (gst_fd_src_class_init):
5000         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
5001         (gst_file_sink_class_init):
5002         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
5003         (gst_file_src_class_init):
5004         * plugins/elements/gstidentity.c: (gst_identity_base_init),
5005         (gst_identity_class_init):
5006         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
5007         (gst_multi_queue_class_init):
5008         * plugins/elements/gstqueue.c: (gst_queue_base_init),
5009         (gst_queue_class_init):
5010         * plugins/elements/gsttee.c: (gst_tee_base_init),
5011         (gst_tee_class_init):
5012         * plugins/elements/gsttypefindelement.c:
5013         (gst_type_find_element_base_init),
5014         (gst_type_find_element_class_init):
5015         * tests/check/gst/gstelement.c: (gst_element_suite):
5016         Revert previous changes to the behaviour of GstPadTemplates, etc
5017         and the possiblity to call them in class_init as it breaks too
5018         many elements. Reopens bug #491501.
5019
5020         Should be applied again for 0.11, thus added a few FIXME 0.11 at
5021         several places.
5022
5023 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
5024
5025         * tools/gst-launch.c:
5026         Dump one graph per pipeline state-change and state change name
5027         (if GST_DEBUG_DUMP_DOT_DIR is set).
5028
5029 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
5030
5031         * gst/gstpad.c:
5032         * tests/check/gst/gstpad.c:
5033         Be sure that we have a new copy of the caps and not
5034         reffed caps from a template
5035
5036 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
5037
5038         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
5039         * gst/gstpipeline.c: (gst_pipeline_get_type),
5040         (gst_pipeline_class_init):
5041         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
5042         (gst_base_sink_class_init):
5043         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
5044         (gst_base_src_class_init):
5045         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
5046         (gst_base_transform_class_init):
5047         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
5048         (gst_collect_pads_class_init):
5049         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
5050         * libs/gst/net/gstnettimeprovider.c:
5051         (gst_net_time_provider_base_init),
5052         (gst_net_time_provider_class_init):
5053         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
5054         (gst_capsfilter_class_init):
5055         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
5056         (gst_fake_sink_class_init):
5057         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
5058         (gst_fake_src_class_init):
5059         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
5060         (gst_fd_sink_class_init):
5061         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
5062         (gst_fd_src_class_init):
5063         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
5064         (gst_file_sink_class_init):
5065         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
5066         (gst_file_src_class_init):
5067         * plugins/elements/gstidentity.c: (gst_identity_base_init),
5068         (gst_identity_class_init):
5069         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
5070         (gst_multi_queue_class_init):
5071         * plugins/elements/gstqueue.c: (gst_queue_base_init),
5072         (gst_queue_class_init):
5073         * plugins/elements/gsttee.c: (gst_tee_base_init),
5074         (gst_tee_class_init):
5075         * plugins/elements/gsttypefindelement.c:
5076         (gst_type_find_element_base_init),
5077         (gst_type_find_element_class_init):
5078         Don't use base_init where not absolutely necessary. For example it's
5079         not necessary anymore for adding pad templates or setting element
5080         details.
5081
5082         Leave empty base_init functions in several places as GST_BOILERPLATE
5083         still defines and uses them.
5084
5085 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
5086
5087         * gst/gstelement.c: (gst_element_base_class_init),
5088         (gst_element_class_add_pad_template):
5089         * gst/gstpadtemplate.c:
5090         Make it possible (and recommended) to set element details and add
5091         pad templates in the class_init functions by copying the details/pad
5092         templates in GstElement's base_init.
5093
5094         Also make it possible to replace existing pad templates by adding
5095         a new one with the same name. This was done in a hackish fashion
5096         in same elements before already.
5097
5098         Don't reference pad templates that are added a second time. A
5099         new pad template has a refcount of one and is not floating anymore
5100         and to be owned by the element's class. Make this more explicit by
5101         mentioning it in the docs of gst_element_class_add_pad_template().
5102
5103         These changes are backwards compatible. Fixes bug #491501.
5104
5105         * tests/check/gst/gstelement.c:
5106         Add unit test for setting element details, adding pad templates and
5107         replacing them in a subclass.
5108
5109 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
5110
5111         * tools/gst-inspect.c: (print_interfaces),
5112         (print_element_properties_info), (print_pad_info),
5113         (print_signal_info), (print_element_info):
5114         Fix a few memory leaks.
5115
5116 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
5117
5118         * docs/libs/gstreamer-libs-sections.txt:
5119         * libs/gst/check/gstcheck.c:
5120         * libs/gst/check/gstcheck.h:
5121         Add more functions for unit testing: gst_check_drop_buffers,
5122         gst_check_caps_equal, gst_check_element_push_buffer_list,
5123         gst_check_element_push_buffer
5124         API: gst_check_drop_buffers
5125         API: gst_check_caps_equal
5126         API: gst_check_element_push_buffer_list
5127         API: gst_check_element_push_buffer
5128
5129 2008-02-01  Julien Moutte  <julien@fluendo.com>
5130
5131         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
5132         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
5133         (gst_index_finalize), (gst_index_entry_free),
5134         (gst_index_add_association): Fix memory leaks.
5135         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
5136         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
5137         (gst_mem_index_free_format), (gst_mem_index_free_id),
5138         (gst_mem_index_finalize): Fix memory leaks.
5139         * win32/common/config.h: Updated to CVS HEAD.
5140
5141 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
5142
5143         * docs/README:
5144           Some more details about how the plugin docs works.
5145
5146         * docs/plugins/gstreamer-plugins-sections.txt:
5147           Whitespace cleanup.
5148
5149 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
5150
5151         * gst/parse/grammar.tab.pre.c:
5152         * gst/parse/grammar.tab.pre.h:
5153         * gst/parse/grammar.y:
5154         * gst/parse/lex._gst_parse_yy.pre.c:
5155           Add delayed set-property. This allows to set properties on dynamicaly
5156           created objects (pads in videomxer). Fixes #509391.
5157
5158 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
5159
5160         * gst/gstutils.c:
5161         Check if caps are not NULL (fix bug #510194)
5162
5163 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
5164
5165         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
5166         (gst_base_sink_get_position_paused):
5167         Add fixme regarding EOS in pull mode.
5168         Fix position reporting in PAUSED for negative rates.
5169
5170 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
5171
5172         * gst/gstminiobject.c: (gst_mini_object_replace):
5173         When replacing a miniobject, do a quick equality check first so that we
5174         can avoid a ref/unref pair.
5175
5176 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
5177
5178         * docs/design/part-synchronisation.txt:
5179         Update some docs.
5180
5181         * docs/plugins/Makefile.am:
5182         * docs/plugins/gstreamer-plugins-docs.sgml:
5183         * docs/plugins/gstreamer-plugins-sections.txt:
5184         * plugins/elements/gstmultiqueue.c:
5185         Add multiqueue to the docs.
5186
5187 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
5188
5189         * configure.ac:
5190           Back to CVS
5191
5192 === release 0.10.17 ===
5193
5194 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
5195
5196         * configure.ac:
5197           releasing 0.10.17, "Due Negligence"
5198
5199 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
5200
5201         * gst/gstutils.c:
5202         Revert caps != NULL check temporarily for 0.10.17 release.
5203
5204 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
5205
5206         * gst/gstutils.c:
5207         Check if caps are not NULL (fix bug #510194)
5208
5209 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
5210
5211         * gst/gstutils.c:
5212         Fix compilation on systems that have posix timers but no
5213         monotonic clock.
5214         Fixes: #512715
5215         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
5216         dot net>
5217
5218 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
5219
5220         * tools/gst-inspect.c:
5221         Revert previous commit in preparation for an impromptu 0.10.17 release
5222
5223 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
5224
5225         * tools/gst-inspect.c: (print_interfaces),
5226         (print_element_properties_info), (print_pad_info),
5227         (print_signal_info), (print_element_info):
5228         Fix a few memory leaks.
5229
5230 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
5231
5232         * configure.ac:
5233         Back to CVS
5234
5235 === release 0.10.16 ===
5236
5237 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
5238
5239         * configure.ac:
5240           releasing 0.10.16, "Special Dispensation"
5241
5242 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
5243
5244         * configure.ac:
5245           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
5246           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
5247           not fail when trying to crosscompile on OpenEmbedded (#511750).
5248
5249 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
5250
5251         * docs/manuals.mak:
5252         Use $(MAKE) instead of make to fix the build if GNU make is
5253         called different. Fixes bug #510747.
5254
5255 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
5256
5257         * gst/gstplugin.c: (_gst_plugin_initialize):
5258           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
5259           again, which I broke two commits ago when changing the API
5260           of gst_plugin_register_static(): the g_list_foreach() in
5261           _gst_plugin_register_static still assumed the old function
5262           signature and would therefore fail (re-fixes #510187).
5263
5264         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
5265           (_gst_plugin_register_static), (gst_plugin_register_static):
5266           Revert the (technically correct) change to call g_thread_init() from
5267           the pre-main() constructor. This will break programs which call
5268           g_thread_init() without an if (!g_thread_supported()) guard in their
5269           main function. We could just blame it on GLib or the application, but
5270           it's probably best to just avoid this altogether and simply not use
5271           any GLib functions here and use plain old malloc() with a simple
5272           array to store the plugins to register later when gst_init() is
5273           finally called (re-fixes #510187).
5274
5275         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
5276           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
5277           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
5278           (GST_START_TEST), (gst_plugin_suite):
5279           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
5280           works.
5281
5282 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
5283
5284         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5285           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
5286           This makes gtk-doc complain, but results in slightly better
5287           compiler errors. The old _gst_plugin_register_static() is
5288           still guarded, so there'll be a compiler warning about that
5289           instead. Fixes #510187 too.
5290
5291 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
5292
5293         * gst/gst.c: (init_post):
5294         * gst/gstplugin.c: (_gst_plugin_register_static),
5295           (gst_plugin_register_static), (_gst_plugin_initialize):
5296         * gst/gstplugin.h: (GstPluginFilter):
5297           Change API of gst_plugin_register_static() to not take
5298           a GstPluginDesc, but rather just take all the arguments
5299           in a GstPluginDesc directly. This is more intuitive and
5300           avoids certain mistakes when porting code from
5301           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
5302           Fixes #510187.
5303
5304         * tests/check/gst/gstplugin.c:
5305           Fix up for changed API.
5306
5307 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5308
5309         * docs/faq/legal.xml:
5310           Update FAQ, Totem actually has an exception these days.
5311
5312 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
5313
5314         * win32/common/libgstreamer.def:
5315         Add new API declarations
5316
5317 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
5318
5319         * gst/gstminiobject.c:
5320           Spelling fixes for the API docs.
5321
5322 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
5323
5324         * libs/gst/base/gstbasetransform.c:
5325           Fix long property description for QoS.
5326
5327 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
5328
5329         * gst/gst.c:
5330         _gst_trace_on is already provided by gsttrace.h, no need to declare
5331         it ourselves.
5332
5333         * docs/libs/gstreamer-libs-sections.txt:
5334         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
5335         and remove strange tcase_add_test which is outputting a warning.
5336
5337         * libs/gst/check/gstcheck.c:
5338         * libs/gst/check/gstcheck.h:
5339         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
5340         and define them in gstcheck.c instead of having every .c file whcih
5341         includes gstcheck.h be defining its own copy and relying on symbol
5342         interposing to marry them all, which doesn't work on Solaris.
5343
5344         * tests/check/elements/identity.c: (GST_START_TEST):
5345         Don't define 'buffers' locally, it comes from libgstcheck.
5346
5347         * tests/check/generic/sinks.c: (send_buffer):
5348         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
5349
5350         * tests/check/gst/gststructure.c: (GST_START_TEST):
5351         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
5352         * tests/check/gst/gstutils.c: (GST_START_TEST):
5353         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5354         Add a bunch of casts to make various constants fit the types
5355         they're being assigned to.
5356
5357 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
5358
5359         * gst/gstchildproxy.c:
5360           Improve docs and add some ideas for making this more general-purpose.
5361
5362 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
5363
5364         * gst/gst_private.h: (GST_CAT_TYPES):
5365           Add GST_CAT_TYPES, for consistency, and so that the other
5366           debug categories don't make fun of it. Spotted by Saur on IRC.
5367
5368 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
5369
5370         * gst/parse/Makefile.am:
5371           Move types.h from EXTRA_DIST to noinst_HEADERS.
5372
5373 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
5374
5375         * autogen.sh:
5376           Add -Wno-portability to the automake parameters to stop warnings
5377           about GNU make extensions being used. We require GNU make in almost
5378           every Makefile anyway.
5379
5380         * configure.ac:
5381           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
5382           at the same time is required for per target flags.
5383
5384 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5385
5386         * gst/gstmacros.h:
5387           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
5388           __GNUC__ is defined before using it.
5389
5390 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5391
5392         * docs/gst/gstreamer-sections.txt:
5393         * gst/gst.c: (init_post):
5394         * gst/gstplugin.c: (_gst_plugin_register_static),
5395           (gst_plugin_register_static), (_gst_plugin_initialize),
5396           (gst_plugin_register_func):
5397         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5398           API: add gst_plugin_register_static() and deprecate
5399           GST_PLUGIN_DEFINE_STATIC, since it's not portable
5400           (#498924).
5401           Also, in _gst_plugin_register_static(), make sure to call
5402           g_thread_init() before calling GLib functions such as
5403           g_list_append() if we're not initialised yet, since that
5404           may lead to random crashes with older GSlice/GLib versions.
5405
5406         * tests/check/gst/gstplugin.c:
5407           Adapt unit test to above changes.
5408
5409 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5410
5411         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
5412         * gst/gstcaps.c: (gst_caps_to_string):
5413         * gst/gststructure.c: (GST_ASCII_IS_STRING),
5414           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
5415           Yet another gratuitous GString micro-optimisation: add a (private)
5416           function that serialises a structure appending to an existing
5417           GString, so that when we serialise caps we don't need to alloc+free
5418           a throwaway GString for each structure (each of which also entailing
5419           multiple reallocs on the way); also use g_string_sized_new() in
5420           various places with an approximate string length to avoid reallocs
5421           within GString. See #500143.
5422
5423 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5424
5425         * gst/gststructure.c: (gst_structure_id_set_value):
5426           Always check UTF-8 conformance of structure strings and not only
5427           if the debugging system is enabled; reasoning: the behaviour of
5428           the actual code shouldn't really change depending on whether the
5429           debugging system is enabled or not (#508291).
5430
5431 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
5432
5433         * Makefile.am:
5434           Remove old coverage target in favour of "make lcov".
5435
5436 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5437
5438         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5439         (gst_base_src_loop):
5440         The start segment for reverse playback goes from start to last_stop.
5441
5442 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5443
5444         Patch by: Peter Kjellerstedt <pkj axis com>
5445
5446         * gst/gstclock.h:
5447         Cast the results from the timeval/spec_to_time macros to what the
5448         docs say it casts to, a GstClockTime. fixes #508175.
5449
5450 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5451
5452         * gst/gstbuffer.c:
5453         Update some comments.
5454
5455         * tools/gst-inspect.c: (print_element_properties_info):
5456         Improve printing of flags.
5457
5458 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
5459
5460         * libs/gst/base/gstbasetransform.c:
5461           (gst_base_transform_transform_size):
5462           Print element name with g_warning() if there's a problem
5463           with the unit size.
5464
5465 2008-01-07  David Schleef  <ds@schleef.org>
5466
5467         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
5468
5469         * libs/gst/controller/gstcontroller.h:
5470         * libs/gst/controller/gstcontrolsource.h:
5471         * libs/gst/controller/gstinterpolationcontrolsource.h:
5472         * libs/gst/controller/gstlfocontrolsource.h:
5473         * libs/gst/dataprotocol/dataprotocol.h:
5474           Fix empty prototypes.  Fixes bug #507957.
5475
5476 2008-01-07  David Schleef  <ds@schleef.org>
5477
5478         * docs/faq/dependencies.xml: Fix typo.
5479
5480 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
5481
5482         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
5483         (gst_base_src_loop):
5484         Don't update the last_stop position in do_seek, that's the position we
5485         did a seek to.
5486         Read backwards when we have a negative rate.
5487
5488         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
5489         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
5490         (filesrc_suite):
5491         Add check for reverse reading.
5492
5493 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
5494
5495         Patch by: Alexis Ballier <aballier at gentoo org>
5496
5497         * tests/check/gst/gstabi.c:
5498         * tests/check/gst/struct_ppc64.h:
5499         * tests/check/libs/libsabi.c:
5500         * tests/check/libs/struct_ppc64.h:
5501           Decide which header to include based on the userland ABI target
5502           and not the kernel/cpu. Fix up structure sizes of ppc64 header
5503           for 64-bit userland (#503590).  Might need something similar for
5504           x86 too.
5505
5506 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5507
5508         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
5509           Log the reason why fopen fails in addition to the fact that it failed.
5510           
5511 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
5512
5513         * gst/parse/parse.l:
5514         Use "%option never-interactive" to prevent useless calls to isatty()
5515         on every input when parsing. Also use "%option noinput" to not define
5516         the static input/yyinput functions which we don't use anyway. This
5517         removes a compiler warning with gcc 4.3 and saves some bytes in the
5518         library.
5519         
5520         * gst/parse/lex._gst_parse_yy.pre.c:
5521         Regenerated for the above change.
5522
5523 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
5524
5525         * gst/gstpad.c: (fixate_value):
5526         Don't crash when trying to fixate and empty list.
5527         Fixes #506643.
5528
5529 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
5530
5531         * docs/faq/gst-uninstalled:
5532         Clarify the comments to make the usage of this script and what it
5533         does easier to understand.
5534
5535 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
5536
5537         * tools/gst-plot-timeline.py:
5538         Add more options to gst-plot-timeline
5539
5540 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
5541
5542         * docs/design/part-synchronisation.txt:
5543         Some more info on how the stream_time in GstBaseSink is done.
5544
5545 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
5546
5547         * tests/check/generic/sinks.c: (gst_sinks_suite):
5548           Put back the tcase_set_timeout(), apparently it's needed after
5549           all; fix it up in a way that makes things work with valgrind too.
5550
5551 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
5552
5553         * gst/gstdebugutils.c:
5554           Add warning when failed to open file for writing.
5555
5556 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5557
5558         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
5559
5560         * gst/gstvalue.c: (gst_value_is_fixed):
5561           Optimisation: bail out of the loop as early as possible (#500143).
5562
5563 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5564
5565         * gst/gstcaps.c: (gst_caps_to_string):
5566         * gst/gstinfo.c: (gst_debug_construct_term_color):
5567         * gst/gstparse.c: (gst_parse_launchv):
5568         * gst/gstutils.c: (gst_util_dump_mem):
5569         * gst/gstvalue.c: (gst_value_serialize_any_list),
5570           (gst_value_transform_any_list_string):
5571           Bunch of gratuitous nano-optimisations.
5572
5573 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5574
5575         * tests/check/generic/sinks.c: (async_done_func),
5576           (async_done_eos_func):
5577           Fix leak in unit test (bus sync handler must unref the message
5578           if it returns GST_BUS_DROP). Don't fiddle with the default test
5579           timeout, this is smaller than the current preconfigured value
5580           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5581           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5582
5583 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5584
5585         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5586
5587         * configure.ac:
5588         Check for stdio_ext.h for the filesink changes.
5589
5590         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5591         (gst_file_sink_class_init), (gst_file_sink_init),
5592         (gst_file_sink_dispose), (gst_file_sink_set_property),
5593         (gst_file_sink_get_property), (gst_file_sink_open_file),
5594         (gst_file_sink_close_file):
5595         * plugins/elements/gstfilesink.h:
5596         Add two properties to control the buffering mode and size.
5597         API: GstFileSink::buffer-mode
5598         API: GstFileSink::buffer-size
5599         Fixes #500150.
5600
5601 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5602
5603         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5604         Add some more docs to explain why a FIXME was wrongly added. 
5605
5606 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
5607
5608         * gst/gstobject.c:
5609           Fix typo in the gst_object_{ref,unref} documentation.
5610
5611 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5612
5613         * tests/check/libs/controller.c:
5614         * tests/check/libs/typefindhelper.c:
5615         * tests/check/pipelines/parse-launch.c:
5616           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5617           going to be deprecated (see #498924).
5618
5619 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5620
5621         * gst/gsttypefind.c: (gst_type_find_register):
5622           Make gst_type_find_register work for static typefind functions,
5623           ie. allow passing plugin == NULL (prerequisite for #498924).
5624
5625         * gst/gstelementfactory.c: (gst_element_register):
5626           Small docs addition.
5627
5628 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
5629
5630         * gst/gstpad.c: (gst_pad_dispose):
5631         Really unlink the peer pad instead of setting the peer pointer to NULL
5632         when we dispose the pad.
5633         This correctly calls the unlink functions and makes sure that the peer
5634         does not have a handle to invalid memory. See #504671.
5635
5636         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5637         Add testsuite for above case.
5638
5639 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
5640
5641         Patch by: Peter Kjellerstedt <pkj axis com>
5642
5643         * libs/gst/check/gstcheck.h:
5644           Fix detection of the check version we're compiling against (would
5645           otherwise break if check goes v0.10.0); correctly report the
5646           name of the failed test again in case of failure, instead of
5647           just 'tf' (fixes #504499).
5648
5649 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5650
5651         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5652         (gst_base_src_get_range), (gst_base_src_pad_get_range),
5653         (gst_base_src_loop), (gst_base_src_set_flushing),
5654         (gst_base_src_change_state):
5655         Allow sending EOS to the source to make it send out an EOS event from
5656         the streaming thread.
5657         Update docs and deprecate the old NULL/READY shutdown method.
5658
5659         * tests/check/libs/basesrc.c: (GST_START_TEST),
5660         (gst_basesrc_suite):
5661         Add unit test for controlled shutdown.
5662
5663 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5664
5665         * docs/design/part-synchronisation.txt:
5666         Small updates.
5667
5668         * gst/gstsegment.c: (gst_segment_set_seek),
5669         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5670         (gst_segment_to_running_time):
5671         The seek format can be different from the segment format when the start
5672         and stop values are not to be updated, when we only do a rate change for
5673         example.
5674
5675         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5676         (gst_segment_suite):
5677         Add a testcase for the rate-only seeks, checking that the format is
5678         correctly ignored when start and stop are not updated.
5679
5680 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
5681
5682         Patch by: Matthias Bolte <photon at mail dot upb dot de>
5683
5684         * win32/vs8/grammar.vcproj:
5685         * win32/vs8/libgstcontroller.vcproj:
5686         * win32/vs8/libgstreamer.vcproj:
5687         Fix compilation with VS8 and include some missing files.
5688
5689 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
5690
5691         * gst/gsttaglist.c:
5692           Small docs addition: mention that the strings returned by
5693           gst_tag_list_get_string*() are in UTF-8 encoding.
5694
5695 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
5696
5697         * Makefile.am:
5698           The check-exports stuff moved to common/win32.mak, so include that.
5699
5700 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
5701
5702         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5703         (gst_base_src_perform_seek), (gst_base_src_get_range),
5704         (gst_base_src_set_playing), (gst_base_src_change_state):
5705         Make _wait_playing() not check any variables so that we can call this
5706         function from subclasses. Move the checks elsewhere similar to
5707         _wait_preroll() in basesink.
5708         Add some debugging.
5709         Only signal the LIVE cond when we are going back to PLAYING.
5710
5711 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5712
5713         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5714           Use g_remove() and g_rename(). Check result of g_rename(), and
5715           don't leak the open file descriptor if we error out when writing.
5716
5717         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5718           Must check the return value of close() after writing out the new
5719           registry file.  Sometimes write problems such as out-of-diskspace
5720           are only reported when the file is closed and not already during
5721           the write.  This may have caused partial/broken registry files in
5722           some rare circumstances. Should fix #503675.
5723
5724 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
5725
5726         * docs/gst/.cvsignore:
5727         * docs/libs/.cvsignore:
5728         * docs/plugins/.cvsignore:
5729         Ignore files generated by new common/* modifications
5730
5731 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5732
5733         * win32/common/libgstbase.def:
5734           Yes, you can also have a <TAB> if you want.
5735
5736 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5737
5738         * win32/common/libgstbase.def:
5739           Add new basetransform API to win export file.
5740
5741 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5742
5743         * tests/check/gst/gstbin.c:
5744           Adjust the test to the refcount change two days ago.
5745
5746 2007-12-14  David Schleef  <ds@schleef.org>
5747
5748         * docs/faq/getting.xml: Fix typo.
5749
5750 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
5751
5752         * docs/libs/gstreamer-libs-sections.txt:
5753         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5754           (gst_base_transform_prepare_output_buffer),
5755           (gst_base_transform_set_gap_aware):
5756         * libs/gst/base/gstbasetransform.h:
5757           API: Add gst_base_transform_set_gap_aware() to control whether
5758           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5759           get buffers with this flag at all. Fixes #503231.
5760
5761 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
5762
5763         * libs/gst/base/gstbasesink.c:
5764         * libs/gst/base/gstbasesrc.c:
5765         * libs/gst/base/gstbasetransform.c:
5766           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5767           thread. Correct log message in gstbasesrc.c.
5768
5769 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5770
5771         * gst/gstutils.c: (element_find_unconnected_pad):
5772           Fix possible compiler warning (#503417).
5773
5774 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5775
5776         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5777           Don't use GST_CAT_EVENT here for logging, it makes no sense.
5778
5779 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
5780
5781         * tools/gst-inspect.c: (print_element_properties_info):
5782           Add support for GstFraction properties.
5783
5784 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5785
5786         * Makefile.am:
5787           Add check-exports target and run it as part of 'make check'
5788           (see #499140 and #493983).
5789
5790         * gst/gst_private.h:
5791         * gst/gstelementfactory.h:
5792         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5793         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5794           (_priv_gst_in_valgrind):
5795         * gst/gstinfo.h: (GstLogFunction):
5796         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5797           (gst_type_find_register):
5798         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5799           (gst_type_find_factory_get_type):
5800         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5801           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5802           (gst_controller_new_valist), (gst_controller_new_list),
5803           (_gst_controller_dispose), (_gst_controller_class_init):
5804         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5805         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5806           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5807           (gst_object_get_controller), (gst_object_set_controller),
5808           (gst_object_suggest_next_sync), (gst_object_sync_values),
5809           (gst_object_set_control_source), (gst_object_get_control_source),
5810           (gst_object_get_value_arrays), (gst_object_get_value_array),
5811           (gst_object_get_control_rate), (gst_object_set_control_rate):
5812         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5813         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5814           Make some functions that should be static static; rename some
5815           private symbols so that they don't get exported; add some FIXME
5816           comments so we can move accidentally exported functions into
5817           our private section in 0.11.
5818
5819         * win32/common/libgstreamer.def:
5820           Add gst_utils_get_timestamp().
5821
5822 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5823
5824         * gst/gstvalue.c:
5825         * gst/gstvalue.h:
5826           Add more missing "Since:" tags to docs.
5827
5828 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5829
5830         * gst/gstutils.c:
5831           Add mising "Since:" to docs.
5832
5833 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5834
5835         * gst/gstplugin.c:
5836           Include "glib-compat-private.h" to fix the build on system with
5837           glib < 2.10. Fixes #503131.
5838
5839 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5840
5841         * gst/gstutils.c:
5842         * gst/gstutils.h:
5843           Actually its not PURE as it gets the time from elsewhere.
5844
5845 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5846
5847         * docs/gst/gstreamer-sections.txt:
5848         * gst/gstclock.h:
5849         * gst/gstdebugutils.c:
5850         * gst/gstinfo.c:
5851         * gst/gstutils.c:
5852         * gst/gstutils.h:
5853         * libs/gst/base/gstbasesink.c:
5854         * tools/gst-launch.c:
5855           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5856           uses as we don't have HAVE_POSIX_TIMERS in public headers.
5857           Thanks Tim for spotting.
5858           API: gst_util_get_timestamp
5859
5860 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
5861
5862         * configure.ac:
5863           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5864
5865 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
5866
5867         * gst/gststructure.c: (gst_structure_validate_name),
5868           (gst_structure_new_valist), (gst_structure_parse_value),
5869           (gst_structure_from_string):
5870           Don't crash in _from_string() if the structure name is not valid
5871           (fixes #501560).  Allow structure names to start with a number
5872           again (this apparently broke the ubuntu codec installer).
5873
5874         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5875           (GST_START_TEST):
5876           Add unit test for the crash; update unit tests for new behaviour.
5877
5878 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
5879
5880         * gst/gstutils.c:
5881         Clarify gst_element_get_compatible_pad() documentation.
5882         Fixes #500919.
5883
5884 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
5885
5886         * tests/check/Makefile.am:
5887           Don't forget to dist {gst,libs}/struct_hppa.h.
5888
5889 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5890
5891         * libs/gst/base/gstbasesink.c:
5892           Use new API to get elapsed time.
5893
5894 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5895
5896         * gst/gstdebugutils.c:
5897         * gst/gstinfo.c:
5898           Fix wrong order of args in GST_CLOCK_DIFF() usage.
5899
5900         * tools/gst-launch.c:
5901           Use new API to get elapsed time.
5902
5903 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5904
5905         * docs/gst/gstreamer-sections.txt:
5906         * gst/gstclock.h:
5907         * gst/gstdebugutils.c:
5908         * gst/gstinfo.c:
5909           Rename new API + ChangeLog surgery to remove old name from last entry..
5910
5911 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5912
5913         * docs/gst/gstreamer-sections.txt:
5914         * gst/gstclock.h:
5915         * gst/gstdebugutils.c:
5916         * gst/gstinfo.c:
5917           Now hide the different clock stuff behind a macro.
5918
5919 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5920
5921         * configure.ac:
5922         * gst/gstdebugutils.c:
5923         * gst/gstinfo.c:
5924           Apply the posix-timer check from #361155. Conditionally use the posix
5925           timer for logging. This gives better timestamp precission, less
5926           overhead and no ntp jitter.
5927
5928 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
5929
5930         * gst/gstminiobject.c: (gst_mini_object_get_type),
5931         (gst_mini_object_class_init), (gst_mini_object_copy_default),
5932         (gst_mini_object_finalize), (gst_mini_object_copy),
5933         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5934         (gst_mini_object_replace), (param_mini_object_validate),
5935         (gst_param_spec_mini_object_get_type):
5936         Some cleanup and checking against invalid function parameters.
5937
5938 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
5939
5940         * docs/gst/gstreamer-sections.txt:
5941         * gst/gstclock.h:
5942         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5943         (gst_systemclock_suite):
5944         Start merging in the easy bits of #361155, the monotonic clock patch.
5945         This one adds a few handy macros with docs and a testsuite.
5946
5947 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
5948
5949         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5950         Be a bit smarter when seeking, like, don't try to do a seek when it's
5951         not needed. This avoids errors when the file is not seekable.
5952         Fixes #499771.
5953
5954 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
5955
5956         * docs/gst/gstreamer-docs.sgml:
5957         * docs/gst/gstreamer-sections.txt:
5958         * docs/gst/gstreamer.types.in:
5959         * gst/Makefile.am:
5960         * gst/gst.h:
5961         * gst/gstpreset.c:
5962         * gst/gstpreset.h:
5963         * plugins/elements/gstqueue.c:
5964           Due to popular request remove preset interface again. :-(.
5965
5966 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5967
5968         * tools/gst-inspect.c:
5969           Print 'default value' for enums and flags too.
5970
5971 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5972
5973         * docs/random/ensonic/profiling.txt:
5974           More ideas.
5975
5976         * gst/gstbin.c:
5977           Fix typo and give better log output.
5978
5979         * gst/gstdebugutils.c:
5980         * gst/gstdebugutils.h:
5981           More ideas, make graphs a bit smaller and fix param name in macro.
5982
5983 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5984
5985         * gst/gstpreset.c:
5986           Try harder to use the return value from fgets().
5987
5988 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
5989
5990         * gst/gstpreset.c:
5991           For theses two fgets we handle the error below.
5992
5993 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5994
5995         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5996         Only send upstream events upstream. Fixes #498746.
5997
5998 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5999
6000         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
6001
6002         * plugins/elements/gstidentity.c: (gst_identity_class_init),
6003         (gst_identity_init), (gst_identity_transform_ip),
6004         (gst_identity_set_property), (gst_identity_get_property):
6005         * plugins/elements/gstidentity.h:
6006         Add property to disable handoff signal emission. Fixes #498694.
6007         API: GstIdentity::signal-handoffs
6008
6009 2007-11-21  Julien Moutte  <julien@fluendo.com>
6010
6011         * docs/faq/gst-uninstalled: Yet another missing library for the
6012         uninstalled script (fft)
6013
6014 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
6015
6016         * docs/faq/developing.xml:
6017         Add a question about how to submit new translations.
6018
6019         * docs/random/release:
6020         Update the contact email address for the Translation Project
6021
6022         * plugins/elements/gstfdsrc.c:
6023         The parent_class for fdsrc is pushsrc, not GstElement.
6024
6025 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
6026
6027         * gst/gstpreset.c:
6028           Plug a leak and fix saving.
6029
6030 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
6031
6032         * docs/gst/gstreamer-sections.txt:
6033         Add new gst_preset__get_property_names() function to the docs
6034         to fix the build.
6035
6036 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
6037
6038         * gst/gstpreset.c:
6039         * gst/gstpreset.h:
6040           Change _get_preset_names API to return a strv with copies. Add
6041           _get_property_names to allow implementations to filter and provide
6042           good default implementation.
6043
6044 2007-11-20  Julien MOUTTE  <julien@moutte.net>
6045
6046         * docs/faq/gst-uninstalled: Add another library to the uninstalled
6047         script (sdp).
6048
6049 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
6050
6051         * gst/gstpreset.c:
6052           More cleanups, docs, and TODOs from comments that now slowly come in.
6053
6054 2007-11-19  Julien MOUTTE  <julien@moutte.net>
6055
6056         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
6057         search path.
6058
6059 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
6060
6061         * gst/gstpreset.c:
6062           Fix bogus warning and make the property type specific code more
6063           similar.
6064
6065 2007-11-19  Julien MOUTTE  <julien@moutte.net>
6066
6067         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
6068         it build on OS X.
6069
6070 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
6071
6072         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
6073         (gst_bin_add_func), (gst_bin_remove_func),
6074         (gst_bin_change_state_func), (gst_bin_continue_func):
6075         Change email, cleanups add some more debug and comments.
6076         Also set bus and clock on new elements when the pipeline was in error.
6077
6078 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
6079
6080         * gst/gstbin.c:
6081         * gst/gstdebugutils.c:
6082           Fix build with --disable-gst-debug. Fixes #497859.
6083           Spotted by Sameer Naik.
6084
6085 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
6086
6087         * gst/gstevent.c:
6088           Little documentation improvment.
6089
6090         * gst/gstpreset.c:
6091           More TODO cleanups. Remove c++ comments.
6092
6093         * libs/gst/controller/gstcontroller.c:
6094           Add TODO and use quark from static string.
6095
6096         * tests/check/gst/gstmessage.c:
6097         * tests/check/gst/gststructure.c:
6098           Use quark from static string.
6099
6100 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
6101
6102         * gst/gstpreset.c:
6103           Add some comments and TODOs.
6104
6105         * gst/gstpreset.h:
6106           Add padding for future changes.
6107
6108         * plugins/elements/gstqueue.c:
6109           Implement the iface.    
6110
6111 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
6112
6113         * docs/gst/gstreamer-docs.sgml:
6114         * docs/gst/gstreamer-sections.txt:
6115         * docs/gst/gstreamer.types.in:
6116         * gst/Makefile.am:
6117         * gst/gst.h:
6118         * gst/gstpreset.c:
6119         * gst/gstpreset.h:
6120           Add the preset interface (Fixes #396779). Do some doc cleanups along.
6121
6122 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
6123
6124         * configure.ac:
6125
6126         Back to CVS
6127
6128 === release 0.10.15 ===
6129
6130 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
6131
6132         * configure.ac:
6133           releasing 0.10.15, "October"
6134
6135 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
6136
6137         * win32/vs6/libgstreamer.dsp:
6138         Convert line endings back to DOS.
6139
6140 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
6141
6142         * docs/design/draft-tagreading.txt:
6143         * docs/random/ensonic/profiling.txt:
6144         Update fast tagreading draft and performance profiling ideas.
6145
6146 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
6147
6148         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
6149         Don't hold the object lock when unreffing a buffer because it could
6150         cause a deadlock when the finalize function wants to grab the object
6151         lock too. Fixes #495133.
6152
6153 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
6154
6155         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
6156         (gst_segment_to_stream_time), (gst_segment_to_running_time):
6157         Also accumulate time correctly when doing reverse playback. Fixes
6158         #488201,
6159         When converting to running and stream time, use default values for
6160         start/stop/time/accum when comparing different formats. Fixes #494245.
6161
6162         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6163         Do running/stream time in TIME format.
6164
6165         * tests/check/gst/gstsegment.c: (GST_START_TEST),
6166         (gst_segment_suite):
6167         2 new unit tests for segment accumulation.
6168
6169 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
6170
6171         * gst/gst.c: (init_pre):
6172         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
6173           (_gst_debug_bin_to_dot_file):
6174           Move getenv() back into gst_init, so everyone can live happily
6175           ever after. Make sure the symbol isn't exported though.
6176
6177 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6178
6179         Patch by: Sebastien Moutte  <sebastien moutte net>
6180
6181         * win32/common/gstenumtypes.c:
6182         * win32/common/gstenumtypes.h:
6183           Update enum types.
6184
6185         * win32/vs6/libgstreamer.dsp:
6186           Update vs6 project files (#494343).
6187
6188 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6189
6190         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
6191         (gst_base_src_perform_seek), (gst_base_src_default_event),
6192         (gst_base_src_set_flushing), (gst_base_src_activate_push),
6193         (gst_base_src_activate_pull):
6194         Unify flushing code, remove some old unlock code that is no longer used.
6195         Take the streaming lock when seeking to avoid races. Fixes #492729.
6196         Added some more comments.
6197
6198 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6199
6200         * gst/gst.c: (_gst_disable_segtrap):
6201           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
6202           we can use gst_segtrap_is_enabled() there now that we have that API.
6203           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
6204           to do the getenv here (and export the variable).
6205
6206         * gst/gstdebugutils.c: (debug_dump_element),
6207           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
6208           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
6209
6210         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
6211           (gst_debug_log_default):
6212           Rename _gst_info_start_time to priv_gst_info_start_time so it
6213           doesn't get exported (was never in any header).
6214
6215         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
6216           (gst_plugin_loading_mutex):
6217           Make static mutex gst_plugin_loading_mutex really static (was never
6218           in any header), and use gst_segtrap_is_enabled() instead of
6219           _gst_disable_segtrap.
6220
6221         * gst/gsttrace.c: (_gst_trace_default):
6222           Make local _gst_trace_default static (was never in any header).
6223
6224 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6225
6226         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
6227
6228         * win32/common/libgstbase.def:
6229         * win32/common/libgstcontroller.def:
6230         * win32/common/libgstdataprotocol.def:
6231         * win32/common/libgstnet.def:
6232         * win32/common/libgstreamer.def:
6233           Add more missing symbols, remove some duplicates, and sort
6234           as the 'sort' command sorts it (partially fixes #493983).
6235
6236 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6237
6238         * gst/gstelement.c: (gst_element_set_state_func):
6239         Only change the state cookie if a different state was set on the
6240         element. See #492729.
6241
6242 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6243
6244         * gst/gstvalue.c:
6245           Remove unused and uninitialised type variables that were still
6246           exported for some reason (they were never in any header files
6247           though).
6248
6249 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6250
6251         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6252         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
6253         (gst_base_sink_event), (gst_base_sink_get_position_last),
6254         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
6255         (gst_base_sink_change_state):
6256         Don't try to report a 0 position when we don't know, return -1 and FALSE
6257         instead. This mostly happens when we are prerolling.
6258         Make sure we can report the right position before we post the ASYNC_DONE
6259         message so that a message handler can query position without races.
6260
6261         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6262         (async_done_handoff), (async_done_func), (send_buffer),
6263         (async_done_eos_func), (gst_sinks_suite):
6264         Add two tests for the above.
6265
6266 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6267
6268         * MAINTAINERS:
6269         Update with new email address.
6270
6271         * docs/design/part-TODO.txt:
6272         Add some more info about future pad-block and negotiation changes.
6273
6274         * docs/design/part-buffering.txt:
6275         Add some ideas about buffering reporting.
6276
6277 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
6278
6279         * tests/check/gst/gstobject.c:
6280         Disable silly racy test that always fails on this combination of CPU
6281         and kernel.
6282
6283 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6284
6285         Patch by: Murray Cumming  <murrayc@murrayc.com>
6286
6287         * gst/gstobject.c:
6288           Corrected the registration of the parent-set and parent-unset
6289           signals: The parameter is a GstObject, not a GObject (#493134).
6290
6291 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6292
6293         * gst/gst_private.h:
6294         * gst/gstbuffer.h:
6295         * gst/gstevent.h:
6296         * gst/gstformat.h:
6297         * gst/gstmessage.h:
6298         * gst/gstplugin.h:
6299         * gst/gstquery.h:
6300         * gst/gsttaglist.h:
6301         * gst/gstvalue.h:
6302           Move declaration of private _gst_foo_initialize() functions into
6303           our private header file where they should have been all along.
6304
6305 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6306
6307         * docs/plugins/gstreamer-plugins-sections.txt:
6308         * gst/gstdebugutils.h:
6309         * gst/gstxml.h:
6310         * plugins/elements/gstqueue.c:
6311           gtk-doc fixes; trailing-comma-in-enum fix.
6312
6313 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6314
6315         * gst/gst.c: (gst_deinit):
6316           Clean up on deinit (not the external ones though, doesn't seem to be
6317           needed for some reason).
6318
6319 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6320
6321         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
6322           Remove __declspec(dllimport) for MSVC that was copied over into core
6323           from a plugin, obviously without ever having been tested (note the
6324           single underscore in _declspec in the initial commit), and that doesn't
6325           really make sense.  See #492077.
6326
6327 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6328
6329         * gst/gst.c: (init_post):
6330         * gst/gstevent.c: (_gst_event_initialize):
6331         * gst/gstquery.c: (_gst_query_initialize):
6332         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
6333           g_type_class_ref() other types as well, see #349410 and #64764.
6334
6335         * gst/gstbuffer.c: (_gst_buffer_initialize):
6336         * gst/gstmessage.c: (_gst_message_initialize):
6337           Simplify existing g_type_class_ref().
6338
6339 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6340
6341         * gst/gstformat.c: (_gst_format_initialize):
6342           g_type_class_ref() our GstFormat type to make sure we avoid the
6343           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
6344           bug #64764. Should fix intermittent tee unit test failures (#474823).
6345
6346 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6347
6348         * tests/check/elements/tee.c: (test_num_buffers):
6349           Simplify, simplify, simplify - or not.  Rewrite unit test
6350           not to use gst_parse_launch(); allow N sub-streams. Increasing
6351           the number of sub-streams seems to reproduce #474823 more easily.
6352
6353 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
6354
6355         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
6356
6357         * gst/gsttrace.c:
6358         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
6359         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6360         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
6361           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
6362           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
6363           so use _pipe() directly (#492077).
6364
6365         * win32/common/dirent.c: (_treaddir):
6366           Add a couple of casts to make it build without warnings with MSVC.
6367
6368         * win32/common/libgstreamer.def:
6369           Add some more symbols that need to be exported.
6370
6371 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
6372
6373         * tests/examples/metadata/read-metadata.c: (message_loop):
6374           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
6375           arriving in a second or third tag message are added to
6376           the tag list as well.
6377
6378 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
6379
6380         * libs/gst/base/gstbasesrc.c:
6381           Its "Since:" and not "@Since:". And remove an superflous cast.
6382
6383 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
6384
6385         * docs/libs/gstreamer-libs-sections.txt:
6386         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6387         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
6388         (gst_base_sink_get_property), (gst_base_sink_render_object),
6389         (gst_base_sink_preroll_object),
6390         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
6391         (gst_base_sink_change_state):
6392         * libs/gst/base/gstbasesink.h:
6393         Add a new last-buffer property that contains the last buffer used in
6394         basesink for preroll or rendering. useful for making snapshots.
6395         API: gst_base_sink_get_last_buffer()
6396         API: GstBaseSink::last-buffer
6397
6398 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6399
6400         * docs/gst/running.xml:
6401         * gst/gst.c:
6402         * gst/gstdebugutils.c:
6403         * gst/gstdebugutils.h:
6404         * tools/gst-launch.c:
6405           Improve bin graph dumping, by using the envvar to specify a path.
6406           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
6407
6408 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
6409
6410         * plugins/elements/gsttypefindelement.c:
6411           (gst_type_find_element_handle_event),
6412           (gst_type_find_element_activate):
6413           Post special error message if we can't determine the type of a stream
6414           because it's empty.
6415
6416 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6417
6418         * docs/gst/running.xml:
6419         * gst/gstdebugutils.c:
6420           Document new env-var. Add one log-line after dumpng a graph.
6421
6422 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
6423
6424         * configure.ac:
6425           Ugly hack to put the (recently removed and non-portable, apparently)
6426           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
6427           GNU ld, because without that 'make check' fails miserably on my debian
6428           stable box.  Someone with more knowledge of linker intricacies and
6429           portability issues than me fix this properly please.
6430
6431 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
6432
6433         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6434         Reset last seen position after flushing so that we don't report the old
6435         position anymore.
6436
6437 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6438
6439         * gst/gstelementfactory.c: (gst_element_register):
6440         * gst/gsturi.h:
6441         Patch from Alessandro Decina adding get_type_full and
6442         get_protocols_full private vfuncs to the URIHandler interface
6443         to allow bindings to support creating URI handlers. 
6444         Partially fixes: #339279
6445         API: GstURIHandlerInterface::get_type_full
6446         API: GstURIHandlerInterface::get_protocols_full
6447
6448 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6449
6450         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6451         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
6452         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
6453         Make it so that pads are considered linked until a buffer is pushed
6454         and discovered otherwise. This avoids problems with decodebin2 hanging
6455         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
6456         case.
6457
6458         Make sure we lock the multiqueue when updating the max-size properties.
6459         
6460         Fix a crash on Solaris in a debug statement in get_request_pad that
6461         passes a NULL string to GST_DEBUG. 
6462
6463         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6464         (run_output_order_test):
6465         Fix the test to allow the first buffer on not-linked pads to come out
6466         of sequence while multiqueue discovers that they are not-linked.
6467
6468 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6469
6470         * configure.ac:
6471         * libs/gst/check/Makefile.am:
6472         Use a custom export symbol regex for libgstcheck, as it needs
6473         to export symbols that don't match the standard GStreamer gst_*
6474         pattern, and  --export-dynamic is not portable (only works on 
6475         GNU ld)
6476
6477         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6478         (gst_check_setup_sink_pad):
6479         Make sure to pass a message parameter to the fail_* macros.
6480
6481         * tests/check/gst/gstinfo.c: (GST_START_TEST):
6482         Fix some compiler warnings.
6483
6484 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
6485
6486         * tests/check/gst/gststructure.c: (test_to_string):
6487           Disable test that checks that white spaces are not allowed
6488           in structure names or field names, since we need to
6489           support that for now for backwards compatibility reasons.
6490
6491 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6492
6493         * docs/gst/gstreamer-sections.txt:
6494         * gst/gsttaglist.c:
6495         * gst/gsttaglist.h:
6496           API: add GST_TAG_ARTIST_SORTNAME
6497           API: add GST_TAG_ALBUM_SORTNAME
6498           API: add GST_TAG_TITLE_SORTNAME
6499           Add tag variants for sorting (#414539).
6500
6501 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6502
6503         * gst/gststructure.c:
6504           Also allow white space for names so we don't break
6505           backwards compatibility.
6506
6507 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
6508
6509         * docs/design/part-TODO.txt:
6510         * docs/design/part-segments.txt:
6511         * docs/design/part-streams.txt:
6512         Small updates.
6513
6514 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6515
6516         * docs/gst/gstreamer-sections.txt:
6517          Fixed documentation from my previous commit (added new API add
6518          gst_value_set_structure(), add gst_value_get_structure() and
6519          GST_VALUE_HOLDS_STRUCTURE).
6520
6521 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
6522
6523         * gst/gstdebugutils.c:
6524           Reflow code to fix uninitialized variable warning.
6525
6526 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6527
6528         * gst/gstcaps.c: (gst_caps_to_string),
6529         (gst_caps_from_string_inplace):
6530         * gst/gststructure.c: (gst_structure_get_abbrs),
6531         (gst_structure_to_string), (gst_structure_from_string):
6532         * gst/gstvalue.c: (gst_value_set_structure),
6533         (gst_value_get_structure), (gst_value_serialize_structure),
6534         (gst_value_deserialize_structure), (_gst_value_initialize):
6535         * gst/gstvalue.h:
6536         * tests/check/gst/gststructure.c: (GST_START_TEST),
6537         (gst_structure_suite):
6538         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6539          Added GstStructure to gst_value_table and its related functions.
6540          Changed gst_structure_to_string to print ';' in the end.
6541          Changed gst_caps_to_string to not print ';' beteween its
6542          fields (structures) anymore and remove the lastes ';' from latest
6543          structure. Now it is possible to have nested structures.
6544          In addition, backward compatibilty is assured by accepting '\0' as
6545          end delimiter. Fixes: #487969.
6546          API: add gst_value_set_structure()
6547          API: add gst_value_get_structure()
6548          API: add GST_VALUE_HOLDS_STRUCTURE
6549
6550 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
6551
6552         * gst/gstbus.c:
6553           When no GSource callback has been set up, tell developer
6554           to use a function that actually exists.
6555
6556 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
6557
6558         * docs/gst/gstreamer-sections.txt:
6559         * gst/Makefile.am:
6560         * gst/gst.c:
6561         * gst/gst.h:
6562         * gst/gstdebugutils.c:
6563         * gst/gstdebugutils.h:
6564         * gst/gstinfo.c:
6565         * gst/gstinfo.h:
6566         * tools/gst-launch.c:
6567           Allow dumping pipelines as dot graphs. Fixes #456573.
6568
6569 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6570
6571         * gst/gststructure.c:
6572           Allow '+' as well, it can be part of media or mime types
6573           such as image/svg+xml.
6574
6575 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6576
6577         * docs/gst/gstreamer-sections.txt:
6578         * gst/gstbus.c:
6579         * gst/gstbus.h:
6580           API: add gst_bus_pop_filtered
6581           API: add gst_bus_timed_pop_filtered
6582           Two new functions for waiting for specific message types on the
6583           bus for a specified amount of time without iterating any main
6584           loops or main contexts.
6585
6586         * tests/check/gst/gstbus.c:
6587           Some tests for the new functions.
6588
6589 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6590
6591         * docs/libs/gstreamer-libs-sections.txt:
6592           Make gtk-doc ignore stuff it should ignore.
6593
6594 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6595
6596         * libs/gst/check/gstcheck.c:
6597         * libs/gst/check/gstcheck.h:
6598           Allow runtime selection of unit tests to run via the GST_CHECKS
6599           environment variable (test case function names, comma-separated).
6600
6601 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6602
6603         * gst/gststructure.c:
6604         * tests/check/gst/gststructure.c:
6605           Revert serialisation change and constrain structure-names after
6606           consensus on irc. Update api documentation to reflect the change.
6607
6608 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6609
6610         * gst/gststructure.c:
6611           Improve serialization and fix tests.
6612
6613         * tests/check/gst/gststructure.c:
6614           Add another test that covers why I actually did the previous structure
6615           change.
6616
6617 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6618
6619         * tools/gst-inspect.c: (print_element_info):
6620         Don't crash when inspecting an element.
6621
6622 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6623
6624         * tests/check/gst/gststructure.c:
6625           Add unit test for escaping of structure name when serialising
6626           and deserialising to/from strings.
6627
6628 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6629
6630         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6631         (gst_single_queue_new):
6632         * plugins/elements/gstqueue.c: (gst_queue_init),
6633         (gst_queue_push_one):
6634         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6635         upstream is tricked into thinking it can suggest a format downstream
6636         while downstream does not support that format. The real problem is that
6637         core calls acceptcaps when pushing a buffer with new caps, for which we
6638         do a little workaround by setting the caps on the srcpad ourselves
6639         before pushing the buffer (until this is figured out). Fixes #486758.
6640
6641 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6642
6643         * gst/gststructure.c:
6644         * gst/gstvalue.c:
6645           Add some more comments and debug output. Quote structure name to fix
6646           deserialisation of some strings.
6647
6648 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6649
6650         * gst/gstbuffer.h:
6651           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6652           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6653
6654 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6655
6656         * tools/gst-inspect.c:
6657           Save approx. 400 1 byte allocs when printing. Use API to acces element
6658           details.
6659
6660         * tools/gst-run.c:
6661           Avoid a strdup.
6662
6663         * tools/gst-xmlinspect.c:
6664           Use API to acces element details.
6665
6666 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6667
6668         * gst/gstinfo.c:
6669           Fix some spelling errors.
6670
6671 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
6672
6673         * gst/gstbin.c: (bin_handle_async_done):
6674         Correctly set the next state if all of our async children commited their
6675         state. This makes sure we can actually cancel the state change in
6676         progress. Fixes a regression in Rhythmbox when seeking.
6677
6678 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6679
6680         * gst/gstbin.c:
6681           Don't shadow local variable.
6682
6683         * gst/gstinfo.c:
6684           Don't shadow global function name.
6685
6686 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6687
6688         * gst/gstelementfactory.c:
6689         * gst/gstpluginfeature.c:
6690         * gst/gstpluginfeature.h:
6691         * gst/gstregistrybinary.c:
6692         * gst/gstregistryxml.c:
6693         * gst/gsttypefind.c:
6694           Use already-interned string for the private GstPluginFeature
6695           plugin_name field.
6696
6697 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6698
6699         * docs/libs/gstreamer-libs-sections.txt:
6700           Add new API to docs; fixes the build.
6701
6702 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
6703         
6704         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6705
6706         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6707         (gst_base_sink_event):
6708         * libs/gst/base/gstbasesink.h:
6709         Add function to wait for EOS, subclasses can use this to correctly wait
6710         for devices to drain before performing the EOS logic. Fixes #485343.
6711         API: gst_base_sink_wait_eos()
6712
6713 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6714
6715         * gst/gstplugin.h:
6716           Cast description string constants in GST_PLUGIN_DEFINE macros
6717           to a (gchar*) to make C++ code using these macros compile
6718           without warning with g++-4.2 (see #462737).  Even if slightly
6719           ugly, this seems preferable to putting the description strings
6720           into the GLib quark table or making the structure member a
6721           const gchar * and doing casts in core code that allocs and
6722           frees these strings, or requiring a cast in the C++ code.
6723
6724 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6725
6726         * gst/gstinfo.h:
6727           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6728           to print the entire class/function signature into the log
6729           file for C++ code.  This only affects C++ code, for C code
6730           everything remains the same.
6731
6732 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
6733
6734         * gst/gstbin.c: (remove_from_queue):
6735         Work around a problem with pipelines containing (semi)loops until a
6736         proper, more complicated solution is ready. See #475455.
6737
6738 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6739
6740         * gst/gstplugin.c:
6741         * gst/gstplugin.h:
6742         * gst/gstregistrybinary.c:
6743         * gst/gstregistryxml.c:
6744           Put more strings into the GLib quark table. No need to keep
6745           a hundred-something copies of identical version strings,
6746           license strings, package name strings and package origin
6747           strings around. 
6748
6749 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6750
6751         * docs/manual/advanced-dataaccess.xml:
6752           Don't imply that it's okay to unconditionally change
6753           buffer data or buffer metadata in a pad probe callback,
6754           and a bunch of other comments. Fixes #430031.
6755
6756 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6757
6758         * win32/common/gstenumtypes.c:
6759         * win32/common/gstenumtypes.h:
6760         * win32/common/gstversion.h:
6761           Update generated files.
6762
6763 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6764
6765         * docs/manual/advanced-autoplugging.xml:
6766           Prefix section with broken code with a warning (see #342432).
6767
6768 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6769
6770         * docs/manual/appendix-integration.xml:
6771         * docs/manual/basics-init.xml:
6772           Call g_thread_init() before g_option_context_new() to
6773           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6774
6775 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6776
6777         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6778         (gst_base_sink_queue_object_unlocked),
6779         (gst_base_sink_queue_object), (gst_base_sink_event),
6780         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6781         When we received EOS and are waiting for when to post the EOS message,
6782         our state is prerolled and we should not return ASYNC.
6783         Reorganize some code paths to implement this behavior.
6784
6785         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6786         (gst_sinks_suite):
6787         Add unit test to verify above EOS fix.
6788
6789 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6790
6791         * plugins/elements/gsttypefindelement.c:
6792         (gst_type_find_element_have_type), (gst_type_find_element_init),
6793         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6794         Move detecting the input caps of the sinkpad to the setcaps function.
6795         This allows us to update the output caps when we receive new input caps
6796         instead of always using the first detected caps.
6797
6798 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6799
6800         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6801         (gst_base_sink_get_position):
6802         Don't try to preroll non-async elements after a flush.
6803         Subtract latency form clock times when reporting position.
6804
6805 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6806
6807         * gst/gstpad.c: (gst_pad_pause_task):
6808         * gst/gstutils.c:
6809         Small comment and documentation update.
6810
6811 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6812
6813         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6814         (gst_base_src_set_live), (gst_base_src_is_live),
6815         (gst_base_src_query_latency), (gst_base_src_perform_seek),
6816         (gst_base_src_default_event), (gst_base_src_wait),
6817         (gst_base_src_do_sync), (gst_base_src_get_range),
6818         (gst_base_src_pad_get_range), (gst_base_src_loop),
6819         (gst_base_src_unlock), (gst_base_src_unlock_stop),
6820         (gst_base_src_set_flushing), (gst_base_src_set_playing),
6821         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6822         (gst_base_src_change_state):
6823         Rework the locking of basesrc in a similar fashion to basesink. We
6824         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6825         us to handle live sources and semi live ones much better.
6826         Simplify flushing.
6827         Fix unlocking when seeking, shutting down and pausing in live sources.
6828
6829 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6830
6831         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6832         Fix compilation again.
6833
6834 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6835
6836         * gst/gstelement.c:
6837           Use meaningful categories for the logs to clean the default one.
6838
6839 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6840
6841         * tests/check/pipelines/cleanup.c:
6842           Print message name and not just number.
6843
6844 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6845
6846         * docs/design/draft-tagreading.txt:
6847           Add some more thoughts.
6848
6849 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6850
6851         * tests/check/pipelines/simple-launch-lines.c:
6852           Print message name and not just number.
6853
6854 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6855
6856         * libs/gst/base/gsttypefindhelper.c:
6857           Speedup typefinding. This is work in progress (see #459862).
6858
6859 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6860
6861         * gst/gstplugin.c:
6862           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6863           Spotted by Josep Torra Valles <josep@fluendo.com>.
6864
6865 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
6866
6867         * gst/gstclock.h:
6868           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6869           field has moved to GstObject.
6870
6871 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
6872
6873         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6874         (gst_base_src_get_range), (gst_base_src_change_state):
6875         Call unlock for live sources so that they can't get stuck in _create and
6876         produce a buffer before they are set back to PLAYING.
6877
6878 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
6879
6880         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6881         (gst_queue_locked_dequeue):
6882         Comment the segment-related code... in the PROPER function.
6883         See #482147 and my commit from yesterday.
6884
6885 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
6886
6887         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6888         Also initialize the counter that calculates the first timestamp on a
6889         buffer correctly for non-live sources.
6890
6891 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
6892
6893         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6894         Disable code that's breaking the current-time-level reporting.
6895         See #482147
6896
6897 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
6898
6899         * docs/gst/gstreamer-sections.txt:
6900         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6901         as they shouldn't show up. Fixes the docs build.
6902
6903 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
6904         
6905         * gst/gstinfo.h:
6906         Add an explicit variable importation needed on VS6 (only for MSC_VER)
6907         Define M_PI which is used in files which are including gstinfo.h. 
6908         VS6 includes doesn't define it.
6909         * win32/common/libgstbase.def:
6910         * win32/common/libgstcontroller.def:
6911         * win32/common/libgstreamer.def:
6912         Add new exported functions and variables.
6913         * win32/vs6/libgstcontroller.dsp:
6914         * win32/vs6/libgstreamer.dsp:
6915         Update the list of files to build.
6916         
6917 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6918
6919         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6920
6921         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6922         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6923         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6924         Improve debugging. Fixes #480858.
6925
6926 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6927
6928         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6929
6930         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6931         First patch of code cleanups, use the macros and right arguments in the
6932         macros to signal and lock the queue. See #480858.
6933
6934 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
6935
6936         * gst/gstbus.c: (poll_func):
6937         Improve debugging when dealing with _poll().
6938
6939 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6940
6941         * gst/gstregistryxml.c:
6942           Fix memory leak I introduced a few days ago.
6943
6944 2007-09-26  Michael Smith <msmith@fluendo.com>
6945
6946         * gst/gstbuffer.c: (gst_buffer_finalize):
6947           Make it once again possible to free GstBuffers in the default
6948           build.
6949           The poisoning scribbles on parts of the miniobject we need in
6950           order to free it.
6951           Fixes #480341
6952
6953 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6954
6955         * docs/gst/gstreamer-sections.txt:
6956         * gst/gsttaglist.c:
6957         * gst/gsttaglist.h:
6958         API: add GST_TAG_COMPOSER, fixes #459809.
6959
6960 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
6961
6962         * gst/gstplugin.c:
6963         * gst/gstplugin.h:
6964         Add the 3-clause BSD license and the MIT/X11 license to the license
6965         list. Fixes #479784.
6966
6967 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6968
6969         * docs/faq/getting.xml:
6970           Add Q+A about different GStreamer versions (#364056).
6971
6972 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6973
6974         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6975         (gst_base_sink_event), (gst_base_sink_change_state):
6976         Return correct gboolean from query function.
6977
6978 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6979
6980         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6981         (gst_base_sink_event), (gst_base_sink_query),
6982         (gst_base_sink_change_state):
6983         Simplify latency query.
6984         When not synchronizing, we can report latency without querying the peer
6985         element.
6986
6987 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6988
6989         * gst/gstobject.h:
6990         * gst/gstvalue.c:
6991         Fix small typos in the docs.
6992
6993 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6994
6995         * docs/design/draft-latency.txt:
6996         * docs/design/draft-push-pull.txt:
6997         * docs/design/draft-tagreading.txt:
6998         * docs/design/part-MT-refcounting.txt:
6999         * docs/design/part-activation.txt:
7000         * docs/design/part-block.txt:
7001         * docs/design/part-element-source.txt:
7002         * docs/design/part-events.txt:
7003         * docs/design/part-gstbin.txt:
7004         * docs/design/part-gstelement.txt:
7005         * docs/design/part-gstobject.txt:
7006         * docs/design/part-gstpipeline.txt:
7007         * docs/design/part-messages.txt:
7008         * docs/design/part-preroll.txt:
7009         * docs/design/part-push-pull.txt:
7010         * docs/design/part-qos.txt:
7011         * docs/design/part-query.txt:
7012         * docs/design/part-scheduling.txt:
7013         * docs/design/part-seeking.txt:
7014         * docs/design/part-segments.txt:
7015         * docs/design/part-states.txt:
7016         Documentation updates and typo fixes.
7017
7018 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
7019
7020         * plugins/elements/gstfakesink.c:
7021           Add some debug text to error message to indicate that
7022           we errored out on request.
7023
7024         * tools/gst-launch.c:
7025           When the state change to PLAYING fails, check for an
7026           error message on the bus and print it.
7027
7028 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7029
7030         translated by: Jorge González González <aloriel@gmail.com>
7031
7032         * po/LINGUAS:
7033         * po/es.po:
7034           Added Spanish translation.
7035
7036 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
7037
7038         * plugins/elements/gstqueue.c: (gst_queue_push_one):
7039         Fix printf arguments.
7040
7041 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
7042
7043         * tests/check/generic/states.c:
7044           Improved state change unit test.
7045
7046 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
7047
7048         * gst/gstbin.h:
7049           Move priv to the right place.
7050
7051         * gst/gstsystemclock.c:
7052           Add FIXME: and improve log.
7053
7054         * tests/check/Makefile.am:
7055         * tests/examples/manual/Makefile.am:
7056           Work with all types of registries.
7057
7058 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
7059
7060         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
7061         Don't unref the event after pushing it. Fixes #478401.
7062
7063 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
7064
7065         * .cvsignore:
7066         * tests/examples/manual/.cvsignore:
7067           Ignore registries in any format.
7068
7069 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
7070
7071         * gst/glib-compat-private.h:
7072           Add compatibility macro for g_intern_string() for
7073           GLib-2.8 (any reason we can't just bump the
7074           requirement to at least 2.10?)
7075
7076         * gst/gstpadtemplate.h:
7077         * gst/gstelementfactory.c:
7078         * gst/gstregistryxml.c:
7079         * gst/gstregistrybinary.c:
7080           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
7081           up the internal code accordingly.  This shouldn't be a problem, since
7082           there is no reason external code could ever assume the string in such
7083           a structure is dynamically allocated unless it did that itself;  the
7084           use of g_strdup() is private to element factories.  The new code also
7085           saves some memory by putting pad template name strings into the GLib
7086           quark table instead of allocating them dynamically.
7087           Declaring this field constant fixes warnings with g++-4.2 when using
7088           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
7089
7090 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
7091
7092         * gst/gstelementfactory.c:
7093           Release static caps. Fixes #475723.
7094
7095 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
7096
7097         * gst/gstinfo.c:
7098         * gst/gstinfo.h:
7099           Make some internal API take const gchar * instead of just
7100           gchar * to avoid compiler warnings with g++-4.2.2 when
7101           passing string constants (partially fixes #478092).
7102
7103 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
7104
7105         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
7106         A latency query fails when one of the sinks fail.
7107
7108         * gst/gstelement.c: (gst_element_set_base_time):
7109         Improve debugging.
7110
7111 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
7112
7113         * gst/gstbin.c: (gst_bin_continue_func):
7114         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
7115         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
7116         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
7117
7118         Fix minor compilation warnings shown with Forte.
7119
7120 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
7121
7122         * plugins/elements/gstqueue.c: (apply_buffer),
7123         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
7124         Measure queue level based on the diff between head and tail timestamps
7125         even when pushing the first buffer.
7126
7127 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
7128
7129         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
7130         (gst_base_sink_event), (gst_base_sink_change_state):
7131         Sinks that don't preroll can always be queried for the latency.
7132         Don't post ASYNC start when we are not async.
7133
7134 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
7135
7136         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
7137         (gst_queue_handle_sink_event), (gst_queue_chain),
7138         (gst_queue_push_one), (gst_queue_handle_src_query),
7139         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
7140         * plugins/elements/gstqueue.h:
7141         When downstream returns UNEXPECTED from pushing a buffer, don't try to
7142         push more buffers but allow pushing of EOS and NEWSEGMENT.
7143         Add some more debug info here and there. Fixes #476514.
7144
7145 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
7146
7147         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7148         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
7149         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
7150         (gst_base_sink_set_flushing), (gst_base_sink_query),
7151         (gst_base_sink_change_state):
7152         Latency query is allowed after we are prerolled. Introduce a new flag
7153         for this and stop abusing other variables.
7154
7155 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
7156
7157         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
7158         Push OOB events downstream when we get them in send_event. This allows
7159         the application to insert events in the pipeline.
7160         Add some more comments.
7161
7162 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
7163
7164         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
7165         (do_bin_latency), (gst_bin_change_state_func):
7166         * gst/gstpipeline.c: (gst_pipeline_change_state):
7167         Move latency query from GstPipeline to GstBin so that we can also
7168         use it when async-handling is enabled on bins.
7169
7170 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
7171
7172         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7173         (gst_base_src_do_sync), (gst_base_src_change_state):
7174         Update docs.
7175         Clean up the timestamping and syncing code for pseudo live sources.
7176
7177 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
7178
7179         Patch by: Steve Fink  <sphink gmail com>
7180
7181         * docs/manual/appendix-checklist.xml:
7182           Mention less -R switch in the section about debug output (#474055).
7183
7184 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
7185
7186         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
7187         Queue can latency to the pipeline up to the configured max size in time.
7188         Report this fact in the latency query.
7189
7190 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
7191
7192         Patch by: Sebastien Moutte <sebastien at moutte dot net>
7193
7194         * libs/gst/controller/gstinterpolation.c:
7195         * libs/gst/controller/gstlfocontrolsource.c:
7196         Use gst_guint64_to_gdouble() when converting from a uint64 or
7197         GstClockTime to double to fix the build on win32. Fixes #474371.
7198
7199 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
7200
7201         * gst/gstbuffer.c: (gst_buffer_finalize):
7202         Implement poisoning for GstBuffer if --enable-poisoning is specified.
7203         When finalizing a buffer the complete struct is filled with 0xff,
7204         thus making a use of the buffer after the final unref impossible.
7205
7206 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
7207
7208         * tests/check/libs/controller.c: (GST_START_TEST):
7209         Use fail_unless_equals_int(a, b) instead of
7210         fail_unless_equals (a == b) to get better output on failures.
7211
7212 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
7213
7214         * tests/check/gst/gsturi.c:
7215           Also check for the other file URI variant on win32.
7216
7217 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
7218
7219         * gst/gsturi.c: (gst_uri_get_location):
7220           If there's no hostname, we want to return 'c:/foo/bar.txt'
7221           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
7222
7223         * tests/check/gst/gsturi.c:
7224           Unit test for the above and a few more things.
7225
7226 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
7227
7228         * docs/design/part-live-source.txt:
7229         Add docs on how live sources should timestamp.
7230
7231         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
7232         Add some more debug info.
7233         For subclasses that are live and like to sync, add aditional startup
7234         latency to sync time and timestamps so that we timstamp according to the
7235         design doc.
7236
7237 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
7238
7239         * gst/gstbuffer.c:
7240           Also do a g_type_class_ref() for the subbuffer type in
7241           the init function.
7242
7243 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
7244
7245         * docs/gst/gstreamer-sections.txt:
7246         * gst/gstpad.c: (gst_pad_peer_query):
7247         * gst/gstpad.h:
7248         Add function to perform a query on the peer of a pad.
7249         API: gst_pad_peer_query()
7250
7251 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
7252
7253         * tests/check/gst/gstsystemclock.c:
7254           Cleanup the test a little (use gst-logging and not g_message). Improve
7255           test to check if a wait reached the target.
7256
7257 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
7258
7259         * docs/libs/gstreamer-libs-sections.txt:
7260           Add new API to docs and fix the build.
7261
7262 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
7263
7264         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7265         (gst_base_src_init), (gst_base_src_set_do_timestamp),
7266         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
7267         (gst_base_src_get_property), (gst_base_src_do_sync):
7268         * libs/gst/base/gstbasesrc.h:
7269         Add property to make the basesrc timestamp buffers based on the current
7270         running time.
7271         API: GstBaseSrc::do-timestamp
7272         API: gst_base_src_set_do_timestamp()
7273         API: gst_base_src_get_do_timestamp()
7274
7275 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
7276
7277         * docs/random/release:
7278           Really make sure translations are up-to-date before
7279           a release (#465010).
7280
7281 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
7282
7283         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7284         Always destroy the timer, also in error cases.
7285
7286 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
7287
7288         * docs/manual/highlevel-xml.xml:
7289         Fix XML example code. Fixes #472714.
7290
7291 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
7292
7293         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
7294         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
7295         (gst_base_sink_query):
7296         Protect eos and have_preroll with the OBJECT lock so we don't need to
7297         take the PREROLL lock when querying the latency. Fixes #473846.
7298
7299 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
7300
7301         * gst/gstelement.c:
7302           Give some log-messages a category.
7303
7304 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
7305
7306         * gst/gststructure.c:
7307         (gst_structure_fixate_field_nearest_fraction):
7308         Fix fraction list fixation code. Take the fraction with the smallest
7309         difference with the target instead of the first one in the list.
7310
7311         * tests/check/gst/gststructure.c: (GST_START_TEST),
7312         (gst_structure_suite):
7313         Added test to verify correct fraction list fixation behaviour.
7314
7315 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
7316
7317         * win32/common/libgstreamer.def:
7318           Export gst_bus_add_signal_watch too.
7319
7320 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
7321
7322         * docs/libs/gstreamer-libs-sections.txt:
7323         Add new methods to docs.
7324
7325         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7326         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
7327         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
7328         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
7329         * libs/gst/base/gstbasesink.h:
7330         Add ts-offset property to fine-tune the synchronisation.
7331         API: GstBaseSink::ts-offset property
7332         API: gst_base_sink_set_ts_offset()
7333         API: gst_base_sink_get_ts_offset()
7334
7335 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
7336
7337         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7338         (gst_base_sink_init), (gst_base_sink_set_sync),
7339         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7340         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
7341         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
7342         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
7343         (gst_base_sink_get_property), (gst_base_sink_change_state):
7344         * libs/gst/base/gstbasesink.h:
7345         Add async property to instruct the sink never to inform the parent about
7346         ASYNC state changes, update docs.
7347         Check argument with g_return_* for the public functions.
7348         API: GstBaseSink::async property
7349         API: gst_base_sink_set_async_enabled()
7350         API: gst_base_sink_is_async_enabled()
7351
7352 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
7353
7354         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
7355         Improve debugging.
7356
7357         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7358         (gst_base_src_default_query), (gst_base_src_wait),
7359         (gst_base_src_do_sync), (gst_base_src_change_state):
7360         Rearrange some code so that we can add support for measuring the 
7361         startup latency.
7362
7363 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
7364
7365         * docs/random/ensonic/dynlink.txt:
7366           More thoughs on this.
7367
7368         * plugins/elements/gstcapsfilter.c:
7369           Add bugzilla ticket number to FIXME comment.
7370
7371 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
7372
7373         * docs/design/part-TODO.txt:
7374         * docs/design/part-block.txt:
7375         Update some docs.
7376
7377 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7378
7379         * gst/Makefile.am:
7380           Revert patch which uses $(gst_headers) instead of $^ because it
7381           breaks make dist.
7382
7383 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7384
7385         * tests/check/gst/gstbin.c: (GST_START_TEST):
7386           Fix leaks in the new unit test.
7387
7388 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
7389
7390         * gst/gst.c:
7391           Don't use GST_INFO before the debug system is actually initialised
7392           (shouldn't do any harm, but won't print anything either, so we can
7393           just as well remove it).
7394
7395         * gst/gstinfo.h:
7396           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
7397           compilers that don't support variadic macros (such as MSVC), should
7398           check for debug_level <= __gst_debug_min as well, since that's the
7399           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
7400           inline helper functions. Should improve performance a bit, but also
7401           makes sure uses of GST_INFO et.al are ignored if the debugging
7402           system isn't initialised yet (instead of printing an assertion
7403           failure).
7404
7405 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
7406
7407         patch by: David Nečas <yeti@physics.muni.cz>
7408
7409         * gst/Makefile.am:
7410           Replace some non portable makefile constructs.
7411
7412 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
7413
7414         * common/gtk-doc-plugins.mak:
7415           Grrrrr. Don't remove the types file on make clean.
7416
7417 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
7418
7419         * tools/gst-launch.1.in:
7420         Add colorspace to example pipeline. Fixes #458274.
7421
7422 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
7423
7424         * docs/random/release:
7425           The release manager should run 'make download-po' before making a
7426           release to make sure translations are up-to-date.
7427
7428         * po/LINGUAS:
7429         * po/be.po:
7430         * po/pl.po:
7431         * po/rw.po:
7432           Add some new translations.
7433
7434 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
7435
7436         * tools/gst-launch.c: (event_loop), (main):
7437         Don´t try to do any state management when a live pipeline posts
7438         buffering messages.
7439         Also make the buffering string translatable.
7440
7441 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7442
7443         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
7444         (bin_handle_async_start), (gst_bin_handle_message_func):
7445         Improve debugging.
7446         When adding elements, insert messages into the bus of the newly added
7447         element and make sure the element is the source of the message. This
7448         allows the parent bin to intercept the message and do the
7449         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
7450         messages to the app (which is not allowed).
7451         Update some docs.
7452
7453         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7454         Fix testsuite so that is does not work around messages that should not
7455         have been posted in the first place.
7456
7457 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7458
7459         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
7460         (update_degree), (gst_bin_sort_iterator_next):
7461         Fix annoying bug in the sorted iterator where a sink that is not really
7462         a sink (when it has downstream links) screwed up the iterator.
7463
7464         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7465         Unit test to verify the fix.
7466
7467 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7468
7469         * gst/gstmessage.h:
7470         Add some more docs for the messages.
7471
7472         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7473         (gst_base_sink_query):
7474         Add some more debugging.
7475
7476         * tools/gst-launch.c: (event_loop):
7477         When interrupting, don't try to set pipeline to PAUSED twice.
7478
7479 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7480
7481         
7482         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
7483         (bin_handle_async_start), (gst_bin_handle_message_func):
7484         Move ASYNC_START message posting to where it belongs, similar to
7485         async_done. 
7486         Don't post ASYNC_START when we are in error. 
7487         Post ASYNC_START when we added an async element to a bin.
7488
7489 2007-08-14  Julien MOUTTE  <julien@moutte.net>
7490
7491         * gst/gstindex.c: (gst_index_add_association): Fix index entry
7492         generation from vargs. Fixes #466595.
7493
7494 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7495
7496         * gst/gstbin.c: (gst_bin_element_set_state):
7497         Always change the state of a NO_PREROLL element even if it has ASYNC
7498         elements inside (in case of a bin).
7499
7500         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
7501         Unit test for this case.
7502
7503 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
7504
7505         * libs/gst/check/gstbufferstraw.c:
7506         * libs/gst/check/gstcheck.h:
7507         * libs/gst/controller/gstcontroller.c:
7508         * libs/gst/controller/gstcontrolsource.h:
7509         * libs/gst/controller/gstlfocontrolsource.h:
7510         * plugins/elements/gstcapsfilter.h:
7511         * plugins/elements/gstfdsink.h:
7512         * plugins/elements/gstfdsrc.h:
7513           Add more missing docs.
7514
7515 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7516
7517         * gst/gststructure.c:
7518         Add Since tag to docs.
7519
7520 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7521
7522         * docs/gst/gstreamer-sections.txt:
7523         * gst/gststructure.c: (gst_structure_get_uint):
7524         * gst/gststructure.h:
7525         Add function to get uint from a structure.
7526         API: gst_structure_get_uint()
7527
7528 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7529
7530         * gst/gstcaps.c: (gst_caps_set_simple_valist),
7531         (gst_caps_intersect):
7532         Fix proper check for simple caps.
7533
7534 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
7535
7536         * docs/gst/Makefile.am:
7537         * docs/libs/Makefile.am:
7538           Remove cruft and do some cleanups.
7539
7540         * docs/gst/gstreamer-docs.sgml:
7541         * docs/libs/gstreamer-libs-docs.sgml:
7542           Prepare for comming gtkdoc features (rebase against online docs).
7543
7544 2007-08-10  Michael Smith <msmith@fluendo.com>
7545
7546         * docs/gst/gstreamer-sections.txt:
7547           Add gst_registry_add_path to docs.
7548
7549 2007-08-10  Michael Smith <msmith@fluendo.com>
7550
7551         * gst/gstregistry.h:
7552           Add gst_registry_add_path, which was missing from this header.
7553
7554 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7555
7556         * libs/gst/controller/gstlfocontrolsource.c:
7557           Printf format fix.
7558
7559 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7560
7561         * libs/gst/base/gstbasesink.c:
7562           Don't send an async_start message during downwards state change if 
7563           target state is less than READY
7564
7565 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7566
7567         translated by: Gabor Kelemen <kelemeng@gnome.hu>
7568
7569         * po/LINGUAS:
7570         * po/hu.po:
7571           Added Hungarian translation.
7572
7573 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7574
7575         * po/fi.po:
7576         * po/it.po:
7577         * po/nl.po:
7578         * po/sv.po:
7579         * po/uk.po:
7580           Updated translations.
7581
7582 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7583
7584         * libs/gst/controller/Makefile.am:
7585         Dist gstlfocontrolsourceprivate.h
7586
7587 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7588
7589         * docs/libs/gstreamer-libs.types:
7590         Don't register the enum type gst_lfo_waveform_get_type() in the
7591         .types file - only GObject derived types belong.
7592
7593 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7594
7595         Patch by: <arenevier at fdn dot fr>
7596
7597         * gst/gstbuffer.h:
7598         Remove comma from last element in enum to avoid compile errors when
7599         using -pendantic. Fixes #464366.
7600
7601 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7602
7603         * docs/design/part-TODO.txt:
7604         Add some more TODO items
7605
7606         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7607         Improve debugging.
7608
7609         * gst/gstcaps.c: (gst_caps_intersect):
7610         Optimize trivial intersection case between identical caps pointers.
7611
7612         * gst/gstelement.c: (gst_element_continue_state),
7613         (gst_element_set_state_func):
7614         * gst/gstpad.c:
7615         Fix spelling and grammar mistakes.
7616
7617 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
7618
7619         * po/POTFILES.in:
7620         * po/POTFILES.skip:
7621           Update POTFILES. Fixes #461599.
7622
7623 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7624
7625         * gst/gst.c:
7626         Fix confusing typo in debug output.
7627
7628 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7629
7630         reviewed by: Stefan Kost <ensonic@users.sf.net>
7631
7632         * libs/gst/controller/Makefile.am:
7633         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7634         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7635         (gst_lfo_control_source_new),
7636         (gst_lfo_control_source_set_waveform),
7637         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7638         (gst_lfo_control_source_finalize),
7639         (gst_lfo_control_source_dispose),
7640         (gst_lfo_control_source_set_property),
7641         (gst_lfo_control_source_get_property),
7642         (gst_lfo_control_source_class_init):
7643         * libs/gst/controller/gstlfocontrolsource.h:
7644         * libs/gst/controller/gstlfocontrolsourceprivate.h:
7645         API: Add GstLFOControlSource, a control source that gives values
7646         for specific timestamps based on several periodic waveforms.
7647         Fixes #459717.
7648
7649         * tests/check/libs/controller.c: (GST_START_TEST),
7650         (gst_controller_suite):
7651         * docs/libs/gstreamer-libs-docs.sgml:
7652         * docs/libs/gstreamer-libs-sections.txt:
7653         * docs/libs/gstreamer-libs.types:
7654         Add documentation and unit tests for GstLFOControlSource.
7655
7656 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
7657
7658         * configure.ac:
7659         Back to CVS
7660
7661 === release 0.10.14 ===
7662
7663 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
7664
7665         * configure.ac:
7666           releasing 0.10.14, "Breathing Vacuum"
7667
7668 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
7669
7670         * gst/gstelement.c: (gst_element_class_set_details_simple):
7671         * gst/gstelement.h:
7672           Make strings passed to gst_element_class_set_details_simple()
7673           constant, as they should be (#462752).
7674
7675 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
7676
7677         * gst/gstbin.c: (gst_bin_change_state_func),
7678         (bin_handle_async_done), (gst_bin_handle_message_func):
7679         Don't forget about the fact that some element went ASYNC even after a
7680         resync. This makes us post the ASYNC_DONE message correctly.
7681         Fixes #462558.
7682
7683 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7684
7685         * gst/gstregistry.c: (gst_registry_add_feature):
7686         When replacing an existing feature in the registry, make sure to
7687         continue holding a reference until we've replaced the name string
7688         within our feature hash table. Make sure to use g_hash_table_replace
7689         instead of g_hash_table_insert to ensure the new name string is used
7690         as a key instead of the old one that we're about to free.
7691         Fixes: #462085
7692
7693 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7694
7695         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7696         (gst_plugin_feature_set_name):
7697         Revert patch from #459466 until after the release and we can work
7698         out exactly what the problem is (if any).
7699
7700 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7701
7702         * docs/gst/gstreamer-sections.txt:
7703         * gst/gsttaglist.c:
7704         * gst/gsttaglist.h:
7705           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7706
7707 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7708
7709         * docs/libs/Makefile.am:
7710         Include our build-prefix libs and includes before the generic ones to
7711         avoid linking against the installed libs when we want the build-tree
7712         ones.
7713
7714 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7715
7716         Patch by: Steve Fink  <sphink gmail com>
7717
7718         * docs/pwg/building-testapp.xml:
7719           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7720           if people try to build or install the example from the plugin
7721           template against a GStreamer from package using the configure
7722           defaults.
7723
7724 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
7725
7726         Patch by: Steve Fink  <sphink gmail com>
7727
7728         * tools/gst-inspect.1.in:
7729           Document --print-all and --print-plugin-auto-install-info command
7730           line options in man page.
7731
7732 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7733
7734         * docs/gst/gstreamer-sections.txt:
7735         Add docs for new api function.
7736
7737 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7738
7739         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7740         * gst/gstelementfactory.h:
7741         API: gst_element_factory_has_interface()
7742         Added method to check if an element factory implements a named
7743         interface.
7744
7745 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
7746
7747         * configure.ac:
7748         * docs/gst/gstreamer.types.in:
7749           Another conditional doc check.
7750
7751         * gst/gstmessage.c:
7752         * gst/gstparamspecs.h:
7753         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7754         * gst/gstvalue.c:
7755         * gst/gstxml.h:
7756           API-doc fixes.
7757
7758 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7759
7760         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7761         (gst_registry_binary_load_feature),
7762         (gst_registry_binary_load_plugin),
7763         (gst_registry_binary_read_cache):
7764           Print error just once and with additional info.
7765
7766 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7767
7768         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7769         (helper_find_suggest), (helper_find_get_length),
7770         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7771         (gst_type_find_helper_for_buffer):
7772           Cleanup the typefindhelper code and add private doc comments.
7773
7774 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
7775
7776         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7777         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7778         Fix capsfilter for cases where the caps set on capsfilter will provide
7779         additional information.
7780         Fixes #449197
7781
7782 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7783
7784         * gst/gsttypefindfactory.c:
7785           Fix docs that recommened wrong function to use.
7786
7787 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7788
7789         * tools/gst-inspect.c: (print_plugin_features):
7790           Also give media-type for typefinders in element output.
7791
7792 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7793
7794         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7795         (gst_registry_remove_features_for_plugin_unlocked),
7796         (gst_registry_add_feature), (gst_registry_remove_feature),
7797         (gst_registry_lookup_feature_locked):
7798         * gst/gstregistry.h:
7799           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7800           Fixes #459501.
7801
7802 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7803
7804         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7805         (gst_plugin_feature_set_name):
7806           Avoid double memory usage for pluginfeature names. Fixes #459466.
7807
7808 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7809
7810         * gst/gstpad.h:
7811           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7812           driving the pipeline may need to explicitly check for NOT_LINKED as
7813           well, since IS_FATAL doesn't cover that.
7814
7815 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7816
7817         * docs/pwg/advanced-types.xml:
7818           Fix typo and duplicate entry in video formats list.
7819
7820 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
7821
7822         * libs/gst/controller/gstinterpolation.c:
7823         Also round to the nearest int when using cubic interpolation.
7824
7825 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
7826
7827         * libs/gst/controller/gstinterpolation.c:
7828         When linearly interpolating integer types, round to the nearest int
7829         by adding 0.5. Don't do it for float/double types.
7830         Fixes the failing controller test on my machine, which is somehow
7831         rounding differently than on the buildbots.
7832
7833 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7834
7835         * tools/gst-plot-timeline.py:
7836           Better log parsing (categories can have -). Adjust text vs. lines, so
7837           that they span the same y-range.        
7838
7839 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7840
7841         * docs/random/ensonic/audiobaseclasses.txt:
7842         * docs/random/ensonic/dynlink.txt:
7843         * docs/random/ensonic/profiling.txt:
7844           Save my thoughts.
7845
7846         * docs/random/moving-plugins:
7847           Add note to use g_assert type macros.
7848
7849 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7850
7851         * configure.ac:
7852         * libs/gst/check/Makefile.am:
7853           Add libm check as we use in for plugins.
7854
7855 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
7856
7857         * gst/gstbin.c: (gst_bin_continue_func):
7858         Check that the state_cookie hasn't changed since the continue_func
7859         was scheduled. Avoids problems where the state changes back to
7860         something it shouldn't be because it was changed in the meantime.
7861
7862 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
7863
7864         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7865         (gst_registry_binary_save_string),
7866         (gst_registry_binary_save_pad_template),
7867         (gst_registry_binary_save_feature),
7868         (gst_registry_binary_save_plugin),
7869         (gst_registry_binary_load_feature),
7870         (gst_registry_binary_load_plugin),
7871         (gst_registry_binary_read_cache):
7872           Fix memory leak. Be less verbose in the log.
7873
7874 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7875
7876         * tests/check/elements/.cvsignore:
7877         Add file to cvsignore as commanded.
7878
7879 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7880
7881         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7882         (mq_dummypad_event), (run_output_order_test):
7883         Use a GStaticMutex to protect all cases where libcheck
7884         fail_if/fail_unless macros might be called from multiple threads
7885         simultaneously to avoid errors like:
7886           "check_pack.c:107: :-1081725400:Bad message type arg"
7887
7888 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7889
7890         * tests/check/pipelines/stress.c: (GST_START_TEST):
7891         Make sure we set the pipeline back to the NULL state before
7892         dropping our final reference.
7893
7894 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7895
7896         * tests/check/elements/tee.c: (GST_START_TEST):
7897         Make the tee stress-test a little less stressful so it doesn't just
7898         time out on slow-machines, and remove a small race when it's starting 
7899         up by adding a get_state() call.
7900
7901 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
7902
7903         * gst/gst.c:
7904           Avoid reading registry twice on startup. Fixes #457322.
7905
7906 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7907
7908         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7909         * pkgconfig/gstreamer-check.pc.in:
7910         Substitute the CFLAGS for libcheck into our .pc file too so that
7911         dependent modules will pick it up properly if libcheck is installed
7912         into some other prefix.
7913
7914 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7915
7916         * configure.ac:
7917         Revert the pkg-config check for libcheck, since it pulls in the
7918         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7919         a proper solution, either from the check project, or something else.
7920
7921 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
7922
7923         * configure.ac:
7924           Use pkg-config to locate check.
7925
7926 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
7927
7928         * gst/gsttaglist.c:
7929           Fix doc syntax.
7930
7931         * gst/gstutils.c:
7932         * gst/gstutils.h:
7933           Add deprecation guards.
7934
7935         * libs/gst/base/gstcollectpads.h:
7936           Don't document object (this is implicitly private).
7937
7938 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
7939
7940         * gst/gststructure.c: (gst_structure_parse_value):
7941           When deserialising foo=bar without a type cast, check if it's a
7942           boolean before falling back to a string type, otherwise things like
7943           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7944           because the filtercaps end up having a signed=(string)true field,
7945           which causes problems later when intersection caps.
7946
7947         * tests/check/gst/gststructure.c: (GST_START_TEST):
7948           Add a unit test for this.
7949
7950 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
7951
7952         Reviewed by: Stefan Kost <ensonic@users.sf.net>
7953
7954         * libs/gst/controller/Makefile.am:
7955         * libs/gst/controller/gstcontroller.c:
7956         (gst_controlled_property_add_interpolation_control_source),
7957         (gst_controlled_property_new), (gst_controlled_property_free),
7958         (gst_controller_find_controlled_property),
7959         (gst_controller_new_valist), (gst_controller_new_list),
7960         (gst_controller_new), (gst_controller_remove_properties_valist),
7961         (gst_controller_remove_properties_list),
7962         (gst_controller_remove_properties),
7963         (gst_controller_set_property_disabled),
7964         (gst_controller_set_disabled), (gst_controller_set_control_source),
7965         (gst_controller_get_control_source), (gst_controller_get),
7966         (gst_controller_sync_values), (gst_controller_get_value_array),
7967         (_gst_controller_dispose), (gst_controller_get_type),
7968         (gst_controlled_property_set_interpolation_mode),
7969         (gst_controller_set), (gst_controller_set_from_list),
7970         (gst_controller_unset), (gst_controller_unset_all),
7971         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7972         * libs/gst/controller/gstcontroller.h:
7973         * libs/gst/controller/gstcontrollerprivate.h:
7974         * libs/gst/controller/gstcontrolsource.c:
7975         (gst_control_source_class_init), (gst_control_source_init),
7976         (gst_control_source_get_value),
7977         (gst_control_source_get_value_array), (gst_control_source_bind):
7978         * libs/gst/controller/gstcontrolsource.h:
7979         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7980         (gst_object_get_control_source):
7981         * libs/gst/controller/gstinterpolation.c:
7982         (gst_interpolation_control_source_find_control_point_node),
7983         (gst_interpolation_control_source_get_first_value),
7984         (_interpolate_none_get), (interpolate_none_get),
7985         (interpolate_none_get_boolean_value_array),
7986         (interpolate_none_get_enum_value_array),
7987         (interpolate_none_get_string_value_array),
7988         (_interpolate_trigger_get), (interpolate_trigger_get),
7989         (interpolate_trigger_get_boolean_value_array),
7990         (interpolate_trigger_get_enum_value_array),
7991         (interpolate_trigger_get_string_value_array):
7992         * libs/gst/controller/gstinterpolationcontrolsource.c:
7993         (gst_control_point_free), (gst_interpolation_control_source_reset),
7994         (gst_interpolation_control_source_new),
7995         (gst_interpolation_control_source_set_interpolation_mode),
7996         (gst_interpolation_control_source_bind),
7997         (gst_control_point_compare), (gst_control_point_find),
7998         (gst_interpolation_control_source_set_internal),
7999         (gst_interpolation_control_source_set),
8000         (gst_interpolation_control_source_set_from_list),
8001         (gst_interpolation_control_source_unset),
8002         (gst_interpolation_control_source_unset_all),
8003         (gst_interpolation_control_source_get_all),
8004         (gst_interpolation_control_source_get_count),
8005         (gst_interpolation_control_source_init),
8006         (gst_interpolation_control_source_finalize),
8007         (gst_interpolation_control_source_dispose),
8008         (gst_interpolation_control_source_class_init):
8009         * libs/gst/controller/gstinterpolationcontrolsource.h:
8010         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
8011         API: Refactor GstController into the core controller which can take
8012         a GstControlSource for providing actual values for timestamps.
8013         Implement a interpolation control source and use this for backward
8014         compatibility, deprecate a bunch of functions that are now handled
8015         by GstControlSource or GstInterpolationControlSource.
8016         Make it possible to disable the controller completely or only for
8017         specific properties. Fixes #450711.
8018         * docs/libs/gstreamer-libs-docs.sgml:
8019         * docs/libs/gstreamer-libs-sections.txt:
8020         * docs/libs/gstreamer-libs.types:
8021         Add new functions and classes to the docs.
8022         * tests/check/libs/controller.c: (GST_START_TEST),
8023         (gst_controller_suite):
8024         * tests/examples/controller/audio-example.c: (main):
8025         Port unit test and example to the new API and add some new
8026         unit tests.
8027
8028 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
8029
8030         Patch by: Mark Nauwelaerts <manauw at skynet be>
8031
8032         * plugins/elements/gstmultiqueue.c:
8033         (gst_multi_queue_get_internal_links), (apply_buffer),
8034         (single_queue_overrun_cb), (gst_single_queue_new):
8035         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
8036         the pipeline layout can be tracked correctly. Fixes #453732.
8037
8038 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
8039
8040         * docs/gst/Makefile.am:
8041         * docs/libs/Makefile.am:
8042         * docs/plugins/Makefile.am:
8043           Simplify --extra-dir as gtkdoc scans recursively.
8044
8045 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
8046
8047         * tools/gst-launch.c: (main):
8048         When we got an error, there is no point in waiting for preroll when
8049         shutting down.
8050
8051 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
8052
8053         * plugins/elements/gsttee.c: (gst_tee_base_init),
8054         (gst_tee_request_new_pad), (gst_tee_release_pad),
8055         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
8056         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
8057         (gst_tee_chain):
8058         Be a lot smarter when deciding what srcpad to use for proxying
8059         the buffer_alloc. Also handle pad added/removed when doing so.
8060         Fixes #357959.
8061         Keep track of what pads we already pushed on in case we have pads
8062         added/removed while pushing. Fixes #374639 
8063
8064         * tests/check/Makefile.am:
8065         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
8066         (tee_suite):
8067         Added unit test for pad resync.
8068
8069 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8070
8071         * po/nl.po:
8072         * po/sv.po:
8073           Updated translations.
8074
8075 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8076
8077         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
8078
8079         * po/LINGUAS:
8080         * po/fi.po:
8081           Added new Finnish translation.
8082
8083 2007-06-28  Wim Taymans  <wim@fluendo.com>
8084
8085         * plugins/elements/gstmultiqueue.c: (apply_buffer),
8086         (single_queue_overrun_cb):
8087         When figuring out when a queue is filled, use our internal time estimate
8088         based on segments, just like check_full does.
8089
8090 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
8091
8092         * gst/gstminiobject.c: (gst_mini_object_get_type):
8093           Remove 3 do-nothing methods.
8094
8095 2007-06-27  Wim Taymans  <wim@fluendo.com>
8096
8097         Patch by: Tim Angus <tim at ngus dot net>
8098
8099         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
8100         (gst_capsfilter_set_property):
8101         Take a reference instead of a copy when setting "caps".
8102         Fix documentation to clarify this behaviour. Fixes #449414.
8103
8104 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
8105
8106         * gst/gstindexfactory.c: (gst_index_factory_get_type):
8107         * gst/gstplugin.c: (gst_plugin_init):
8108         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
8109         * gst/gstquery.c: (gst_query_get_type):
8110         * gst/gstregistry.c: (gst_registry_init):
8111         * gst/gsturi.c: (gst_uri_handler_base_init):
8112           Remove empty instance_init() functions to save relocs and lessen the
8113           noise. Remove some of the function prototypes that are doubled by
8114           G_DEFINE_TYPE.
8115           
8116 2007-06-27  Wim Taymans  <wim@fluendo.com>
8117
8118         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
8119
8120         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
8121         Add peer and direction in the XML serialisation of ghostpads.
8122         Fixes #449226.
8123
8124 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
8125
8126         * configure.ac:
8127           Preserve useful information, thanks Tim.
8128
8129 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
8130
8131         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
8132         (gst_single_queue_flush), (apply_segment), (apply_buffer),
8133         (gst_single_queue_push_one), (gst_multi_queue_loop),
8134         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8135         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
8136         (compute_high_id), (gst_single_queue_new):
8137         * plugins/elements/gstmultiqueue.h:
8138         Take the multiqueue lock when updating the fill level so we don't get
8139         confused. 
8140
8141         After applying a buffer or event on the src pad segment, make sure to
8142         call gst_data_queue_limits_changed() to get the data queue to unblock
8143         and check the filled state again.
8144         
8145         Rework the not-linked pad handling so the logic is that not-linked 
8146         pads can push as fast as they like, but only so they never get 
8147         ahead of any linked pads.
8148
8149         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
8150         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
8151         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
8152
8153         Add a test to check that not-linked pads always stay behind
8154         linked pads.
8155
8156         Fixes: #430682
8157
8158 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
8159
8160         * docs/random/release:
8161           Some updates to the release procedure.
8162
8163 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
8164
8165         * gst/gstelementfactory.c: (__gst_element_details_clear):
8166           Microoptimization that saves stunning 80 bytes.
8167
8168 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
8169
8170         * docs/plugins/gstreamer-plugins.args:
8171         * docs/plugins/inspect/plugin-coreelements.xml:
8172         * docs/plugins/inspect/plugin-coreindexers.xml:
8173           Update docs with caps info.
8174
8175 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8176
8177         * po/it.po:
8178           Updated Italian translation.
8179
8180 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8181
8182         * ChangeLog:
8183         * po/vi.po:
8184           Update Vietnamese translations.
8185
8186 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8187
8188         * libs/gst/base/gstbasesink.c:
8189           Remove unused signal enum.
8190
8191 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
8192
8193         * docs/gst/gstreamer-sections.txt:
8194         * gst/gstelement.c:
8195         * gst/gstutils.c: (gst_type_register_static_full):
8196         Beef up and include the docs for gst_type_register_static_full and
8197         gst_element_class_set_details_simple and add the API keyword
8198         in the ChangeLog.
8199
8200 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
8201
8202         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
8203         (update_time_level), (gst_single_queue_push_one),
8204         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
8205         (single_queue_overrun_cb), (single_queue_underrun_cb),
8206         (single_queue_check_full):
8207         Fix setting max-* properties after adding queues.
8208         Use IS_FILLED for checking visible items.
8209         Signal overrun if multiple queues overrun.
8210         Add extra debug output.
8211         Patch by: Wim Taymans <wim@fluendo.com>
8212
8213 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
8214
8215         * gst/gstelement.c: (gst_element_class_set_details_simple):
8216         * gst/gstelement.h:
8217         * gst/gstutils.c: (gst_type_register_static_full):
8218         * gst/gstutils.h:
8219         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
8220         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
8221         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
8222         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
8223         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
8224         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
8225         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
8226         * plugins/elements/gstidentity.c: (gst_identity_base_init):
8227         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
8228         * plugins/elements/gstqueue.c: (gst_queue_base_init),
8229         (apply_buffer), (gst_queue_chain):
8230         * plugins/elements/gsttee.c: (gst_tee_base_init):
8231         * plugins/elements/gsttypefindelement.c:
8232         (gst_type_find_element_base_init),
8233         (gst_type_find_element_class_init):
8234           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
8235           API: add gst_type_register_static_full
8236           API: add gst_element_class_set_details_simple
8237
8238 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8239
8240         * docs/pwg/advanced-types.xml:
8241           Fix typo in iana.org URI.
8242
8243 2007-06-19  Andy Wingo  <wingo@pobox.com>
8244
8245         * tests/check/pipelines/simple-launch-lines.c
8246         (test_state_change_returns): Enable pull-mode tests now that
8247         basesink has been fixed.
8248
8249         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
8250         Changed from gst_base_sink_is_prerolled, reversing the sense of
8251         the return value. Returns FALSE also if the sink is in pull mode,
8252         in which case it needs no preroll.
8253         (gst_base_sink_query, gst_base_sink_change_state): Update for
8254         needs_preroll change.
8255         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
8256         chaining up, in which we return SUCCESS directly if we activated
8257         in pull mode instead of ASYNC. Involves countering an async_start
8258         message sent before chaining up; not sure if this is correct, in
8259         an ideal world we only send async-start when activating in push
8260         mode.
8261
8262         * tests/check/pipelines/simple-launch-lines.c
8263         (test_state_change_returns): New test, partially disabled until
8264         basesink is fixed.
8265
8266 2007-06-19  Wim Taymans  <wim@fluendo.com>
8267
8268         * plugins/elements/gstmultiqueue.c: (apply_buffer),
8269         (gst_multi_queue_sink_event):
8270         Fix event leak.
8271
8272 2007-06-19  Wim Taymans  <wim@fluendo.com>
8273
8274         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8275         (gst_bin_change_state_func), (bin_push_state_continue),
8276         (bin_handle_async_start), (bin_handle_async_done),
8277         (gst_bin_handle_message_func):
8278         Move the common code for posting state-change messages into
8279         one function.
8280         Broadcast the state signal after we posted the messages.
8281         Mark the bin as busy when it's doing a state-change.
8282         Make sure async-start/done messages don't interfere with the bin's
8283         state when it's busy.
8284         After the state change, let the bin check which elements completed the
8285         state change while it was busy so that it can update its state.
8286
8287 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
8288
8289         * docs/random/release:
8290         Add a note about updating the doap file to the release checklist
8291
8292 2007-06-18  Wim Taymans  <wim@fluendo.com>
8293
8294         * plugins/elements/gstmultiqueue.c: (apply_buffer),
8295         (gst_single_queue_push_one), (gst_multi_queue_chain),
8296         (gst_multi_queue_sink_event):
8297         Make sure we don't reference the buffer/event after we have given away
8298         ownership in the queue.
8299
8300 2007-06-18  Wim Taymans  <wim@fluendo.com>
8301
8302         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8303         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
8304         Update queue state _after_ adding the item in the queue because else we
8305         could end up being full without the element added yet.
8306
8307 2007-06-18  Wim Taymans  <wim@fluendo.com>
8308
8309         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
8310         (gst_bin_remove_func), (gst_bin_get_state_func),
8311         (gst_bin_element_set_state), (gst_bin_continue_func),
8312         (bin_push_state_continue), (bin_handle_async_start),
8313         (bin_handle_async_done), (gst_bin_handle_message_func):
8314         * gst/gstbin.h:
8315         Immediatly commit the toplevel bin state when receiving an async-done
8316         message. This enables us to avoid spawning a thread to commit the state
8317         in some common cases and it also avoids some races.
8318         Avoid spawning a state thread when adding/removing async elements to a
8319         toplevel bin. Instead we immediatly update the bin state.
8320         Get rid of iterating all the children when getting the state in the bin
8321         because it is now always up-to-date.
8322         Fix bug where locked elements would always return _SUCCESS even it they
8323         returned NO_PREROLL before being locked.
8324         Fix the order of the state_change, async-start/done messages that was
8325         sometimes incorrect.
8326         Mark the state_dirty field as deprecated, we don't need it anymore as we
8327         are always up-to-date.
8328
8329         * gst/gstelement.c: (gst_element_get_state_func),
8330         (gst_element_continue_state):
8331         Small debug inprovements.
8332         Return the previous element state return when nothing is pending instead
8333         of blindly returning SUCCESS.
8334
8335         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
8336         (gst_sinks_suite):
8337         Add a whole bunch of new testcases.
8338
8339 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8340
8341         * po/uk.po:
8342         * po/vi.po:
8343           Update translations.
8344
8345 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
8346
8347         * gst/gstpad.c:
8348         Fix typo in the docs.
8349
8350 2007-06-15  Wim Taymans  <wim@fluendo.com>
8351
8352         * docs/libs/gstreamer-libs-sections.txt:
8353         Add docs for new methods.
8354
8355 2007-06-15  Wim Taymans  <wim@fluendo.com>
8356
8357         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
8358         (gst_multi_queue_item_new):
8359         Don't use GSlice because we don't depend on >= 2.10 yet.
8360
8361 2007-06-15  Wim Taymans  <wim@fluendo.com>
8362
8363         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8364         (update_time_level), (apply_segment), (apply_buffer),
8365         (gst_single_queue_push_one), (gst_multi_queue_item_new),
8366         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
8367         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
8368         (single_queue_underrun_cb), (single_queue_check_full):
8369         Remove debug printf.
8370
8371 2007-06-15  Wim Taymans  <wim@fluendo.com>
8372
8373         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
8374         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
8375         (gst_data_queue_set_flushing), (gst_data_queue_push),
8376         (gst_data_queue_pop), (gst_data_queue_drop_head),
8377         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
8378         * libs/gst/base/gstdataqueue.h:
8379         Various cleanups.
8380         Added methods to get the current levels and to inform the queue that the
8381         'full' limits changed.
8382
8383         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
8384         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
8385         (gst_single_queue_flush), (update_time_level), (apply_segment),
8386         (apply_buffer), (gst_single_queue_push_one),
8387         (gst_multi_queue_item_steal_object),
8388         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
8389         (gst_multi_queue_loop), (gst_multi_queue_chain),
8390         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8391         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
8392         (gst_multi_queue_src_query), (single_queue_overrun_cb),
8393         (single_queue_underrun_cb), (single_queue_check_full),
8394         (gst_single_queue_new):
8395         Keep track of time in the queue by measuring the difference between
8396         running_time on input and output. This gives more accurate results and
8397         can compensate for segments correctly.
8398         Make a queue by default only 5 buffers deep. We will now increase the
8399         buffer size depending on the filledness of the other queues.
8400         Factor out commong flush code.
8401         Make sure we don't add additional refcounts to buffers when we can avoid
8402         it.
8403         Propagate GstFlowReturn differently.
8404         Use GSlice for intermediate GstMultiQueueItems.
8405         Keep track of EOS.
8406         Resize queues on over and underruns based on filled level of other
8407         queues.
8408         When checking if the queue is filled, prefer to measure in time if we
8409         can and fall back to bytes when no time is known.
8410
8411         * plugins/elements/gstqueue.c:
8412         Fix return value.
8413
8414 2007-06-15  Wim Taymans  <wim@fluendo.com>
8415
8416         * libs/gst/base/gstbasetransform.c:
8417         (gst_base_transform_sink_event):
8418         Work around the brokenness of the event vmethod in basetransform. Prefer
8419         to return TRUE when the subclass returned FALSE (meaning don't forward
8420         the event). 
8421
8422         * libs/gst/base/gstbasetransform.h:
8423         Clarify the docs.
8424
8425 2007-06-15  Wim Taymans  <wim@fluendo.com>
8426
8427         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
8428         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8429         (gst_base_src_default_query), (gst_base_src_get_range),
8430         (gst_base_src_start):
8431         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
8432         Improve debugging.
8433
8434 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8435
8436         * docs/pwg/advanced-types.xml:
8437           Added more formats to caps table.
8438
8439 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8440
8441         * tools/gst-launch.c: (main):
8442           Remove crufy code. GOption does not need this workaround.
8443
8444 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8445
8446         * libs/gst/controller/gstcontroller.c:
8447         (gst_controlled_property_set_interpolation_mode):
8448           Fix wrong getter for enums in controller.
8449
8450 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8451
8452         * libs/gst/check/gstcheck.c: (gst_check_init):
8453           Intercept criticals and warnings in the Gst-Phonon log domain, so
8454           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
8455           well.
8456         
8457 2007-06-14  Edward Hervey  <edward@fluendo.com>
8458
8459         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
8460         Since this file doesn't include "gst.h" it will not go through the
8461         macros that disable GST_LOG if debugging was disabled.
8462
8463 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8464
8465         * libs/gst/check/Makefile.am:
8466         * libs/gst/check/gstcheck.h:
8467         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8468         * pkgconfig/gstreamer-check.pc.in:
8469           Ugly 'fix' for the controller unit test on the p5 bot: in
8470           fail_unless_equals_float() check whether the values are 'almost
8471           equal' by allowing a small absolute error, which should be good
8472           enough for our use cases (normal numbers and values close to 0).
8473           Proper fixage left to floating point arithmetic aficionados.
8474
8475 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8476
8477         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
8478         (gst_base_sink_render_object), (gst_base_sink_get_position):
8479           Add two breaks thats where missing.
8480
8481 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8482
8483         * docs/libs/gstreamer-libs-sections.txt:
8484         * libs/gst/check/gstcheck.h:
8485           API: add fail_unless_equals_float() and assert_equals_float().
8486           Add documentation for some of the macros.
8487
8488         * tests/check/libs/controller.c: (GST_START_TEST):
8489           Use newly-added asserts.
8490
8491 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8492
8493         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
8494           Show the caps change in the log to help spotting the case of not
8495           exactly matching caps.
8496
8497 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8498
8499         * docs/pwg/building-boiler.xml:
8500           Fix typos, spotted by Thijs Vermeir (#447190).
8501
8502 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8503
8504         * docs/plugins/tmpl/.cvsignore:
8505         Ignore file to keep the buildbots happy
8506
8507 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8508
8509         * docs/plugins/Makefile.am:
8510         * docs/plugins/gstreamer-plugins-docs.sgml:
8511         * docs/plugins/gstreamer-plugins-sections.txt:
8512         Pull fdsink into the docs too.
8513
8514 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
8515
8516         * libs/gst/controller/gstinterpolation.c:
8517         Actually use the new functions with min/max checks for the trigger and
8518         none interpolation modes for get() and get_value_array() instead of
8519         just the latter.
8520
8521 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
8522
8523         * libs/gst/controller/gstcontroller.c:
8524         (gst_controlled_property_free):
8525         Unset the minimum and maximum GValues when freeing the corresponding
8526         GstControllerProperty struct.
8527
8528 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
8529
8530         * libs/gst/controller/gstcontroller.c:
8531         (gst_controlled_property_new):
8532         * libs/gst/controller/gstcontrollerprivate.h:
8533         * libs/gst/controller/gstinterpolation.c:
8534         (gst_controlled_property_find_control_point_node),
8535         (interpolate_none_get), (interpolate_none_get_enum_value_array),
8536         (interpolate_none_get_string_value_array),
8537         (interpolate_trigger_get),
8538         (interpolate_trigger_get_enum_value_array),
8539         (interpolate_trigger_get_string_value_array):
8540         Protect against values larger or smaller than the minimum or maximum
8541         allowed value for the property when using values that can be compared.
8542
8543         Optimize trigger interpolator a bit by taking the last requested value
8544         into account instead of always looping through the complete list.
8545
8546         Fix coding style a bit, everywhere else we use "return foo" instead
8547         of "return (foo)".
8548         
8549         * tests/check/libs/controller.c: (GST_START_TEST),
8550         (gst_controller_suite):
8551         Add unit test for the protection against too large or too small
8552         values.
8553
8554 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
8555
8556         * docs/random/slomo/controller.txt:
8557         Add some thoughts about the future of the controller.
8558
8559 2007-06-08  Wim Taymans  <wim@fluendo.com>
8560
8561         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8562         Don't overflow in retimestamping code.
8563
8564 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
8565
8566         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8567         Use gst_util_guint64_to_gdouble for conversions.
8568         * win32/common/libgstreamer.def:
8569         Add new exported functions.
8570
8571 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
8572
8573         * gst/gstutils.c:
8574           Small docs addition.
8575
8576 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8577
8578         * README:
8579           Remove that test line again.
8580
8581 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8582
8583         * README:
8584           Test commit mail sending.
8585
8586 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8587
8588         * configure.ac:
8589           Fix typo and test commit mail sending.
8590
8591 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8592
8593         * tests/examples/controller/audio-example.c:
8594           Improve comment and test commit mail sending.
8595
8596 2007-06-07  Wim Taymans  <wim@fluendo.com>
8597
8598         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8599         (gst_bin_remove_func), (gst_bin_element_set_state),
8600         (bin_handle_async_start), (bin_handle_async_done),
8601         (gst_bin_handle_message_func):
8602         Add helper function to find messages.
8603         Generate the async-done messages together with the state change
8604         messages.
8605         Small cleanups in handling toplevel bins.
8606
8607 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8608
8609         * libs/gst/base/gstdataqueue.c:
8610         * libs/gst/base/gstdataqueue.h:
8611         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8612         (gst_multi_queue_item_new), (gst_multi_queue_chain),
8613         (gst_multi_queue_sink_event):
8614         * tests/check/elements/multiqueue.c: (multiqueue_suite):
8615           Fix multiqueue leaking buffers and events when downstream or the
8616           queue are flushing. Make refcounting assumptions explicit and
8617           document them (shouldn't break existing code that uses it other than
8618           maybe leak miniobjects, but that already happens anyway). Add unit
8619           test for the most common flushing case. Fixes #423700.
8620           
8621 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8622
8623         * libs/gst/controller/gstcontroller.c:
8624         Clarify docs: The get_all, get_value_array(s) functions
8625         don't modify the GObject properties.
8626
8627 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8628
8629         * libs/gst/controller/gstcontroller.c:
8630         (gst_controlled_property_set_interpolation_mode),
8631         (gst_controlled_property_prepend_default),
8632         (gst_controlled_property_new), (gst_controller_set_unlocked),
8633         (gst_controller_set), (gst_controller_set_from_list),
8634         (gst_controller_unset), (gst_controller_unset_all):
8635         * libs/gst/controller/gstcontrollerprivate.h:
8636         * libs/gst/controller/gstinterpolation.c:
8637         Factor out the 'set' logic into gst_controller_set_unlocked for the
8638         gst_controller_set and gst_controller_set_from_list functions.
8639
8640         To make life of the interpolators easier always add a control point
8641         at timestamp zero with the default value.
8642
8643         In the linear interpolator make things more obvious by better variable
8644         naming (slope).
8645
8646         Implement cubic interpolation mode (by using a natural cubic spline)
8647         and map the quadratic interpolation mode to this too (as quadratic
8648         doesn't make much sense, see discussion on the list).
8649
8650         * tests/check/libs/controller.c: (GST_START_TEST),
8651         (gst_controller_suite):
8652         Add unit test for the cubic interpolation mode and check everywhere
8653         if the interpolation mode could be set as expected.
8654
8655 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8656
8657         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8658           Don't use GLib-2.10 functions, we still depend on
8659           GLib-how-old-is-it-again-2.8.
8660
8661 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8662
8663         * docs/gst/gstreamer-sections.txt:
8664         * gst/Makefile.am:
8665         * gst/gst.c:
8666         * gst/gst.h:
8667         * gst/gstparamspecs.c: (_gst_param_fraction_init),
8668         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8669         (_gst_param_fraction_values_cmp),
8670         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8671         * gst/gstparamspecs.h:
8672         * gst/gstvalue.c:
8673         * tests/check/Makefile.am:
8674         * tests/check/gst/.cvsignore:
8675         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8676         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8677         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8678         (GST_START_TEST), (gst_param_spec_suite):
8679           API: add GstParamSpecFraction, so elements can have fraction
8680           properties without lots of painful string parsing (#444648).
8681
8682 2007-06-05  Wim Taymans  <wim@fluendo.com>
8683
8684         * gst/gstobject.c: (gst_object_class_init):
8685         Fix signal signature.
8686
8687         * gst/gstsegment.c:
8688         Add small clarification in the api docs.
8689
8690         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8691         States are protected with object lock.
8692
8693 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8694
8695         * AUTHORS:
8696         I should probably be listed as an author by now.
8697
8698         * docs/random/release:
8699         Update the release doc
8700
8701 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
8702
8703         * gst/gstvalue.c:
8704           Make docs for gst_value_compare() mention return enums that
8705           actually exist.
8706
8707 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8708
8709         * configure.ac:
8710           Back to CVS
8711
8712 === release 0.10.13 ===
8713
8714 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
8715
8716         * configure.ac:
8717           releasing 0.10.13, "With or without you"
8718
8719 2007-05-25  Wim Taymans  <wim@fluendo.com>
8720
8721         * gst/gstbin.c: (bin_handle_async_done):
8722         Make sure that the child bin stops after completing the async state
8723         change so that the parent can continue the state change to PLAYING.
8724         Fixes #441159.
8725
8726 2007-05-25  Wim Taymans  <wim@fluendo.com>
8727
8728         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8729         (unref_data), (gst_collect_pads_remove_pad),
8730         (gst_collect_pads_check_pads):
8731         Use additional refcounting to avoid crashes when dynamically adding and
8732         removing pads. Fixes #420206.
8733
8734 2007-05-24  Wim Taymans  <wim@fluendo.com>
8735
8736         * tools/gst-launch.c: (event_loop):
8737         When buffering goes from a two digit to a single digit number, make sure
8738         to remove the old second digit by writing a blank over it.
8739
8740 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8741
8742         * libs/gst/base/gstdataqueue.c:
8743           Eliminate tabs and trailing comma in enum list; fix some typos.
8744
8745 2007-05-24  Wim Taymans  <wim@fluendo.com>
8746
8747         * tests/check/gst/gstbin.c: (GST_START_TEST):
8748         Allow refcount of 3 and 4 because some state thread might still be busy
8749         with it.
8750
8751 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8752
8753         * plugins/elements/Makefile.am:
8754         * plugins/elements/gstmultiqueue.h:
8755         * plugins/elements/gstqueue.h:
8756           These are not installed headers, no need for padding.
8757
8758 2007-05-24  Wim Taymans  <wim@fluendo.com>
8759
8760         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8761         (gst_bin_continue_func):
8762         Enable latency for next release.
8763         Restore STATE_LOCK around recalc_state that was left out during the
8764         rewrite and could result in racy behaviour when _get_state and
8765         recalc_state are run concurrently. See #440463.
8766
8767 2007-05-23  Wim Taymans  <wim@fluendo.com>
8768
8769         * tests/check/gst/gstsystemclock.c: (store_callback),
8770         (GST_START_TEST):
8771         Improve test_async_order to also work when both timers are already
8772         expired when we get scheduled to check it.
8773
8774 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8775
8776         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8777         (gst_bin_set_property), (gst_bin_get_property),
8778         (gst_bin_remove_func), (gst_bin_handle_message_func):
8779         * gst/gstbin.h:
8780           'private' is a c++ keyword, let's not use that in header files,
8781           otherwise c++ compilers will throw a tantrum.
8782
8783 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8784
8785         * plugins/elements/gstelements.c:
8786         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8787         (gst_file_sink_get_current_offset):
8788         * plugins/indexers/gstindexers.c: (plugin_init):
8789           Use #ifdef for HAVE_XYZ for consistency.
8790
8791         * tests/check/Makefile.am:
8792         * tests/check/elements/.cvsignore:
8793         * tests/check/elements/filesink.c: (setup_filesink),
8794         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8795           Add some unit tests for filesink.
8796
8797 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8798
8799         Patch by: Mark Nauwelaerts <manauw at skynet be>
8800
8801         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8802         (gst_file_sink_query), (gst_file_sink_do_seek),
8803         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8804         * plugins/elements/gstfilesink.h:
8805           Fix position reporting; rename data_written member to current_pos to
8806           reflect its real meaning (fixes #412648).
8807
8808 2007-05-22  Edward Hervey  <edward@fluendo.com>
8809
8810         * docs/gst/gstreamer-sections.txt:
8811         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8812         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8813         (gst_bin_remove_func), (gst_bin_handle_message_func):
8814         * gst/gstbin.h:
8815         Add a property for bins that handle the state change of their childs.
8816         Fixes #435880
8817
8818 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
8819
8820         * libs/gst/controller/gstinterpolation.c:
8821         Use an array of the correct type when using _get_value_array with
8822         linear interpolation.
8823
8824 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
8825
8826         * gst/gstelement.c (gst_element_requires_clock,
8827           gst_element_provides_clock, gst_element_request_pad,
8828           gst_element_class_set_details, gst_element_class_set_details_simple,
8829           gst_element_default_send_event, gst_element_abort_state,
8830           gst_element_continue_state, gst_element_set_state,
8831           gst_element_set_state_func, iterator_activate_fold_with_resync):
8832         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8833           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8834           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8835           gst_pad_get_range, gst_pad_pull_range):
8836         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8837           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8838           GstPadActivateModeFunction, GstPadChainFunction,
8839           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8840           GstPadFixateCapsFunction, GstPadTemplate):
8841         * gst/gstpipeline.c (gst_pipeline_change_state,
8842           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8843           gst_pipeline_set_clock, gst_pipeline_auto_clock,
8844           gst_pipeline_get_delay):
8845           Whitespace and docs fixes.
8846
8847 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8848
8849         * libs/gst/controller/gstinterpolation.c:
8850         (interpolate_trigger_get_enum_value_array),
8851         (interpolate_trigger_get_string_value_array):
8852         Add support for retrieving value arrays when using the trigger
8853         interpolation mode. 
8854
8855 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8856
8857         * libs/gst/controller/gstcontroller.c:
8858         (gst_controller_get_value_array):
8859         * libs/gst/controller/gstcontroller.h:
8860         Clarify the docs of gst_controller_get_value_array(): The array where
8861         the values should be written to must be allocated as there seems to be
8862         no way to get the size of a random GType. This doesn't change any
8863         behaviour. Also fix some typos all over the place and remove an unused,
8864         commented function that is not necessary as g_object_set() could be
8865         used instead.
8866         * tests/check/libs/controller.c: (GST_START_TEST),
8867         (gst_controller_suite):
8868         Add unit test for gst_controller_get_value_array().
8869
8870 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
8871
8872         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8873
8874         Disable part of the gst_buffer_try_new_and_alloc test, because
8875         it can happily succeed on 64-bit systems where there's more address
8876         space available.
8877
8878 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8879
8880         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8881         Add unit test for the improved caps checking from bug #421543.
8882
8883 2007-05-21  Wim Taymans  <wim@fluendo.com>
8884
8885         * docs/design/part-synchronisation.txt:
8886         Small addition.
8887
8888         * gst/gstbin.c: (gst_bin_query):
8889         * plugins/elements/gstqueue.c: (apply_segment):
8890         Improve debugging.
8891
8892         * gst/gstmessage.h:
8893         Improve docs.
8894
8895 2007-05-21  Wim Taymans  <wim@fluendo.com>
8896
8897         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8898         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8899         (gst_pad_configure_src):
8900         Added simple version of improved caps checking. It was previously
8901         assumed that a setcaps function would check the validity of the caps but
8902         people prefer us to check caps against the template automatically. 
8903         Fixes #421543.
8904
8905 2007-05-21  Wim Taymans  <wim@fluendo.com>
8906
8907         * libs/gst/base/gstbasetransform.h:
8908         Fix macro for locking/unlocking the transform lock.
8909
8910 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8911
8912         * docs/plugins/tmpl/.cvsignore:
8913           Ignore more.
8914
8915 2007-05-18  Edward Hervey  <edward@fluendo.com>
8916
8917         * plugins/elements/gstqueue.c: (gst_queue_loop):
8918         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8919         for the subtle art of warning a potentially blocking thread that it
8920         should check the source pad return value, and relay the information
8921         upstream.
8922
8923 2007-05-18  Edward Hervey  <edward@fluendo.com>
8924
8925         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8926         Release the queue lock !
8927
8928 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8929
8930         * docs/libs/gstreamer-libs-sections.txt:
8931         Add the two new controller functions to the appropiate places.
8932
8933 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8934
8935         reviewed by: Stefan Kost <ensonic@users.sf.net>
8936
8937         * libs/gst/controller/gstcontroller.c:
8938         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8939         (_gst_controller_get_property), (_gst_controller_set_property),
8940         (_gst_controller_init), (_gst_controller_class_init):
8941         * libs/gst/controller/gstcontroller.h:
8942         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8943         (gst_object_get_control_rate), (gst_object_set_control_rate):
8944         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8945         Add API that provides sync suggestion timestamps for elements that
8946         call gst_object_sync_values() from which those elements can subdivide
8947         their processing loop to get the best results for the controlled
8948         properties. For now it just suggests last_sync + control_rate as
8949         new timestamp but this will be improved in the future.
8950
8951         While doing that change the control-rate property to a GstClockTime
8952         from guint and change it's meaning from samples to nanoseconds as
8953         the GstController doesn't know anything about sampling rate. Strictly
8954         speaking this breaks ABI but as the control-rate property didn't do
8955         anything in the past and as such couldn't be used this should be no
8956         problem.        
8957
8958 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8959
8960         reviewed by: Stefan Kost <ensonic@users.sf.net>
8961
8962         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8963         (gst_controller_unset_all):
8964         * libs/gst/controller/gstcontrollerprivate.h:
8965         * libs/gst/controller/gstinterpolation.c:
8966         (gst_controlled_property_find_control_point_node):
8967         Save last synced value from the list to continue searching from there
8968         in future syncs. This speeds everything up a bit.
8969         
8970 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8971
8972         reviewed by: Stefan Kost <ensonic@users.sf.net>
8973
8974         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8975         (gst_control_point_find), (gst_controlled_property_new),
8976         (gst_control_point_free), (gst_controlled_property_free),
8977         (gst_controller_set), (gst_controller_set_from_list),
8978         (gst_controller_unset), (gst_controller_unset_all),
8979         (gst_controller_sync_values):
8980         * libs/gst/controller/gstcontroller.h:
8981         * libs/gst/controller/gstcontrollerprivate.h:
8982         * libs/gst/controller/gstinterpolation.c:
8983         (gst_controlled_property_find_control_point_node),
8984         (interpolate_none_get), (interpolate_trigger_get):
8985         Add a new private GstControlPoint struct which "inherits" from
8986         GstTimedValue to allow different interpolators to store internal
8987         values next to each control point. From the outside everything is
8988         still a GstControlPoint so we don't loose binary compatibility.
8989         Also fixup all the GValue handling to not leak GValues or list nodes.
8990         * tests/check/libs/controller.c: (GST_START_TEST):
8991         Free the list nodes and GValues in the controller_misc test.
8992
8993 2007-05-17  Edward Hervey  <edward@fluendo.com>
8994
8995         * gst/gstsegment.c:
8996         Small doc fix.
8997
8998 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
8999
9000         * gst/gstplugin.c: (gst_plugin_load_file):
9001           If we fail to load a plugin because of unresolved symbols or missing
9002           libraries and spew a warning to stderr, we may just as well mention
9003           which plugin it was that failed to load.
9004
9005 2007-05-13  David Schleef  <ds@schleef.org>
9006
9007         * docs/Makefile.am: the gtk-doc makefile snippet correctly
9008           handles the case when ENABLE_GTK_DOC is false, and installs
9009           the prebuilt documentation.  So gtk-doc subdirs are 
9010           unconditionally enabled.  Fixes: #349099.
9011
9012 2007-05-13  David Schleef  <ds@schleef.org>
9013
9014         * gst/gstutils.h: Reword some documentation.
9015
9016 2007-05-12  David Schleef  <ds@schleef.org>
9017
9018         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
9019           do anything with the passed "module" parameter, so remove it.
9020           Allows removal of additional vestigal code.
9021
9022 2007-05-12  David Schleef  <ds@schleef.org>
9023
9024         * gst/gstplugin.c:
9025           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
9026           Switch to using g_stat() because it's more portable.
9027
9028 2007-05-12  David Schleef  <ds@schleef.org>
9029
9030         * gst/gst.c:
9031           Add GST_DISABLE_OPTION_PARSING, in order to disable option
9032           parsing for embedded systems.
9033         * gst/gstelementfactory.c:
9034           Allow gst_element_register() to be called with plugin==NULL.
9035           Did nobody notice that static elements were broken?
9036
9037 2007-05-12  Wim Taymans  <wim@fluendo.com>
9038
9039         * tools/gst-launch.c: (event_loop):
9040         Give more interesting info when buffering starts and stops.
9041         Fix case where buffering starts but we fail to update the buffering flag
9042         because the target state is not PLAYING.
9043
9044 2007-05-12  Wim Taymans  <wim@fluendo.com>
9045
9046         * plugins/elements/gstqueue.c: (gst_queue_init),
9047         (gst_queue_finalize), (update_time_level), (apply_segment),
9048         (apply_buffer), (gst_queue_locked_flush),
9049         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
9050         (gst_queue_handle_sink_event), (gst_queue_chain),
9051         (gst_queue_push_one), (gst_queue_loop):
9052         * plugins/elements/gstqueue.h:
9053         Refactor an cleanup queue a bit.
9054         Do better time level calculations that also work when the srcpad is not
9055         yet running.
9056         Remove some unneeded debug lines.
9057
9058         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
9059         Added testcase for time level measurement.
9060         Try to make some stuff more racefree.
9061
9062 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
9063
9064         * gst/gsturi.c: (gst_element_make_from_uri):
9065           Don't leak plugin feature.
9066
9067         * tests/check/Makefile.am:
9068         * tests/check/gst/.cvsignore:
9069         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
9070           Add brain-dead unit test.
9071
9072 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
9073
9074         Patch by: Jeroen Wouters <woutersj at gmail com>
9075
9076         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
9077           Treat protocol strings in a case-insensitive way (#437563).
9078
9079 2007-05-11  Michael Smith <msmith@fluendo.com>
9080
9081         * gst/gstplugin.c: (gst_plugin_load_file):
9082         * gst/gstregistry.c: (gst_registry_scan_path_level):
9083           Don't print a g_warning for any failure to load a shared object.
9084           Instead, push this down into gstplugin.c, and warn _only_ if we
9085           failed to open the module (i.e. failure to link).
9086           Avoids warnings on normal, working, non-plugin .so files.
9087
9088 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
9089
9090         * gst/gstplugin.c (gst_plugin_load_file):
9091         * gst/gstregistry.c (GST_CAT_DEFAULT,
9092           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
9093           Print a g_warning if there was an error when loading a plugins during
9094           registry scan. The shuld help beginners starting with gst-plugin
9095           template.
9096
9097 2007-05-10  Wim Taymans  <wim@fluendo.com>
9098
9099         * plugins/elements/gstqueue.c: (gst_queue_class_init),
9100         (update_time_level), (gst_queue_locked_flush),
9101         (gst_queue_handle_sink_event), (gst_queue_chain),
9102         (gst_queue_push_one), (gst_queue_loop):
9103         * plugins/elements/gstqueue.h:
9104         Be smarter when calculating the current amount of data in the queue by
9105         measuring the difference between start and end timestamps (in running
9106         time) inside the queue. Fixes #432876.
9107         API: GstQueue::pushing to notify elements that we are pushing data again
9108         since the running signal is rather broken for this purpose.
9109
9110 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
9111
9112         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
9113           gst_queue_base_init, gst_queue_init):
9114           use GST_BOILERPLATE
9115
9116 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
9117
9118         * win32/common/libgstreamer.def:
9119         Add new exported functions.
9120         * win32/vs6/grammar.dsp:
9121         Use grammar pre-generated files.
9122
9123 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9124
9125         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
9126
9127         * gst/Makefile.am:
9128         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
9129         * gst/gstparse.h:
9130         * gst/gstutils.c: (gst_parse_bin_from_description):
9131         * gst/gstutils.h:
9132           Maintain API and ABI when --disable-parse is used. Now that
9133           we have an appropriate error code, we can just return NULL and the
9134           appropriate error when gst_parse_launch() is used despite it having
9135           been disabled (#342564).
9136
9137         * tests/check/Makefile.am:
9138         * tests/check/pipelines/.cvsignore:
9139         * tests/check/pipelines/parse-disabled.c:
9140           Make sure these functions exist and return NULL plus a GError when
9141           --disable-parse is used.
9142
9143 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9144
9145         * tests/benchmarks/complexity.c: (main):
9146         * tests/benchmarks/mass-elements.c: (main):
9147           Set a good example and don't leak messages.
9148
9149 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
9150
9151         * docs/gst/Makefile.am:
9152         * docs/libs/Makefile.am:
9153           Correct fixxrefs options.
9154
9155         * docs/plugins/Makefile.am:
9156         * docs/plugins/gstreamer-plugins-docs.sgml:
9157         * docs/plugins/gstreamer-plugins-sections.txt:
9158         * plugins/elements/Makefile.am:
9159         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
9160         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
9161           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
9162           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
9163           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
9164           _GstCapsFilterClass, trans_class):
9165         * plugins/elements/gstelements.c (name, rank, type, _elements):
9166         * plugins/elements/gstidentity.c
9167           (gst_identity_check_imperfect_timestamp,
9168           gst_identity_check_imperfect_offset):
9169           Document capsfilter and add doc-blurb to identity.
9170
9171 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
9172
9173         * libs/gst/controller/gstcontroller.c:
9174         (gst_controlled_property_set_interpolation_mode):
9175         * libs/gst/controller/gstinterpolation.c:
9176           Don't crash if someone tries to set an interpolation mode that
9177           is invalid or that isn't supported yet. Fixes #422295.
9178
9179         * tests/check/libs/controller.c: (GST_START_TEST),
9180         (gst_controller_suite):
9181           Add a test case for the above.
9182
9183 2007-05-03  Edward Hervey  <edward@fluendo.com>
9184
9185         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
9186         Properly set the last_stop position on GstSegment. This will only happen
9187         if there is a buffer to push out.
9188
9189 2007-05-03  Wim Taymans  <wim@fluendo.com>
9190
9191         * libs/gst/base/gstbasetransform.c:
9192         (gst_base_transform_buffer_alloc):
9193         always_in_place does not mean that the sink and source caps are the
9194         same! Make sure we don't blindly proxy the buffer_alloc in this case.
9195
9196 2007-05-03  Wim Taymans  <wim@fluendo.com>
9197
9198         * docs/libs/gstreamer-libs-sections.txt:
9199         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
9200         (gst_base_src_default_query), (gst_base_src_get_range):
9201         * libs/gst/base/gstbasesrc.h:
9202         API: gst_base_src_query_latency(). Added method so that subclasses can
9203         easily get the latency values of the base source class.
9204
9205 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
9206
9207         * tools/gst-inspect.c (print_implementation_info):
9208         Remove 0.8 cruft.
9209
9210 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
9211
9212         * tools/Makefile.am:
9213         * tools/gst-launch.1.in:
9214           Don't create a customised man page based on the host architecture,
9215           describe the default registry path generically. That way the man
9216           page is the same for all architectures and packagers have one
9217           multilib issue less to deal with. Fixes #434926.
9218
9219 2007-05-02  Wim Taymans  <wim@fluendo.com>
9220
9221         * gst/gstpad.c:
9222         Fix documentation as spotted by rg on IRC. 
9223
9224 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
9225
9226         * gst/gstutils.c:
9227           Improve docs for gst_element_{link,unlink}.
9228
9229 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
9230
9231         * docs/design/part-events.txt:
9232         * docs/design/part-overview.txt:
9233         * gst/gstevent.c:
9234         * gst/gsturi.c:
9235         * gst/gsturi.h:
9236         * libs/gst/base/gstbasesink.c:
9237           Typo fixes; minor docs addition.
9238
9239 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
9240
9241         * docs/gst/gstreamer-sections.txt:
9242         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
9243         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
9244         * gst/gsturi.h:
9245         API: Add gst_uri_protocol_is_supported(), which checks if a sink
9246         or src that supports a given URI protocol exists.
9247
9248 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
9249
9250         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9251         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9252         Set the location to NULL if "file://" is set as URI. Otherwise
9253         some random previous URI would still be set if "file://" is
9254         set on an already used filesink/filesrc.
9255
9256 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
9257
9258         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9259         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9260         Special case the "file://" URI as as this is used by some
9261         applications to test with gst_element_make_from_uri if there's
9262         an element that supports the URI protocol.
9263         Also move the g_path_is_absolute() check for the location part
9264         of the URI to also check this for "file://localhost/bla" URIs.
9265
9266 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
9267
9268         * docs/gst/gstreamer-sections.txt:
9269         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
9270         * gst/gstbuffer.h:
9271         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
9272         (gst_buffer_suite):
9273           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
9274
9275 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
9276
9277         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9278         (gst_registry_binary_load_pad_template),
9279         (gst_registry_binary_load_plugin),
9280         (gst_registry_binary_read_cache):
9281         * gst/gstregistrybinary.h:
9282           Implement no-mmap alternative for registry reading. Do code cleanups.
9283           Add more comments about avoiding strdups for all text data. Comments
9284           welcome.
9285
9286 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
9287
9288         * gst/gstregistrybinary.h (GstBinaryPluginElement,
9289           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
9290           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
9291           Comment structs and reformat to fix the build (that stuff should go
9292           into a priv. header).
9293
9294 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
9295
9296         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
9297         (gst_registry_binary_load_feature):
9298         * gst/gstregistrybinary.h:
9299           Refactor so that we can implement multiple features. Add support for
9300           TypeFindFactory features.
9301
9302 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
9303
9304         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
9305
9306         * configure.ac:
9307           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
9308
9309 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
9310
9311         * gst/gstbin.c: (gst_bin_element_set_state),
9312         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
9313         (bin_handle_async_done), (gst_bin_handle_message_func):
9314           Fix build with --gst-disable-gst-debug
9315
9316 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
9317
9318         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
9319           Make sure streaming has finished before calling the ::stop() vfunc,
9320           since that vfunc might clear state which is being used in the
9321           streaming thread. This fixes a race that caused crashes in
9322           audioresample when shutting down a pipeline (#420106).
9323
9324 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9325
9326         * docs/gst/gstreamer-sections.txt:
9327           That was one byte missing.
9328
9329 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9330
9331         * configure.ac:
9332         * docs/gst/gstreamer-sections.txt:
9333         * gst/Makefile.am:
9334         * gst/gstconfig.h.in:
9335         * gst/gstobject.c: (gst_object_class_init),
9336         (gst_signal_object_class_init):
9337         * gst/gstobject.h:
9338           2nd attempt to have a xml-less build as a joined effort of #413123
9339           and #421480.
9340
9341 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9342
9343         * docs/design/draft-tagreading.txt:
9344           Added open issues/thoughts to draft.
9345
9346 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9347
9348         * gst/parse/grammar.tab.pre.c:
9349         * gst/parse/grammar.tab.pre.h:
9350         * gst/parse/lex._gst_parse_yy.pre.c:
9351         Update the prebuild parser sources.
9352
9353 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9354
9355         * gst/parse/Makefile.am:
9356         And now fix the building of the flex sources. Now everything should
9357         work as expected.
9358
9359 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9360
9361         * gst/parse/Makefile.am:
9362         Now hopefully fix the build failures by setting proper rule
9363         dependencies and moving instead of copying.
9364
9365 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9366
9367         * tests/benchmarks/complexity.gnuplot:
9368         * tests/benchmarks/complexity.scm:
9369         * tests/benchmarks/mass-elements.gnuplot:
9370         * tests/benchmarks/mass-elements.scm:
9371           Total licensification.
9372
9373 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9374
9375         * gst/parse/Makefile.am:
9376           Fix the build by correcting the rule that gave wrong files to flex.
9377
9378 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9379
9380         * tests/benchmarks/complexity.c:
9381         * tests/benchmarks/mass-elements.c:
9382           Change licence to LGPL as granted by Benjamin and Andy.
9383
9384 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9385
9386         * gst/parse/Makefile.am:
9387         Add correct grammar.tab.h dependency if compiling without new enough
9388         flex. Fixes #431150.
9389
9390 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9391
9392         * gst/parse/Makefile.am:
9393         Fix typo and use outdated sources if the flex/bison sources are newer
9394         than the pregenerated ones but flex is too old. Print a warning in
9395         that case. This should fix the build on the build bot.
9396
9397 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9398
9399         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
9400         * gst/parse/Makefile.am:
9401         * gst/parse/grammar.y:
9402         * gst/parse/parse.l:
9403         Make the parser reentrant and recursively callable. This requires flex
9404         >= 2.5.31, for older versions pregenerated sources are used as we
9405         can't bump the build dependency. Finally fixes #349180.
9406
9407         * gst/gstparse.c: (gst_parse_launch):
9408         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
9409         now anyway.
9410
9411         * docs/gst/Makefile.am:
9412         * docs/gst/Makefile.am:
9413         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
9414         (__gst_parse_strfree), (__gst_parse_link_new),
9415         (__gst_parse_link_free), (__gst_parse_chain_new),
9416         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
9417         (gst_parse_element_set), (gst_parse_free_link),
9418         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
9419         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
9420         (_gst_parse_launch):
9421         * gst/parse/grammar.tab.pre.h:
9422         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
9423         (yy_get_previous_state), (yy_try_NUL_trans), (input),
9424         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
9425         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
9426         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
9427         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
9428         (_gst_parse_yypop_buffer_state),
9429         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
9430         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
9431         (yy_fatal_error), (_gst_parse_yyget_extra),
9432         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
9433         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
9434         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
9435         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
9436         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
9437         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
9438         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
9439         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
9440         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
9441         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
9442         (_gst_parse_yyfree):
9443         If the installed flex version is too old use pre-generated parser
9444         sources. These pre-generated parser sources are always updated when
9445         the actual flex/bison sources change but require everybody who wants
9446         to change something in the parser to have flex >= 2.5.31 installed.
9447
9448 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
9449
9450         * common/m4/gst-gettext.m4:
9451         * gst/gst-i18n-lib.h:
9452           Make --disable-nls to work
9453
9454 2007-04-17  Wim Taymans  <wim@fluendo.com>
9455
9456         * gst/gstconfig.h.in:
9457         Revert previous change that broke the build.
9458
9459 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
9460
9461         * configure.ac:
9462         * gst/Makefile.am:
9463         * gst/gstconfig.h.in:
9464           Drop libxml2 dependency when building with 
9465           --enable-binary-registry --disable-loadsave
9466
9467 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
9468
9469         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9470         (gst_registry_binary_read_cache):
9471         * gst/gstregistrybinary.h:
9472           Remove unnecessary <sys/mman.h> include which broke the win32 build
9473           with MingW; move includes from header file to .c file, even if the
9474           header file isn't installed; use g_strerror() where UTF-8 strings
9475           are expected, such as in GST_DEBUG messages.
9476
9477 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9478
9479         * docs/libs/gstreamer-libs-sections.txt:
9480         Remove bogus addition for API I didn't end up keeping.
9481
9482         * libs/gst/base/gstbasesrc.h:
9483         Mention Since: 0.10.13 in the documentation.
9484
9485         Add the API keyword to the previous ChangeLog entry.
9486
9487 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9488
9489         * docs/libs/gstreamer-libs-sections.txt:
9490         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9491         (gst_base_src_default_prepare_seek_segment),
9492         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
9493         * libs/gst/base/gstbasesrc.h:
9494         Allow basesrc derived classes to execute seeks in other formats
9495         by providing a prepare_seek_segment vmethod. Sub-classes can choose
9496         to prepare the GstSegment in any format that their perform_seek method
9497         will be able to understand. The default implementation provides the
9498         old behaviour of attempting to convert the seek offsets to the 
9499         configured native format.
9500
9501         API: basesrc::prepare_seek_segment vmethod.
9502
9503 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9504
9505         * gst/gstelement.c: (gst_element_get_state_func):
9506         Don't output the same debug statement twice.
9507
9508         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
9509         (gst_adapter_peek), (gst_adapter_take_buffer):
9510         Optimise the case where we have buffers at the head of the queue that
9511         can be joined quickly (because they're contiguous sub-buffers) by
9512         merging them together rather than copying data out into new memory.
9513
9514         * gst/parse/grammar.y:
9515         * tests/check/pipelines/parse-launch.c:
9516         Fix a leak in an error path for parse_launch, and add a check 
9517         for it to the testsuite.
9518
9519 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9520
9521         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9522           Don't deadlock when releasing a pad - gst_pad_set_active may try
9523           and take the multiqueue lock too.
9524
9525 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
9526
9527         * gst/gsterror.c: (_gst_core_errors_init):
9528         * gst/gsterror.h:
9529           API: add GST_CORE_ERROR_DISABLED (#392804).
9530
9531 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9532
9533         * docs/faq/gst-uninstalled:
9534           don't get empty paths on the PATH variables
9535         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
9536           Don't format for the uncommon terminal width of 84 characters.
9537
9538 2007-04-06  Wim Taymans  <wim@fluendo.com>
9539
9540         * gst/gstpipeline.c: (reset_stream_time),
9541         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
9542         Only try to select a different pipeline clock when we went back to
9543         PAUSED and not when we merely got flushed.
9544
9545 2007-04-05  Michael Smith  <msmith@fluendo.com>
9546
9547         * tools/gst-launch.1.in:
9548           fractions are better supported in gstreamer than ractions, so
9549           suggest using those.
9550
9551 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9552
9553         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9554
9555         * po/LINGUAS:
9556         * po/da.po:
9557           Added Danish translation.
9558
9559 2007-04-05  Wim Taymans  <wim@fluendo.com>
9560
9561         * libs/gst/base/gstbasesink.c:
9562         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9563         Fix leak caused when refusing newsegment after EOS.
9564
9565         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9566         (gst_fake_sink_init), (gst_fake_sink_set_property),
9567         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9568         (gst_fake_sink_render), (gst_fake_sink_change_state):
9569         * plugins/elements/gstfakesink.h:
9570         Add num-buffers property to make the element generate EOS after a
9571         configurable amount of buffers.
9572         API: fakesink::num-buffers property.
9573
9574         * tests/check/elements/fakesink.c: (GST_START_TEST),
9575         (fakesink_suite):
9576         Fix GstBus leak in test.
9577         Test for fakesink num-buffers.
9578
9579 2007-04-05  Wim Taymans  <wim@fluendo.com>
9580
9581         * libs/gst/base/gstbasesink.c:
9582         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9583         (gst_base_sink_change_state):
9584         Don't accept anything after an EOS, return UNEXPECTED instead.
9585
9586         * tests/check/elements/fakesink.c: (GST_START_TEST),
9587         (fakesink_suite):
9588         Unit test for new EOS behaviour.
9589
9590 2007-04-05  Wim Taymans  <wim@fluendo.com>
9591
9592         * gst/gstelement.c: (gst_element_get_request_pad):
9593         Make padtemplates also work when they don't contain %s or %d.
9594
9595 2007-04-05  Wim Taymans  <wim@fluendo.com>
9596
9597         * docs/gst/gstreamer-sections.txt:
9598         * gst/gstclock.c: (gst_clock_adjust_unlocked),
9599         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9600         * gst/gstclock.h:
9601         Improve _adjust_unlocked() so that it overflows less.
9602         Add gst_clock_unadjust_unlocked to convert from external time to
9603         internal time based on calibration.
9604         Add some more debug.
9605         API: GstClock::gst_clock_unadjust_unlocked()
9606
9607 2007-04-03  Wim Taymans  <wim@fluendo.com>
9608
9609         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9610
9611         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9612         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9613         when releasing sink pad. Fixes #425400.
9614
9615 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
9616
9617         * docs/random/ensonic/dynlink.txt:
9618           More work on proposal for new core api.
9619
9620         * docs/libs/gstreamer-libs-sections.txt:
9621         * libs/gst/base/gstbasetransform.h:
9622           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9623           
9624         * libs/gst/controller/gstcontroller.c:
9625         (on_object_controlled_property_changed),
9626         (gst_controller_sync_values),
9627         (gst_controller_set_interpolation_mode):
9628         * libs/gst/controller/gstcontroller.h:
9629           Less verbose logging add docs for unimplemented parts and correctly
9630           return when using unavailable parts.
9631
9632 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9633
9634         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9635         Move all the debug to the CLOCK category, and associate it with
9636         the clock object.
9637
9638 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9639
9640         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9641         Make take_buffer a bit quicker by removing redundant checks
9642         caused by calling gst_adapter_take.
9643
9644 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9645
9646         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9647           Don't leak GCond.
9648
9649         * tests/check/Makefile.am:
9650         * tests/check/elements/.cvsignore:
9651         * tests/check/elements/multiqueue.c: (setup_multiqueue),
9652         (GST_START_TEST), (multiqueue_suite):
9653           Add some dead simple unit tests for the 'multiqueue' element
9654           (some bits don't work yet and are disabled for now).
9655
9656 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9657
9658         * gst/gstelement.c: (gst_element_get_request_pad),
9659         (gst_element_class_get_request_pad_template):
9660           Make gst_element_get_request_pad() create request pads only for
9661           request pad templates and not for, say, sometimes pad templates.
9662
9663 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
9664
9665         * docs/design/draft-klass.txt:
9666           Add example that needs more thinking.
9667         
9668         * docs/design/draft-missing-plugins.txt:
9669           More thoughts about wrapper plugins.
9670         
9671         * docs/random/ensonic/embedded.txt:
9672         * docs/random/ensonic/profiling.txt:
9673           More design work.
9674
9675 2007-03-25  Wim Taymans  <wim@fluendo.com>
9676
9677         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9678         (gst_base_src_loop):
9679         Only push the segment events in the PLAYING state for live sources.
9680
9681 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
9682
9683         * gst/gstpipeline.c: (gst_pipeline_change_state):
9684         Modify the clock distribution path in PAUSED->PLAYING so that we 
9685         never attempt to choose a new clock unless we're actually leaving
9686         the PAUSED state for the first time. This prevents choosing a
9687         different clock when the state_change gets called for a 2nd time due
9688         to some element doing an async state change.
9689
9690 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9691
9692         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9693         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9694         (gst_pad_chain_unchecked), (gst_pad_push):
9695         Revert last commit. This needs some more thoughts.
9696
9697 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9698
9699         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9700         (gst_pad_chain_unchecked), (gst_pad_push):
9701         Check in set_caps if the caps are compatible with the pad and remove
9702         two functions that are redundant now. Fixes #421543.
9703
9704 2007-03-22  Wim Taymans  <wim@fluendo.com>
9705
9706         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9707         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9708         Unref some more to make valgrind happy.
9709
9710 2007-03-22  Wim Taymans  <wim@fluendo.com>
9711
9712         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9713         (gst_system_clock_id_wait_jitter),
9714         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9715         Fix anoying regression that survived a few releases. When adding an
9716         async entry while blocking on a sync entry, the sync entry will unblock
9717         but still be busy, so it should continue to wait instead of returning
9718         _BUSY to the app.
9719         Add some comments here and there.
9720
9721         * tests/check/gst/gstsystemclock.c: (mixed_thread),
9722         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9723         Add testcase for this.
9724
9725 2007-03-22  Wim Taymans  <wim@fluendo.com>
9726
9727         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9728         Handle errors from the clock sync better, only UNSCHEDULED indicates a
9729         WRONG_STATE and can silently pause the task. All other cases should
9730         error out.
9731
9732 2007-03-22  Wim Taymans  <wim@fluendo.com>
9733
9734         Patch by: Ville Syrjala <syrjala at sci dot fi>
9735
9736         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9737         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
9738         Improve debugging.
9739
9740 2007-03-21  Michael Smith  <msmith@fluendo.com>
9741
9742         * docs/pwg/advanced-types.xml:
9743           Fix some errors in the typefinding docs pointed out on irc.
9744
9745 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
9746
9747         * libs/gst/base/gstbasesrc.c:
9748         Clarify FIXME comment in the face of having added unlock_stop()
9749
9750 2007-03-21  Wim Taymans  <wim@fluendo.com>
9751
9752         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9753         Prepare for release where we warn against possible app breakage in the
9754         case of live pipelines along with an env var to enable/disable live
9755         preroll mode (GST_COMPAT=[no-]live-preroll).
9756
9757 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9758
9759         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9760         So we should use correct constants for checking for None offset.
9761
9762 2007-03-20  Wim Taymans  <wim@fluendo.com>
9763
9764         * docs/design/part-block.txt:
9765         Mention the fact that the newly switched element should be set to at
9766         least PAUSED.
9767
9768 2007-03-20  Wim Taymans  <wim@fluendo.com>
9769
9770         * gst/gst.c:
9771         Fix compilation with registry disabled as spotted by Saur.
9772
9773 2007-03-20  Wim Taymans  <wim@fluendo.com>
9774
9775         Patch by: Olivier Crete <tester at tester dot ca>
9776
9777         * gst/gstelement.c: (gst_element_sync_state_with_parent):
9778         Look at the pending state too when syncing the element state to the
9779         parent. Fixes #420133.
9780
9781 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
9782
9783         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9784         (gst_base_sink_change_state):
9785         * libs/gst/base/gstbasesink.h:
9786         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9787         (gst_base_src_default_event), (gst_base_src_unlock_stop),
9788         (gst_base_src_deactivate):
9789         * libs/gst/base/gstbasesrc.h:
9790         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9791         for sub-classes to correctly clear any state they set trying to
9792         unlock, such as clearing out unlock commands from a command fd.
9793         API: basesrc::unlock_stop
9794         API: basesink::unlock_stop
9795
9796         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9797         (gst_fd_sink_render), (gst_fd_sink_unlock),
9798         (gst_fd_sink_unlock_stop):
9799         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9800         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9801         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9802
9803         Implement unlock_stop in fdsrc and fdsink.
9804         Implement seeking in fdsrc when a seekable fd is passed, as in
9805         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9806
9807 2007-03-19  Wim Taymans  <wim@fluendo.com>
9808
9809         Patch by: Evan Nemerson <evan at coeus dash group dot com>
9810
9811         * gst/gstelement.c: (gst_element_class_init):
9812         Fix pad-added and pad-removed signal signatures so that the pad type is
9813         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9814
9815 2007-03-19  Wim Taymans  <wim@fluendo.com>
9816
9817         * docs/gst/gstreamer-sections.txt:
9818         Add new element field and method.
9819
9820         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9821         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9822         (gst_bin_recalc_state), (gst_bin_get_state_func),
9823         (gst_bin_element_set_state), (gst_bin_change_state_func),
9824         (gst_bin_continue_func), (bin_bus_handler),
9825         (bin_push_state_continue), (bin_handle_async_start),
9826         (bin_handle_async_done), (gst_bin_handle_message_func):
9827         Make async state changes a bit smarter by using new ASYNC_START and
9828         ASYNC_DONE messages. This reduces the number of times we run the state
9829         recalculation thread.
9830         Don't change state of element with a pending ASYNC_START message.
9831         Deprecate STATE_DIRTY messages.
9832         
9833         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9834         (gst_element_get_state_func), (gst_element_continue_state),
9835         (gst_element_lost_state), (gst_element_set_state_func),
9836         (gst_element_change_state):
9837         * gst/gstelement.h:
9838         Keep the state that was last set by the app in a new element field.
9839         Don't allow state changes when handling an element event.
9840         Post ASYNC_START and ASYNC_DONE messages.
9841         Change lost_state so that we go to PAUSED and wait for the parent to set
9842         us to PLAYING again (so latency calculation can be performed)
9843         Export gst_element_change_state() method so that subclasses can use it.
9844         API: gst_element_change_state()
9845         API: GST_STATE_TARGET
9846
9847         * gst/gstpipeline.c: (gst_pipeline_class_init),
9848         (reset_stream_time), (gst_pipeline_change_state),
9849         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9850         Using the new ASYNC_START message we can reset the base_time when
9851         needed. This can then be used to implement base_time redistribution in
9852         flushing seeks so that we can remove the explicit seek handling.
9853         Perform latency query and configuration when going to PLAYING.
9854
9855         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9856         (gst_base_sink_query), (gst_base_sink_change_state):
9857         Post new ASYNC_START/ASYNC_DONE messages.
9858
9859         * tests/check/generic/sinks.c: (GST_START_TEST):
9860         Fix test because the bin will not set the async element to PLAYING right
9861         away.
9862
9863         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9864         Make the message check a little stronger.
9865         Handle ASYNC messages.
9866
9867         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9868         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9869         Expect ASYNC_DONE messages.
9870
9871 2007-03-19  Wim Taymans  <wim@fluendo.com>
9872
9873         * docs/gst/gstreamer-sections.txt:
9874         * gst/gstmessage.c: (gst_message_new_async_start),
9875         (gst_message_new_async_done), (gst_message_parse_info),
9876         (gst_message_parse_async_start):
9877         * gst/gstmessage.h:
9878         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9879         support.
9880
9881 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
9882
9883         * tools/gst-inspect.c:
9884         (print_plugin_automatic_install_info_codecs):
9885           Now that we don't check for the 'Codec' keyword any longer in the
9886           klass, we shouldn't spew a warning if the klass isn't a decoder or
9887           encoder (since it might be a Source/Network, for example).
9888
9889 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
9890
9891         * tools/gst-inspect.c:
9892         (print_plugin_automatic_install_info_codecs):
9893           Don't require decoder/demuxer/depayloader elements or
9894           encoder/muxer/paylader elements to have 'Codec' as part of their
9895           factory class string when introspecting a plugin's capabilities.
9896           draft-klass.txt mentions that it might be removed in future, and
9897           flump3dec doesn't have it as part of its class string, so chances
9898           are others might also not have it.
9899
9900 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9901
9902         * po/af.po:
9903         * po/az.po:
9904         * po/bg.po:
9905         * po/ca.po:
9906         * po/cs.po:
9907         * po/de.po:
9908         * po/en_GB.po:
9909         * po/fr.po:
9910         * po/it.po:
9911         * po/nb.po:
9912         * po/nl.po:
9913         * po/ru.po:
9914         * po/sq.po:
9915         * po/sr.po:
9916         * po/sv.po:
9917         * po/tr.po:
9918         * po/uk.po:
9919         * po/vi.po:
9920         * po/zh_CN.po:
9921         * po/zh_TW.po:
9922           Update translations from translation project
9923
9924 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
9925
9926         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9927         (gst_child_proxy_set_property):
9928           Invert precondition check to be alike the ones in the mimiced gobject
9929           api.
9930
9931 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
9932
9933         * docs/design/draft-tagreading.txt:
9934         * docs/random/ensonic/audiobaseclasses.txt:
9935           Do some Architect work.
9936
9937         * gst/gstobject.c: (gst_object_set_name):
9938           Add a WARNING.
9939
9940         * gst/gstpad.c:
9941           Add docs that point from gst_pad_get_range to gst_pad_pull_range
9942
9943 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
9944
9945         * gst/gstsystemclock.c: (gst_system_clock_init),
9946         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9947         Defer starting the async system clock thread until the first async
9948         wait is scheduled. Fixes #414986.
9949
9950 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
9951
9952         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9953         (gst_single_queue_free):
9954           Fix small leak (free GstSingleQueue structure too, not only contents).
9955
9956 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
9957
9958         * gst/gstbin.c:(gst_bin_add):
9959         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9960         * win32/common/libgstbase.def:
9961         * win32/common/libgstreamer.def:
9962         Add new exported functions.
9963
9964 2007-03-09  Wim Taymans  <wim@fluendo.com>
9965
9966         * docs/plugins/gstreamer-plugins-sections.txt:
9967         Fix GstTee docs.
9968
9969 2007-03-09  Wim Taymans  <wim@fluendo.com>
9970
9971         * docs/gst/gstreamer-sections.txt:
9972         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9973         * gst/gstbuffer.h:
9974         Add metadata copy functions. Fixes #393099.
9975         API: gst_buffer_copy_metadata()
9976
9977         * gst/gstutils.c: (gst_buffer_stamp):
9978         * libs/gst/base/gstbasetransform.c:
9979         (gst_base_transform_prepare_output_buffer):
9980         Use new metadata copy functions.
9981
9982 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9983
9984         * plugins/elements/gstidentity.c: (gst_identity_class_init),
9985         (gst_identity_init), (gst_identity_check_perfect),
9986         (gst_identity_check_imperfect_timestamp),
9987         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9988         (gst_identity_set_property), (gst_identity_get_property):
9989         * plugins/elements/gstidentity.h:
9990         Separate out check-imperfect-timestamp and check-imperfect-offset.
9991         Put back check-perfect as it was to keep compatibility.
9992
9993 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
9994
9995         * gst/gstelement.c: (gst_element_dispose):
9996         There's no need to warn if VOID_PENDING is not NONE here, as
9997         long as the state is NULL it's ok, and that's checked immediately
9998         above.
9999
10000 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10001
10002         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
10003         Fix check for perfect stream to ignore buffers with -1 
10004         offsets/offset ends when checking data contiguity.
10005
10006 2007-03-08  Wim Taymans  <wim@fluendo.com>
10007
10008         * tools/gst-launch.c: (event_loop):
10009         Print INFO messages.
10010
10011 2007-03-08  Wim Taymans  <wim@fluendo.com>
10012
10013         * libs/gst/base/gstbasetransform.c:
10014         (gst_base_transform_sink_eventfunc),
10015         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
10016         (gst_base_transform_activate):
10017         * libs/gst/base/gstbasetransform.h:
10018         Add support for dropping buffers with custom GstFlowReturn.
10019         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
10020         buffers or dropped buffers.
10021
10022         * docs/libs/gstreamer-libs-sections.txt:
10023         docs for new custom return code.
10024
10025         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10026         Use drop support in base class to implement drop-probability.
10027
10028 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
10029
10030         * gst/gst.c: (load_plugin_func):
10031         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
10032         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10033         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
10034           Remove newlines at end of debug log strings.
10035
10036 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10037
10038         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
10039         Only post bus message at max, once per buffer received.
10040
10041 2007-03-07  Wim Taymans  <wim@fluendo.com>
10042
10043         * docs/design/Makefile.am:
10044         * docs/design/part-synchronisation.txt:
10045         Add doc about synchronisation
10046
10047         * docs/design/draft-latency.txt:
10048         * docs/design/part-TODO.txt:
10049         * docs/design/part-clocks.txt:
10050         * docs/design/part-events.txt:
10051         * docs/design/part-gstbus.txt:
10052         * docs/design/part-gstpipeline.txt:
10053         * docs/design/part-live-source.txt:
10054         * docs/design/part-messages.txt:
10055         * docs/design/part-overview.txt:
10056         * docs/design/part-streams.txt:
10057         * docs/design/part-trickmodes.txt:
10058         Documentation updates.
10059
10060 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
10061
10062         * gstreamer.doap:
10063         Update the doap file.
10064
10065 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10066
10067         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
10068         Rename non-perfect to imperfect for Mike and for the sanctity of the
10069         language.
10070         Also make sure bus message gets emitted for data-incontiguities.
10071
10072 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10073
10074         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
10075         (gst_identity_start):
10076         * plugins/elements/gstidentity.h:
10077         Emit bus message if check-perfect is true and we encounter a
10078         non-perfect stream between 2 consecutive buffers.
10079         Fixes #415394.
10080
10081 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
10082
10083         * configure.ac:
10084         Back to CVS
10085
10086 === release 0.10.12 ===
10087
10088 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
10089
10090         * configure.ac:
10091           releasing 0.10.12, "Inevitable Demise"
10092
10093 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
10094
10095         * configure.ac:
10096          Version 0.10.11.2 (0.10.12 pre-release)
10097          Bump libtool versioning.
10098
10099 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
10100
10101         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
10102           Log flow-names and not numbers.
10103
10104 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10105
10106         * configure.ac:
10107           Convert to new AG_GST style.
10108
10109 2007-02-28  Wim Taymans  <wim@fluendo.com>
10110
10111         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
10112         Don't unref query twice.
10113
10114 2007-02-28  Wim Taymans  <wim@fluendo.com>
10115
10116         * gst/gstvalue.c: (gst_value_transform_object_string),
10117         (_gst_value_initialize):
10118         Implement GstObject -> string transform so we print object names
10119         when serializing GValues containing GstObjects.
10120
10121 2007-02-28  Wim Taymans  <wim@fluendo.com>
10122
10123         * docs/gst/gstreamer-sections.txt:
10124         Add new stuff to docs.
10125
10126 2007-02-28  Wim Taymans  <wim@fluendo.com>
10127
10128         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
10129         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
10130         (gst_base_sink_change_state):
10131         Improve latency query code.
10132         Don't leak latency events.
10133
10134         * tests/check/gst/gstbin.c: (GST_START_TEST):
10135         Improve debugging.
10136
10137 2007-02-28  Wim Taymans  <wim@fluendo.com>
10138
10139         * gst/gstelement.c: (gst_element_message_full),
10140         (gst_element_get_state_func):
10141         * gst/gstelement.h:
10142         Improve docs a little. Added Since: for new macro.
10143
10144         * gst/gstobject.c: (gst_object_sink):
10145         * gst/gstpipeline.c: (gst_pipeline_change_state),
10146         (gst_pipeline_set_new_stream_time):
10147         * gst/gstpipeline.h:
10148         Improve debugging and docs.
10149
10150         * gst/gstutils.c: (gst_element_state_change_return_get_name):
10151         Improve debugging.
10152
10153 2007-02-28  Wim Taymans  <wim@fluendo.com>
10154
10155         * gst/gstelement.c: (gst_element_message_full),
10156         (gst_element_set_locked_state), (gst_element_get_state_func),
10157         (gst_element_change_state):
10158         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
10159         Documentation updates.
10160         Small code cleanups.
10161
10162         * gst/gstmessage.c: (gst_message_new_info),
10163         (gst_message_parse_info):
10164         * gst/gstmessage.h:
10165         API: gst_message_new_info()
10166         API: gst_message_parse_info()
10167         Add INFO message create and parse code.
10168
10169 2007-02-28  Wim Taymans  <wim@fluendo.com>
10170
10171         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
10172         (bin_query_latency_done):
10173         Also report the live parameter of a latency query.
10174
10175 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10176
10177         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
10178           Copy the current generic/states example from -base and adapt so
10179           we can use the exact same code everywhere.
10180           Check a STATES_IGNORE_ELEMENTS env var which can be used
10181           to ignore certain element factories for this test, which is
10182           what is being done in -base
10183         * tests/check/Makefile.am:
10184           Mention this environment variable.
10185
10186 2007-02-27  Wim Taymans  <wim@fluendo.com>
10187
10188         * docs/gst/gstreamer-sections.txt:
10189         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10190         (gst_bus_timed_pop), (gst_bus_pop):
10191         * gst/gstbus.h:
10192         API: gst_bus_timed_pop()
10193         Implement gst_bus_timed_pop() to do a blocking timed wait for a
10194         message to arrive on the bus.
10195
10196         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
10197         (gst_bus_suite):
10198         Two unit tests for new _timed_pop() function.
10199
10200 2007-02-23  Wim Taymans  <wim@fluendo.com>
10201
10202         * gst/gstpipeline.c: (gst_pipeline_change_state),
10203         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
10204         Don't ref a NULL clock in _provide_clock_func().
10205         Don't allow an INVALID delay.
10206         Don't try to calculate base_time with an invalid start_time.
10207         Also distribute and notify a NULL clock when it was selected.
10208
10209         * tools/gst-launch.c: (event_loop):
10210         Don't crash when a NULL clock was selected in the pipeline.
10211
10212 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
10213
10214         * docs/design/Makefile.am:
10215         * docs/design/draft-missing-plugins.txt:
10216         * docs/random/draft-missing-plugins.txt:
10217           Some small updates: update plugin system identifier prefix
10218           ('gstreamer.net' to 'gstreamer'), mention our new install
10219           API in libgstbaseutils rather than libgimme-codec, add
10220           reference to the online docs.
10221
10222 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10223
10224         * win32/common/config.h:
10225           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
10226           use moap cl ci to only check in what is mentioned in the ChangeLog.
10227
10228 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10229
10230         * docs/gst/gstreamer-sections.txt:
10231         * gst/gstelement.h:
10232           Fix up documentation to link to the correct GstGError section.
10233           Add GST_ELEMENT_INFO macro since someone else added a Info message.
10234
10235 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10236
10237         * tools/gst-launch.c: (event_loop):
10238           Make sure that we actually show the important message part of a
10239           warning message.
10240           No need to check if the gerror is not NULL to free; first of all
10241           g_free accepts NULL; and second the default error handler would
10242           segfault if gerror was NULL.
10243
10244 2007-02-21  Wim Taymans  <wim@fluendo.com>
10245
10246         * docs/gst/gstreamer-sections.txt:
10247         Removed docs as well.
10248
10249 2007-02-21  Wim Taymans  <wim@fluendo.com>
10250
10251         * gst/gstmessage.c: (gst_message_parse_duration):
10252         * gst/gstmessage.h:
10253         Remove new messages for release.
10254
10255 2007-02-20  Wim Taymans  <wim@fluendo.com>
10256
10257         * docs/design/part-gstghostpad.txt:
10258         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
10259         (gst_ghost_pad_new_full):
10260         Make the ghostpad a parent of the internal pad again for better backward
10261         compatibility. Don't write code that relies on this however.
10262
10263         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
10264         (gst_pad_link_check_hierarchy):
10265         Require that parents should be GstElements in the hierarchy check.
10266
10267 2007-02-20  Wim Taymans  <wim@fluendo.com>
10268
10269         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
10270         (gst_bin_change_state_func), (bin_query_min_max_init),
10271         (bin_query_latency_fold), (bin_query_latency_done),
10272         (gst_bin_query):
10273         Improve debug info.
10274         Implement latency query.
10275
10276 2007-02-20  Wim Taymans  <wim@fluendo.com>
10277
10278         * docs/design/part-gstghostpad.txt:
10279         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
10280         (gst_ghost_pad_internal_do_activate_push),
10281         (gst_ghost_pad_internal_do_activate_pull),
10282         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10283         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
10284         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
10285         Do not set the internal pad as a parent anymore so we can avoid
10286         hierarchy linking errors when the ghostpad has no parent yet. This also
10287         fixes failed activation because of unlinked internal pads, which in
10288         turn fixes the impossible case where you have to activate a pad before
10289         you can add it to a running element.
10290         Also fix the docs.
10291
10292         * gst/gstpad.c: (pre_activate), (post_activate),
10293         (gst_pad_set_active), (gst_pad_activate_pull),
10294         (gst_pad_activate_push), (gst_pad_check_pull_range):
10295         Add some more debug info.
10296         Mark activation mode in pre_activate so that we don't try to activate in
10297         endless loops. Fixes #385084.
10298
10299 2007-02-19  Wim Taymans  <wim@fluendo.com>
10300
10301         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
10302         (gst_base_transform_check_get_range):
10303         Implement a checkgetrange function instead of relying on the default
10304         core behaviour that assumes we can operate in pull mode if we have a
10305         getrange function. First step at fixing #385084.
10306
10307 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
10308
10309         * gst/gstchildproxy.h:
10310         * libs/gst/base/gstbasesink.h:
10311         * libs/gst/base/gstbasesrc.h:
10312         * libs/gst/base/gstbasetransform.h:
10313         More docs coverage and some ChangeLog surgery (add missing names)
10314
10315 2007-02-15  Wim Taymans  <wim@fluendo.com>
10316
10317         * docs/design/part-TODO.txt:
10318         * docs/design/part-activation.txt:
10319         * docs/design/part-block.txt:
10320         * docs/design/part-buffering.txt:
10321         * docs/design/part-clocks.txt:
10322         * docs/design/part-element-source.txt:
10323         * docs/design/part-events.txt:
10324         * docs/design/part-gstbin.txt:
10325         * docs/design/part-gstbus.txt:
10326         * docs/design/part-gstpipeline.txt:
10327         * docs/design/part-live-source.txt:
10328         * docs/design/part-messages.txt:
10329         * docs/design/part-overview.txt:
10330         * docs/design/part-qos.txt:
10331         * docs/design/part-query.txt:
10332         * docs/design/part-states.txt:
10333         * docs/design/part-trickmodes.txt:
10334         Some doc updates. Start renaming from stream_time to running_time where
10335         it was used wrongly.
10336
10337 2007-02-15  Wim Taymans  <wim@fluendo.com>
10338
10339         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
10340         Answer LATENCY query.
10341
10342 2007-02-15  Wim Taymans  <wim@fluendo.com>
10343
10344         * tests/check/gst/gstevent.c: (event_probe), (test_event),
10345         (GST_START_TEST):
10346         Improve debugging.
10347
10348 2007-02-15  Wim Taymans  <wim@fluendo.com>
10349
10350         * gst/gstpad.c: (gst_pad_get_internal_links_default),
10351         (gst_pad_dispatcher):
10352         Improve debugging of default pad dispatcher and query functions.
10353
10354 2007-02-15  Wim Taymans  <wim@fluendo.com>
10355
10356         * docs/gst/gstreamer-sections.txt:
10357         Remove old unused method.
10358
10359 2007-02-13  Wim Taymans  <wim@fluendo.com>
10360
10361         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10362         Fix check
10363
10364 2007-02-13  Wim Taymans  <wim@fluendo.com>
10365
10366         * docs/design/part-seeking.txt:
10367         Some small update.
10368
10369         * gst/gstsegment.c: (gst_segment_set_seek):
10370         Revert old bogus change that should make seeking work again.
10371
10372 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10373
10374         * docs/random/ensonic/dynlink.txt:
10375         * docs/random/ensonic/interfaces.txt:
10376         * docs/random/ensonic/receipies.txt:
10377           Possible dynamic reconnection api, plus some type fixes the other two
10378           docs.
10379
10380 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
10381
10382         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10383         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10384         Also check for an absolute path following file:// in the filesrc
10385         element. Remove redundant check and call g_path_is_absolute() on the
10386         unescaped location.
10387
10388 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10389
10390         * docs/design/draft-klass.txt:
10391           Add existing category analysis.
10392           
10393         * gst/gstcaps.c:
10394           Fix doc example, framerate is a fraction.
10395
10396 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10397
10398         * configure.ac:
10399         * docs/gst/Makefile.am:
10400         * docs/gst/gstreamer-sections.txt:
10401         * docs/libs/Makefile.am:
10402           Erm, forgot a bunch of --extra-dir.
10403
10404 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10405
10406         * configure.ac:
10407         * docs/gst/Makefile.am:
10408         * docs/libs/Makefile.am:
10409         * docs/plugins/Makefile.am:
10410           Add crossreferences to glib/gobject docs.
10411
10412 2007-02-12  Wim Taymans  <wim@fluendo.com>
10413
10414         * docs/design/draft-latency.txt:
10415         Small update.
10416
10417         * docs/libs/gstreamer-libs-sections.txt:
10418         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10419         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
10420         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
10421         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
10422         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
10423         (gst_base_sink_get_position), (gst_base_sink_query),
10424         (gst_base_sink_change_state):
10425         * libs/gst/base/gstbasesink.h:
10426         API: gst_base_sink_query_latency() to let subclasses query the upstream
10427         latency.
10428         API: gst_base_sink_get_latency() to let subclasses query the configured
10429         latency in the sink.
10430         Implement query and set latency.
10431         Update some docs.
10432         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
10433         don't continue preroll when we are flushing. Fixes #405284.
10434
10435         * tests/check/pipelines/stress.c: (change_state_timeout),
10436         (quit_timeout), (GST_START_TEST), (stress_suite):
10437         Test for #405284.
10438
10439 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
10440
10441         Patch by: René Stadler <mail at renestadler de>
10442
10443         * docs/gst/gstreamer-sections.txt:
10444         * gst/gsttaglist.c: (_gst_tag_initialize):
10445         * gst/gsttaglist.h:
10446           API: add GST_TAG_REFERENCE_LEVEL (#403597).
10447
10448 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
10449
10450         * docs/libs/Makefile.am:
10451           Fix path to core docs.
10452
10453         * gst/gstbin.c: (gst_bin_get_by_interface),
10454         (gst_bin_iterate_all_by_interface):
10455           Refix docs by also renaming 'interface' to 'iface' in implementation.
10456
10457         * docs/gst/gstreamer-sections.txt:
10458         * gst/gstcaps.c:
10459         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
10460         * gst/gstchildproxy.h:
10461         * gst/gstelementfactory.c:
10462         * gst/gstpadtemplate.h:
10463         * libs/gst/controller/gstcontroller.c:
10464         (gst_controlled_property_new):
10465           Document more.
10466
10467 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
10468
10469         * gst/gstbin.h:(gst_bin_get_by_interface),
10470         (gst_bin_iterate_all_by_interface):
10471         Replace interface parameter name by iface as interface is 
10472         a reserved keyword in Visual Studio for C++ projects so it removes
10473         a build error for application developpers using VS.
10474         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
10475         Fix a bug on Windows in uri format check. Now the prefix checked
10476         is file:// and next we check if the path after file:// is absolute.
10477         * win32/common/libgstbase.def:
10478         * win32/common/libgstdataprotocol.def:
10479         * win32/common/libgstgstreamer.def:
10480         Add new exported functions.
10481
10482 2007-02-09  Andy Wingo  <wingo@pobox.com>
10483
10484         * tests/check/pipelines/simple-launch-lines.c
10485         (simple_launch_lines_suite, test_tee): Disable tee test until I
10486         have time to fix it :-(
10487
10488         * tests/check/Makefile.am (noinst_HEADERS): 
10489         * tests/check/libs/libsabi.c: 
10490         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
10491         * tests/check/gst/gstabi.c: 
10492         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
10493
10494         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
10495         tests for push and pull tee behavior.
10496
10497         * plugins/elements/gsttee.h: 
10498         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
10499         mark as deprecated as well as unimplemented. It was a crack idea.
10500         Add support for tee operating in pull mode, off by default.
10501
10502         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
10503         normal-case logs down to LOG, raise errors to WARNING.
10504         (gst_registry_xml_read_cache): Don't log before calling a function
10505         that logs.
10506
10507         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
10508         exit (registry finalize).
10509         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
10510         DEBUG log when we emit signals that people don't even have the
10511         chance to connect to.
10512         (gst_registry_scan_path_level): Less logging in the normal case.
10513
10514 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10515
10516         Patch by: Michal Benes <michal dot benes at itonis dot tv>
10517
10518         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10519         Correctly generate EOS for non-seekable files. We don't have a total
10520         length for them and would get an unexpected end of file if we only
10521         special-cased for regular files. (Fixes: #404569)
10522
10523 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10524
10525         * tests/check/elements/filesrc.c: (GST_START_TEST),
10526         (filesrc_suite):
10527         Add unit test for the GstURIHandler interface in filesrc. This also
10528         tests the newly added file://localhost/foo/bar support.
10529
10530 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
10531
10532         * gst/gstelementfactory.h:
10533           The klass string is not a hierarchy. Add reference to the design doc
10534           for more information and common types.
10535
10536 2007-02-02  Wim Taymans  <wim@fluendo.com>
10537
10538         * gst/gstquery.c: (gst_query_new_latency):
10539         Remove old structure field.
10540
10541 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
10542
10543         * tools/gst-launch.1.in:
10544           Give example for network streaming (#351998)
10545
10546 2007-02-02  Wim Taymans  <wim@fluendo.com>
10547
10548         * docs/gst/gstreamer-sections.txt:
10549         Add docs for new methods.
10550
10551         * gst/gstevent.c: (gst_event_new_latency),
10552         (gst_event_parse_latency):
10553         * gst/gstevent.h:
10554         Add new LATENCY event to configure latency in a pipeline.
10555         API: gst_event_new_latency
10556         API: gst_event_parse_latency
10557
10558         * gst/gstmessage.c: (gst_message_new_buffering),
10559         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10560         (gst_message_new_latency), (gst_message_parse_buffering),
10561         (gst_message_parse_lost_preroll):
10562         * gst/gstmessage.h:
10563         Added messages used in draft-latency.
10564         API: gst_message_new_lost_preroll
10565         API: gst_message_parse_lost_preroll
10566         API: gst_message_new_prerolled
10567         API: gst_message_new_latency
10568
10569         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10570         (gst_query_parse_latency):
10571         * gst/gstquery.h:
10572         Implemented new latency query as in design doc.
10573         API: gst_query_new_latency
10574         API: gst_query_set_latency
10575         API: gst_query_parse_latency
10576
10577 2007-02-02  Wim Taymans  <wim@fluendo.com>
10578
10579         * docs/design/draft-latency.txt:
10580         Slight redesign to allow for dynamic latency adjustments.
10581
10582         * docs/design/part-negotiation.txt:
10583         Fix some typos.
10584
10585 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
10586
10587         reviewed by: Wim Taymans <wim@fluendo.com>
10588
10589         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10590         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10591         Allow file://localhost/foo/bar URLs and correctly fail for every other
10592         hostname that one sets. This was gnomevfssrc is linked for those if
10593         installed as it can handle it (#403172)
10594
10595 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10596
10597         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10598
10599         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10600         (unref_data), (gst_collect_pads_add_pad_full):
10601         * libs/gst/base/gstcollectpads.h:
10602         Don't put the previously added destroy notify in the GstCollectData
10603         struct as all it's padding is already used and we don't want to break
10604         ABI. Instead put in the pad's GObject data for now. This should be
10605         cleaned up for 0.11 (#402393).
10606
10607 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10608
10609         reviewed by: Wim Taymans <wim@fluendo.com>
10610
10611         * docs/libs/gstreamer-libs-sections.txt:
10612         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10613         (unref_data), (gst_collect_pads_add_pad),
10614         (gst_collect_pads_add_pad_full):
10615         * libs/gst/base/gstcollectpads.h:
10616         API: Add function to specify a destroy notification for custom
10617         GstCollectData when adding new pads in GstCollectPads (#402393).
10618
10619 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
10620
10621         * po/sv.po:
10622           Update Swedish translation (#378255).
10623
10624 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10625
10626         * docs/design/draft-klass.txt:
10627           Fix the previous change, this is a list of categories and not a hierarchy.
10628
10629 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10630
10631         * docs/design/draft-klass.txt:
10632           Add info about how to get a list of used classes.
10633
10634 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
10635
10636         * plugins/elements/gsttypefindelement.c:
10637         (gst_type_find_element_chain_do_typefinding),
10638         (gst_type_find_element_change_state):
10639           Don't leak found caps in chain function (no idea why that never
10640           showed up as a leak anywhere).
10641
10642 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
10643
10644         * gst/gstplugin.h:
10645           Fix and expand GstPluginDesc API docs.
10646
10647 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10648
10649         * gst/gstcaps.c:
10650         * gst/gstelementfactory.c:
10651         * gst/gstpadtemplate.h:
10652           api doc fixes
10653
10654         * libs/gst/controller/gstcontroller.c:
10655         (gst_controlled_property_new):
10656         * tests/examples/controller/audio-example.c:
10657           comment fixes
10658
10659 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10660
10661         * configure.ac:
10662           comment about refining the xml deps
10663
10664         * docs/manuals.mak:
10665           comments about moving away from jade for docs
10666         
10667         * gst/gst.c:
10668           recommit the ifdefs to use the binary registry
10669         
10670         * gst/gstbin.c: (gst_bin_change_state_func):
10671           this break is obsolete
10672
10673         * gst/gstelementfactory.h:
10674           better GST_ELEMENT_DETAILS docs, add comment about translation
10675
10676         * gst/gstinfo.h:
10677           remove eol slash
10678
10679         * gst/gstobject.c: (gst_signal_object_get_type):
10680           add G_UNLIKELY as usual
10681
10682         * gst/gstpad.c: (gst_pad_event_default):
10683           add fall trhu comment
10684
10685         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10686         (gst_registry_binary_initialize_magic),
10687         (gst_registry_binary_save_string),
10688         (gst_registry_binary_save_pad_template),
10689         (gst_registry_binary_save_feature),
10690         (gst_registry_binary_save_plugin),
10691         (gst_registry_binary_write_cache),
10692         (gst_registry_binary_check_magic),
10693         (gst_registry_binary_load_pad_template),
10694         (gst_registry_binary_load_feature),
10695         (gst_registry_binary_load_plugin),
10696         (gst_registry_binary_read_cache):
10697           comment typo and formatting
10698
10699         * gst/gstutils.c: (gst_element_state_get_name),
10700         (gst_element_state_change_return_get_name):
10701           remove obsolete breaks
10702
10703         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10704           add FIXME 0.11 and remove cpp comment
10705
10706 2007-01-29  Edward Hervey  <edward@fluendo.com>
10707
10708         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10709         Fix print statement in an even more portable way.
10710
10711 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
10712
10713         * docs/gst/gstreamer-sections.txt:
10714         * gst/gstutils.h:
10715           API: add GST_ROUND_DOWN_* macros (#401781).
10716
10717 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
10718
10719         * docs/gst/gstreamer.types.in:
10720         * gst/gstregistry.c: (gst_registry_class_init):
10721           Document registry signals and make gtk-doc pick them up (#401381).
10722
10723 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10724
10725         * docs/pwg/building-testapp.xml:
10726           Add some audioconverts and audioresample to the pipeline, and some
10727           more comments and error handling.
10728
10729 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10730
10731         * docs/manual/manual.xml:
10732         * docs/pwg/pwg.xml:
10733           Fix typo (#400987).
10734
10735 2007-01-26  Wim Taymans  <wim@fluendo.com>
10736
10737         * gst/gstcaps.c: (gst_static_caps_get):
10738         Init caps flags too.
10739
10740 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
10741
10742         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10743
10744         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10745         If not using mmap'ed files try to seek to the end instead of the
10746         start to determine whether we can seek at all. This fixes the case
10747         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10748         seeks for everything afterwards fail. Fixes #400656
10749
10750 2007-01-25  Wim Taymans  <wim@fluendo.com>
10751
10752         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10753         Add some refcount debugging.
10754         Make gst_static_caps_get threadsafe, which is needed when autoplugging
10755         in multiple streaming threads.
10756
10757 2007-01-25  Wim Taymans  <wim@fluendo.com>
10758
10759         Patch by: David Schleef <ds at schleef dot org>
10760
10761         * docs/libs/gstreamer-libs-sections.txt:
10762         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10763         * libs/gst/base/gstadapter.h:
10764         API: gst_adapter_copy() that can reduce the amount of memcpy when
10765         getting data from the adapter. Fixes #388201.
10766
10767 2007-01-25  Edward Hervey  <edward@fluendo.com>
10768
10769         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10770         In print statements, "%x" is for guint. Fixes build on macosx.
10771
10772 2007-01-24  Edward Hervey  <edward@fluendo.com>
10773
10774         * plugins/elements/gstmultiqueue.c:
10775         (gst_multi_queue_loop):
10776         Small fix.
10777         (single_queue_overrun_cb), (single_queue_underrun_cb),
10778         (single_queue_check_full), (gst_single_queue_new):
10779         Implement single queue growth system.
10780         This uses the extra-size properties, and will grow single queues by
10781         that much if one goes full whereas there are others empty. This is
10782         called extra-mode in the code.
10783         When a single queue's levels go back below the initial max-size
10784         limits, it is no longer in extra-mode. This is to ensure we don't
10785         consume too much memory.
10786         Fixes #399875
10787
10788 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
10789
10790         * gst/gst.c: (gst_init_get_option_group):
10791           Make warning about late g_thread_init() calls a bit more explicit,
10792           so that it's more obvious to application developers what they need
10793           to do if a user files a bug against their application.
10794
10795 2007-01-22  Edward Hervey  <edward@fluendo.com>
10796
10797         * plugins/elements/gstmultiqueue.c:
10798         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10799         Remove previous hack of unsetting the flushing flag for the source pad
10800         instead of activating it. Instead, fix the source pad activate function
10801         so that it no longer depends on having a parent set or not.
10802
10803 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
10804
10805         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10806
10807         * docs/manual/basics-bus.xml:
10808           Fix example code, gst_element_unref() doesn't exist any longer.
10809
10810 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
10811
10812         Patch by: Mark Nauwelaerts <manauw at skynet be>
10813
10814         * gst/gstpad.c:
10815           Fix two docs typoes (#399094).
10816
10817 2007-01-19  Edward Hervey  <edward@fluendo.com>
10818
10819         * docs/faq/gst-uninstalled:
10820         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10821         depending on libgstbaseutils can work in uninstalled environment.
10822
10823 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
10824
10825         * gst/gsttaglist.h:
10826         * gst/gsttagsetter.c:
10827         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10828         statement for new tag.
10829
10830 2007-01-17  Edward Hervey  <edward@fluendo.com>
10831
10832         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10833         When dynamically creating single queues, activate sinkpad before adding
10834         it.
10835         We should be doing the same thing for the source pad, but we can't
10836         since it would call a method which needs the parent to be set in order
10837         to work propertly. Instead of activating the source pad, we just unset
10838         the flushing flag, which is the minimal requirement for adding a pad
10839         to an element in a state greater than READY.
10840
10841 2007-01-17  Edward Hervey  <edward@fluendo.com>
10842
10843         * docs/faq/gst-uninstalled:
10844         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10845         Mac OS X.
10846
10847 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
10848
10849         * tests/check/gst/gstabi.c:
10850         * tests/check/gst/struct_hppa.h:
10851         * tests/check/libs/libsabi.c:
10852         * tests/check/libs/struct_hppa.h:
10853           Add ABI structs for HPPA (see #393796).
10854
10855 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
10856
10857         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10858           Actually write ABI structs to the file specified in the GST_ABI
10859           environment variable, as the message we print claims we would.
10860
10861 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10862
10863         * tests/check/gst/gsttask.c:
10864           Fix header comment.
10865
10866 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10867
10868         * gst/gsttaglist.c: (_gst_tag_initialize):
10869           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10870           previous two entries.
10871
10872 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10873
10874         * docs/gst/gstreamer-sections.txt:
10875         * gst/gsttaglist.c: (_gst_tag_initialize):
10876         * gst/gsttaglist.h:
10877           Add tag support for beat-per-minute.
10878
10879 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10880
10881         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10882         (gst_registry_binary_initialize_magic),
10883         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10884         (gst_registry_binary_save_pad_template),
10885         (gst_registry_binary_save_feature),
10886         (gst_registry_binary_save_plugin),
10887         (gst_registry_binary_write_cache),
10888         (gst_registry_binary_check_magic),
10889         (gst_registry_binary_load_pad_template),
10890         (gst_registry_binary_load_feature),
10891         (gst_registry_binary_load_plugin),
10892         (gst_registry_binary_read_cache):
10893         * gst/gstregistrybinary.h:
10894           Use glib types, cleanup comments, impement interfaces and uri-types.
10895
10896 2007-01-13  Andy Wingo  <wingo@pobox.com>
10897
10898         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10899         getrange() to return buffers with other caps, while we fix
10900         demuxers and typefind, or otherwise change part-negotiation.txt.
10901
10902 2007-01-12  Andy Wingo  <wingo@pobox.com>
10903
10904         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10905         Factor start/stop into this private function instead of partially
10906         in activate functions and partially in the change_state function.
10907         Fixes setup before the element has changed from READY->PAUSED, as
10908         is the case in pull-mode pipelines.
10909         (gst_base_transform_sink_activate_push)
10910         (gst_base_transform_src_activate_pull): Refactor to use
10911         gst_base_transform_activate().
10912         (gst_base_transform_change_state): Removed, not needed any more.
10913
10914         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10915         Truncate before fixating.
10916         
10917         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10918         Don't set_caps() if the result of fixating is ANY, as it's not
10919         supported, and not necessary in the case of a link with no
10920         template caps on either side. Fixes tests/check/libs/basesrc in
10921         some pull-mode tests.
10922
10923         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10924         (gst_base_transform_init, gst_base_transform_sink_activate_push)
10925         (gst_base_transform_src_activate_pull): 
10926         Track the activation mode.
10927         (gst_base_transform_setcaps): In pull mode, when activating the
10928         src pad, after activating the sink pad, activate the sink pad's
10929         peer, as discussed in part-negotiation.txt.
10930
10931         * libs/gst/base/gstbasesrc.h: 
10932         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10933         vmethod, as in basesink.
10934
10935         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10936
10937         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10938         mode, first proxy the setcaps to the peer pad.
10939         (gst_base_sink_pad_fixate): Add a fixate function that calls the
10940         new fixate vmethod.
10941         (gst_base_sink_default_activate_pull): Rename from
10942         gst_base_sink_activate_pull.
10943         (gst_base_sink_negotiate_pull): New function, performs negotiation
10944         in pull mode before calling ::activate_pull().
10945         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10946         vmethod instead of the default implementation. I have no idea how
10947         this worked before. Negotiate before calling activate_pull.
10948
10949         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10950         sink pads in pull mode. In addition to being correct, fixes
10951         filesrc ! decodebin ! identity ! fakesink.
10952         (gst_pad_get_range, gst_pad_pull_range): Don't call
10953         gst_pad_set_caps() if the caps changes; instead error out with
10954         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10955
10956 2007-01-12  Andy Wingo  <wingo@pobox.com>
10957
10958         * docs/design/part-negotiation.txt: Update with more policy.
10959
10960 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10961
10962         * libs/gst/check/gstbufferstraw.h:
10963         * libs/gst/check/gstcheck.h:
10964           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10965           belongs.
10966
10967 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10968
10969         * tests/check/Makefile.am:
10970         * tests/check/gst/.cvsignore:
10971         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10972         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10973         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10974         (GST_START_TEST), (gst_tag_setter_suite):
10975           Add minimal unit test for beforementioned GstTagSetter bug.
10976
10977 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10978
10979         Patch by: René Stadler <mail at renestadler dot de>
10980
10981         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10982           gst_tag_list_merge() returns a new list, so it's not the best idea
10983           to ingore its return value. Effectively meant that tags could only
10984           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10985           Also add function guard to require a non-NULL taglist as input (has
10986           always been so due to gst_tag_list_copy(), just making it explicit).
10987
10988 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10989
10990         * docs/random/draft-missing-plugins.txt:
10991           Some additions: mention new API that is supposed to be used at the
10992           various stages; short blob about new gst-inspect introspection
10993           option; mention potential future problem with plugins that have
10994           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10995
10996 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10997
10998         * tools/gst-inspect.c:
10999         (print_plugin_automatic_install_info_codecs),
11000         (print_plugin_automatic_install_info_protocols),
11001         (print_plugin_automatic_install_info), (main):
11002         Add --print-plugin-auto-install-info option to gst-inspect, so we can
11003         introspect plugin files and get machine-parsable output that corresponds
11004         to the last bit of the missing-plugin installer string (small gotcha:
11005         doesn't take into account ranks).
11006
11007 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
11008
11009         * configure.ac:
11010         * docs/gst/gstreamer-sections.txt:
11011         * gst/Makefile.am:
11012         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
11013         (gst_registry_lookup_locked):
11014         * gst/gstregistry.h:
11015         * gst/gstregistrybinary.c: (gst_registry_binary_write),
11016         (gst_registry_binary_initialize_magic),
11017         (gst_registry_binary_save_string),
11018         (gst_registry_binary_save_pad_template),
11019         (gst_registry_binary_save_feature),
11020         (gst_registry_binary_save_plugin),
11021         (gst_registry_binary_write_cache),
11022         (gst_registry_binary_check_magic),
11023         (gst_registry_binary_load_pad_template),
11024         (gst_registry_binary_load_feature),
11025         (gst_registry_binary_load_plugin),
11026         (gst_registry_binary_read_cache):
11027         * gst/gstregistrybinary.h:
11028         * gst/gstregistryxml.c: (load_feature),
11029         (gst_registry_xml_read_cache):
11030           commit binary registry (disabled by default, see #359653)
11031
11032 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
11033
11034         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
11035           Fix 'make check' too.
11036
11037 2007-01-10  Andy Wingo  <wingo@pobox.com>
11038
11039         * docs/design/part-negotiation.txt: Fix a typo, add a couple
11040         notes.
11041         
11042         * docs/design/part-negotiation.txt: Update with, um, one way that
11043         pull-mode negotiation might work?
11044
11045         * gst/gstpad.h: 
11046         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
11047         that the pad must be a src pad; makes sense to call it the other
11048         way in pull mode, and the logic is symmetric anyway.
11049
11050 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
11051
11052         * plugins/elements/gstfilesink.c:
11053           Include <stdio.h> for fseeko().
11054
11055 2007-01-10  Wim Taymans  <wim@fluendo.com>
11056
11057         * gst/gstevent.c:
11058         * gst/gstevent.h:
11059         Reserve LATENCY event.
11060
11061 2007-01-09  Wim Taymans  <wim@fluendo.com>
11062
11063         * docs/design/draft-latency.txt:
11064         Updates.
11065
11066 2007-01-09  Wim Taymans  <wim@fluendo.com>
11067
11068         * docs/design/draft-latency.txt:
11069         Updates.
11070
11071         * gst/gstelement.h:
11072         * gst/gststructure.c:
11073         * gst/gsttrace.c:
11074         Small typo fixes.
11075
11076 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
11077
11078         * tests/check/.cvsignore:
11079           Ignore test-registry.xml as well.
11080
11081 2007-01-09  Wim Taymans  <wim@fluendo.com>
11082
11083         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
11084         unref data at the end when we are done with the pad.
11085
11086 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
11087
11088         * docs/gst/gstreamer-sections.txt:
11089         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
11090         (init_post), (gst_deinit), (gst_update_registry):
11091         * gst/gst.h:
11092           API: add gst_update_registry() (#391296).
11093
11094         * tests/check/Makefile.am:
11095         * tests/check/gst/gstregistry.c:
11096         * tests/check/gst/.cvsignore:
11097           Simple unit test for the above.
11098
11099 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
11100
11101         * gst/gstregistry.c: (gst_registry_scan_path_level):
11102           Plugin extension on HP-UX is .sl, add that to the list of approved
11103           plugin extensions (see #393796).
11104
11105         * tests/check/gst/gstpad.c: (GST_START_TEST):
11106           ulong => gulong. Fixes compilation with HP-UX compiler.
11107
11108         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
11109           Fix compilation if valgrind headers are not available.
11110
11111 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
11112
11113         * win32/common/libgstreamer.def: 
11114           Add new exported function.
11115         * win32/vs6/libgstbase.dsp: 
11116           Add gstdataqueue.c to the build.
11117         * win32/vs6/libgstcoreelements.dsp:
11118           Add gstmultiqueue.c to the build.
11119         
11120 2007-01-06  Andy Wingo  <wingo@pobox.com>
11121
11122         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
11123         activate_pull(), providing for a way to specialize the process of
11124         spawning a thread to pull on the sink pad. There is a default
11125         implementation.
11126
11127         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
11128         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
11129         (gst_base_sink_init): Renamed pad activation functions (inserting
11130         "_pad" in their names). Refactor to use the new activate_pull
11131         vmethod, as appropriate.
11132         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
11133         default activate_pull function to start a task pulling from the
11134         sink pad, as before.
11135
11136         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
11137         on the pads if necessary, as in push()/chain(). Update docs.
11138         Shouldn't affect existing pull() usage as it is currently only
11139         being used on buffers without caps.
11140
11141 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
11142
11143         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
11144         (init_pre):
11145           Call g_thread_init() first thing in gst_init() / gst_check_init().
11146           When initialisation is done via gst_init_get_option_group() and
11147           GOption parsing, issue a warning if the GLib thread system has not
11148           been initialised yet by the time gst_init_get_option_group() is
11149           called, as it's quite likely other GLib functions such as
11150           g_option_context_new() have been called already then, and
11151           g_thread_init() must be called before any other GLib function. The
11152           application in question must be fixed in that case, since memory
11153           corruption might happen otherwise.
11154           We issue the warning because even if the GLib folks decide to work
11155           around the problem on their end in future, this is still an issue
11156           with all GLib versions >= 2.10.0, so we should warn until we depend
11157           on a GLib version we know to be safe.
11158           Update documentation as well.
11159           Closes bug #391278.
11160
11161 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
11162
11163         * tools/gst-inspect.c: (main):
11164         * tools/gst-launch.c: (main):
11165         * tools/gst-typefind.c: (main):
11166         * tools/gst-xmlinspect.c: (main):
11167           Call g_thread_init() really really early, before any other GLib
11168           function (see #342564 and recent discussion on gtk-devel-list).
11169
11170 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
11171
11172         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
11173
11174         * gst/gst_private.h:
11175         * gst/gstconfig.h.in:
11176         * gst/gstinfo.h:
11177           On win32, all the __declspec stuff for symbol exporting is
11178           apparently only needed with MSVC, but doesn't work with MingW.
11179           Fixes compilation with MingW and #391909.
11180
11181 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
11182
11183         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
11184           Change some GST_ERROR_OBJECT that aren't really errors to
11185           GST_WARNING_OBJECT in order to reduce terminal spam.
11186
11187 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
11188
11189         * tests/check/Makefile.am:
11190           disable test again, as there seem to be still race problems
11191
11192 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
11193
11194         * tests/check/Makefile.am:
11195         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11196         (GST_START_TEST), (queue_suite):
11197           enable queue test again, add tests for the leaky behaviour
11198
11199 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
11200
11201         * configure.ac:
11202         * tests/examples/Makefile.am:
11203           Compile adapter test/example only if the required headers are
11204           available (fixes #391915).
11205
11206 2007-01-01  David Schleef  <ds@schleef.org>
11207
11208         * gst/gstplugin.c:
11209           Restore the previous signal handler for SIGSEGV instead of
11210           setting to default, since we may have stolen it away from
11211           someone.  (i.e., Mono)
11212
11213 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
11214
11215         * docs/random/draft-missing-plugins.txt:
11216           Some small additions and clarifications.
11217
11218 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
11219
11220         * gst/gstregistryxml.c: (gst_registry_save_escaped):
11221           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
11222           since that can lead to random memory corruptions and crashes
11223           (may or may not be related to #383244, #386711, and #386711).
11224
11225 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11226
11227         * tests/check/.cvsignore:
11228         * tests/check/Makefile.am:
11229           sync .cvsignome and CLEANFILES
11230
11231 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11232
11233         * tests/check/Makefile.am:
11234           fix distcheck
11235
11236 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11237
11238         * docs/design/part-states.txt:
11239           two tiny additional comments
11240         
11241         * gst/gststructure.c:
11242           doc fixing
11243
11244         * tests/check/Makefile.am:
11245         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11246         (GST_START_TEST):
11247           disable test for now, unless it gets fixed
11248
11249 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11250
11251         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11252         (GST_START_TEST):
11253           fix race in underrun test
11254
11255 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11256
11257         * tests/check/elements/.cvsignore:
11258           ignore more
11259
11260         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11261         (GST_START_TEST):
11262           try to narrow test failure
11263
11264 2006-12-21  David Schleef  <ds@schleef.org>
11265
11266         * plugins/elements/gstfakesrc.c:
11267           Use g_random_int_range(), since it produces better random
11268           numbers in a range than almost-correct floating point code.
11269
11270 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11271
11272         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11273         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11274         (gst_check_teardown_sink_pad):
11275           do not automatically (de)activate pads
11276
11277         * tests/check/Makefile.am:
11278         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11279         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
11280           add new, yet simple tests for queue
11281
11282         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
11283         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
11284         * tests/check/elements/filesrc.c: (cleanup_filesrc),
11285         (GST_START_TEST):
11286         * tests/check/elements/identity.c: (cleanup_identity):
11287           consistent pad (de)activation
11288
11289 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
11290
11291         Patch by: Sebastian Dröge  <slomo ubuntu com>
11292
11293         * libs/gst/base/gstcollectpads.c:
11294           Fix two doc typos (#387866).
11295
11296 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
11297
11298         * docs/manual/advanced-dparams.xml:
11299           Fix typo (g_object_control_properties() doesn't exist).
11300
11301 2006-12-19  Edward Hervey  <edward@fluendo.com>
11302
11303         * gst/gstsegment.c: (gst_segment_set_seek):
11304         Fine tune the cases where the segment start/stop values are really
11305         updated.
11306         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11307         Add tests for the return values of gst_segment_set_seek().
11308
11309 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
11310
11311         * gst/gst.c:
11312           Docs typo fix.
11313
11314         * plugins/elements/gstqueue.c: (gst_queue_class_init),
11315         (gst_queue_init):
11316           Fix incorrect documentation and flesh it out a bit more.
11317           Set default values for the max properties on the GParamSpec as well,
11318           so it shows up correctly in gst-inspect.
11319
11320 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
11321
11322         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
11323           Correct docs of queue, add more detail and crosslink it more.
11324
11325 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
11326
11327         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
11328           Print additional debug info when the stream isn't perfectly
11329           timestamped; don't try to use invalid durations.
11330
11331 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
11332
11333         * docs/design/Makefile.am:
11334           Dist new design docs.
11335
11336 2006-12-16  Wim Taymans  <wim@fluendo.com>
11337
11338         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11339
11340         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
11341         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11342         (gst_collect_pads_stop), (gst_collect_pads_event),
11343         (gst_collect_pads_chain):
11344         * libs/gst/base/gstcollectpads.h:
11345         Add refcounting to the collectpads data so we can track when it's safe
11346         to free the data. Fixes #383382.
11347
11348 2006-12-15  Wim Taymans  <wim@fluendo.com>
11349
11350         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11351         (gst_collect_pads_remove_pad):
11352         Automatically activate/deactivate pads when they are added to a
11353         started/stoped collectpads.
11354
11355 2006-12-15  Wim Taymans  <wim@fluendo.com>
11356
11357         * gst/gstelement.c: (gst_element_add_pad):
11358         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
11359         * gst/gstpad.c: (gst_pad_init):
11360         Set pads to FLUSHING when they are created. Check, warn and fix when a
11361         demuxer adds an inactive pad to itself when running. Fixes #339326.
11362
11363 2006-12-15  Wim Taymans  <wim@fluendo.com>
11364
11365         * gst/gstelement.c: (gst_element_class_init),
11366         (gst_element_default_send_event), (gst_element_send_event),
11367         (gst_element_default_query), (gst_element_query):
11368         Expose default element send_event and query handling as vmethods that
11369         subclasses can chain up to.
11370
11371 2006-12-15  Wim Taymans  <wim@fluendo.com>
11372
11373         * gst/gstelement.c: (gst_element_set_state_func):
11374         Small documentation fixes.
11375
11376 2006-12-15  Wim Taymans  <wim@fluendo.com>
11377
11378         * docs/design/draft-latency.txt:
11379         Checked in draft for handling latency in pipelines.
11380
11381 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11382
11383         * Makefile.am:
11384         * gstreamer.doap:
11385         * gstreamer.spec.in:
11386           adding .doap file
11387
11388 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
11389
11390         * gst/gst.c: (init_pre), (init_post):
11391           init_pre() and init_post() might be called via our GOptionGroup or
11392           from gst_init(), and we should skip both of them if we've already
11393           been initialised, otherwise we will init some things twice or add
11394           two default log functions.
11395
11396 2006-12-13  Edward Hervey  <edward@fluendo.com>
11397
11398         * docs/manual/basics-bus.xml:
11399         No, gst_main_loop does not exist. Its g_main_loop.
11400         Discovered by somebody who abused the copy-paste technique of coding :)
11401
11402 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
11403
11404         * gst/gstghostpad.c:
11405           Log ghostpad debug stuff to the GST_PADS category as well rather
11406           than just to the default category.
11407
11408 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
11409
11410         * configure.ac:
11411         * gst/gst.c: (init_pre):
11412           Add some basic system details such as OS and architecture
11413           to the debug output if possible, courtesy of uname().
11414
11415 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11416
11417         * docs/gst/running.xml:
11418           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
11419           environment variables.
11420
11421 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11422
11423         * tests/check/gst/gstbin.c: (GST_START_TEST):
11424         It is acceptable to have a refcount of 2 or 3 at this point in the
11425         test, because the pipeline might be just posting its state_change
11426         message. The next line then waits for that message to appear using
11427         bus_poll, so that should be fine too.
11428
11429 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11430
11431         * gst/gst.c: (ensure_current_registry_forking):
11432         Ignore EINTR when reading from the child registry pipe.
11433         Explicitly ignore the return value from close, since it makes no
11434         difference.
11435
11436         * gst/gstminiobject.c: (gst_mini_object_ref),
11437         (gst_mini_object_unref):
11438         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
11439
11440         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
11441         When removing cached plugins, remove their features too, so they're
11442         not visible after they've disappeared.
11443
11444         * gst/gstutils.c: (prepare_link_maybe_ghosting):
11445         In the unlikely case that we are linking pads with no parents, don't
11446         crash trying to get the non-existent parent bin.
11447
11448         * gst/parse/grammar.y:
11449         Output debug in the PIPELINE category
11450
11451 2005-03-08  Wim Taymans  <wim@fluendo.com>
11452
11453         Patch by: René Stadler <mail at renestadler dot de>
11454
11455         * gst/gstclock.c: (gst_clock_new_periodic_id):
11456         Reject invalid clock times for interval of periodic ids.
11457         Fixes ##383506.
11458
11459 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11460
11461         * gst/gstelementfactory.c: (gst_element_factory_create):
11462         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11463         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
11464         * tools/gst-inspect.c: (print_element_info):
11465         Fix refcounting of gst_plugin_feature_load to match the docs. 
11466         Fixes: #380129
11467
11468 2006-12-07  Wim Taymans  <wim@fluendo.com>
11469
11470         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
11471         (gst_base_sink_get_position):
11472         Improve debugging of events.
11473
11474 2006-12-07  Wim Taymans  <wim@fluendo.com>
11475
11476         Patch by: René Stadler <mail at renestadler dot de>
11477
11478         * gst/gstclock.c: (gst_clock_id_wait):
11479         Make period ids add the interval to the origial requested time instead
11480         of the possibly updated time which can be wrong when there are multiple
11481         waiters for the same id. Fixes #382592.
11482
11483         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
11484         (gst_system_clock_id_wait_jitter_unlocked),
11485         (gst_system_clock_id_wait_jitter):
11486         Fix restart in the async notify thread when an async entry is added to
11487         the front of the list. Fixes #381492. 
11488
11489         * tests/check/gst/gstsystemclock.c: (store_callback),
11490         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
11491         Added test for multiple async waits.
11492         Added test for async wait order.
11493
11494 2006-12-07  Wim Taymans  <wim@fluendo.com>
11495
11496         * gst/gstbin.c: (gst_bin_query):
11497         Add some more docs about the POSITION query.
11498
11499 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11500
11501         * configure.ac:
11502         Bump version nano - back to CVS.
11503
11504 === release 0.10.11 ===
11505
11506 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
11507
11508         * configure.ac:
11509           releasing 0.10.11, "Love never runs on time"
11510
11511 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
11512
11513         * win32/common/libgstbase.def:
11514         * win32/common/libgstreamer.def:
11515         * win32/vs8/libgstbase.vcproj:
11516         * win32/vs8/libgstcoreelements.vcproj:
11517         * win32/vs8/libgstreamer.vcproj:
11518         Fix compilation on win32 under VS8
11519         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11520         Partially fixes #381175
11521
11522 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
11523
11524         * gst/gstvalue.c: (gst_value_compare_fraction):
11525         If someone is foolish enough to compare 2 fractions with denominator =
11526         0, return UNORDERED rather than aborting.
11527
11528 2006-11-28  Edward Hervey  <edward@fluendo.com>
11529
11530         * libs/gst/base/Makefile.am:
11531         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
11532         (gst_data_queue_base_init), (gst_data_queue_class_init),
11533         (gst_data_queue_init), (gst_data_queue_new),
11534         (gst_data_queue_cleanup), (gst_data_queue_finalize),
11535         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
11536         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
11537         (gst_data_queue_is_empty), (gst_data_queue_is_full),
11538         (gst_data_queue_set_flushing), (gst_data_queue_push),
11539         (gst_data_queue_pop), (gst_data_queue_drop_head),
11540         (gst_data_queue_set_property), (gst_data_queue_get_property):
11541         * libs/gst/base/gstdataqueue.h:
11542         New GstDataQueue object for threadsafe queueing. Most useful for
11543         elements that need some queueing functionnality.
11544         * docs/libs/gstreamer-libs-docs.sgml:
11545         * docs/libs/gstreamer-libs-sections.txt:
11546         Insert documentation for GstDataQueue
11547         * plugins/elements/Makefile.am:
11548         * plugins/elements/gstelements.c:
11549         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11550         (gst_multi_queue_class_init), (gst_multi_queue_init),
11551         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11552         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11553         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11554         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11555         (gst_multi_queue_loop), (gst_multi_queue_chain),
11556         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11557         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11558         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11559         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11560         (wake_up_next_non_linked), (compute_next_non_linked),
11561         (single_queue_overrun_cb), (single_queue_underrun_cb),
11562         (single_queue_check_full), (gst_single_queue_new):
11563         * plugins/elements/gstmultiqueue.h:
11564         New multiqueue element, using GstDataQueue. Used for queuing multiple
11565         streams.
11566         Closes #344639 and #347785
11567
11568 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
11569
11570         * docs/pwg/advanced-types.xml:
11571           add more missing type details
11572
11573         * tools/gst-run.c: (main):
11574           remove unused variable
11575
11576 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
11577
11578         * docs/libs/Makefile.am:
11579         * docs/libs/gstreamer-libs.types:
11580           add types of base classes to enable gobject specific stuff in the docs
11581
11582         * docs/random/ensonic/embedded.txt:
11583           more ideas about isolating platform specific things
11584
11585 2006-11-20  Wim Taymans  <wim@fluendo.com>
11586
11587         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11588
11589         * libs/gst/check/gstcheck.h:
11590         Fix compilation and running against 0.9.4. Fixes #377332.
11591
11592 2006-11-20  Wim Taymans  <wim@fluendo.com>
11593
11594         * gst/gstsegment.c: (gst_segment_set_seek),
11595         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11596         (gst_segment_to_running_time):
11597         Fix boundary checking in to_running_time() and to_stream_time().
11598         Fixes #377183.
11599
11600         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11601         stream and running time can now be calculated for the complete
11602         clipped segment.
11603
11604 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
11605
11606         * gst/gstpad.c: (gst_pad_push_event):
11607           Can't access event structure after giving away ownership of
11608           the event.
11609
11610 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
11611
11612         * docs/random/ensonic/embedded.txt:
11613         * docs/random/ensonic/profiling.txt:
11614         * docs/random/ensonic/receipies.txt:
11615           more thinking
11616
11617 2006-11-13  Wim Taymans  <wim@fluendo.com>
11618
11619         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11620
11621         * gst/gstpad.c:
11622         Fix documentation for gst_pad_dispatcher. Fixes #374475.
11623
11624 2006-11-13  Wim Taymans  <wim@fluendo.com>
11625
11626         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11627
11628         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11629         Store new length in segment duration so we don't keep on calling the
11630         potentially expensize get_size() call. Fixes #370865.
11631
11632 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
11633
11634         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
11635
11636         * win32/common/libgstreamer.def:
11637           Add two missing symbols (#366492).
11638
11639 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
11640
11641         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11642         (gst_adapter_take_buffer):
11643         Fix format string to use all its arguments.
11644         Remove useless >= check on a guint
11645
11646 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11647
11648         * tests/examples/adapter/.cvsignore:
11649         Ignore build file as commanded by the build-bot
11650
11651 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11652
11653         * tests/examples/adapter/Makefile.am:
11654         * tests/examples/adapter/adapter_test.c: (run_test_take),
11655         (run_test_take_buffer), (run_tests), (main):
11656
11657         Add new files from the previous commit
11658
11659 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11660
11661         * Makefile.am:
11662         * configure.ac:
11663         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11664         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11665         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11666         * libs/gst/base/gstadapter.h:
11667         * tests/check/libs/adapter.c: (create_and_fill_adapter),
11668         (GST_START_TEST), (gst_adapter_suite):
11669         * tests/examples/Makefile.am:
11670         Do some optimisation work in GstAdapter to avoid copies in more cases.
11671         It could still do slightly better by merging buffers when
11672         gst_buffer_is_span_fast is true, but is already faster. 
11673
11674         Also, avoid traversing a single-linked list to append each incoming 
11675         buffer inside the adapter.
11676
11677         Add simple test app that times the adapter behaviour in different
11678         situations, and extend the unit test to check that bytes enter and
11679         exit the adapter in their original order.
11680
11681 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
11682
11683         * docs/random/draft-missing-plugins.txt:
11684           Update: use element message instead of adding a new message
11685           type to the core; don't provide GStreamer API to initiate the
11686           plugin download, just provide API to compose the strings needed
11687           and let an external libgimmestuff handle the rest.
11688
11689 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
11690
11691         * tools/gst-inspect.c: (print_element_properties_info):
11692         Print a string instead of 'unknown type' for GValueArray properties
11693
11694 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
11695
11696         * docs/random/draft-missing-plugins.txt:
11697         More small fixes.
11698
11699 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11700
11701         * tests/examples/typefind/typefind.c: (type_found), (main):
11702           Make typefind element example work again (#371894); add a
11703           license header.
11704
11705 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11706
11707         * docs/random/draft-missing-plugins.txt:
11708           Commit initial draft about how to deal with missing plugins,
11709           needs work (API too).
11710
11711 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
11712
11713         * docs/pwg/advanced-types.xml:
11714           documents the new caps elements (see #363118)
11715
11716 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11717
11718         * gst/gstplugin.c: (gst_plugin_load_file):
11719         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11720         (gst_file_src_map_region), (gst_file_src_start):
11721         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11722         (gst_file_index_commit):
11723           Use g_strerror() instead of strerror() - we want UTF-8.
11724
11725 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11726
11727         Patch by: Peter Kjellerstedt <pkj at axis com>
11728
11729         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11730           Another printf fix (#371493).
11731
11732 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11733
11734         * tests/check/gst/gsttag.c:
11735           relicence (okay with author=company)
11736
11737 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11738
11739         * gst/gstpad.c: (gst_pad_event_default_dispatch),
11740         (gst_pad_push_event):
11741           Enhance debug and improve docs
11742         
11743         * gst/gsturi.c:
11744           Fix docs
11745
11746 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11747
11748         * docs/random/ensonic/distributed.txt:
11749         * docs/random/ensonic/profiling.txt:
11750           more ideas
11751
11752 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11753
11754         * docs/gst/gstreamer-sections.txt:
11755           add new API and fix the build
11756           
11757         * gst/gstbin.c: (gst_bin_recalc_state):
11758         * gst/gstelement.c: (gst_element_message_full),
11759         (gst_element_get_state_func), (gst_element_set_state_func):
11760           use new API and improve logging
11761         
11762         * gst/gstutils.c: (gst_element_state_change_return_get_name):
11763         * gst/gstutils.h:
11764           API: add function to get StateChangereturn names to improve logs 
11765
11766 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11767
11768         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11769           I'm considering shooting the next person to put strerror stuff
11770           in the translateable part of the message.
11771
11772 2006-11-03  Wim Taymans  <wim@fluendo.com>
11773
11774         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11775         Get the type and printf conversion specifiers right.
11776
11777 2006-11-03  Wim Taymans  <wim@fluendo.com>
11778
11779         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11780
11781         * gst/gstpad.c: (gst_pad_init), (pre_activate),
11782         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11783         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11784         Some small cleanups. Improve debugging.
11785         * gst/gstpad.h:
11786         Signal all waiting threads with a broadcast instead of just one.
11787         Fixes #369942.
11788
11789 2006-11-03  Wim Taymans  <wim@fluendo.com>
11790
11791         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11792         (gst_fd_src_create):
11793         Add some debugging. 
11794         Only update fd when it's different from the old.
11795
11796 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11797
11798         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11799           Printf fixes for PPC/OSX, take two (#369366).
11800
11801 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11802
11803         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
11804
11805         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11806         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11807         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11808           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11809           don't cast to long long for portability reasons, but use
11810           GLib's types instead.
11811
11812 2006-10-30  Michael Smith  <msmith@fluendo.com>
11813
11814         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11815           Get the arguments to lseek() the right way around.
11816           Fixes 367677.
11817
11818 2006-10-30  Wim Taymans  <wim@fluendo.com>
11819
11820         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11821
11822         * gst/gstinfo.h:
11823         _declspec should be __declspec (two underscores, not one). Fixes 366572.
11824
11825 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11826
11827         Patch by: Kjartan Maraas  <kmaraas at gnome org>
11828
11829         * docs/design/part-MT-refcounting.txt:
11830         * docs/random/wtay/capsnego2-docs:
11831         * gst/gstclock.c:
11832         * gst/gstxml.c:
11833           Typo fixes (#366212).
11834
11835 2006-10-28  Wim Taymans  <wim@fluendo.com>
11836
11837         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11838
11839         * gst/gst.c:
11840         * win32/common/libgstbase.def:
11841         * win32/common/libgstreamer.def:
11842         * win32/vs8/libgstbase.vcproj:
11843         * win32/vs8/libgstcontroller.vcproj:
11844         Add needed entries in .def files.
11845         Use HAVE_UNISTD_H.
11846         Rearrange def files in vs8 solutions. Fixes #366286.
11847
11848 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11849
11850         * win32/common/gstconfig.h:
11851           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11852           hand-made win32 gstconfig.h. Fixes #366321.
11853
11854 2006-10-27  Wim Taymans  <wim@fluendo.com>
11855
11856         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11857         (gst_ghost_pad_new_full):
11858         Make acceptcaps return TRUE when we don't have a target, just like
11859         setcaps does.
11860
11861 2006-10-27  Wim Taymans  <wim@fluendo.com>
11862
11863         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11864         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11865
11866 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
11867
11868         * gst/gststructure.c: (gst_structure_id_set_value):
11869           If someone tries to set a non-UTF8 string field on a structure,
11870           don't just print a warning, but also ignore the request and do
11871           not change/add that field to the structure.
11872
11873         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11874           Test for the above.
11875
11876 2006-10-25  David Schleef  <ds@schleef.org>
11877
11878         * gst/gstinfo.c:
11879           g_hash_table_insert() needs a cast to a non-const pointer duh.
11880
11881 2006-10-25  David Schleef  <ds@schleef.org>
11882
11883         * gst/gstinfo.c:
11884         * gst/gstinfo.h:
11885           Change name parameter of _gst_debug_register_funcptr to const
11886           to reflect the constness of its use in the function as well
11887           as to quiet a gcc warning.
11888
11889 2006-10-25  Edward Hervey  <edward@fluendo.com>
11890
11891         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11892         Don't push the buffer if it's empty.
11893         Closes #363095
11894
11895 2006-10-24  Wim Taymans  <wim@fluendo.com>
11896
11897         * gst/gstevent.h:
11898         Add small comment.
11899
11900         * libs/gst/base/gstbasetransform.c:
11901         (gst_base_transform_sink_eventfunc):
11902         Debug segment values *after* updating them as this is more
11903         interesting.
11904
11905 2006-10-23  Wim Taymans  <wim@fluendo.com>
11906
11907         * docs/design/part-events.txt:
11908         Update some docs.
11909
11910         * docs/design/part-block.txt:
11911         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11912         (gst_pad_push_event):
11913         Revert BLOCKING patch, it tries to be smart without really having a
11914         clear idea what or how. So, now we discard all FLUSHING events again on
11915         a blocking pad. Should fix gnonlin again.
11916
11917 2006-10-23  Wim Taymans  <wim@fluendo.com>
11918
11919         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11920
11921         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11922         (gst_base_src_start), (gst_base_src_activate_push):
11923         Make sure size is always initialized. Fixes #364388.
11924
11925 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
11926
11927         * docs/random/ensonic/distributed.txt:
11928           add some ideas about doing distributed processing
11929
11930         * docs/random/ensonic/profiling.txt:
11931           get_rusage look promising
11932
11933 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11934
11935         * docs/manual/basics-helloworld.xml:
11936           Add a cast in example to fix compile warning
11937
11938 2006-10-18  Wim Taymans  <wim@fluendo.com>
11939
11940         * gst/gstsegment.c: (gst_segment_set_last_stop),
11941         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11942         Relax arg checking again, -1 is allowed.
11943
11944 2006-10-18  Wim Taymans  <wim@fluendo.com>
11945
11946         * gst/gstsegment.c: (gst_segment_set_last_stop),
11947         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11948         _set_last_stop() must be with a value != -1
11949         A _TYPE_SET to -1 means seek to 0.
11950         Calc last_stop correctly for negative rates.
11951         Make sure we work with positive durations when updating a segment.
11952
11953 2006-10-18  Wim Taymans  <wim@fluendo.com>
11954
11955         * docs/design/part-live-source.txt:
11956         * gst/gstclock.h:
11957         Small docs fixes.
11958
11959 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
11960
11961         * gst/gstbuffer.h:
11962           Add an explicit cast to GstBuffer** to keep old code that added an
11963           explicit cast to GstMiniObject** for gst_mini_object_replace()
11964           compiling without warning.
11965
11966 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11967
11968         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11969           check for validity of dates
11970
11971 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11972
11973         * docs/gst/gstreamer-sections.txt:
11974           Forgot this one, makes gtk-doc shut up.
11975
11976 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11977
11978         Patch by: Peter Kjellerstedt <pkj at axis com>
11979
11980         * gst/gstobject.h:
11981           Don't define xmlNodePtr to gpointer if the core was built with
11982           --disable-loadsave and --disable-registry, this will break
11983           applications that want to use libxml2 but are buildling against a
11984           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11985           instead so we don't have to mess with the libxml2 namespace
11986           (#361675).
11987
11988 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11989
11990         * gst/gstbuffer.h:
11991           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11992           type-punned pointer warnings.
11993
11994 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
11995
11996         * gst/gstelement.h:
11997           Add casts to the correct return type to state <=> state transition
11998           macros.
11999
12000 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
12001
12002         * docs/design/part-live-source.txt:
12003           describe howto handle latency
12004         
12005         * docs/random/ensonic/profiling.txt:
12006           more ideas
12007
12008         * tools/gst-plot-timeline.py:
12009           fix log parsing for solaris, remove unused function
12010
12011 2006-10-16  Wim Taymans  <wim@fluendo.com>
12012
12013         * docs/design/part-trickmodes.txt:
12014         * gst/gstevent.c:
12015         Update some docs regarding reverse playback.
12016
12017 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
12018
12019         Patch by: Marcus Granado  <mrc dot gran at gmail com>
12020
12021         * win32/vs8/grammar.vcproj:
12022           Error out with a warning if glib-genmarshal.exe is not in path,
12023           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
12024
12025 2006-10-13  Wim Taymans  <wim@fluendo.com>
12026
12027         * gst/gstsegment.c: (gst_segment_set_seek):
12028         When seeking to stop -1, set last_stop (current position) to the
12029         duration of the segment.
12030
12031 2006-10-13  Wim Taymans  <wim@fluendo.com>
12032
12033         * gst/gstelement.h:
12034         Clarify _NO_PREROLL a bit more.
12035
12036         * gst/gstevent.c:
12037         Fix docs.
12038
12039         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
12040         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
12041         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
12042         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
12043         due to wrong locking order. Fixes #361769.
12044         Remove some redundant/misplaced checks in pad_block.
12045
12046         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
12047         For negative rates, count backwards from the duration.
12048
12049 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
12050
12051         * gst/gsterror.c: (_gst_library_errors_init):
12052           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
12053           up with something better).
12054
12055 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
12056
12057         * win32/vs6/libgstreamer.dsp:
12058         * win32/vs7/libgstreamer.vcproj:
12059         * win32/vs8/libgstreamer.vcproj:
12060           Don't reference glib-compat.c which is currently not used and not
12061           disted; add gstquark.c which was recently added. Fixes #361730.
12062
12063 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
12064
12065         * win32/common/libgstbase.def:
12066         * win32/common/libgstcontroller.def:
12067         * win32/common/libgstreamer.def:
12068           Add gst_caps_merge() and a bunch of other recently-added functions.
12069           Fixes #361732.
12070
12071 2006-10-11  Wim Taymans  <wim@fluendo.com>
12072
12073         * docs/plugins/gstreamer-plugins.args:
12074         * docs/plugins/inspect/plugin-coreelements.xml:
12075         * docs/plugins/inspect/plugin-coreindexers.xml:
12076         Update element args.
12077
12078         * gst/gstsystemclock.c:
12079         Small comment update.
12080
12081         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12082         (gst_tee_request_new_pad), (gst_tee_release_pad),
12083         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
12084         (gst_tee_sink_activate_pull):
12085         * plugins/elements/gsttee.h:
12086         Some tee loving:
12087         Add default property defines.
12088         Implement release pad function.
12089         Give properties better blubs etc.
12090         Activate pads before adding them to a running tee.
12091         Do simple buffer_alloc on the first requested pad.
12092         Post error when activation fails.
12093
12094 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
12095
12096         * gst/gst.c: (ensure_current_registry_forking):
12097           Check return value of write() to make compiler happy.
12098
12099 2006-10-11  Wim Taymans  <wim@fluendo.com>
12100
12101         Patch by: Sjoerd Simons <sjoerd at luon dot net>
12102
12103         * plugins/elements/gstqueue.c: (gst_queue_chain):
12104         Recheck queue filledness after signalling the overrun when we're about
12105         to leak downstream because we released the lock when emitting the signal
12106         and the queue could be empty again. Fixes #352345.
12107
12108 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
12109
12110         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
12111           Fix refcounting here too, just like we did for _new_valist() a few
12112           days ago (#357180) (thanks to René Stadler). Also remove all those
12113           'Since: 0.9' from the gtk-doc blobs.
12114
12115         * tests/check/libs/controller.c: (controller_refcount_new_list),
12116         (gst_controller_suite):
12117           Unit test for the above.
12118
12119 2006-10-10  Wim Taymans  <wim@fluendo.com>
12120
12121         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
12122
12123         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
12124         (gst_pad_save_thyself):
12125         Update some docs.
12126         Write pad direction in XML output. Fixes #345496.
12127
12128 2006-10-10  Wim Taymans  <wim@fluendo.com>
12129
12130         Patch by: René Stadler <mail at renestadler dot de>
12131
12132         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12133         (gst_controller_new_list), (_gst_controller_dispose),
12134         (_gst_controller_finalize), (_gst_controller_class_init):
12135         Take ref to controlled object so that it cannot disappear. 
12136         Fixes #357432.
12137
12138 2006-10-10  Wim Taymans  <wim@fluendo.com>
12139
12140         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
12141         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12142         (gst_check_teardown_sink_pad):
12143         Activate/deactivate pads in setup/teardown respectively.
12144
12145 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12146
12147         Patch by: Josep Torra Valles <josep@fluendo.com>
12148
12149         * gst/Makefile.am:
12150         Cast values when making gstenumtypes.h.  This pacifies Forte
12151         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
12152         in the enumeration.
12153
12154 2006-10-09  Wim Taymans  <wim@fluendo.com>
12155
12156         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
12157         Rename some more @cur to @start to fix docs. 
12158
12159         * gst/gstsegment.c: (gst_segment_set_seek):
12160         Fix typo.
12161         time and start must always stay in sync as defined in design doc.
12162
12163         * gst/gsttaglist.c: (gst_tag_list_is_empty):
12164         Rename param to fix docs.
12165
12166         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12167         Check that start and time are in sync.
12168
12169         * tests/check/pipelines/parse-launch.c:
12170         (gst_parse_test_element_change_state):
12171         Activate pad before adding to the element.
12172
12173 2006-10-09  Wim Taymans  <wim@fluendo.com>
12174
12175         * docs/design/part-qos.txt:
12176         Fix typo.
12177
12178         * gst/gstevent.c:
12179         * gst/gstevent.h:
12180         Update seek event docs regarding negative rates.
12181         Rename @cur to @start. 
12182
12183         * gst/gstsegment.c: (gst_segment_set_seek):
12184         * gst/gstsegment.h:
12185         Update set_seek docs regarding negative rates.
12186         Correctly update last_stop to @stop when dealing with negative
12187         rates.
12188         Rename @cur to @start. 
12189
12190         * tests/check/gst/gstpad.c: (GST_START_TEST):
12191         Activate pads before trying to use them.
12192
12193         * tests/check/gst/gstsegment.c: (GST_START_TEST),
12194         (gst_segment_suite):
12195         Add simple check for segments and negative rates.
12196
12197 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
12198
12199         * gst/gsttaglist.c: (gst_tag_list_is_empty):
12200         * gst/gsttaglist.h:
12201         * docs/gst/gstreamer-sections.txt:
12202           API: add gst_tag_list_is_empty() (#360467).
12203
12204         * tests/check/gst/gsttag.c: (GST_START_TEST):
12205           And a test case.
12206
12207 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12208
12209         * gst/gstmessage.h:
12210         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
12211         a value that doesn't fit on enumeration.
12212
12213 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12214
12215         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12216         Remove local debugging system and use Gstreamer's instead.
12217
12218 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12219
12220         Patch by: Josep Torra Valles <josep@fluendo.com>
12221
12222         * common/m4/gst-error.m4:
12223         Disable warning of statement not reached on Forte.
12224         * gst/gstmessage.h:
12225         Fix warning on Forte (value doesn't fit on enumeration).
12226         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
12227         Fix warning on Forte (value doesn't fit on enumeration).
12228         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12229         DEBUG macro says it takes minimum of 2 args and so Forte
12230         complains about the use with just 1 arg.
12231         * plugins/elements/gstfdsink.c:
12232         * plugins/elements/gstfdsrc.c:
12233         * plugins/elements/gstfilesink.c:
12234         * plugins/elements/gstfilesrc.c:
12235         Use correct return type for the uri handler implementations.
12236
12237         All these fix warnings in Forte.  Fixes bug #360860.
12238
12239 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
12240
12241         * gst/gstelement.h:
12242           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
12243           format string, so don't use G_GNUC_PRINTF for those versions.
12244
12245 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
12246
12247         * gst/gsttaglist.c: (gst_is_tag_list):
12248         * gst/gsttaglist.h:
12249           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
12250
12251         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12252           Small test for the above.
12253
12254 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
12255
12256         * gst/gsttaglist.h:
12257           Less tabs, more spaces.
12258
12259 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
12260
12261         * gst/gstinfo.h:
12262           Those two function declarations do actually belong there, revert
12263           commit from yesterday that turned them intro macros.
12264
12265 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12266
12267         Patch by: Josep Torra Valles <josep@fluendo.com>
12268
12269         * gst/gst.c: (gst_init_get_option_group):
12270         Fix empty declaration and type mismatch.
12271         * gst/gstbin.c: (gst_bin_change_state_func):
12272         Fix type mismatch.
12273         * gst/gstelement.c: (gst_element_continue_state),
12274         (gst_element_set_state_func), (gst_element_change_state),
12275         (gst_element_change_state_func):
12276         Fix type mismatches.
12277         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
12278         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
12279         Cast as appropriate.
12280         * gst/gstobject.c: (gst_class_signal_connect):
12281         Cast as appropriate.  The function pointer parameter really
12282         has the wrong type but would break API if we change it.
12283         * gst/gstquery.c:
12284         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
12285         order of including string.h.
12286         * gst/gstutils.c: (gst_element_state_get_name):
12287         Remove unreachable line.
12288         * gst/gstxml.c: (gst_xml_parse_doc):
12289         Fix type mismatch.
12290         All these caught by Forte.
12291
12292 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12293
12294         Patch by: Josep Torra Valles <josep@fluendo.com>
12295
12296         * common/m4/gst-error.m4:
12297         Fixed bug #360151.
12298         We need to disable warnings on Forte for empty declarations
12299         due to gst-indent adding ;s to lines that just use macros
12300         where the macro actually doesn't need a ; at end to end
12301         statement.
12302
12303 2006-10-06  Wim Taymans  <wim@fluendo.com>
12304
12305         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
12306         (gst_file_sink_close_file), (gst_file_sink_event),
12307         (gst_file_sink_render):
12308         Add some FIXME for the NEWSEGMENT handling.
12309
12310 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12311
12312         * gst/parse/grammar.y:
12313         Remove static function gst_parse_element_lock as all it does
12314         is return.  Looks like cruft from 0.8.
12315
12316 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12317
12318         Patch by: Josep Torra Valles <josep@fluendo.com>
12319
12320         * common/m4/gst-error.m4:
12321         * configure.ac:
12322         * libs/gst/net/Makefile.am:
12323         Fix a compilation issue with Forte on Solaris.  inet_aton is in
12324         libresolv.
12325
12326 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
12327
12328         * gst/gstpad.c: (pre_activate):
12329         * gst/gstregistry.c: (gst_registry_scan_path_level):
12330         * gst/gstregistryxml.c: (load_plugin):
12331         * libs/gst/controller/gstcontroller.c:
12332         (gst_controlled_property_set_interpolation_mode):
12333         * libs/gst/dataprotocol/dataprotocol.c:
12334         (gst_dp_packet_from_event_1_0):
12335         * libs/gst/net/gstnetclientclock.c:
12336         (gst_net_client_clock_observe_times):
12337         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
12338           Printf fixes.
12339
12340 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
12341
12342         * configure.ac:
12343         * docs/gst/gstreamer-sections.txt:
12344         * gst/gstconfig.h.in:
12345         * gst/gstelement.h:
12346         * gst/gstinfo.h:
12347           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
12348           whether we can use G_GNUC_PRINTF in other header files and at
12349           least check the printf format/arguments of debug messages and
12350           GST_ELEMENT_ERROR messages when the printf extension is not
12351           being used.
12352           Replace more tabs with spaces in gstinfo.h and remove two spurious
12353           function declarations in GST_DISABLE_DEBUG part with macros.
12354
12355 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
12356
12357         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
12358           More docs for the sync-message signal (mention that it is not
12359           emitted by default); log message structures of messages posted on
12360           the bus as well.
12361
12362 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
12363
12364         * gst/gst.c: (ensure_current_registry_forking):
12365         Use a pipe pair to receive status results from the forked child, and
12366         ignore the result from waitpid. Fixes #355499
12367
12368 2006-10-02  Wim Taymans  <wim@fluendo.com>
12369
12370         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12371         (gst_ghost_pad_suite):
12372         Fix leak in check.
12373
12374 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12375
12376         * gst/gstpad.c:
12377           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
12378
12379 2006-10-02  Edward Hervey  <edward@fluendo.com>
12380
12381         * docs/design/part-block.txt:
12382         Further explain the use of flushing on blocked pads.
12383         * docs/gst/gstreamer-sections.txt:
12384         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
12385         (gst_pad_push_event):
12386         * gst/gstpad.h:
12387         Added new GstPadFlag : GST_PAD_BLOCKING.
12388         Adds the notion of pads really blocking, which enables to properly
12389         handle FLUSH_START/FLUSH_STOP events on blocked pads.
12390         Fixes #358999
12391         API: gst_pad_is_blocking()
12392         API: GST_PAD_IS_BLOCKING() macro
12393         API: GST_PAD_BLOCKING GstPadFlag
12394         
12395 2006-10-02  Wim Taymans  <wim@fluendo.com>
12396
12397         Patch by: mrcgran <mrc.gran at gmail dot com>
12398
12399         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
12400         Filter the proxied caps against the padtemplate if we have one.
12401
12402         * gst/gstquery.c: (gst_query_new_segment):
12403         Add include for gstinfo.h so that compilation with
12404         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
12405
12406 2006-10-02  Wim Taymans  <wim@fluendo.com>
12407
12408         Patch by: Alessandro Decina  <alessandro at nnva org>
12409
12410         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
12411         (gst_file_sink_set_location), (gst_file_sink_open_file),
12412         (gst_file_sink_close_file), (gst_file_sink_event),
12413         (gst_file_sink_render):
12414         Set file to NULL when closing filesink so that we can set a new filename
12415         in READY. Fixes #358613.
12416
12417 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12418
12419         Patch by: Alessandro Decina  <alessandro at nnva org>
12420
12421         * gst/gstevent.c: (_gst_event_copy):
12422           Fix gst_mini_object_make_writable() and gst_event_copy() for events
12423           with event structures by setting the parent refcount address of the
12424           copied structure to the address of the refcount member of the newly
12425           copied event rather than the address of the refcount member of the
12426           original event. Fixes #358737.
12427
12428         * tests/check/gst/gstevent.c: (GST_START_TEST):
12429           Unit test for the above.
12430
12431 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
12432
12433         * docs/design/Makefile.am:
12434           Dist some more files.
12435
12436 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12437
12438         * tests/check/libs/controller.c: (GST_START_TEST),
12439         (gst_controller_suite):
12440           Add test for the previous fix; add some more tests
12441           for correct refcounting behaviour; fix a few leaks
12442           in test cases; call gst_controller_init() at start
12443           of all tests.
12444
12445 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12446
12447         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12448         (gst_controller_set_from_list):
12449           Don't g_return_val_if_fail() on timed values with invalid timestamps
12450           inside a critical section without unlocking the mutex. Spotted by
12451           René Stadler. (#357617)
12452           Also, fix up refcounting properly: when returning an existing
12453           controller, we should increase the reference only once and not
12454           once per property and when trying to control a property again
12455           we should also increase the refcount.
12456
12457 2006-09-29  Wim Taymans  <wim@fluendo.com>
12458
12459         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12460         * libs/gst/net/gstnettimeprovider.c:
12461         (gst_net_time_provider_thread):
12462         Stop reading commands when EOF as well.
12463
12464         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12465         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12466         * plugins/elements/gstidentity.c: (gst_identity_class_init):
12467         Unify description of the dump property.
12468
12469 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12470
12471         * tests/examples/manual/.cvsignore:
12472         OK, so it's actually cvsignore that needs changing. Stop laughing.
12473
12474 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12475
12476         * tests/examples/manual/Makefile.am:
12477         Gah, declare vars *before* using them
12478
12479 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12480
12481         * gst/gst.c: (init_pre), (scan_and_update_registry),
12482         (ensure_current_registry_nonforking),
12483         (ensure_current_registry_forking), (ensure_current_registry),
12484         (init_post), (gst_debug_help), (gst_deinit):
12485         * gst/gst_private.h:
12486         * gst/gstregistry.c: (gst_registry_finalize),
12487         (gst_registry_remove_features_for_plugin_unlocked),
12488         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12489         (gst_registry_scan_path),
12490         (_priv_gst_registry_remove_cache_plugins),
12491         (_priv_gst_registry_cleanup):
12492         * gst/gstregistry.h:
12493         Re-commit the registry changes, along with an extra fix:
12494           When a cached plugin is encountered at a different file path,
12495           update the stored path in the registry cache so that the parent
12496           process knows where it actually is now when it re-reads the registry
12497           cache. Fixes the thing that broke distcheck with the previous commit.
12498
12499         * tests/check/Makefile.am:
12500         Clean up files named 'core' too when running make clean.
12501
12502         * tests/examples/manual/Makefile.am:
12503         Set up a registry path for running these tests, and clean it properly
12504         for distcheck.
12505
12506 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12507
12508         * configure.ac:
12509         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
12510         want gmodule-no-export-2.0.pc instead so that we don't drag in
12511         --export-dynamic on every project that links to GStreamer.
12512
12513         Also, make our export regex only match the start of symbols, rather 
12514         than any symbol that contains '_gst' somewhere.
12515
12516         * libs/gst/check/Makefile.am:
12517         The libgstcheck we build does however need export-dynamic, as it
12518         produces some symbols that don't match our _gst... style regex.
12519         Fixes: #318031
12520
12521 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12522
12523         * gst/gst.c: (init_pre), (scan_and_update_registry),
12524         (ensure_current_registry_nonforking),
12525         (ensure_current_registry_forking), (ensure_current_registry),
12526         (init_post), (gst_debug_help), (gst_deinit):
12527         * gst/gst_private.h:
12528         * gst/gstregistry.c: (gst_registry_finalize),
12529         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12530         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
12531         (_gst_registry_cleanup):
12532         * gst/gstregistry.h:
12533           Revert previous change until I figure out why it breaks distcheck.
12534
12535 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12536
12537         * gst/gst.c: (init_pre), (scan_and_update_registry),
12538         (ensure_current_registry_nonforking),
12539         (ensure_current_registry_forking), (ensure_current_registry),
12540         (init_post), (gst_debug_help), (gst_deinit):
12541
12542           Make init_pre and init_post take the full complement of GOptionFunc
12543           args so they can return useful GErrors. Make the registry updating
12544           functions do so.
12545
12546           Call _priv_gst_registry_remove_cache_plugins after scanning files to
12547           ensure that the registry we're about to write out doesn't contain
12548           stale information about old-deleted plugin files.
12549
12550           Make _priv_gst_registry_remove_cache_plugins return a boolean so
12551           that deletion of plugin files is considered a registry change.
12552
12553         * gst/gst_private.h:
12554         * gst/gstregistry.c: (gst_registry_finalize),
12555         (gst_registry_remove_features_for_plugin_unlocked),
12556         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12557         (gst_registry_scan_path),
12558         (_priv_gst_registry_remove_cache_plugins),
12559         (_priv_gst_registry_cleanup):
12560         * gst/gstregistry.h:
12561         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12562         by adding _priv prefix, so that they won't appear in the global
12563         symbol table. They still do atm though because of #318031. Move the
12564         prototypes to gst_private.h
12565
12566         When removing a plugin, remove all features for that plugin too. 
12567         Fixes #340878.
12568
12569 2006-09-27  Wim Taymans  <wim@fluendo.com>
12570
12571         * docs/random/moving-plugins:
12572         Make it clear that the "compiled-in descriptions" really mean
12573         the element details.
12574
12575         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12576         (gst_base_sink_wait_preroll):
12577         Update docs.
12578
12579         * docs/libs/gstreamer-libs-sections.txt:
12580         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12581         (gst_base_src_get_range), (gst_base_src_activate_push):
12582         * libs/gst/base/gstbasesrc.h:
12583         Added function to block while waiting for PLAYING, this function
12584         is used by live sources that block on the clock.
12585         API: gst_base_src_wait_playing()
12586
12587 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12588
12589         Patch by: Peter Kjellerstedt <pkj at axis com>
12590
12591         * Makefile.am:
12592           gst-element-check.m4 is generated and should therefore be
12593           copied from the build dir rather than the source dir (#357593).
12594           'make distcheck' hasn't noticed this because we were disting
12595           the file as well, so stop doing that.
12596
12597 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12598
12599         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12600           Add some tests for gst_caps_intersect().
12601
12602         * tools/gst-launch.c: (event_loop):
12603           Print all buffering percentages we get, even the 100% one.
12604
12605 2006-09-26  Wim Taymans  <wim@fluendo.com>
12606
12607         * tools/gst-inspect.c: (print_element_properties_info),
12608         (print_signal_info):
12609         Fix printing of flags to match the look of enums.
12610
12611 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12612
12613         * gst/gstelementfactory.c:
12614           Fix typo in docs blurb.
12615
12616 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12617
12618         * gst/gsturi.c: (search_by_entry):
12619           Don't assert/crash here if a uri handler doesn't return any
12620           supported protocols. The list of protocols could be generated
12621           dynamically at runtime or at plugin registration, and an error
12622           in the underlying library shouldn't be fatal (#353301).
12623
12624 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12625
12626         * gst/gstinfo.c:
12627           Fix warning if HAVE_PRINTF_EXTENSION is undefined
12628           (spotted by Peter Kjellerstedt).
12629
12630 2006-09-23  Wim Taymans  <wim@fluendo.com>
12631
12632         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12633
12634         * libs/gst/base/gstbasesrc.c:
12635         (gst_base_src_default_check_get_range), (gst_base_src_start),
12636         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12637         (gst_base_src_change_state):
12638         Match _start/_stop calls in the activate functions. Remove redundant
12639         _stop call from the state change function. Fixes #356910.
12640         Turn failure DEBUG into ERROR. 
12641
12642 2006-09-22  Wim Taymans  <wim@fluendo.com>
12643
12644         * docs/design/part-buffering.txt:
12645         * gst/gstmessage.c: (gst_message_new_buffering),
12646         (gst_message_parse_buffering):
12647         Update docs about buffering.
12648
12649         * docs/design/part-trickmodes.txt:
12650         Fix typo.
12651
12652 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
12653
12654         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12655         (gst_controller_new_list):
12656           Ref instances when returning them again (fixes #357180)
12657
12658 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12659
12660         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12661           Don't forget to release proxy lock when there's an error.
12662
12663 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
12664
12665         * gst/gstcaps.h:
12666           Add extra initialisers for Caps things, to fix some plugin warnings
12667           when using -Wextra
12668
12669 2006-09-18  Wim Taymans  <wim@fluendo.com>
12670
12671         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12672           Also set template on the internal pad so that a getcaps from the 
12673           target pad returns the template caps.
12674
12675 2006-09-18  Wim Taymans  <wim@fluendo.com>
12676
12677         * gst/gstelement.c: (gst_element_post_message),
12678         (gst_element_dispose):
12679         Use _DEBUG_OBJECT some more.
12680
12681         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12682         Avoid typechecks.
12683
12684         * tools/gst-launch.c: (main):
12685         If the toplevel element is not a GstPipeline, it must be put in a
12686         pipeline so that a bus and clock is selected.
12687
12688 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12689
12690         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12691           JITTER, RATE, and LATENCY query should be handled by the
12692           default case and not by the CONVERT query code.
12693
12694 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12695
12696         * gst/gstformat.c: (gst_format_register):
12697           Fix locking order (must take lock before using n_values).
12698
12699         * gst/gstvalue.c: (gst_value_serialize_enum),
12700         (gst_value_deserialize_enum_iter_cmp),
12701         (gst_value_deserialize_enum):
12702           Fix serialisation/deserialisation of custom registered GstFormats.
12703
12704         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12705           Unit test for custom format serialisation/deserialisation.
12706
12707 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
12708
12709         * docs/pwg/building-boiler.xml:
12710         * plugins/elements/gstcapsfilter.c:
12711         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12712         section.
12713
12714 2006-09-16  Edward Hervey  <edward@fluendo.com>
12715
12716         * libs/gst/base/gstbasetransform.c:
12717         (gst_base_transform_buffer_alloc):
12718         Check if requested caps are the same as the sinks caps IF
12719         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12720         is FALSE.
12721         This fixes the renegotiation issues stated in #352827.
12722
12723 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12724
12725         * configure.ac:
12726         * docs/manual/advanced-autoplugging.xml:
12727         * tests/examples/Makefile.am:
12728         * tests/examples/manual/.cvsignore:
12729         * tests/examples/manual/Makefile.am:
12730         * tests/examples/manual/extract.pl:
12731           Extract the manual examples again like we used to do.
12732           Fix one of them.
12733
12734 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12735
12736         * win32/common/config.h:
12737           update for version
12738
12739 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
12740
12741         * gst/gsterror.c:
12742           Documents how to receive errors.
12743
12744 2006-09-15  Wim Taymans  <wim@fluendo.com>
12745
12746         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12747         (event_loop), (main):
12748         Added some comments here and there.
12749         Post an application message when an interrupt is caught instead of doing
12750         an uncontrolled state change.
12751         Clean up the event loop.
12752         Handle buffering messages, pause/resume the pipeline.
12753         Make shutdown because of an interrupt more reliable.
12754
12755 2006-09-15  Wim Taymans  <wim@fluendo.com>
12756
12757         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12758         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12759         (gst_base_sink_preroll_object):
12760         Make sure that our internal state is correct when we commit our state
12761         asynchronously. This solves a race where a state change to PLAYING
12762         could cause the sink to remain blocked in preroll in some situations.
12763
12764 2006-09-15  Wim Taymans  <wim@fluendo.com>
12765
12766         * tools/gst-inspect.c: (print_element_properties_info),
12767         (print_signal_info):
12768         List flags as hex so it's easier to deal with.
12769
12770 2006-09-15  Wim Taymans  <wim@fluendo.com>
12771
12772         * docs/libs/gstreamer-libs-sections.txt:
12773         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12774         (gst_base_sink_do_sync):
12775         * libs/gst/base/gstbasesink.h:
12776         Expose logic to wait for preroll so that subclasses such as audiosink
12777         can also use this method.
12778         API: gst_base_sink_wait_preroll()
12779
12780 2006-09-15  Wim Taymans  <wim@fluendo.com>
12781
12782         * gst/gstobject.c: (gst_object_set_parent):
12783         * gst/gstpipeline.c: (do_pipeline_seek):
12784         Small cleanups in docs and code.
12785
12786         * gst/gstsegment.c: (gst_segment_clip):
12787         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12788         if stop == start and start is in the segment, no clipping should be
12789         done. Also add a test for this.
12790
12791 2006-09-15  Wim Taymans  <wim@fluendo.com>
12792
12793         * docs/design/part-buffering.txt:
12794         * docs/gst/gstreamer-sections.txt:
12795         * gst/gstmessage.c: (gst_message_new_buffering),
12796         (gst_message_parse_buffering):
12797         * gst/gstmessage.h:
12798         Added methods to create and parse BUFFERING messages.
12799         Added preliminary docs about buffering.
12800         API: gst_message_new_buffering
12801         API: gst_message_parse_buffering
12802
12803 2006-09-06  Wim Taymans  <wim@fluendo.com>
12804
12805         * gst/gstbin.c:
12806         Update documentation.
12807
12808         * gst/gstelement.c: (gst_element_class_init),
12809         (gst_element_release_request_pad), (gst_element_set_clock),
12810         (gst_element_get_index), (gst_element_add_pad),
12811         (gst_element_remove_pad), (gst_element_get_random_pad),
12812         (gst_element_send_event), (gst_element_get_query_types),
12813         (gst_element_query), (gst_element_post_message),
12814         (gst_element_message_full), (gst_element_continue_state),
12815         (gst_element_lost_state), (gst_element_save_thyself),
12816         (gst_element_restore_thyself):
12817         Documentation updates.
12818         Rename last bit of the new-pad -> pad-added signal rename.
12819         Fix the case where an element query would only work if the source
12820         pad was linked.
12821         Avoid some useless type checking in message handling.
12822
12823         * gst/gstevent.c:
12824         * gst/gstevent.h:
12825         * gst/gstutils.c:
12826         Documentation updates.
12827
12828 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12829
12830         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12831           add an INFO line for when we actually update the fd
12832
12833 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12834
12835         * configure.ac:
12836           back to TRUNK
12837
12838 === release 0.10.10 ===
12839
12840 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
12841
12842         * configure.ac:
12843           releasing 0.10.10, "Pais"
12844
12845 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
12846
12847         * docs/manual/advanced-position.xml:
12848           Fix typo in sample code.
12849
12850 2006-09-05  Wim Taymans  <wim@fluendo.com>
12851
12852         * libs/gst/net/gstnetclientclock.c: (inet_aton),
12853         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12854         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12855         * libs/gst/net/gstnetclientclock.h:
12856         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12857         * libs/gst/net/gstnettimepacket.h:
12858         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12859         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12860         (gst_net_time_provider_thread), (gst_net_time_provider_new):
12861         * libs/gst/net/gstnettimeprovider.h:
12862         Make stuff compile on windows. Fixes #345295.
12863
12864 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12865
12866         * gst/gst.c: (ensure_current_registry_forking):
12867           Print better details when child was terminated by signal.
12868
12869 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12870
12871         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12872           Print a warning rather than g_assert() if a plugin feature
12873           is a URI handler but returns no protocols (#353976).
12874
12875 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
12876
12877         * docs/random/moving-plugins:
12878         Fix two typos.         
12879
12880 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12881
12882         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12883           Fix locking order, handle NULL function values properly.
12884
12885         * gst/gstinfo.h:
12886           Fix docs.
12887
12888         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12889           Initialise variable before using it and fix debug statement to
12890           print the address of the function rather than the address of the
12891           variable on the stack holding the address of the function.
12892
12893 2006-09-01  Wim Taymans  <wim@fluendo.com>
12894
12895         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12896         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12897         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12898         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12899         (gst_ghost_pad_parent_unset),
12900         (gst_ghost_pad_internal_do_activate_push),
12901         (gst_ghost_pad_internal_do_activate_pull),
12902         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12903         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12904         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12905         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12906         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12907         (gst_ghost_pad_new_no_target_from_template),
12908         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12909         More cleanups.
12910         Avoid needless typechecking in macros.
12911         Since the internal pad is always present and never changes, there is
12912         no need to locking or ref when retrieving it.
12913         Improve debugging a bit.
12914         Handle link errors when setting the target. Fixes #341029.
12915
12916 2006-09-01  Wim Taymans  <wim@fluendo.com>
12917
12918         * docs/libs/gstreamer-libs-sections.txt:
12919         * docs/plugins/gstreamer-plugins-sections.txt:
12920         Fix docs some more.
12921
12922         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12923         (gst_collect_pads_event):
12924         * libs/gst/base/gstcollectpads.h:
12925         Documentation updates.
12926         Free queued buffer when removing a pad.
12927
12928 2006-08-31  Michael Smith  <msmith@fluendo.com>
12929
12930         * gst/gstutils.c: (gst_element_link_pads),
12931         (gst_element_link_pads_filtered):
12932           Ensure that we set a capsfilter to NULL if we failed to link it
12933           when doing filtered linking, to avoid criticals.
12934
12935           No need to check for unreffing srcpad, which is explicly NULLed
12936           above (a trivial code cleanup).
12937
12938 2006-08-31  Wim Taymans  <wim@fluendo.com>
12939
12940         * docs/design/part-gstghostpad.txt:
12941         Update ascii art in documentation.
12942
12943         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12944         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12945         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12946         (gst_ghost_pad_internal_do_activate_push),
12947         (gst_ghost_pad_internal_do_activate_pull),
12948         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12949         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12950         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12951         (gst_ghost_pad_set_target):
12952         Small cleanups and leak fixes.
12953         Remove some checks now that the internal pad is never NULL.
12954         Fix the case where linking pads without a target would create nasty
12955         criticals. Fixes #341029.
12956         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12957         value of _set_target().
12958
12959         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12960         (gst_ghost_pad_suite):
12961         Some more tests for creating and linking untargeted ghostpads.
12962
12963 2006-08-31  Edward Hervey  <edward@fluendo.com>
12964
12965         * docs/gst/gstreamer-sections.txt:
12966         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12967         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12968         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12969         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12970         (gst_ghost_pad_new_from_template),
12971         (gst_ghost_pad_new_no_target_from_template):
12972         * gst/gstghostpad.h:
12973         Refactored *_new() functions.
12974         Templates are now used as a g_object_new() parameter.
12975         Use template in _do_getcaps() if we don't have a target.
12976         Small documentation cleanups.
12977         Added two new constructors:
12978         gst_ghost_pad_new_from_template()
12979         gst_ghost_pad_new_no_target_from_template()
12980         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12981         (gst_ghost_pad_suite):
12982         Added tests for new ghostpad instanciation functions.
12983
12984         API additions: gst_ghost_pad_new_from_template,
12985         gst_ghost_pad_new_no_target_from_template
12986
12987 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
12988
12989         * docs/random/ensonic/profiling.txt:
12990           Ideas about qos profiling.
12991
12992 2006-08-29  Wim Taymans  <wim@fluendo.com>
12993
12994         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12995         Code cleanups.
12996         Fix memleak.
12997
12998 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
12999
13000         * gst/gstxml.c:
13001           Improve and detypofy docs.
13002
13003         * tests/check/Makefile.am:
13004         * tests/check/gst/.cvsignore:
13005         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
13006           Add a basic test suite for GstXML.
13007
13008 2006-08-29  Wim Taymans  <wim@fluendo.com>
13009
13010         * gst/gstelement.c: (activate_pads), (clear_caps),
13011         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13012         Clear the pad caps when the element shut down all of the pads and
13013         is not streaming data that could modify the caps. 
13014         Fixes #352958.
13015
13016 2006-08-28  Michael Smith  <msmith@fluendo.com>
13017
13018         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
13019           Revert previous change; I misunderstood single-segment mode.
13020
13021 2006-08-28  Michael Smith  <msmith@fluendo.com>
13022
13023         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
13024           Unset DISCONT on buffers when using single-segment mode.
13025
13026 2006-08-28  Wim Taymans  <wim@fluendo.com>
13027
13028         * gst/gstcaps.c: (gst_caps_merge_structure):
13029         * gst/gstcaps.h:
13030         Fix docs and indentation again.
13031
13032         * tests/check/gst/gstquery.c: (GST_START_TEST):
13033         Fix leak in tests and add some more tests.
13034
13035 2006-08-28  Edward Hervey  <edward@fluendo.com>
13036
13037         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
13038         Inform GstSegment of the last stop position in order for the current
13039         segment to have a proper duration if it doesn't have a specific stop
13040         position from which a duration could be calculated.
13041         This bug was noticeable when a non-flushing, non-update new segment was
13042         followed by another segment (all buffers from the new segment were being
13043         dropped).
13044
13045 2006-08-28  Wim Taymans  <wim@fluendo.com>
13046
13047         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
13048         Small comment update.
13049
13050         * plugins/elements/gstidentity.c: (gst_identity_class_init),
13051         (gst_identity_transform_ip):
13052         Drop-probability is broken, mention this in the code with a 
13053         FIXME and also in the property description.
13054         Make silent also be silent about the drop messages.
13055
13056 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
13057
13058         * docs/manual/appendix-win32.xml:
13059           Remove mention of popt, we don't depend on that any
13060           longer (#353136). Add some comments pointing out that
13061           this section is slightly outdated.
13062
13063 2006-08-28  Wim Taymans  <wim@fluendo.com>
13064
13065         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
13066
13067         * gst/gstquery.c: (gst_query_new_segment):
13068         * tests/check/gst/gstquery.c: (GST_START_TEST):
13069         Initialize variables when creating a new segment query.
13070         Fixes #353121.
13071
13072 2006-08-28  Wim Taymans  <wim@fluendo.com>
13073
13074         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
13075
13076         * gst/gstelement.c: (gst_element_get_bus):
13077         * tests/check/gst/gstelement.c: (GST_START_TEST):
13078         Check for NULL before _reffing the bus. Fixes #353122.
13079
13080 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
13081
13082         * docs/manual/basics-bus.xml:
13083           Docs update: fix wrong callback return value explanation; add
13084           some lines about the implicit relationship between main loop
13085           and main context; remove duplicate main loop variable declaration.
13086
13087 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
13088
13089         * tests/check/gst/gstcaps.c: (GST_START_TEST):
13090           Don't leak caps in unit test; add a few more simple
13091           checks. 
13092
13093 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
13094
13095         * docs/gst/gstreamer-sections.txt:
13096         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
13097         (gst_caps_structure_is_subset), (gst_caps_merge),
13098         (gst_caps_merge_structure):
13099         * gst/gstcaps.h:
13100         * libs/gst/base/gstbasetransform.c:
13101         (gst_base_transform_transform_caps):
13102         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13103           implement caps merging (fixes #352580)
13104
13105 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
13106
13107         * tools/Makefile.am:
13108         * tools/gst-plot-timeline.py:
13109           add debug-log plotting developer tool (#340674)
13110
13111 2006-08-23  Wim Taymans  <wim@fluendo.com>
13112
13113         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
13114         (gst_pad_stop_task):
13115         Improve debugging for task functions.
13116
13117         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
13118         (gst_task_start), (gst_task_pause), (gst_task_join):
13119         Make sure that the task function started and finished after a 
13120         join(). 
13121         Don't try to push the task function on the threadpool multiple
13122         times.
13123         Improve the g_warning message with some useful suggestions
13124         about how to fix the problem. 
13125
13126 2006-08-23  Wim Taymans  <wim@fluendo.com>
13127
13128         * gst/gstutils.c: (gst_pad_proxy_getcaps):
13129         Handle RESYNC correctly in _proxy_getcaps.
13130
13131 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
13132
13133         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
13134         (gst_xml_parse_memory), (gst_xml_get_element):
13135           Chain up to parent class in dispose function and also
13136           unref the elements in the toplevel_elements GList.
13137           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
13138           Always return a reference in gst_xml_get_element() rather
13139           than only sometimes.
13140
13141         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
13142           Don't leak GstXml object.
13143
13144 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
13145
13146         * docs/gst/gstreamer-sections.txt:
13147         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
13148         (gst_caps_merge):
13149         * gst/gstcaps.h:
13150         * libs/gst/base/gstbasetransform.c:
13151         (gst_base_transform_transform_caps):
13152           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
13153           in a better way
13154
13155 2006-08-21  Edward Hervey  <edward@fluendo.com>
13156
13157         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
13158         Implement GObject::dispose virtual method in GstXML so we can free the
13159         top_elements GList.
13160
13161 2006-08-21  Wim Taymans  <wim@fluendo.com>
13162
13163         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
13164         (gst_buffer_create_sub):
13165         Copy duration/offset_end/caps when creating a subbuffer of the
13166         complete parent.
13167         Make the subbuffer read-only when we make the metadata writable for
13168         now. Fixes #351768.
13169
13170         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
13171         Added check for metadata copy when creating subbuffers.
13172
13173 2006-08-21  Edward Hervey  <edward@fluendo.com>
13174
13175         * libs/gst/base/gstbasetransform.c:
13176         (gst_base_transform_buffer_alloc):
13177         Only call downstream buffer_alloc if transform element is passthrough
13178         or always_in_place. Closes #350449.
13179
13180 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
13181
13182         * ChangeLog:
13183           ChangeLog surgery to add comments to previous changes
13184
13185 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
13186
13187         * gst/gst.c:
13188           Add comments
13189
13190         * gst/gstpad.c: (gst_pad_set_active):
13191           Be more verbose in the log
13192
13193         * libs/gst/base/gstbasetransform.c:
13194         (gst_base_transform_transform_caps):
13195           Simplify caps to get rid of duplicates, fixes #345444
13196
13197 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
13198
13199         * gst/gstvalue.c:
13200         * gst/gstvalue.h:
13201           Use these optimizations only internally.
13202
13203 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
13204
13205         * gst/gstvalue.c: (gst_value_compare_list),
13206         (gst_value_compare_fraction_range),
13207         (gst_value_intersect_fraction_fraction_range),
13208         (gst_value_intersect_fraction_range_fraction_range),
13209         (gst_value_subtract_fraction_fraction_range),
13210         (gst_value_subtract_fraction_range_fraction_range),
13211         (gst_value_get_compare_func), (gst_value_compare),
13212         (gst_value_compare_with_func):
13213         * gst/gstvalue.h:
13214           Saves the expensive lookup of the compare function in many cases
13215          (#345444)
13216
13217 2006-08-18  Edward Hervey  <edward@fluendo.com>
13218
13219         * tests/check/gst/gstinfo.c: (gst_info_suite):
13220         Disable test that require gstdebug if it wasn't built in core.
13221
13222 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
13223
13224         * docs/random/ensonic/logging.txt:
13225           update ideas
13226           
13227         * gst/gstinfo.c: (gst_debug_log_default):
13228           reorder fields, save some columns, add optional color codes for log
13229           levels
13230
13231 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
13232
13233         * docs/random/ensonic/logging.txt:
13234           add ideas about making the logs a bit more useful
13235
13236 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
13237
13238         * docs/pwg/advanced-events.xml:
13239         * docs/pwg/titlepage.xml:
13240           Update for 0.10 API (#340627). Add myself
13241           to authors list.
13242
13243 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
13244
13245         * docs/libs/gstreamer-libs-docs.sgml:
13246         * docs/libs/gstreamer-libs-sections.txt:
13247         * libs/gst/check/gstbufferstraw.c:
13248           Make gstcheck stuff show up in docs (still needs to
13249           be documented properly though).
13250
13251 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
13252
13253         * docs/gst/gstreamer-sections.txt:
13254         * gst/Makefile.am:
13255         * gst/gst.c: (init_post):
13256         * gst/gst_private.h:
13257         * gst/gstquark.c: (_priv_gst_quarks_initialize):
13258         * gst/gstquark.h:
13259         * gst/gstquery.c: (gst_query_new_position),
13260         (gst_query_set_position), (gst_query_parse_position),
13261         (gst_query_new_duration), (gst_query_set_duration),
13262         (gst_query_parse_duration), (gst_query_new_convert),
13263         (gst_query_set_convert), (gst_query_parse_convert),
13264         (gst_query_new_segment), (gst_query_set_segment),
13265         (gst_query_parse_segment), (gst_query_new_seeking),
13266         (gst_query_set_seeking), (gst_query_parse_seeking):
13267         Add internal helpers for pre-registering quarks from static strings
13268         and using the quark values directly instead of looking them up when
13269         creating and parsing queries. Can be used for event construction too.
13270         Closes #350432.
13271
13272 2006-08-16  Wim Taymans  <wim@fluendo.com>
13273
13274         * gst/gstbin.c:
13275         Fix bogus docs.
13276
13277 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13278
13279         * gst/gstutils.c: (gst_util_set_value_from_string):
13280           Fix memleak (#351502).
13281
13282         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13283           Add unit test for most of gst_util_set_value_from_string()
13284           (not that one would want to encourage use of this function).
13285
13286 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13287
13288         * libs/gst/check/gstcheck.h:
13289           Use const gchar * variables in fail_unless_equals_string
13290           macro to avoid compiler warnings (and don't use tabs for
13291           indenting).
13292
13293 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13294
13295         * tools/gst-launch.c: (print_tag):
13296           More space on the left for the tag names, to cater
13297           for the 'extended comment' tag (not touching the
13298           string for the first line since it's translated).
13299
13300 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13301
13302         * libs/gst/check/gstcheck.h:
13303           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
13304           print something when they fail.
13305
13306 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13307
13308         * docs/gst/gstreamer-sections.txt:
13309         * gst/gsttaglist.c: (_gst_tag_initialize):
13310         * gst/gsttaglist.h:
13311           API: add GST_TAG_EXTENDED_COMMENT (#350935).
13312           Also change merge function for GST_TAG_COMMENT to
13313           use_first.
13314
13315 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13316
13317         * gst/gstinfo.c: (gst_debug_print_object):
13318           Make GST_PTR_FORMAT print messages as well.
13319
13320         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
13321         (GST_START_TEST), (gst_info_suite):
13322           More tests.
13323
13324 2006-08-14  Edward Hervey  <edward@fluendo.com>
13325
13326         * gst/gstelementfactory.c: (gst_element_register):
13327         If the GstElementClass doesn't have a GstElementDetails with all fields
13328         filled up correctly (longname, description AND author), then error out
13329         nicely instead of crashing.
13330
13331 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13332
13333         * gst/gststructure.c:
13334           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
13335
13336         * gst/gstvalue.h:
13337           Expand on the difference between arrays and lists as we use them.
13338           
13339 2006-08-14  Wim Taymans  <wim@fluendo.com>
13340
13341         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
13342         If the parent state change function failed, don't assume we can safely
13343         stop the source, this will be done when the pads are deactivated.
13344
13345 2006-08-14  Wim Taymans  <wim@fluendo.com>
13346
13347         * gst/gstbuffer.c:
13348         * gst/gsttask.c: (gst_task_join):
13349         Small doc updates.
13350
13351         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
13352         (gst_pad_stop_task):
13353         When pad (de)activation failed for some reason, restore the old
13354         activation mode and set the pad to flushing instead of assuming the
13355         pad is deactivated.
13356         If the _task_join() failed, reinstall the task on the pad so that it can
13357         be stopped later and return an error.
13358
13359 2006-08-11  Andy Wingo  <wingo@pobox.com>
13360
13361         * configure.ac:
13362         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13363         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
13364         is only for users of API that don't want to see deprecated
13365         functions in the headers; people that want to compile out
13366         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
13367         CFLAGS. Fixes the build of multifdsink, or will soon..
13368
13369 2006-08-11  Wim Taymans  <wim@fluendo.com>
13370
13371         * docs/gst/gstreamer-sections.txt:
13372         Add GstClockClass vmethod docs.
13373
13374         * gst/gstcaps.h:
13375         Mark #endif with comment for associated #if
13376
13377         * gst/gstclock.c: (gst_clock_id_wait):
13378         * gst/gstclock.h:
13379         Add vmethod wait_jitter to avoid an unneeded _get_time() for
13380         most clock implementations.
13381         Document vmethods.
13382         Flesh out docs about resolution methods.
13383         API: GstClockClass::wait_jitter
13384
13385         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13386         (gst_system_clock_async_thread),
13387         (gst_system_clock_id_wait_jitter_unlocked),
13388         (gst_system_clock_id_wait_jitter):
13389         Use base class wait_jitter variant for improved performance
13390         due to less clock polling.
13391
13392 2006-08-11  Edward Hervey  <edward@fluendo.com>
13393
13394         * gst/gst.c: (gst_init_check), (init_post):
13395         Set gst as being initialized before scanning/updating the registry,
13396         since there might be my python plugin loader that calls gst_init() and
13397         we don't want to loop back in.
13398         Closes #350879
13399
13400 2006-08-11  Wim Taymans  <wim@fluendo.com>
13401
13402         * docs/design/part-qos.txt:
13403         Bring docs in line with the code. Mostly the sign of the jitter was
13404         wrong in the docs. Fixes #349943.
13405
13406         * gst/gstclock.c:
13407         Fix the docs for the jitter.
13408
13409         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
13410         (gst_event_parse_tag), (gst_event_new_buffer_size),
13411         (gst_event_parse_buffer_size), (gst_event_parse_qos),
13412         (gst_event_new_seek), (gst_event_parse_seek),
13413         (gst_event_new_navigation):
13414         Make sure the GstStructure has no parent when creating custom
13415         events.
13416         Add some more argument checking so that we avoid 0.0 rates.
13417         Flesh out the docs for the QoS event some more.
13418
13419 2006-08-11  Wim Taymans  <wim@fluendo.com>
13420
13421         * docs/gst/gstreamer-sections.txt:
13422         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
13423         (ensure_current_registry_forking), (ensure_current_registry),
13424         (parse_one_option), (parse_goption_arg), (gst_deinit),
13425         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
13426         * gst/gst.h:
13427         Doc updates.
13428         Added API and command line option to disable registry forking in
13429         addition to the environment variable.
13430         Constify some static arrays.
13431         Added some more debug.
13432         Don't deinit twice.
13433         API: gst_registry_fork_is_enabled()
13434         API: gst_registry_fork_set_enabled()
13435         API: --gst-disable-registry-fork command line option
13436         Fixes #348918.
13437
13438 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
13439
13440         * gst/gst.c: (gst_init):
13441           Fix typo in error message.
13442
13443 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13444
13445         * libs/gst/controller/gstcontroller.h:
13446           fix ABI size-correction
13447
13448         * tests/check/libs/gdp.c: (gst_dp_suite):
13449           make tests that use deprecated API conditional
13450
13451 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13452
13453         * docs/libs/gstreamer-libs-sections.txt:
13454         * libs/gst/controller/gstcontroller.c:
13455         (_gst_controller_get_property), (_gst_controller_set_property),
13456         (_gst_controller_init), (_gst_controller_class_init):
13457         * libs/gst/controller/gstcontroller.h:
13458         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
13459         (gst_object_set_control_rate):
13460           API: add gst_object_{s,g}et_control_rate(), add private data section,
13461           fix docs
13462
13463         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13464         * libs/gst/dataprotocol/dataprotocol.h:
13465           add deprecation guards to make gtk-doc happy and allow disabling cruft
13466
13467 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13468
13469         * tests/check/Makefile.am:
13470         * tests/check/gst/.cvsignore:
13471           Let's enable the new unit test as well.
13472
13473 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13474
13475         * configure.ac:
13476         * docs/gst/gstreamer-sections.txt:
13477         * gst/gstconfig.h.in:
13478         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
13479         (_gst_info_printf_extension_ptr),
13480         (_gst_info_printf_extension_segment):
13481           API: add GST_SEGMENT_FORMAT, which is a printf extension we
13482           register that lets us easily dump GstSegments into debug
13483           logs (#350419).
13484
13485         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
13486         (info_segment_format_printf_extension), (gst_info_suite):
13487           Add simple unit test that logs a bunch of different segments (not
13488           valgrinded at the moment because of leaks in
13489           gst_debug_add_log_function).
13490
13491 2006-08-09  Edward Hervey  <edward@fluendo.com>
13492
13493         * libs/gst/base/gstbasetransform.c:
13494         (gst_base_transform_buffer_alloc):
13495         Even if we can't figure out the proper format to request downstream,
13496         call buffer_alloc() downstream with the input parameters without setting
13497         the caps on the srcpad. This will force negotiation in the chain
13498         function.
13499         Closes #350449
13500
13501 2006-08-08  Edward Hervey  <edward@fluendo.com>
13502
13503         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13504         Unlinking from a pad without a target is now a perfectly valid case
13505         which should NOT raise an assertion.
13506         This case would happen if a linked ghostpad its target set to NULL after
13507         it was previously linked.
13508
13509 2006-08-08  Edward Hervey  <edward@fluendo.com>
13510
13511         * tests/check/libs/gdp.c:
13512         Also comment out the test (see below).
13513
13514 2006-08-08  Edward Hervey  <edward@fluendo.com>
13515
13516         * tests/check/libs/gdp.c: (gst_dp_suite):
13517         Use the architecture information from config.h and not gcc macros
13518         in order to properly disable a test that fails on PPC64.
13519
13520 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
13521
13522         * gst/gstelement.c: (gst_element_remove_pad):
13523           Don't crash printing the warning if the pad has no parent.
13524
13525 2006-08-02  Wim Taymans  <wim@fluendo.com>
13526
13527         * libs/gst/dataprotocol/dataprotocol.c:
13528         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13529         (gst_dp_crc), (gst_dp_header_payload_length),
13530         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
13531         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
13532         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
13533         (gst_dp_event_from_packet), (gst_dp_validate_header),
13534         (gst_dp_validate_payload):
13535         Make debug category static
13536         Constify the crc table.
13537         Do some more arg checking in public functions.
13538         Fix some docs and do some small cleanups.
13539
13540         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
13541         Add some more checks to see if GDP deals with bogus input.
13542
13543 2006-07-31  Wim Taymans  <wim@fluendo.com>
13544
13545         * gst/gstvalue.c: (gst_value_compare_list):
13546         Fix GstValueList comparison code. Fixes #347293.
13547
13548         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13549         Check to test GstValueList comparison.
13550
13551 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13552
13553         * gst/gstelementfactory.c: (gst_element_factory_create):
13554         Remove unnecessary ref/unref pair
13555
13556         * gst/parse/grammar.y:
13557         Make sure to free the parse buffer on all code paths.
13558         Move a g_free up to the error handler where it's easier to see.
13559
13560         * tests/check/gst/gstevent.c: (test_event):
13561         Extending timeout for downstream travelling events to 10 seconds to
13562         hopefully avoid intermittent failure on the buildbots.
13563
13564         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13565         Don't manually set the state of the src element - it will happen as a
13566         natural consequence of the pipeline changing state, and that way it
13567         will do it in the right order too.
13568
13569 2006-07-31  Wim Taymans  <wim@fluendo.com>
13570
13571         * libs/gst/base/gstbasetransform.c:
13572         (gst_base_transform_buffer_alloc):
13573         Use OBJECT_LOCK and refcounting to get the pad caps in the
13574         buffer_alloc function because the caps could change while we are
13575         busy with them. Fixes #349105
13576
13577 2006-07-31  Wim Taymans  <wim@fluendo.com>
13578
13579         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13580         Protect _PAD_CAPS with OBJECT_LOCK.
13581
13582 2006-07-31  Wim Taymans  <wim@fluendo.com>
13583
13584         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13585         (gst_pad_get_property), (gst_pad_activate_pull),
13586         (gst_pad_activate_push), (gst_pad_set_blocked_async),
13587         (gst_pad_set_activate_function),
13588         (gst_pad_set_activatepull_function),
13589         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13590         (gst_pad_set_getrange_function),
13591         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13592         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13593         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13594         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13595         (gst_pad_set_acceptcaps_function),
13596         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13597         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13598         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13599         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13600         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13601         (gst_pad_configure_sink), (gst_pad_configure_src),
13602         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13603         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13604         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13605         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13606         (gst_pad_send_event):
13607         Use _DEBUG_OBJECT when it makes sense.
13608         Protect GST_PAD_CAPS with the OBJECT_LOCK.
13609         Small cleanups and code reflows.
13610         Avoid caps refcounting in _accept_caps.
13611         Refactor alloc_buffer so that the code performed on the peer is in a
13612         separate function. Also if the pad does not implement a buffer alloc
13613         function, we should still check if the pad is flushing before falling
13614         back to the default allocator.
13615
13616 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13617
13618         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13619         Make all uses of identity and fakesink have silent=true to avoid
13620         serialising every passing data structure, which is breaking tests
13621         on FC4 for some unknown reason.
13622
13623 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13624
13625         * gst/parse/Makefile.am:
13626         * gst/parse/grammar.y:
13627         * gst/parse/parse.l:
13628           Reverted previous patch as it required to bump the flex dependency to
13629           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13630
13631 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13632
13633         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13634
13635         * gst/parse/Makefile.am:
13636         * gst/parse/grammar.y:
13637         * gst/parse/parse.l:
13638           push & pop the state of the lexer for reentrant use case
13639           Fixes #349180
13640
13641 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
13642
13643         * libs/gst/base/gstbasesrc.h:
13644           Note in the docs that the ::newsegment vfunc is not actually used by
13645           GstBaseSrc.
13646
13647 2006-07-28  Wim Taymans  <wim@fluendo.com>
13648
13649         * libs/gst/base/gstcollectpads.c:
13650         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13651         (gst_collect_pads_clear), (gst_collect_pads_flush),
13652         (gst_collect_pads_event), (gst_collect_pads_chain):
13653         When flushing a pad, also clear the queued buffer so that we don't
13654         accidentally use it when we shouldn't.
13655         Fix leaks by inreffing incomming buffer.
13656         Flush out queued buffers in case of errors.
13657         Fixes #347452.
13658
13659 2006-07-28  Wim Taymans  <wim@fluendo.com>
13660
13661         * docs/random/phonon-gst:
13662         Random notes about a Phonon backend.
13663
13664 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13665
13666         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13667         Extra debug output
13668         * tests/check/libs/gdp.c: (gst_dp_suite):
13669         Take a whack at fixing the ppc compile using a different define to
13670         disable the broken test.
13671
13672         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13673         Remove excess g_print()
13674
13675 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13676
13677         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13678         Oops, meant to uncomment this line too to dampen the noise a bit.
13679
13680 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13681
13682         * gst/parse/grammar.y:
13683         * gst/parse/parse.l:
13684         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13685         (GST_START_TEST), (parse_suite):
13686         Fix some of the leaks exposed by extending the parse-launch testsuite,
13687         and move the 3 I can't figure out into a separate test that won't run
13688         the pipelines unless the appropriate line is uncommented.
13689
13690 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13691
13692         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13693           Requesting 0 bytes before the end of the file should result in
13694           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13695           unit test.
13696
13697 2006-07-27  Wim Taymans  <wim@fluendo.com>
13698
13699         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13700         Fix useless assert, a uint is always positive.
13701
13702         * gst/gststructure.c: (gst_structure_nth_field_name),
13703         (gst_structure_foreach), (gst_structure_map_in_place):
13704         Check input arguments for public functions to avoid obvious crashes.
13705
13706         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13707         * plugins/elements/gstfakesink.h:
13708         Do less useless typechecking.
13709
13710 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13711
13712         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13713           Do not use mmap() by default since there are a number of error
13714           conditions that we would like to handle in a non-fatal way that
13715           will result in a SIGBUS if we use mmap(). Examples: external
13716           devices (USB harddrive, portable music player) being unplugged
13717           while in use; file on mounted CD/DVD that can't be read because
13718           the medium is partly damaged. Fixes #348455 and #348475.
13719
13720 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13721
13722         * gst/gstquery.h:
13723         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13724         rates are a gdouble
13725
13726 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
13727
13728         * gst/gstregistry.c:
13729           Move big documentation comment into class section header, so that it
13730           appears in the API docs.
13731
13732 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13733
13734         * docs/gst/gstreamer-sections.txt:
13735         Oops. Commit the docs additions too for new API.
13736         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13737
13738 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13739
13740         * gst/gststructure.c: (gst_structure_id_set),
13741         (gst_structure_id_set_valist):
13742         * gst/gststructure.h:
13743         Add API for setting values into structures without performing
13744         a quark lookup, if the appropriate quark is already known.
13745
13746         API: gst_structure_id_set
13747         API: gst_structure_id_set_valist
13748
13749         * gst/parse/grammar.y:
13750         * gst/parse/parse.l:
13751         Remove some dead code shown by the coverage information.
13752         Don't throw a critical g_warning when encountering a syntax error,
13753         just warn and let the normal error path handle it.
13754
13755         * plugins/elements/gstelements.c:
13756         Bump the rank of filesink up to PRIMARY so that it is preferred over
13757         gnomevfssink for file:// sink uri's
13758
13759         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13760         (GST_START_TEST), (run_delayed_test),
13761         (gst_parse_test_element_base_init),
13762         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13763         (gst_parse_test_element_change_state),
13764         (gst_register_parse_element), (parse_suite):
13765         Beef up the tests for parse syntax to check that more error cases
13766         fail as they are supposed to. Increases the test coverage a bit.
13767
13768 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
13769
13770         * docs/manual/basics-elements.xml:
13771           Fix gst_element_link() example.
13772
13773         * gst/gstutils.c:
13774           Mention in API docs that one should usually gst_bin_add()
13775           elements to a bin or pipeline before doing the linking.
13776           
13777 2006-07-26  Wim Taymans  <wim@fluendo.com>
13778
13779         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13780         (gst_subbuffer_get_type), (gst_buffer_create_sub):
13781         Avoid function call for known types by keeping the buffer and
13782         subbuffer GType global.
13783
13784         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13785         Random silly optimisations in read() path.
13786
13787 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13788
13789         * tools/gst-launch.c: (main):
13790           If the top-level of the parse is a normal bin, it doesn't do the
13791           right logic to run as a top-level element, so place it inside a
13792           pipeline.
13793
13794 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
13795
13796         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13797           Remove superfluous g_object_notify() calls, GObject does
13798           that for us automatically.
13799
13800 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
13801
13802         * gst/gstinfo.h:
13803           on Win32, use dllspec to export the debug category symbols
13804
13805 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
13806
13807         * gst/gsttaglist.c: (_gst_tag_initialize):
13808           Allow more than one GST_TAG_IMAGE per taglist.
13809
13810 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13811
13812         * gst/gstminiobject.c:
13813           update docs
13814         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13815         (gst_fd_src_create):
13816           log recurring events at LOG level
13817           add more debug for when the fd gets set
13818
13819 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13820
13821         * gst/gstparse.c: (gst_parse_launch):
13822           Also remove reentrance checks if flex is MT safe (#348179)
13823          Fix my empty ChangeLog entry below
13824
13825 2006-07-21  Andy Wingo  <wingo@pobox.com>
13826
13827         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13828
13829         * libs/gst/check/Makefile.am
13830         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13831         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
13832         * libs/gst/check/gstbufferstraw.h:
13833         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13834         functions, thus proving I am still a GStreamer haxor. OK I wrote
13835         them a long time ago, but anyways.
13836
13837 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13838
13839         * configure.ac:
13840         * gst/gstparse.c: (gst_parse_launch):
13841           Check for flex version and omit mutex if we have a MT save flex
13842           (fixes #348179)
13843
13844 2006-07-21  Wim Taymans  <wim@fluendo.com>
13845
13846         * gst/gstparse.c: (gst_parse_launch):
13847         Protect recursive calls to _parse with a recursive mutex
13848         and busy flag.
13849
13850 2006-07-21  Wim Taymans  <wim@fluendo.com>
13851
13852         * tests/check/gst/gstpad.c: (GST_START_TEST):
13853         Fix leak in test.
13854
13855 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
13856
13857         * gst/gstparse.c: (gst_parse_launch):
13858           Do not hang on recursive usage of gst_parse_launch()
13859
13860 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13861
13862         * gst/gsttaglist.c:
13863           Add some more docs, comments and FIXME 0.11s here and there
13864           and also fix some typos.
13865
13866 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13867
13868         * gst/gstsegment.h:
13869           Convert tabs to spaces for better readability. 
13870
13871 2006-07-20  Edward Hervey  <edward@fluendo.com>
13872
13873         * tests/check/libs/gdp.c: (gst_dp_suite):
13874         the test_buffer test fails at line 140 on ppc64 at the following
13875         check:
13876         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13877                 GST_BUFFER_FLAG_IN_CAPS),
13878                 "GST_BUFFER_IN_CAPS flag should have been copied !");
13879         See bug #348114 for more details.
13880
13881 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
13882
13883         * docs/pwg/advanced-scheduling.xml:
13884         * gst/gstpad.c:
13885           Fix typos (#348000).
13886
13887 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
13888
13889         * docs/pwg/intro-basics.xml:
13890           Fix wrong links (#347927).
13891
13892 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
13893
13894         * gst/gstregistry.h:
13895         * gst/gstregistryxml.c: (load_feature),
13896         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13897         * win32/common/config.h:
13898           make --disable-index work (#342564)
13899
13900 2006-07-18  Wim Taymans  <wim@fluendo.com>
13901
13902         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13903
13904         * gst/Makefile.am:
13905         * gst/gsttrace.h:
13906         The attached patch adds two missing defines to gsttrace.h when tracing
13907         is disabled.  It also corrects one existing define.
13908         Fixes #347756.
13909
13910 2006-07-17  Wim Taymans  <wim@fluendo.com>
13911
13912         * docs/gst/gstreamer-sections.txt:
13913         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13914         * gst/gst.h:
13915         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13916         Add two functions to check and change the SIGSEGV behaviour
13917         when loading plugins.
13918         Don't mess with the SIGSEGV handler when we were told not to.
13919         Fixes #347794.
13920         API: gst_segtrap_is_enabled
13921         API: gst_segtrap_set_enabled
13922
13923 2006-07-14  Wim Taymans  <wim@fluendo.com>
13924
13925         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13926         * tests/check/elements/filesrc.c: (GST_START_TEST):
13927         Revert fix for regression in #347408 after release.
13928
13929 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
13930
13931         Patch by: Antoine Tremblay <hexa00 at gmail com>
13932
13933         * gst/gstutils.c: (gst_element_unlink):
13934           Free iterator when done (#347311).
13935
13936         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13937           And add a test case for this.
13938
13939 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
13940
13941         * configure.ac:
13942         Bump nano back to CVS
13943
13944 === release 0.10.9 ===
13945
13946 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
13947
13948         * configure.ac:
13949           releasing 0.10.9, "On the road again"
13950
13951 2006-07-13  Wim Taymans  <wim@fluendo.com>
13952
13953         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13954         * tests/check/elements/filesrc.c: (GST_START_TEST):
13955         Revert pull-0 fix for release. Disable check. Fixes #347408.
13956
13957 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13958
13959         * libs/gst/dataprotocol/dataprotocol.c:
13960         (gst_dp_event_from_packet_1_0):
13961           Fixes #347337: failure to deserialize event packets with
13962           empty payload (only event type)
13963
13964 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13965
13966         * gst/Makefile.am:
13967           do not install a .c file in the header directory
13968
13969 2006-07-13  Edward Hervey  <edward@fluendo.com>
13970
13971         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13972         GhostPad no longer implicitely use the padtemplates of the targets.
13973         Fixes #347384
13974
13975 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
13976
13977         * gst/gstvalue.c: (gst_value_compare_list),
13978         (gst_value_compare_array), (_gst_value_initialize):
13979         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13980         Make GstValueArray comparison be order dependent as designed.
13981         Add checks for value lists and value array comparisons.
13982         Fixes #347221
13983
13984 2006-07-11  Edward Hervey  <edward@fluendo.com>
13985
13986         * gst/gstbin.c: (activate_pads),
13987         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13988         (gst_bin_change_state_func):
13989         (de)activate src pads before calling state_change on the childs.
13990         This is to avoid the case where a src ghostpad is blocked (holding the
13991         stream lock), which would block the deactivation of the ghostpad's
13992         target pad.
13993         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13994         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13995         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13996         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13997         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13998         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13999         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
14000         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
14001         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
14002         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
14003         (gst_ghost_pad_class_init),
14004         (gst_ghost_pad_internal_do_activate_push),
14005         (gst_ghost_pad_internal_do_activate_pull),
14006         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
14007         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
14008         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
14009         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
14010         GhostPads now create their internal GstProxyPad at creation (and not
14011         when they're linked, as it was being done previously).
14012         The internal and target pads are linked straight away.
14013         The data will also travel through the other pad in order to make
14014         pad blocking and probes non-hackish (the probe/block now really happens
14015         on the GhostPad and not on the target).
14016         * gst/gstpad.c: (gst_pad_set_blocked_async),
14017         (gst_pad_link_prepare), (gst_pad_push_event):
14018         Remove previous ghostpad cruft.
14019         * gst/gstutils.c: (gst_pad_add_data_probe),
14020         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14021         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14022         (gst_pad_remove_buffer_probe):
14023         Remove previous ghost pad cruft.
14024         Added more detailed debug statements.
14025         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
14026         Fix the testsuite for refcounting changes.
14027         The comments about who has references were correct, but the refcount
14028         being checked wasn't the same (!?!).
14029
14030         Fixes #341029
14031
14032 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
14033
14034         * docs/gst/gstreamer-sections.txt:
14035         * gst/gstconfig.h.in:
14036         More docs for configuration options, add docs to gtk-doc.
14037
14038 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
14039
14040         * gst/Makefile.am:
14041         * gst/gstconfig.h.in:
14042         * win32/common/config.h:
14043         Fix build when disabling tracing (fixes #344016). Also start to document
14044         the defines that disable the sub-systems.
14045
14046 2006-07-10  Edward Hervey  <edward@fluendo.com>
14047
14048         * gst/gst.c: (ensure_current_registry_forking):
14049         let's make valgrind happy...
14050
14051 2006-07-09  Wim Taymans  <wim@fluendo.com>
14052
14053         * gst/gstelement.c: (activate_pads),
14054         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
14055         Better pad activation code: Reset the collect value too on resync.
14056         Add some comments.
14057
14058 2006-07-09  Wim Taymans  <wim@fluendo.com>
14059
14060         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
14061         (gst_pad_activate_push):
14062         Use some more macros where it makes sense.
14063         Allow pad mode switching instead of asserting. When a pad
14064         is activated in one mode and we activate it in another, 
14065         deactivate it first before activating it in a different mode.
14066         Fixes #329198.
14067
14068 2006-07-08  Andy Wingo  <wingo@pobox.com>
14069
14070         * tools/gst-launch.c (main): Handle err == NULL.
14071
14072         * gst/gst.c (init_post, ensure_current_registry)
14073         (ensure_current_registry_forking)
14074         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
14075         factoring out the registry scanning into separate functions. Don't
14076         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
14077         Better environment var name/interface suggestions accepted.
14078
14079 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
14080
14081         * gst/gstobject.c: (gst_object_set_name_default),
14082         (gst_object_set_name):
14083           Random micro-optimisation: don't use a hash table
14084           with strings as keys and the usual strdup/strcmp
14085           involved, but rather just use the GQuark of the
14086           type name as key, since it needs to be looked up
14087           anyway to get the type name string.
14088
14089         * tests/check/gst/gstobject.c: (GST_START_TEST):
14090           Fix various leaks.
14091
14092 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
14093
14094         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
14095         (gst_bin_iterate_all_by_interface):
14096           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
14097           GTypes are gulongs and thus the top 4 bytes might be cut
14098           off on some platforms when doing GPOINTER_TO_INT, leading
14099           to invalid GTypes and bad things happening (see RH bug #179654).
14100           Also add a check to make sure the type passed in is really
14101           an interface type.
14102
14103 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
14104
14105         * .cvsignore:
14106           Ignore more.
14107
14108 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
14109
14110         * Makefile.am:
14111         * configure.ac:
14112         * gst-element-check.m4:
14113         * gst-element-check.m4.in:
14114           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
14115           instead of the unversioned gst-inspect (#324176, #168659).
14116
14117 2006-07-06  Wim Taymans  <wim@fluendo.com>
14118
14119         * gst/gstmessage.h:
14120         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
14121         warnings.
14122
14123 2006-07-06  Wim Taymans  <wim@fluendo.com>
14124
14125         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14126         (gst_base_src_wait), (gst_base_src_update_length),
14127         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
14128         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
14129         (gst_base_src_loop), (gst_base_src_start),
14130         (gst_base_src_activate_pull):
14131         Update docs.
14132         blocksize == 0 now means the default blocksize when working in push
14133         based mode.
14134         Remove some pointless asserts in _wait function.
14135         Fix offset/length calculations and EOS handling. We can now pull 0
14136         bytes as well, which is allowed.
14137         use _check_get_range() to decide if we can operate in _pull based
14138         mode.
14139         Fix refcounting leak when check_get_range function was not 
14140         implemented.
14141         API GstBaseSrc::blocksize range can be 0 too now (default)
14142
14143         * tests/check/elements/filesrc.c: (GST_START_TEST),
14144         (filesrc_suite):
14145         Added check to test _get_range() behaviour.
14146
14147 2006-07-06  Wim Taymans  <wim@fluendo.com>
14148
14149         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14150         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
14151         (gst_pad_pull_range):
14152         * gst/gstpad.h:
14153         Lots of comments and docs added to the pad functions.
14154         Flesh out the expected behaviour of the get_range() functions.
14155
14156 2006-07-06  Wim Taymans  <wim@fluendo.com>
14157
14158         * gst/gstbus.h:
14159         * gst/gstclock.h:
14160         * gst/gstevent.h:
14161         * gst/gstiterator.h:
14162         * gst/gstpad.h:
14163         * gst/gstplugin.h:
14164         * gst/gsttask.h:
14165         Remove comma at end of enumerator list. 
14166
14167 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
14168
14169         * win32/common/libgstbase.def:
14170         * win32/common/libgstdataprotocol.def:
14171         * win32/common/libsgtreamer.def:
14172         Add new exported functions.
14173
14174 2006-07-05  Wim Taymans  <wim@fluendo.com>
14175
14176         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
14177         Add some more docs here and there.
14178
14179 2006-07-05  Wim Taymans  <wim@fluendo.com>
14180
14181         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
14182         (gst_base_sink_loop), (gst_base_sink_get_position):
14183         When operating in pull mode update the offset so that we
14184         read sequentially.
14185
14186 2006-07-05  Wim Taymans  <wim@fluendo.com>
14187
14188         * gst/gstregistryxml.c: (read_string):
14189         Avoid strdup. (will happen in libxml, but hey!)
14190
14191         * gst/gsturi.c:
14192         Add some more docs.
14193
14194 2006-07-05  Wim Taymans  <wim@fluendo.com>
14195
14196         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
14197         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
14198         (gst_buffer_suite):
14199         No point in checking if the size of the subbuffer > 0, the
14200         code handles it correclty as demonstrated by unit test.
14201         Also add a unit test for the zero sized _new_and_alloc and
14202         _copy. Fixes #346663.
14203
14204 2006-07-05  Wim Taymans  <wim@fluendo.com>
14205
14206         * libs/gst/base/gstbasetransform.c:
14207         (gst_base_transform_prepare_output_buffer),
14208         (gst_base_transform_buffer_alloc),
14209         (gst_base_transform_handle_buffer):
14210         Make sure the buffer we pass to transform_ip has a refcount of
14211         1 and thus is writable. Fixes #343196
14212
14213 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
14214
14215         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14216         (gst_file_src_init), (gst_file_src_set_property),
14217         (gst_file_src_get_property), (gst_file_src_map_region):
14218         * plugins/elements/gstfilesrc.h:
14219         Add "sequential" property, off by default, to use madvise and hint
14220         to the kernel that sequential access is desired.
14221         Touch all retrieved pages by default to ensure they are pulled
14222         into memory. (Closes #345720)
14223
14224 2006-07-03  Wim Taymans  <wim@fluendo.com>
14225
14226         * docs/design/part-block.txt:
14227         * docs/design/part-dynamic.txt:
14228         Small docs updates.
14229
14230 2006-07-03  Wim Taymans  <wim@fluendo.com>
14231
14232         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
14233         (gst_caps_unref), (gst_static_caps_get),
14234         (gst_caps_append_structure):
14235         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
14236         Use GSlice when the glib we build against is >= 2.10
14237
14238 2006-07-03  Wim Taymans  <wim@fluendo.com>
14239
14240         * gst/gstelement.c: (gst_element_pads_activate):
14241         Small cleanup in pad activation code.
14242
14243 2006-07-03  Wim Taymans  <wim@fluendo.com>
14244
14245         Patch by: Peter Kjellerstedt <pkj at axis dot com>
14246
14247         * gst/gst-i18n-app.h:
14248         * gst/gst-i18n-lib.h:
14249         * tools/gst-inspect.c: (print_signal_info):
14250         The attached patch will make the inclusion of gettext.h unconditional in
14251         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
14252         libintl.h in tools/gst-inspect.c.
14253         This allows use of --disable-nls again and fixes #344642.
14254
14255 2006-07-03  Edward Hervey  <edward@fluendo.com>
14256
14257         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
14258         Implement pad blocking on events according to part-block.txt.
14259         More comments on behaviour.
14260         * tests/check/gst/gstevent.c: (test_event):
14261         Send event to peer pad of blocked pad (else it will block).
14262
14263 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14264
14265         * libs/gst/check/gstcheck.c: (gst_check_message_error),
14266         (gst_check_run_suite):
14267           if we get the wrong message, give us the types as string
14268         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
14269           Fix a translatable
14270         * tests/check/elements/filesrc.c: (GST_START_TEST):
14271           add a test for trying to open a non-existing file
14272
14273 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14274
14275         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14276           add a test for adding self
14277
14278 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14279
14280         * libs/gst/check/gstcheck.h:
14281           add some assert_ as alias for fail_unless_*
14282         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
14283           increase test coverage
14284
14285 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14286
14287         * Makefile.am:
14288           include lcov.mak for lcov coverage generation
14289         * tools/Makefile.am:
14290           add to CLEANFILES
14291
14292 2006-07-02  Edward Hervey  <edward@fluendo.com>
14293
14294         * tests/check/elements/.cvsignore:
14295         moaping
14296
14297 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14298
14299         * configure.ac:
14300           don't set CFLAGS and friends for gcov, done from GST_GCOV now
14301         * tests/check/Makefile.am:
14302           clean up gcov files
14303
14304 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14305
14306         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
14307           remove gst_caps_simplify; it was not declared and not used
14308           and deprecated in 0.8
14309
14310 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14311
14312         * docs/faq/gst-uninstalled:
14313           don't put empty paths on PYTHONPATH
14314         * docs/gst/gstreamer-sections.txt:
14315           remove some symbols that are not there
14316
14317 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14318
14319         * gst/gstcaps.c: (gst_caps_compare_structures):
14320           whitespace fixes
14321         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
14322         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
14323           add more tests
14324
14325 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14326
14327         * libs/gst/dataprotocol/Makefile.am:
14328           build dataprotocol test by linking to the lib, instead of
14329           compiling the source, so we get coverage
14330         * tests/check/Makefile.am:
14331         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
14332         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
14333           add a test for filesrc
14334
14335 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14336
14337         * tests/check/gst/gststructure.c: (GST_START_TEST),
14338         (gst_structure_suite):
14339           Push coverage from 59.04% to 70.00%
14340
14341 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14342
14343         * tests/check/Makefile.am:
14344           gst-inspect every element; this makes sure that we also get
14345           coverage on element's get/set functions
14346
14347 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14348
14349         * configure.ac:
14350           set CFLAGS and friends to -O0 if gcov is being used
14351           add GCOV LIBS
14352         * gst/Makefile.am:
14353         * libs/gst/base/Makefile.am:
14354         * libs/gst/check/Makefile.am:
14355         * libs/gst/controller/Makefile.am:
14356         * libs/gst/dataprotocol/Makefile.am:
14357         * libs/gst/net/Makefile.am:
14358         * plugins/elements/Makefile.am:
14359         * plugins/indexers/Makefile.am:
14360           add makefile rules to generate gcov data and clean up
14361         * tests/check/Makefile.am:
14362           add a coverage target that generates an html overview
14363           of coverage data
14364
14365 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14366
14367         * tests/check/elements/fakesink.c:
14368         * tests/check/elements/fakesrc.c:
14369         * tests/check/elements/fdsrc.c:
14370         * tests/check/elements/identity.c:
14371         * tests/check/generic/sinks.c: (gst_sinks_suite):
14372         * tests/check/generic/states.c:
14373         * tests/check/gst/gst.c:
14374         * tests/check/gst/gstabi.c:
14375         * tests/check/gst/gstbin.c:
14376         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
14377         * tests/check/gst/gstbus.c: (gst_bus_suite):
14378         * tests/check/gst/gstcaps.c: (GST_START_TEST):
14379         * tests/check/gst/gstelement.c:
14380         * tests/check/gst/gstevent.c: (gst_event_suite):
14381         * tests/check/gst/gstghostpad.c:
14382         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
14383         * tests/check/gst/gstmessage.c: (gst_message_suite):
14384         * tests/check/gst/gstminiobject.c:
14385         * tests/check/gst/gstobject.c:
14386         * tests/check/gst/gstpad.c:
14387         * tests/check/gst/gstpipeline.c:
14388         * tests/check/gst/gstplugin.c:
14389         * tests/check/gst/gstquery.c: (gst_query_suite):
14390         * tests/check/gst/gstsegment.c: (gst_segment_suite):
14391         * tests/check/gst/gststructure.c:
14392         * tests/check/gst/gstsystemclock.c:
14393         * tests/check/gst/gsttag.c:
14394         * tests/check/gst/gsttask.c: (gst_task_suite):
14395         * tests/check/gst/gstutils.c:
14396         * tests/check/gst/gstvalue.c:
14397         * tests/check/libs/adapter.c:
14398         * tests/check/libs/basesrc.c:
14399         * tests/check/libs/collectpads.c:
14400         * tests/check/libs/controller.c:
14401         * tests/check/libs/gdp.c: (gst_dp_suite):
14402         * tests/check/libs/gstnetclientclock.c:
14403         * tests/check/libs/gstnettimeprovider.c:
14404         * tests/check/libs/libsabi.c: (libsabi_suite):
14405         * tests/check/libs/typefindhelper.c:
14406         * tests/check/pipelines/cleanup.c:
14407         * tests/check/pipelines/parse-launch.c:
14408         * tests/check/pipelines/simple-launch-lines.c:
14409         * tests/check/pipelines/stress.c: (stress_suite):
14410           use the new macro
14411
14412 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14413
14414         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
14415         * libs/gst/check/gstcheck.h:
14416           create a macro and function so that the simple unit test
14417           case can be just one macro to create main()
14418
14419 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
14420
14421         * gst/gstbin.c: (gst_bin_restore_thyself):
14422         * gst/gstxml.c: (gst_xml_make_element):
14423           Fix deserialisation from XML. Set parent manually
14424           instead of using gst_bin_add(), since gst_bin_add()
14425           will unlink all pads of the element being added.
14426           Fixes #341667.
14427
14428 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
14429
14430         Patch by: Peter Kjellerstedt <pkj at axis com>
14431
14432         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
14433           Fix missing g_strdup() and double free when using the
14434           --gst-plugin-load command line option (#346097).
14435
14436 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14437
14438         * gst/gstinfo.c:
14439           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
14440
14441         * libs/gst/net/gstnetclientclock.c:
14442         * libs/gst/net/gstnettimeprovider.c:
14443           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
14444
14445 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14446
14447         * docs/manual/advanced-dataaccess.xml:
14448           Fix buffer probe example compilation in
14449           ADM (#345708).
14450         
14451 2006-06-22  Edward Hervey  <edward@fluendo.com>
14452
14453         * gst/gstelement.c: (gst_element_pads_activate):
14454         We need to deactivate src pads first and then sink pads.
14455         The reason is the src pads might be blocking while holding the streaming
14456         lock, so we need to deactivate them first so that deactivating the sink
14457         pads doesn't block (since it will require the streaming lock).
14458
14459 2006-06-22  Wim Taymans  <wim@fluendo.com>
14460
14461         * libs/gst/base/gstbasetransform.c:
14462         (gst_base_transform_buffer_alloc):
14463         Forgot to remove two unneeded unrefs.
14464         Simplify a check _is_equal allready checks the obvious case.
14465
14466 2006-06-22  Wim Taymans  <wim@fluendo.com>
14467
14468         * docs/design/part-block.txt:
14469         Some docs about what pad_block should do.
14470
14471 2006-06-22  Wim Taymans  <wim@fluendo.com>
14472
14473         * gst/gstcaps.c: (gst_caps_replace):
14474         Fix crasher when passed NULL. Doc clarification.
14475         Optimize for the trivial case.
14476
14477         * gst/gstpipeline.c: (gst_pipeline_change_state):
14478         Small cleanups.
14479
14480         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14481         Small documentation cleanup.
14482
14483         * libs/gst/base/gstbasetransform.c:
14484         (gst_base_transform_buffer_alloc):
14485         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
14486         is what we need and it avoids a whole lot of redundant 
14487         refcount operations.
14488
14489 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
14490
14491         Patch by: Philip Jägenstedt  <philip at lysator liu se>
14492
14493         * docs/manual/advanced-dataaccess.xml:
14494           Fix 'Embedding static elements' section to use
14495           GST_PLUGIN_DEFINE_STATIC (#345607).
14496
14497 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14498
14499         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
14500           Attempt to 'fix' spuriously failing test case: it seems like the
14501           timeout of half a second is simply too small when the system is under
14502           load otherwise, and the timeout doesn't really seem to serve any
14503           particular purpose here. Give the pipeline a few seconds to preroll
14504           first, and then give it another half a second to go from PAUSED to
14505           PLAYING and marshal the message into the main thread.
14506
14507 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14508
14509         * tools/gst-feedback-m.m:
14510           Don't only use unversioned tools, try versioned tools as well
14511           (#345086).
14512
14513 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14514
14515         * gst/gstbus.c: (gst_bus_class_init):
14516           Fix some typos, make docs more explicit.
14517
14518 2006-06-20  Wim Taymans  <wim@fluendo.com>
14519
14520         * tests/check/gst/gstghostpad.c: (block_callback),
14521         (GST_START_TEST), (gst_ghost_pad_suite):
14522         Added some more ghostpad tests, mainly blocking
14523         and probes.
14524
14525 2006-06-16  Wim Taymans  <wim@fluendo.com>
14526
14527         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
14528         (gst_file_sink_close_file), (gst_file_sink_do_seek),
14529         (gst_file_sink_event), (gst_file_sink_render):
14530         * plugins/elements/gstfilesink.h:
14531         Check if we can seek in the file instead of assuming
14532         we always can. Post an error when we are asked to seek in a
14533         non-seekable file (like a fifo). Fixes #343312.
14534         Some cleanups.
14535
14536 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14537
14538         * tools/gst-launch.1.in:
14539           Un-garble (fourcc) bit in filtered caps section.
14540
14541 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14542
14543         * docs/manual/advanced-autoplugging.xml:
14544         * docs/manual/basics-helloworld.xml:
14545         * docs/manual/highlevel-components.xml:
14546           Don't leak bus reference in sample code.
14547
14548 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
14549
14550         * autogen.sh:
14551           Add default for new --enable-plugin-docs switch.
14552
14553         * configure.ac:
14554           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14555           Fixes #344039.
14556
14557         * docs/Makefile.am:
14558           Use new ENABLE_PLUGIN_DOCS conditional.
14559
14560 2006-06-14  Wim Taymans  <wim@fluendo.com>
14561
14562         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14563         Make it clear with a FIXME and a real define what the #if 0
14564         previously disabled.
14565
14566 2006-06-14  Wim Taymans  <wim@fluendo.com>
14567
14568         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14569         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14570         * libs/gst/base/gstbasetransform.c:
14571         (gst_base_transform_sink_eventfunc):
14572         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14573         Don't randomly and silently reset a segment when the format 
14574         changes as this is a bug somewhere upstream. Fixes #330379.
14575
14576 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
14577
14578         Patch by: Wouter Paesen  <wouter at kangaroot net>
14579
14580         * libs/gst/controller/gstcontroller.c:
14581         (gst_controlled_property_new):
14582           Fix controlling of float properties (#344849).
14583
14584         * tests/check/libs/controller.c:
14585         (gst_test_mono_source_get_property),
14586         (gst_test_mono_source_set_property),
14587         (gst_test_mono_source_class_init), (GST_START_TEST):
14588           While we're at it, add some float stuff to unit test.
14589
14590 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14591
14592         * docs/README:
14593         * docs/images/gdp-header.svg:
14594           add a gdp image
14595         * docs/libs/Makefile.am:
14596         * docs/libs/gdp-header.png:
14597         * libs/gst/dataprotocol/dataprotocol.c:
14598           add it to the API docs
14599         * docs/manual/intro-motivation.xml:
14600           fix typo
14601
14602 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14603
14604         * gst/gst.c: (scan_and_update_registry), (init_post):
14605           If the fork()'ed child process can't write the updated registry cache
14606           file to disk for some reason, make it exit with a failure exit code,
14607           so that the parent can then re-scan the plugins itself and update the
14608           registry structures in memory and work with that (rather than failing
14609           when creating elements because seemingly no plugins are available).
14610           Refactor registry scanning code into separate function for this and
14611           also separate fork() and non-fork() code paths. Fixes #344748.
14612
14613 2006-06-13  Wim Taymans  <wim@fluendo.com>
14614
14615         * docs/manual/advanced-dataaccess.xml:
14616         Fix wrong PluginDesc. Fixes #344755.
14617
14618 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14619
14620         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14621           Fix silly bug that prevented us from creating
14622           ~/.gstreamer-0.10 and writing the registry in one
14623           go (the first call to g_mkstemp() would overwrite the
14624           placeholder in the template string, so the second call
14625           to g_mkstemp() after creating the missing directory
14626           would then error out with 'invalid argument').
14627
14628 2006-06-13  Edward Hervey  <edward@fluendo.com>
14629
14630         * gst/gst.c: (init_post):
14631         Free string.
14632
14633 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14634
14635         * gst/glib-compat-private.h:
14636         * gst/glib-compat.c:
14637         * gst/glib-compat.h:
14638         * gst/gstvalue.c: (gst_value_serialize_flags):
14639           remove GLib 2.6 compatibility code
14640
14641 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
14642
14643         * gst/parse/Makefile.am:
14644           Fix build with 'make -j N' even more (#340016).
14645
14646 2006-06-12  Wim Taymans  <wim@fluendo.com>
14647
14648         * docs/gst/gstreamer-sections.txt:
14649         Fix docs.
14650
14651 2006-06-12  Wim Taymans  <wim@fluendo.com>
14652
14653         * gst/gstsegment.c: (gst_segment_set_duration),
14654         (gst_segment_set_last_stop), (gst_segment_set_seek),
14655         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14656         (gst_segment_to_running_time), (gst_segment_clip):
14657         Use G_UNLIKELY to help the compiler a bit.
14658
14659 2006-06-12  Wim Taymans  <wim@fluendo.com>
14660
14661         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14662
14663         * gst/gstevent.c: (gst_event_get_type):
14664         * gst/gstmessage.c:
14665         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14666         (gst_pad_push):
14667         constify quark registration strings. Fixes #344115
14668         Avoid unneeded type checking is _pad_push() by internally
14669         calling gst_pad_chain_unchecked().
14670
14671 2006-06-12  Wim Taymans  <wim@fluendo.com>
14672
14673         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14674         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14675         (gst_subbuffer_finalize), (gst_buffer_create_sub),
14676         (gst_buffer_is_span_fast), (gst_buffer_span):
14677         Init _type for consistency.
14678         Use _FLAGS macro to avoid type check.
14679         Avoid unneeded type checks in subbufer code.
14680
14681 2006-06-12  Wim Taymans  <wim@fluendo.com>
14682
14683         * gst/gst.c: (gst_debug_help):
14684         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14685         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14686         (gst_plugin_feature_list_free):
14687         * gst/gstregistry.c: (gst_registry_add_plugin),
14688         (gst_registry_add_feature), (gst_registry_plugin_filter),
14689         (gst_registry_feature_filter), (gst_registry_find_plugin),
14690         (gst_registry_find_feature), (gst_registry_get_plugin_list),
14691         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14692         * gst/gstregistryxml.c: (load_feature),
14693         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14694         * gst/gstminiobject.c: (gst_mini_object_unref),
14695         (gst_mini_object_replace), (gst_value_mini_object_free),
14696         (gst_value_mini_object_copy):
14697         Use _CAST macros to avoid unneeded type checking.
14698         Added some more G_UNLIKELY.
14699
14700 2006-06-12  Wim Taymans  <wim@fluendo.com>
14701
14702         * gst/gstbuffer.h:
14703         Avoid unneeded type checking.
14704         API: GST_BUFFER_IS_DISCONT
14705
14706         * gst/gstminiobject.h:
14707         Avoid type check in flag accessor.
14708
14709         * gst/gstelementfactory.h:
14710         * gst/gstplugin.h:
14711         * gst/gstpluginfeature.h:
14712         Add _CAST macros.
14713         API: GST_ELEMENT_FACTORY_CAST
14714         API: GST_PLUGIN_CAST
14715         API: GST_PLUGIN_FEATURE_CAST
14716
14717 2006-06-12  Wim Taymans  <wim@fluendo.com>
14718
14719         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14720         (gst_object_unref):
14721         Add G_UNLIKELY in type registration.
14722         Avoid type check in _ref/_unref since that is also
14723         done in glib.
14724
14725 2006-06-12  Wim Taymans  <wim@fluendo.com>
14726
14727         * gst/gsterror.c: (gst_g_error_get_type):
14728         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14729         (gst_static_pad_template_get_type):
14730         * gst/gsttaglist.c: (gst_tag_list_get_type):
14731         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14732         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14733         * gst/gsturi.c: (gst_uri_handler_get_type):
14734         * gst/gstvalue.c: (gst_date_get_type):
14735         * gst/gstxml.c: (gst_xml_get_type):
14736         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14737         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14738         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14739         Add G_UNLIKELY in type registration.
14740
14741 2006-06-12  Wim Taymans  <wim@fluendo.com>
14742
14743         * tools/gst-inspect.c: (print_signal_info):
14744         Properly print enum values.
14745
14746 2006-06-12  Wim Taymans  <wim@fluendo.com>
14747
14748         * gst/gstinfo.c: (gst_debug_set_active),
14749         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14750         * gst/gstinfo.h:
14751         Add some G_[UN]LIKELY.
14752         Maintain __gst_debug_min to avoid formatting the arguments of
14753         debug messages that will be dropped anyway to avoid a lot of 
14754         overhead from the debugging system.
14755
14756 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14757
14758         * po/POTFILES.in:
14759         * po/POTFILES.skip:
14760           add missing files containing translatable strings, tell intltool about
14761           one exception
14762
14763 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14764
14765         * tests/check/libs/.cvsignore:
14766         add test-binary to ignore list
14767
14768 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14769
14770         * docs/libs/gstreamer-libs-docs.sgml:
14771         reorder (put dp into a chapter) and indent
14772
14773 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14774
14775         * configure.ac:
14776           back to HEAD
14777
14778 === release 0.10.8 ===
14779
14780 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
14781
14782         * configure.ac:
14783           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14784
14785 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14786
14787         * gst/gst.c: (init_post):
14788           move pid declaration to declaration block
14789
14790 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14791
14792         * gst/gst.c: (init_post):
14793           use _exit() instead of exit() in our forked child; this ensures
14794           that none of the registered exit handlers from whatever is using
14795           GStreamer get executed.  This fixes gnome-mixer-applet failing
14796           to load, because ORBit would shut down.
14797           Spotted by: Edward Hervey  <edward@fluendo.com>
14798           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
14799           Fixes #344474
14800
14801 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14802
14803         * configure.ac:
14804           back to TRUNK
14805
14806 === release 0.10.7 ===
14807
14808 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
14809
14810         * configure.ac:
14811           releasing 0.10.7, "Soepeke, ik zie ou"
14812
14813 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14814
14815         * configure.ac:
14816         * po/af.po:
14817         * po/az.po:
14818         * po/bg.po:
14819         * po/ca.po:
14820         * po/cs.po:
14821         * po/de.po:
14822         * po/en_GB.po:
14823         * po/fr.po:
14824         * po/it.po:
14825         * po/nb.po:
14826         * po/nl.po:
14827         * po/ru.po:
14828         * po/sq.po:
14829         * po/sr.po:
14830         * po/sv.po:
14831         * po/tr.po:
14832         * po/uk.po:
14833         * po/vi.po:
14834         * po/zh_CN.po:
14835         * po/zh_TW.po:
14836         * win32/common/config.h:
14837           0.10.6.2 prerelease
14838
14839 2006-06-07  Wim Taymans  <wim@fluendo.com>
14840
14841         * gst/gstindex.c: (gst_index_gtype_resolver):
14842         * tools/gst-xmlinspect.c: (print_plugin_info):
14843         Fix leak spotted by coverity checker. Fixes #343827
14844         Fix another other leak found by paolo borelli.
14845
14846 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14847
14848         * libs/gst/dataprotocol/dataprotocol.c:
14849         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14850         (gst_dp_version_get_type), (gst_dp_init),
14851         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14852         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14853         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14854         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14855         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14856         (gst_dp_packetizer_free):
14857         * libs/gst/dataprotocol/dataprotocol.h:
14858           API: add a GstDPPacketizer object, and create/free functions
14859           API: add GstDPVersion enum
14860           Add 1.0 event function that uses the string serialization
14861           Serialize more useful buffer flags
14862           Fixes #343988
14863
14864 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14865
14866         * tests/check/Makefile.am:
14867         * tests/check/gst/gstabi.c:
14868         * tests/check/gst/struct_ppc64.h:
14869         * tests/check/libs/libsabi.c:
14870         * tests/check/libs/struct_ppc64.h:
14871           add ppc64 structure sizes
14872
14873 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14874
14875         * tests/check/Makefile.am:
14876         * tests/check/gst/gstabi.c:
14877         * tests/check/gst/struct_x86_64.h:
14878         * tests/check/libs/libsabi.c:
14879         * tests/check/libs/struct_x86_64.h:
14880           generate and add structure size lists for x86_64
14881
14882 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14883
14884         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14885         * libs/gst/check/gstcheck.h:
14886           factor out the method from tests that checks size of structures,
14887           and add code to generate the header containing these sizes
14888         * tests/check/gst/gstabi.c: (GST_START_TEST):
14889         * tests/check/gst/struct_i386.h:
14890         * tests/check/libs/libsabi.c: (GST_START_TEST):
14891         * tests/check/libs/struct_i386.h:
14892           use it
14893
14894 2006-06-06  Michael Smith  <msmith@fluendo.com>
14895
14896         * gst/gstsegment.h:
14897           Don't use c++-style comments, fixes #343929
14898
14899 2006-06-05  Edward Hervey  <edward@fluendo.com>
14900
14901         * gst/gst.c:
14902         plugin_paths is not used if we build without registry support.
14903
14904         * gst/gstsegment.c: (gst_segment_copy): 
14905         _copy() was always returning NULL...
14906
14907 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14908
14909         * libs/gst/dataprotocol/dataprotocol.c:
14910         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14911         (gst_dp_packet_from_event):
14912           factor out CRC code
14913
14914 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14915
14916         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14917           make sure we unset caps
14918
14919 2006-06-02  Michael Smith  <msmith@fluendo.com>
14920
14921         * libs/gst/check/gstcheck.c: (gst_check_init),
14922         (gst_check_chain_func):
14923         * libs/gst/check/gstcheck.h:
14924           Add a cond/mutex to the check support lib, signal this whenever we
14925           add to the buffers list. This will allow tests to not busy-wait on
14926           the buffer-list.
14927
14928 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14929
14930         * libs/gst/dataprotocol/dataprotocol.c:
14931         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14932         (gst_dp_packet_from_event):
14933           factor out some common header init code
14934
14935 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14936
14937         * docs/libs/gstreamer-libs-sections.txt:
14938         * docs/libs/tmpl/gstdataprotocol.sgml:
14939         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14940         * libs/gst/dataprotocol/dataprotocol.h:
14941           API: make gst_dp_crc() public
14942
14943 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14944
14945         * plugins/indexers/gstindexers.c: (plugin_init):
14946         conditionally register fileindexer (fixes #343598)
14947
14948 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14949
14950         * gst/gsttagsetter.h:
14951         Can't cast ifaces to a class
14952
14953         * libs/gst/net/gstnetclientclock.h:
14954         * libs/gst/net/gstnettimeprovider.h:
14955         * plugins/elements/gstfakesink.h:
14956         * plugins/elements/gstfakesrc.h:
14957         * plugins/elements/gstfdsink.h:
14958         * plugins/elements/gstfdsrc.h:
14959         * plugins/elements/gstfilesink.h:
14960         * plugins/elements/gstfilesrc.h:
14961         * plugins/elements/gstidentity.h:
14962         * plugins/elements/gstqueue.h:
14963         * plugins/elements/gsttee.h:
14964         * plugins/indexers/gstfileindex.c:
14965         * plugins/indexers/gstmemindex.c:
14966         * tests/old/examples/plugins/example.h:
14967         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14968
14969 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14970
14971         * libs/gst/dataprotocol/dataprotocol.c:
14972         (gst_dp_header_from_buffer):
14973           make sure we zero the whole ABI-compatible area
14974
14975 2006-06-01  Wim Taymans  <wim@fluendo.com>
14976
14977         Patch by: Alessandro Decina <alessandro at nnva dot org>
14978
14979         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14980         Make sure the EOS flag is cleared from pads after a flush
14981         or stop. Fixes #343538.
14982
14983         * tests/check/libs/collectpads.c: (GST_START_TEST),
14984         (gst_collect_pads_suite):
14985         Added test for collectpads reusage after EOS.
14986
14987 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
14988
14989         * gst/gst.c:
14990          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14991         * win32/common/libgstbase.def:
14992          export gst_collect_pads_set_flushing
14993         * win32/common/libgstreamer.def:
14994          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14995          gst_value_fraction_multiply
14996         * win32/vs6/gst_inspect.dsp:
14997          add a link to intl.lib
14998
14999 2006-05-30  Wim Taymans  <wim@fluendo.com>
15000
15001         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
15002         (gst_collect_pads_chain):
15003         Handle the case where a pad is removed from the collection
15004         that could cause the other pads to become collectable.
15005
15006 2006-05-30  Wim Taymans  <wim@fluendo.com>
15007
15008         * gst/gstelement.c:
15009         Clarify the use of _release_request_pad() and
15010         _get_request_pad() a bit better.
15011
15012         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
15013         (gst_adapter_take_buffer):
15014         Fix some doc and comment typos.
15015
15016 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15017
15018         * docs/gst/gstreamer-sections.txt:
15019         * docs/libs/gstreamer-libs-sections.txt:
15020           add declared symbols
15021
15022 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
15023
15024         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
15025         Add debug that can be enabled using a #define at the top of the file,
15026         for dumping stats about how late/early we were when waking up from
15027         waiting on the clock.
15028
15029 2006-05-30  Wim Taymans  <wim@fluendo.com>
15030
15031         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
15032         When rebuilding the pad list, don't leak the previous list.
15033
15034 2006-05-30  Wim Taymans  <wim@fluendo.com>
15035
15036         Patch by: Lutz Mueller <lutz at topfrose dot de>
15037
15038         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15039         (gst_base_src_get_query_types), (gst_base_src_update_length):
15040         Publish supported query types.
15041         Update last_stop field in get_range mode so the position
15042         query works. Fixes #342321.
15043
15044 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
15045
15046         * docs/gst/gstreamer-sections.txt:
15047         * gst/gsttaglist.c: (_gst_tag_initialize):
15048         * gst/gsttaglist.h:
15049           API: add GST_TAG_PREVIEW_IMAGE (#343341).
15050
15051 2006-05-30  Wim Taymans  <wim@fluendo.com>
15052
15053         Patch by: Alessandro Decina <alessandro at nnva dot org>
15054
15055         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
15056         Unlock mutex when removing an unknown pad.
15057         Fixes #343334.
15058
15059         * tests/check/Makefile.am:
15060         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
15061         (push_event), (setup), (teardown), (GST_START_TEST),
15062         (gst_collect_pads_suite), (main):
15063         Added collecpads check, disabled for now as check crashes for
15064         some reason.
15065
15066 2006-05-29  Wim Taymans  <wim@fluendo.com>
15067
15068         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
15069         Don't leak pads lists.
15070
15071 2006-05-29  Wim Taymans  <wim@fluendo.com>
15072
15073         * docs/libs/gstreamer-libs-sections.txt:
15074         * libs/gst/base/gstcollectpads.c:
15075         (gst_collect_pads_set_flushing_unlocked),
15076         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15077         (gst_collect_pads_stop):
15078         * libs/gst/base/gstcollectpads.h:
15079         API: gst_collect_pads_set_flushing()
15080         Added api to set the pads to flushing, useful for seeking
15081         code in elements using collectpads.
15082         Clear segment when receiving a flush.
15083
15084 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
15085
15086         * gst/gst.c: (add_path_func), (init_post):
15087           Don't scan registry paths passed via --gst-plugin-path immediately
15088           (will crash, because absolutely nothing is set up and no types are
15089           registered etc.); do this later in init_post(). Fixes #343057.
15090
15091 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15092
15093         * gst/gst.c: (init_post):
15094           if we have fork, fork while reading/rebuilding the registry
15095           so the parent doesn't take the hit of having all plugins loaded
15096           in memory.  Fixes #342777.
15097         * configure.ac:
15098           Check if we have fork()
15099         * win32/common/config.h.in:
15100           no fork() on win32
15101
15102 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
15103
15104         * plugins/elements/gstelements.c:
15105         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
15106         (gst_file_src_init), (gst_file_src_set_property),
15107         (gst_file_src_get_property), (gst_file_src_start):
15108         * plugins/elements/gstfilesrc.h:
15109           API: GstFileSrc::use-mmap
15110
15111         Add a use-mmap property to enable easier testing of all code paths.
15112         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
15113         in the absence of gnomevfssrc. (Closes #340501)
15114
15115 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
15116
15117         * tools/gst-inspect.c:
15118         Add missing include, removes warning of ngettext not being defined on
15119         some arches.
15120
15121 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
15122
15123         * gst/gstvalue.c: (gst_value_deserialize_fraction):
15124         Handle NULL input and output pointers silently as a failed conversion,
15125         rather than g_warnings.
15126
15127 2006-05-25  Wim Taymans  <wim@fluendo.com>
15128
15129         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
15130         Initialize variable before using. Fixes #342820.
15131
15132 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
15133
15134         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
15135           Fix off-by-one bug that would only allow peeks of N-1 bytes
15136           from the start even if the buffer to typefind on contains
15137           in fact N bytes of data (makes vorbis typefinding from a
15138           vorbis identification header buffer work).
15139
15140         * tests/check/Makefile.am:
15141         * tests/check/libs/.cvsignore:
15142         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
15143         (gst_typefindhelper_suite), (main), (foobar_typefind),
15144         (plugin_init):
15145           Add very basic unit test for gst_type_find_helper_for_buffer()
15146           that checks for the problem fixed above.
15147
15148 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15149
15150         * tools/gst-inspect.c: (print_interfaces),
15151         (print_element_properties_info), (print_element_list), (main):
15152           add more translatable strings
15153
15154 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
15155
15156         Patch by: Julien Moutte  <julien at moutte net>
15157
15158         * docs/gst/gstreamer-sections.txt:
15159           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
15160           
15161         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
15162         (gst_fake_sink_preroll):
15163         * plugins/elements/gstfakesink.h:
15164           API: Add new GstFakeSink::preroll-handoff signal (#337100).
15165
15166 2006-05-23  Wim Taymans  <wim@fluendo.com>
15167
15168         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
15169         * gst/gstpad.h:
15170         Added _CUSTOM error and success GstFlowReturn that can be
15171         used be elements internally. 
15172         Added macro to check for SUCCESS flowreturns.
15173         API: GST_FLOW_CUSTOM_SUCCESS
15174         API: GST_FLOW_CUSTOM_ERROR
15175         API: GST_FLOW_IS_SUCCESS
15176
15177         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
15178         Added check for GstFlowReturn sanity.
15179
15180 2006-05-23  Wim Taymans  <wim@fluendo.com>
15181
15182         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
15183
15184         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
15185         (gst_collect_pads_event):
15186         clear/reset segment info in FLUSH_STOP.
15187         Fixes #336929.
15188
15189 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
15190
15191         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
15192         (gst_collect_pads_check_collected):
15193         Flush queued buffer on _stop(), fixes playing again (#342454)
15194
15195 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15196
15197         * tests/check/gst/gststructure.c: (GST_START_TEST),
15198         (gst_structure_suite):
15199           add a test for a complete structure
15200
15201 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
15202
15203         * docs/faq/developing.xml:
15204         * docs/faq/faq.xml:
15205         * docs/faq/troubleshooting.xml:
15206         * docs/faq/using.xml:
15207           Some minor FAQ updates that won't change the fact that
15208           our FAQ is badly structured, full of information hardly
15209           anyone new to GStreamer needs to know and lacking lots
15210           of information people constantly ask for.
15211           
15212 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
15213
15214         * gst/gstpad.c: (gst_pad_set_caps):
15215           Short-circuit gst_pad_set_caps if setting the existing
15216           caps pointer again, and avoid printing debug and 
15217           reffing/unreffing the caps.
15218
15219         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15220           There's actually no need to set the caps before pushing -
15221           the acceptcaps method will handle it anyway.
15222
15223 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
15224
15225         * docs/gst/gstreamer-sections.txt:
15226         * win32/common/libgstreamer.def:
15227         * gst/gstutils.c: (gst_element_seek_simple):
15228         * gst/gstutils.h:
15229           API: add gst_element_seek_simple() (#342238).
15230
15231 2006-05-18  Edward Hervey  <edward@fluendo.com>
15232
15233         * gst/gsttypefind.c: (gst_type_find_get_type):
15234         * gst/gsttypefind.h:
15235         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
15236         registered for GstTypeFind pointers. This allows wrapping the structure
15237         in bindings (i.e. gst-python).
15238
15239 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
15240
15241         * gst/gsttagsetter.c:
15242           Docs additions and fixes (see #339918).
15243
15244 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
15245
15246         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
15247         The caps intersection algorithm can produce multiple copies of the
15248         caps. Until that is fixed, we need to simplify the result to be
15249         sure whether the allowed caps are fixed or not.
15250
15251         * plugins/elements/gstqueue.c: (gst_queue_init),
15252         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
15253         (gst_queue_push_one):
15254         Proxied buffer alloc should not set the caps on the source pad.
15255         When pushing buffers, we always accept the caps change that triggers.
15256         This prevents negotiation errors caused by caps changing mid-stream 
15257         and then being refused on our source pad (because upstream is now
15258         refusing those caps).
15259
15260 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
15261
15262         * tests/examples/helloworld/helloworld.c: (main):
15263           Must plug audioconvert and audioresample between decoder
15264           and audio sink.
15265
15266 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
15267
15268         * gst/gstregistryxml.c: (read_string), (load_pad_template),
15269         (load_feature), (load_plugin):
15270         Allow empty strings for some of the plugin fields so we don't 
15271         drop valid plugin entries that were written out correctly
15272         (Fixes #341479)
15273
15274 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
15275         
15276         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
15277           Use g_remove and g_rename instead of remove and rename that don't 
15278           handle utf8 characters. rename was failing for users who had specific
15279           characters in their name then the registry was built at each 
15280           gstreamer init.
15281         * win32/vs6/gst_inspect.dsp:
15282         * win32/vs6/gst_launch.dsp:
15283         * win32/vs6/libgstbase.dsp:
15284         * win32/vs6/libgstcoreelements.dsp:
15285         * win32/vs6/libgstreamer.dsp:
15286           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
15287           build of libgstreamer and clean unused libraries in projects link 
15288           settings.
15289
15290 2006-05-17  Edward Hervey  <edward@fluendo.com>
15291
15292         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15293         The queue is not responsible for pushing an EOS when receiving a fatal
15294         flow error. It's up to the real element driving the pipeline to do that.
15295
15296 2006-05-16  Edward Hervey  <edward@fluendo.com>
15297
15298         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15299         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
15300         buffer returned a fatal error. It should just send an EOS and stop
15301         its task.
15302         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
15303         when pushing buffers on the queue and will be able to handle the event.
15304
15305 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
15306
15307         * docs/manual/basics-bins.xml:
15308         * docs/manual/basics-init.xml:
15309           Fix typos and minor errors in sample code (#341856).
15310
15311 2006-05-16  Wim Taymans  <wim@fluendo.com>
15312
15313         * docs/design/part-qos.txt:
15314         Fix indexes in formulas to make more sense.
15315
15316 2006-05-15  Wim Taymans  <wim@fluendo.com>
15317
15318         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15319         Don't report POSITION based on clock time if sync is
15320         disabled in a sink.
15321
15322 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
15323
15324         * gst/gstobject.h:
15325           Add cast to make compiler happy - refcount variable was a gint
15326           in GstObject but is a guint in GObject and g_atomic_int_get()
15327           wants a gint *.
15328
15329 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15330
15331         * gst/parse/Makefile.am:
15332           chain commands using &&, which also makes parallel make work
15333
15334 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
15335
15336         * docs/gst/gstreamer-sections.txt:
15337         * gst/gstevent.c:
15338         * gst/gstevent.h:
15339         * gst/gstmessage.h:
15340           Minor docs fixes.
15341
15342 === release 0.10.6 ===
15343
15344 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
15345
15346         * configure.ac:
15347           releasing 0.10.6, "Take the cannoli"
15348
15349 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15350
15351         * tools/gst-launch.c: (print_tag):
15352           Fix use of uninitialized variable in the hypothetical
15353           case that some broken plugin creates a GST_TAG_IMAGE
15354           tag containing a NULL buffer (#341667).
15355
15356 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
15357
15358         * tools/gst-launch.c: (print_tag):
15359           Print something more intelligible for image tags when
15360           using the -t switch (#341556).
15361
15362 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15363
15364         * Makefile.am:
15365           updates for win32
15366         * configure.ac:
15367           define GST_MAJORMINOR so we have it available in win32/common/config.h
15368           Possibly remove it from our Makefile.am files later
15369         * win32/common/config.h:
15370         * win32/common/config.h.in:
15371           added GST_MAJORMINOR
15372         * win32/common/gstenumtypes.c: (register_gst_resource_error):
15373         * win32/common/gstversion.h:
15374           updated
15375
15376 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
15377
15378         * win32/MANIFEST:
15379           Update win32 files listing.
15380         * win32/common/gstversion.h:
15381           Add GST_MAJORMINOR definition.
15382         * win32/common/libgstreamer.def:
15383           Add new exported functions.
15384           
15385 2006-05-12  Michael Smith  <msmith@fluendo.com>
15386
15387         * gst/gstplugin.c: (gst_plugin_load_file):
15388           If an so file has no plugin entry point, unload the module.
15389
15390 2006-05-11  Wim Taymans  <wim@fluendo.com>
15391
15392         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
15393         (gst_queue_set_property):
15394         Don't forget to signal the _chain or _loop function 
15395         when the queue size or thresholds change since that might
15396         cause them to make progres again.
15397
15398 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
15399
15400         * gst/gstclock.c: (gst_clock_class_init):
15401         * gst/gstindex.c: (gst_index_class_init):
15402         * gst/gstobject.c: (gst_object_class_init):
15403         * gst/gstpad.c: (gst_pad_class_init):
15404         * gst/gstpipeline.c: (gst_pipeline_class_init):
15405         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15406         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
15407         * libs/gst/base/gstbasetransform.c:
15408         (gst_base_transform_class_init):
15409         * libs/gst/net/gstnetclientclock.c:
15410         (gst_net_client_clock_class_init):
15411         * libs/gst/net/gstnettimeprovider.c:
15412         (gst_net_time_provider_class_init):
15413         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
15414         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
15415         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
15416         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
15417         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15418         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
15419         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
15420         * plugins/elements/gstidentity.c: (gst_identity_class_init):
15421         * plugins/elements/gsttee.c: (gst_tee_class_init):
15422         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15423         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15424           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
15425
15426 2006-05-11  Wim Taymans  <wim@fluendo.com>
15427
15428         * gst/gstbuffer.c: (_gst_buffer_initialize):
15429         Register subbufer along with the buffer type so that
15430         it does not accidentally gets registered from N
15431         different streaming threads in a non threadsafe way.
15432
15433 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15434
15435         * gst/gstbuffer.h:
15436         * gst/gstevent.h:
15437         * gst/gstmessage.h:
15438           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
15439           gst_event_ref() and gst_message_ref() functions again
15440           (ugly hack, please do fix if there's a better way besides
15441           overrides.txt, which doesn't seem to work).
15442
15443 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15444
15445         * libs/gst/check/gstcheck.h:
15446           add an assert for setting state to avoid lots of repetitive code
15447           in the future
15448
15449 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15450
15451         * gst/gstvalue.c: (gst_value_serialize_flags):
15452           fix a leak if no flags are set
15453         * tests/check/gst/gstvalue.c: (GST_START_TEST):
15454           fix leak in tests
15455
15456 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15457
15458         * docs/manual/basics-pads.xml:
15459           Expand a bit on caps and filtered links and update
15460           examples that were still using the no longer existing
15461           gst_pad_link_filtered() (#338206).
15462
15463 2006-05-10  Wim Taymans  <wim@fluendo.com>
15464
15465         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15466         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15467         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15468         (gst_collect_pads_stop):
15469         * libs/gst/base/gstcollectpads.h:
15470         No need to call _stop in _finalize.
15471         Iterate the main pad list in _finalize.
15472         Added some more debug.
15473         Free lists and data in the right order.
15474         Also free data whem doing _remove_pad when stopped for
15475         backward compatibility protect ::started with PAD_LOCK as
15476         well.
15477
15478 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15479
15480         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
15481         (gst_structure_parse_value):
15482           add some comments
15483           rename a method so that it actually says what it does better
15484
15485 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15486
15487         * gst/gstevent.c: (_gst_event_initialize):
15488         * gst/gstformat.c: (_gst_format_initialize):
15489           make sure some essential types used by events are registered
15490           as part of gst_init()
15491         * gst/gstvalue.c: (gst_value_serialize_flags):
15492           if no flags are set, serialize them to a value that represents NONE
15493           so that deserializing them works
15494         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15495           add tests for serialization and deserialization of flags
15496
15497 2006-05-10  Wim Taymans  <wim@fluendo.com>
15498
15499         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
15500         (gst_collect_pads_collect_range), (gst_collect_pads_available),
15501         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
15502         (gst_collect_pads_event), (gst_collect_pads_chain):
15503         Update docs.
15504         Better debug info.
15505         Catch and return errors from the collect function
15506         Refuse data on eos pads.
15507
15508 2006-05-10  Edward Hervey  <edward@fluendo.com>
15509
15510         * gst/gstinterface.h:
15511         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
15512         GInterface type checking.
15513         They were previously using non-defined macros.
15514
15515 2006-05-09  Wim Taymans  <wim@fluendo.com>
15516
15517         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
15518         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
15519         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
15520         (gst_collect_pads_start), (gst_collect_pads_stop),
15521         (gst_collect_pads_peek), (gst_collect_pads_pop),
15522         (gst_collect_pads_available), (gst_collect_pads_read),
15523         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
15524         (gst_collect_pads_is_collected), (gst_collect_pads_event),
15525         (gst_collect_pads_chain):
15526         * libs/gst/base/gstcollectpads.h:
15527         Clean up the mess that is collectpads, add comments and
15528         FIXMEs where needed.
15529         Maintain a separate pad list so we can add pads while
15530         collecting the other ones. For this we need a new separate 
15531         lock (see comics).
15532         Fix memory leak in finalize.
15533         Refactor some weird code to set/unset pad flushing flags, mark
15534         with comments.
15535         Don't crash in _available, _read, _flush when we're EOS.
15536
15537         * tests/check/libs/.cvsignore:
15538         Ignore adapter check binary.
15539
15540 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15541
15542         * gst/gstindex.c: (gst_index_resolver_get_type):
15543         * plugins/elements/gstfakesink.c:
15544         (gst_fake_sink_state_error_get_type):
15545         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15546         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15547         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15548           Const-ify GEnumValue arrays.
15549
15550 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15551
15552         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15553           Add test case for flags + gst_buffer_make_metadata_writable().
15554
15555 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15556
15557         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15558           gst_buffer_make_metadata_writable() should maintain the
15559           buffer flags (those that make sense at least) (see #340859).
15560
15561 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15562
15563         * tools/gst-inspect.c:
15564         * tools/gst-launch.c:
15565         * tools/gst-typefind.c:
15566         * tools/gst-xmlinspect.c:
15567         * tools/tools.h:
15568           Fix up includes: need to include stdlib.h in tools.h for exit().
15569
15570 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15571
15572         * gst/gsttaglist.c: (_gst_tag_initialize):
15573         * gst/gsttaglist.h:
15574           API: add GST_TAG_IMAGE tag (#340721).
15575
15576 2006-05-08  Wim Taymans  <wim@fluendo.com>
15577
15578         * gst/gstquery.c:
15579         Added some docs for the segment query.
15580
15581 2006-05-08  Wim Taymans  <wim@fluendo.com>
15582
15583         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15584         (gst_base_src_loop), (gst_base_src_change_state):
15585         Always push non-flushing serialized events in the streaming 
15586         thread.
15587
15588 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15589
15590         * gst/gsterror.c: (_gst_stream_errors_init):
15591           Add a missing error string.
15592
15593 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
15594
15595         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15596         Add applied_rate to the debug
15597
15598         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15599         Copy applied_rate into the outgoing NEWSEGMENT event
15600
15601 2006-05-08  Wim Taymans  <wim@fluendo.com>
15602
15603         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15604
15605         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15606         (gst_base_sink_change_state):
15607         call ::unlock before taking the PREROLL_LOCK so we can safely
15608         handle elements that lock in ::render.
15609         Fixes #340174.
15610
15611 2006-05-08  Edward Hervey  <edward@fluendo.com>
15612
15613         * autogen.sh: (CONFIGURE_DEF_OPT): 
15614         Darwin's libtoolize is in fact called glibtoolize.
15615         Adding glibtoolize to the list of accepted names for libtoolize.
15616
15617 2006-05-08  Wim Taymans  <wim@fluendo.com>
15618
15619         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15620         Unify error handling, don't post an error message
15621         when a push() returns EOS but perform our normal EOS
15622         handling code. Fixes #340772.
15623
15624 2006-05-08  Wim Taymans  <wim@fluendo.com>
15625
15626         * docs/design/part-overview.txt:
15627         Make upsteam/downstream concepts more clear.
15628         Give an example of serialized/non-serialized events.
15629
15630         * docs/design/part-events.txt:
15631         * docs/design/part-streams.txt:
15632         Mention applied_rate.
15633
15634         * docs/design/part-trickmodes.txt:
15635         Mention applied rate, flesh out some more use cases.
15636
15637         * gst/gstevent.c: (gst_event_new_new_segment),
15638         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15639         (gst_event_parse_new_segment_full), (gst_event_new_tag),
15640         (gst_event_parse_tag), (gst_event_new_buffer_size),
15641         (gst_event_parse_buffer_size), (gst_event_new_qos),
15642         (gst_event_parse_qos), (gst_event_parse_seek),
15643         (gst_event_new_navigation):
15644         * gst/gstevent.h:
15645         Add applied_rate field to NEWSEGMENT event.
15646         API: gst_event_new_new_segment_full()
15647         API: gst_event_parse_new_segment_full()
15648
15649         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15650         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15651         (gst_segment_to_stream_time), (gst_segment_to_running_time):
15652         * gst/gstsegment.h:
15653         Add applied_rate to GstSegment structure.
15654         Make calculation of stream_time and running_time more correct
15655         wrt rate/applied_rate.
15656         Add some more docs.
15657         API: GstSegment::applied_rate field
15658         API: gst_segment_set_newsegment_full();
15659
15660         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15661         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15662         * libs/gst/base/gstbasetransform.c:
15663         (gst_base_transform_sink_eventfunc),
15664         (gst_base_transform_handle_buffer):
15665         Parse and use applied_rate in the GstSegment field.
15666
15667         * tests/check/gst/gstevent.c: (GST_START_TEST):
15668         Add check for applied_rate field.
15669
15670         * tests/check/gst/gstsegment.c: (GST_START_TEST),
15671         (gstsegments_suite):
15672         Add more checks for various GstSegment operations.
15673
15674 2006-05-08  Wim Taymans  <wim@fluendo.com>
15675
15676         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15677         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15678         (gst_base_sink_get_position), (gst_base_sink_change_state):
15679         Store the sync time of the buffer end position separatly in a
15680         new variable eos_rtime so we can properly sync the EOS event.
15681         Fixes #340697.
15682         Fix the docs for gst_base_sink_set_qos_enabled().
15683         Don't set segment start to invalid value when we receive a 
15684         non TIME newsegment.
15685         get closer to handling position reporting for negative rates 
15686         correctly.
15687
15688 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15689
15690         * gst/gstcaps.c:
15691         Docs about how to print caps for debug purposes.
15692
15693         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15694         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15695
15696 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15697
15698         * gst/gstelement.c:
15699           use full enum names and preprend a '%' in docs strings to make recent 
15700           gtk-doc turn that into a link
15701
15702 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15703
15704         * docs/manual/basics-bins.xml:
15705         * docs/manual/basics-bus.xml:
15706         * docs/manual/basics-pads.xml:
15707           Some typo fixes, some additions, some clarifications. 
15708
15709 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15710
15711         * tools/gst-inspect.c: (main):
15712         * tools/gst-launch.c: (main):
15713         * tools/gst-run.c: (main):
15714         * tools/gst-typefind.c: (main):
15715         * tools/gst-xmlinspect.c: (main):
15716           Use the string passed to g_option_context_new() for
15717           what it's intended for - the program name is already
15718           printed elsewhere.
15719
15720 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15721
15722         * tools/Makefile.am:
15723         * tools/gst-inspect.c: (main):
15724         * tools/gst-launch.c: (main):
15725         * tools/gst-xmlinspect.c: (main):
15726         * tools/tools.h:
15727           Add back --version command line option (#340460).
15728
15729         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15730           Add --version option and use GOption for argument parsing; refactor a
15731           bit; accept directories as arguments and recurse into them; lastly,
15732           print a decent error message when things go wrong.
15733
15734 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15735
15736         * docs/manual/basics-bins.xml:
15737         Don't mention GstThread (#340611)
15738         * docs/manual/basics-elements.xml:
15739         Update link to GObject tutorial (#340607)
15740         
15741 2006-05-05  Wim Taymans  <wim@fluendo.com>
15742
15743         * gst/gstbuffer.h:
15744         * gst/gstminiobject.c:
15745         Add note about refcounting and miniobject/buffer writeability
15746         to docs. Fixes #340604
15747
15748         * gst/gstelementfactory.h:
15749         Added some explanation about @klass.
15750
15751 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15752
15753         * docs/manual/intro-motivation.xml:
15754         * docs/manual/manual.xml:
15755         Avoid CORBA & Bonobo references (#340598)
15756
15757 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15758
15759         * docs/manual/basics-bus.xml:
15760         * docs/manual/basics-pads.xml:
15761         Fix up some inaccuracies and omissions (#340609)
15762         
15763 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15764
15765         * gst/gstghostpad.c:
15766           Small typo in docs (#340625)
15767
15768 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15769
15770         * gst/parse/Makefile.am:
15771           Make 'make -j' proof (see #340698).
15772
15773 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15774
15775         * configure.ac:
15776           Require GLib-2.8 here as well.
15777
15778 2006-05-05  Wim Taymans  <wim@fluendo.com>
15779
15780         * gst/glib-compat.c:
15781         * gst/gst.c: (init_pre):
15782         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15783         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15784         (gst_object_dispatch_properties_changed):
15785         * gst/gstobject.h:
15786         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15787         * gst/gststructure.c: (gst_structure_set_valist):
15788         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15789         Remove pre glib2.8 compatibility, fixes #340508
15790
15791 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15792
15793         * gst/gsttaglist.h:
15794           Mention type of tags in doc blurbs.
15795
15796 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
15797
15798         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15799         (gst_pad_configure_src), (gst_pad_push):
15800         Restore acceptcaps checking behaviour now that good plugins have
15801         been released.
15802
15803 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15804
15805         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15806
15807         * gst/gst.c:
15808         * gst/gstbus.c:
15809         * gst/gstclock.c:
15810         * gst/gstevent.c:
15811         * gst/gstformat.c:
15812         * gst/gstmessage.c:
15813         * gst/gstparse.c:
15814         * gst/gstquery.c:
15815         * gst/gstutils.c:
15816         * gst/parse/Makefile.am:
15817         * libs/gst/base/gstadapter.c:
15818         * libs/gst/base/gstbasesrc.c:
15819         * libs/gst/base/gstpushsrc.c:
15820         * libs/gst/base/gsttypefindhelper.c:
15821         * plugins/elements/gstfakesrc.c:
15822         * plugins/elements/gstidentity.c:
15823           Make sure gstprivate.h and/or config.h are
15824           always included first, otherwise some of our
15825           defines (like _FILE_OFFSET_BITS) might be
15826           redefined in the system headers. Fixes build
15827           on opensolaris (#340016).
15828
15829 2006-05-04  Wim Taymans  <wim@fluendo.com>
15830
15831         * docs/libs/gstreamer-libs-sections.txt:
15832         API: addition: gst_adapter_take_buffer()
15833         
15834         * libs/gst/base/gstadapter.c: (gst_adapter_push),
15835         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15836         (gst_adapter_available_fast):
15837         * libs/gst/base/gstadapter.h:
15838         Prepare for optimizing the hell out of this hugely inefficient
15839         piece of code. 
15840         Added gst_adapter_take_buffer() so we can at least start thinking
15841         about subbuffering and merging.
15842         Added some comments.
15843
15844         * tests/check/Makefile.am:
15845         * tests/check/libs/adapter.c: (GST_START_TEST),
15846         (gst_adapter_suite), (main):
15847         Added GstAdapter check.
15848
15849 2006-05-04  Wim Taymans  <wim@fluendo.com>
15850
15851         * docs/design/part-overview.txt:
15852         Fix some typos, add blurb about buffer flags.
15853
15854 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15855
15856         * docs/libs/gstreamer-libs-sections.txt:
15857           make sure GstBaseTransformClass shows up in the docs
15858         * libs/gst/base/gstbasetransform.c:
15859         * libs/gst/base/gstbasetransform.h:
15860           move docs so gtk-doc picks it up now
15861
15862 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15863
15864         * docs/libs/gstreamer-libs-sections.txt:
15865           add missing symbols to docs
15866
15867 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15868
15869         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15870           back out the newsegment handling change, see #340060 for ongoing
15871           discussion
15872
15873 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
15874
15875         * tools/gst-run.c: (get_candidates), (main):
15876           Fix wrong g_file_test() usage (see glib docs for why it doesn't
15877           work); fix typo in error message. Fixes #340079.
15878
15879 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15880
15881         * common/Makefile.am:
15882         * docs/Makefile.am:
15883         * docs/faq/Makefile.am:
15884         * docs/gst/Makefile.am:
15885         * docs/libs/Makefile.am:
15886         * docs/manual/Makefile.am:
15887         * docs/plugins/Makefile.am:
15888         * docs/pwg/Makefile.am:
15889         * docs/slides/Makefile.am:
15890         * docs/upload.mak:
15891         * common/upload.mak:
15892           move upload.mak to common
15893
15894 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15895
15896         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15897           add more asserts on refcounts
15898           do more cleanup at end of tests
15899           fix test leaks showing in FC5
15900
15901 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
15902
15903         * plugins/elements/gsttypefindelement.c:
15904         (gst_type_find_element_handle_event):
15905         reverted wrong change and reflowed code to avoid others falling into
15906         this trap
15907
15908 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15909
15910         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15911           fix changelog entry about last collectpads change,
15912           add notes about proper fix
15913
15914 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15915
15916         * gst/gst.c:
15917         * gst/gstregistry.c: (gst_registry_scan_path_level),
15918         (gst_registry_scan_path):
15919         * gst/gstregistry.h:
15920           only write out registry if it has changed, fixes #338339
15921
15922 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15923
15924         * gst/gstbin.c:
15925         * gst/gstpipeline.c:
15926         * plugins/elements/gstcapsfilter.c:
15927         * plugins/elements/gstfakesink.c:
15928         * plugins/elements/gstfakesrc.c:
15929         * plugins/elements/gstfdsink.c:
15930         * plugins/elements/gstfdsrc.c:
15931         * plugins/elements/gstfilesink.c:
15932         * plugins/elements/gstfilesrc.c:
15933         * plugins/elements/gstidentity.c:
15934         * plugins/elements/gstqueue.c:
15935         * plugins/elements/gsttee.c:
15936         * plugins/elements/gsttypefindelement.c:
15937         (gst_type_find_element_handle_event):
15938           make GstElementDetails const
15939
15940 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15941
15942         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15943         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15944         (gst_collect_pads_is_collected), (gst_collect_pads_event):
15945           more detailed debug and formatting cleanup,
15946           forward newsegments to src-pad (so that e.g. adder not eats them)
15947
15948 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15949
15950         * gst/gstutils.c: (gst_element_link_pads):
15951           cleanup double code
15952
15953 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15954
15955         * libs/gst/controller/gstcontroller.c:
15956         (gst_controller_sync_values):
15957           some little tuning
15958         * tests/check/libs/controller.c: (GST_START_TEST),
15959         (gst_controller_suite):
15960           a new test for live value handling
15961
15962 2006-04-28  Wim Taymans  <wim@fluendo.com>
15963
15964         * gst/gstutils.c: (push_and_ref):
15965         Added some more docs.
15966         Fix refcount issue whith gst_element_found_tags() helper 
15967         function. Fixes #338335
15968
15969         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15970         Added testsuite for gst_element_found_tags().
15971
15972 2006-04-28  Michael Smith  <msmith@fluendo.com>
15973
15974         * gst/gstvalue.c: (gst_value_serialize_flags):
15975           Avoid NULL dereference when trying to serialize flags containing
15976           invalid values.
15977
15978 2006-04-28  Michael Smith  <msmith@fluendo.com>
15979
15980         * plugins/elements/gsttypefindelement.c:
15981         (gst_type_find_element_handle_event):
15982           If we get EOS before any data is accumulated, don't use
15983           uninitialised local variables.
15984
15985 2006-04-28  Michael Smith  <msmith@fluendo.com>
15986
15987         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15988         (gst_dp_event_from_packet):
15989           Fixes in reading/writing events over GDP (not currently used?) - 
15990           dereferencing NULL events for unknown/invalid event types, memory
15991           leak, and change g_warning to GST_WARNING.
15992
15993 2006-04-28  Wim Taymans  <wim@fluendo.com>
15994
15995         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15996         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15997         (gst_base_sink_get_position), (gst_base_sink_change_state):
15998         When frame dropping is enabled, we should not ignore frames
15999         without a duration.
16000         Update some documentation.
16001
16002 2006-04-28  Wim Taymans  <wim@fluendo.com>
16003
16004         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16005         (gst_base_src_send_event), (gst_base_src_change_state):
16006         Documentation updates.
16007
16008 2006-04-28  Wim Taymans  <wim@fluendo.com>
16009
16010         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
16011         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
16012         handle EAGAIN, EINTR and short writes correctly. Also clean
16013         up some error cases, avoid a deadlock on bad file descriptors and
16014         use GST_DEBUG_OBJECT.
16015         Fixes #339843
16016
16017 2006-04-28  Wim Taymans  <wim@fluendo.com>
16018
16019         * gst/gstvalue.c: (gst_value_serialize_buffer),
16020         (gst_value_deserialize_buffer):
16021         Don't try to serialize a GValue with a NULL buffer. 
16022         Fixes #339821.
16023
16024         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
16025         Added check for serialisation of NULL buffers.
16026
16027 2006-04-28  Wim Taymans  <wim@fluendo.com>
16028
16029         * gst/gstminiobject.c: (gst_value_take_mini_object):
16030         Taking a NULL miniobject is valid, fix the case where
16031         we try to unref the NULL miniobject.
16032
16033 2006-04-28  Wim Taymans  <wim@fluendo.com>
16034
16035         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
16036
16037         * gst/gstbin.c: (gst_bin_handle_message_func):
16038         Update docs.
16039         Don't leak bin refcount when a state recalc is
16040         in progress and we delay another one #339808.
16041
16042 2006-04-28  Wim Taymans  <wim@fluendo.com>
16043
16044         * docs/design/part-TODO.txt:
16045         Mention QoS as an ongoing work item.
16046
16047         * docs/design/part-buffering.txt:
16048         New doc about buffering that needs to be fleshed out
16049         at some point.
16050
16051         * docs/design/part-qos.txt:
16052         More QoS policy for decoders/demuxers/transforms
16053
16054         * docs/design/part-trickmodes.txt:
16055         Small update.
16056
16057 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
16058
16059         * configure.ac:
16060           back to HEAD
16061
16062 === release 0.10.5 ===
16063
16064 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
16065
16066         * configure.ac:
16067           releasing 0.10.5, "Fogo"
16068
16069 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16070
16071         patch by: Wim Taymans
16072
16073         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
16074         (gst_pad_configure_src), (gst_pad_push):
16075         * gst/gstpipeline.c: (gst_pipeline_init):
16076           Fix internal data flow errors.  Fixes #338711.
16077
16078 2006-04-12  Wim Taymans  <wim@fluendo.com>
16079
16080         * tests/check/gst/gstelement.c: (GST_START_TEST):
16081         Don't leak the factory.
16082
16083 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16084
16085         * configure.ac:
16086         * win32/common/config.h:
16087           prerelease
16088
16089 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
16090
16091         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
16092         (gst_controller_unset_all):
16093           Free allocated GstTimedValues when freeing list nodes.
16094           Should fix leaks 'make check-valgrind' complains about.
16095
16096         * win32/common/libgstcontroller.def:
16097           Add gst_controller_unset_all.
16098
16099 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
16100
16101         * docs/libs/gstreamer-libs-sections.txt:
16102         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
16103         (gst_controller_unset_all):
16104         * libs/gst/controller/gstcontroller.h:
16105         API: Added new method gst_controller_unset_all()
16106         fixed gst_controller_unset()
16107         * tests/check/libs/controller.c: (GST_START_TEST),
16108         (gst_controller_suite):
16109         Added two testcases for new and fixed method
16110
16111 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
16112
16113         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
16114           MSG_DONTWAIT is not defined on Cygwin, so work
16115           around that (fixes #317048).
16116           
16117 2006-04-11  Wim Taymans  <wim@fluendo.com>
16118
16119         * gst/gstelementfactory.c: (gst_element_register),
16120         (gst_element_factory_create), (gst_element_factory_make):
16121         Some cleanups.
16122         Fixed a FIXME.
16123         Updated docs (Fixes #131079)
16124
16125         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
16126         Small cleanups.
16127
16128         * tests/check/gst/gstelement.c: (GST_START_TEST),
16129         (gst_element_suite):
16130         Added testcase for elementfactory class field.
16131
16132 2006-04-10  Wim Taymans  <wim@fluendo.com>
16133
16134         * gst/gstsegment.c:
16135         Added some more docs.
16136
16137         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
16138         (gst_base_sink_reset_qos):
16139         Calculate more accurate rate values.
16140
16141 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
16142
16143         * gst/gst_private.h:
16144           add a new #ifdef to use __declspec(dllimport) only for
16145           other modules and not for gstreamer core
16146         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
16147           use gst_guint64_to_gdouble for conversion
16148         * win32/common/libgstreamer.def:
16149           add new exported functions
16150         * win32/vs6/gst_inspect.dsp:
16151         * win32/vs6/gst_launch.dsp:
16152         * win32/vs6/libgstbase.dsp:
16153         * win32/vs6/libgstcontroller.dsp:
16154         * win32/vs6/libgstcoreelements.dsp:
16155         * win32/vs6/libgstdataprotocol.dsp:
16156         * win32/vs6/libgstnet.dsp:
16157           update project files
16158
16159 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
16160
16161         * gst/gstbuffer.c: (gst_subbuffer_class_init):
16162         * gst/gstclock.c: (gst_clock_class_init):
16163         * gst/gstelement.c: (gst_element_class_init):
16164         * gst/gstindex.c: (gst_index_class_init):
16165         * gst/gstindexfactory.c: (gst_index_factory_class_init):
16166         * gst/gstobject.c: (gst_object_class_init),
16167         (gst_signal_object_class_init):
16168         * gst/gstpad.c: (gst_pad_class_init):
16169         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
16170         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
16171         * gst/gstregistry.c: (gst_registry_class_init):
16172         * gst/gstsystemclock.c: (gst_system_clock_class_init):
16173         * gst/gsttask.c: (gst_task_class_init):
16174         * gst/gstxml.c: (gst_xml_class_init):
16175         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16176         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16177         (gst_base_src_loop):
16178         * libs/gst/controller/gstcontroller.c:/
16179         (_gst_controller_class_init):
16180         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
16181         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
16182         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
16183         * tests/old/examples/plugins/example.c: (gst_example_class_init):
16184         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
16185         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
16186
16187 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
16188
16189         * gst/gstpad.c: (gst_pad_link):
16190           Must set peer pads before calling the link function, otherwise
16191           a task started from a link function might get a flow-not-linked
16192           result when trying to push because the other thread where the
16193           linking happens hasn't had a chance to set the peers yet. This
16194           might happen for example when a queue gets linked to a downstream
16195           element, as queue starts a streaming task when its source pad
16196           gets linked. Happens in real life when playing back flac/musepack
16197           files in playbin (#332390).
16198           
16199 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
16200
16201         * gst/gstindex.h:
16202         * gst/gstxml.h:
16203         * libs/gst/base/gstadapter.h:
16204         * libs/gst/base/gstbasesink.h:
16205         * libs/gst/base/gstbasesrc.h:
16206         * libs/gst/base/gstbasetransform.h:
16207         * libs/gst/base/gstcollectpads.h:
16208         * libs/gst/base/gstpushsrc.h:
16209         Fix broken GObject macros
16210
16211 2006-04-07  Wim Taymans  <wim@fluendo.com>
16212
16213         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16214         Initialize start and stop times, thanks valgrind.
16215
16216 2006-04-07  Wim Taymans  <wim@fluendo.com>
16217
16218         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16219         Be a bit nicer to badly behaving upstream elements that expect
16220         us to deal with non TIME segments and timestamps (such as fakesrc
16221         in the testsuite).
16222
16223 2006-04-07  Wim Taymans  <wim@fluendo.com>
16224
16225         * gst/gstbus.c:
16226         Small documentation clarification about the signal watch.
16227
16228         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
16229         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16230         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16231         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
16232         (gst_base_sink_get_position_last),
16233         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
16234         Convert and store timestamps in stream time and running time, the
16235         raw timestamps are not useful, also document this better.
16236         Use different window sizes for good and bad QoS observations so
16237         we react to badness a little quicker.
16238         Keep track of the amount of rendered and dropped buffers.
16239         Send QoS timestamps in running time.
16240
16241         * libs/gst/base/gstbasetransform.c:
16242         (gst_base_transform_sink_eventfunc),
16243         (gst_base_transform_handle_buffer):
16244         Compare QoS timestamps against running time.
16245
16246 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
16247
16248         * gst/gstpad.c:
16249           Typo fixes in docs.
16250
16251 2006-04-06  Michael Smith  <msmith@fluendo.com>
16252
16253         * gst/gstpad.c: (gst_pad_set_property):
16254           Use g_value_get_object() instead of g_value_dup_gst_object(),
16255           to avoid double-reffing the pad template (which we then sink,
16256           so this worked previously if (and only if) the pad template
16257           was floating.
16258
16259         * gst/gstpadtemplate.c: (gst_pad_template_init),
16260         (gst_pad_template_pad_created):
16261           Never return floating references to pad templates, create
16262           them as initially-sunken.
16263
16264           Document an extra function (and make this stop sinking our
16265           pad template, since that is now guaranteed to do nothing,
16266           since we created it sunken).
16267
16268         * gst/gstghostpad.c:
16269           Fix docs typo.
16270
16271 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
16272
16273         * gst/gstinfo.c: (__gst_in_valgrind):
16274           Add some newlines.
16275
16276         * plugins/elements/gsttypefindelement.c:
16277         (gst_type_find_element_chain):
16278           Don't leak buffer caps.
16279
16280 2006-04-06  Michael Smith  <msmith@fluendo.com>
16281
16282         * gst/parse/grammar.y:
16283           Fix a leak in parse-launch for any source-or-sink named element 
16284           references used.
16285
16286         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
16287           Unref the pipeline if it exists after we've failed parsing.
16288
16289 2006-04-05  Michael Smith  <msmith@fluendo.com>
16290
16291         * gst/gstpipeline.c: (gst_pipeline_init):
16292           When we create a pipeline bus, initially create it in flushing mode.
16293           Fixes leaks in at least one test, and makes a new pipeline work the
16294           same as one that has gone to READY and then back to NULL.
16295
16296         * gst/gstelement.c:
16297           Typo fix in docs.
16298
16299 2006-04-05  Michael Smith  <msmith@fluendo.com>
16300
16301         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
16302           Unref a pad we reffed.
16303         * tests/check/gst/gstutils.c: (GST_START_TEST):
16304           Unref bins
16305
16306 2006-04-05  Michael Smith  <msmith@fluendo.com>
16307
16308         * gst/gstquery.c: (gst_query_set_formats),
16309         (gst_query_set_formatsv):
16310           Fix leaking GValues in queries, as shown by valgrind/testsuite.
16311
16312 2006-04-05  Michael Smith  <msmith@fluendo.com>
16313
16314         * tests/check/generic/sinks.c: (GST_START_TEST):
16315           Fix a variety of memleaks in sinks check, which are only sometimes 
16316           shown by running the tests under valgrind (weird?).
16317
16318 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
16319
16320         * docs/version.entities.in:
16321           Fix the substituted entity name after thomas' changes on the
16322           weekend.
16323
16324 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
16325
16326         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
16327         VALGRIND_PRINTF
16328         
16329 2006-04-05  Andy Wingo  <wingo@pobox.com>
16330
16331         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
16332
16333         * libs/gst/base/gstbasetransform.c
16334         (gst_base_transform_sink_eventfunc): When resetting our segment on
16335         FLUSH_STOP, also update the flag saying we haven't seen a
16336         newsegment.
16337
16338 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16339
16340         Patch by: Paolo Borelli  <pborelli at katamail dot com>
16341
16342         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
16343         (gst_plugin_check_license):
16344           minor clean-ups: G_DEFINE_TYPE already takes care of the
16345           parent_class stuff, no need to do it twice. Mark array of
16346           license strings as constant. (#337103)
16347           
16348 2006-04-04  Michael Smith  <msmith@fluendo.com>
16349
16350         * tools/gst-inspect.c: (print_element_list):
16351           Free the right plugin list; fixes a memory leak.
16352
16353 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16354
16355         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
16356
16357         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16358           Don't error out on empty buffers (#336945).
16359           
16360 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
16361
16362         * docs/libs/gstreamer-libs-sections.txt:
16363         * gst/gsttaglist.c:
16364         * libs/gst/base/gstbasesink.c:
16365         * libs/gst/base/gstbasesink.h:
16366         * libs/gst/base/gstbasesrc.c:
16367         * libs/gst/base/gstbasesrc.h:
16368           Documentation updates. Make BaseSink and BaseSrc docs contain the
16369           class structure so that people can actually see the prototypes for
16370           virtual functions they're supposed to be overriding.
16371
16372 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16373
16374         * plugins/elements/gsttypefindelement.c:
16375         (gst_type_find_element_chain):
16376           More debug info; when skipping typefinding, send cached
16377           events in all cases.
16378
16379 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16380
16381         * configure.ac:
16382           use new AS_VERSION and AS_NANO macros
16383         * gst/gst-i18n-lib.h:
16384         * gst/gst.c:
16385         * gst/gsterror.c:
16386         * gst/gstversion.h.in:
16387         * win32/common/config.h:
16388         * win32/common/config.h.in:
16389           update accordingly
16390
16391 2006-03-31  Michael Smith  <msmith@fluendo.com>
16392
16393         * plugins/elements/gsttypefindelement.c:
16394         (gst_type_find_element_chain):
16395           Do not typefind content if the buffers already have caps.
16396           Neccesary for icydemux (#333657), and the right thing to do anyway.
16397
16398 2006-03-30  Wim Taymans  <wim@fluendo.com>
16399
16400         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16401         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
16402         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
16403         (gst_base_sink_record_qos_observation),
16404         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16405         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16406         (gst_base_sink_change_state):
16407         More QoS measurements as described in the design doc.
16408         Get rid of ringbuffer with observations, running average is
16409         more simple and equally good.
16410         Calculates valid proportion now.
16411         Added beginning of flood measurement.
16412
16413 2006-03-29  Wim Taymans  <wim@fluendo.com>
16414
16415         * docs/design/part-qos.txt:
16416         * gst/gstclock.c:
16417         Small documentation updates and additions.
16418
16419 2006-03-29  Wim Taymans  <wim@fluendo.com>
16420
16421         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16422         (gst_base_src_send_event), (gst_base_src_loop),
16423         (gst_base_src_change_state):
16424         Perform the EOS logic when we reach the segment stop position.
16425         Fix compilation on gcc4.1
16426
16427 2006-03-29  Wim Taymans  <wim@fluendo.com>
16428
16429         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
16430
16431         * plugins/elements/gstqueue.c: (gst_queue_init),
16432         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16433         (gst_queue_set_property):
16434         * plugins/elements/gstqueue.h:
16435         In queue, when EOS is received, if minimum threshold > max_size -
16436         current_level, there is chance that queue blocks forever in conditional
16437         item del wait. This is because the queue is not emptied completely due
16438         to minimum threshold.  Here is another approach. Instead of setting
16439         cur_levels to max in EOS, just zero all minimum threshold levels. This
16440         should make sure that queue gives out all data. When going to READY
16441         (stop) state, just reset the original minimum threshold levels.
16442         Fixes #336336.
16443
16444 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
16445
16446         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
16447         (gst_type_find_element_handle_event),
16448         (gst_type_find_element_send_cached_events),
16449         (gst_type_find_element_change_state):
16450         * plugins/elements/gsttypefindelement.h:
16451           When typefinding is done in push mode, we should cache
16452           events we receive during typefinding instead of just
16453           dropping them (e.g. newsegment, custom events from
16454           dvdreadsrc etc.) and then send them out once we've
16455           determined the type of the stream (and decodebin
16456           has had a chance to plug in a decoder/demuxer).
16457           
16458 2006-03-27  Wim Taymans  <wim@fluendo.com>
16459
16460         * docs/design/part-qos.txt:
16461         First QoS ideas.
16462
16463 2006-03-27  Wim Taymans  <wim@fluendo.com>
16464
16465         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
16466
16467         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16468         (gst_base_src_send_event), (gst_base_src_change_state):
16469         Handle element seek correctly when we are streaming.
16470         Fixes #326998.
16471
16472 2006-03-24  Michael Smith  <msmith@fluendo.com>
16473
16474         * docs/faq/gst-uninstalled:
16475           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
16476           allow you to correctly run intalled applications built against old 
16477           core, using plugins that require updated core (e.g. running
16478           installed totem against a full uninstalled gstreamer stack)
16479
16480 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16481
16482         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16483         more debug details
16484
16485 2006-03-24  Wim Taymans  <wim@fluendo.com>
16486
16487         * docs/gst/gstreamer-sections.txt:
16488         Rearrange the order of the methods so that related methods
16489         are grouped together in sections.
16490
16491 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16492
16493         * gst/gstelement.c:
16494           Little clarification in the docs
16495
16496 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16497
16498         * docs/README:
16499         formatting fix
16500         * plugins/elements/gstidentity.c:
16501         * plugins/elements/gstqueue.c:
16502         * plugins/elements/gsttee.c:
16503         * plugins/elements/gsttypefindelement.c:
16504         GST_ELEMENT_DETAILS formatting
16505
16506 2006-03-24  Wim Taymans  <wim@fluendo.com>
16507
16508         * libs/gst/base/gstbasesink.h:
16509         Only add fields, not insert or we break ABI.
16510
16511 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16512
16513         * win32/common/libgstbase.def:
16514         * win32/common/libgstreamer.def:
16515           Update, add recently added functions.
16516
16517 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16518
16519         * docs/gst/gstreamer-sections.txt:
16520         * gst/gstutils.c: (gst_pad_query_peer_position),
16521         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
16522         * gst/gstutils.h:
16523           API: add some new utility functions:
16524            - gst_pad_query_peer_position()
16525            - gst_pad_query_peer_duration()
16526            - gst_pad_query_peer_convert()
16527           
16528 2006-03-23  Wim Taymans  <wim@fluendo.com>
16529
16530         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16531         (gst_base_sink_init), (gst_base_sink_finalize),
16532         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
16533         (gst_base_sink_set_property), (gst_base_sink_get_property),
16534         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
16535         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16536         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
16537         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16538         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16539         (gst_base_sink_preroll_object), (gst_base_sink_event),
16540         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
16541         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
16542         (gst_base_sink_query), (gst_base_sink_change_state):
16543         Decouple max-lateness and the fact that QoS messages are generated
16544         with a new property (qos).
16545         added API: GstBaseSink::async_play()
16546         Add vmethod so subclasses can be notified of ASYNC playing
16547         state changes.
16548         Collect timestamp start and stop to report better current
16549         position in EOS/PLAYING/PAUSED/READY/NULL.
16550         Refactor QoS/frame dropping and other measurements.
16551         API: GstBaseSrc::qos
16552         Fixes #326311
16553
16554         * libs/gst/base/gstbasesink.h:
16555         Added Private struct.
16556         API: gst_base_sink_set_qos_enabled()
16557         API: gst_base_sink_is_qos_enabled()
16558
16559 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16560
16561         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16562           If compiling against GLib-2.8 or newer, try to read the
16563           registry file using GMappedFile first before falling back
16564           to fopen() + fread() (#332151).
16565
16566 2006-03-22  Wim Taymans  <wim@fluendo.com>
16567
16568         * gst/gstinfo.c: (gst_debug_set_active),
16569         (gst_debug_category_set_threshold):
16570         Disable debugging unless explicitly activated.
16571         Fixes #335480.
16572
16573 2006-03-22  Wim Taymans  <wim@fluendo.com>
16574
16575         * gst/gstelement.c: (gst_element_set_locked_state),
16576         (gst_element_dispose):
16577         Cleanup the error case.
16578
16579         * gst/gstobject.c: (gst_object_dispose):
16580         print a critical when some object was disposed with
16581         a parent, also revive the object since it might
16582         crash the parent.
16583
16584 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
16585
16586         * tools/gst-launch.1.in:
16587           Fix another typo.
16588
16589 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16590
16591         * configure.ac:
16592         * tests/check/Makefile.am:
16593           disable some tests when we don't have a registry
16594         * tests/check/gst/gstutils.c: (gst_utils_suite):
16595           don't build the part that needs parsing
16596
16597 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16598
16599         * gst/Makefile.am
16600         * tests/examples/Makefile.am:
16601           fix --disable-parse build
16602
16603 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16604
16605         * tools/gst-feedback.1.in:
16606           Fix typo: s/feeback/feedback/ (#133494).
16607
16608 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16609
16610         * tools/Makefile.am:
16611         * tools/gst-launch.1.in:
16612           Add FILES section and correct entry about GST_REGISTRY_PATH
16613           environment variable (#133495; #133494).
16614
16615 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16616
16617         * tools/Makefile.am:
16618         * tools/gst-md5sum.1.in:
16619         * tools/gst-md5sum.c:
16620           Remove gst-md5sum and man page (the md5sink element
16621           required was removed ages ago)
16622
16623 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16624
16625         * gst/gststructure.c: (gst_structure_id_set_value):
16626           Make sure that string fields in structures/taglists
16627           contain valid UTF-8 - we don't want to pass rubbish to
16628           applications because of a buggy plugin (cp. #334167).
16629
16630 2006-03-21  Edward Hervey  <edward@fluendo.com>
16631
16632         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16633         (gst_bin_handle_message_func):
16634         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16635         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16636         (gst_element_set_bus_func):
16637         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16638         * gst/gstminiobject.c: (gst_value_set_mini_object),
16639         (gst_value_take_mini_object):
16640         * gst/gstpad.c: (gst_pad_set_pad_template):
16641         * gst/gstpipeline.c: (gst_pipeline_dispose),
16642         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16643         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16644         (gst_collect_pads_chain):
16645         * libs/gst/net/gstnettimeprovider.c:
16646         (gst_net_time_provider_set_property):
16647         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16648         It's in fact all issues with gst_*object_replace().
16649
16650 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16651
16652         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
16653         
16654         * pkgconfig/gstreamer-check-uninstalled.pc.in:
16655         * pkgconfig/gstreamer-check.pc.in:
16656           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16657
16658 2006-03-21  Edward Hervey  <edward@fluendo.com>
16659
16660         * gst/gstbuffer.h:
16661         * gst/gstevent.h:
16662         * gst/gstmessage.h:
16663         gst_[buffer|event|message]_ref() macros are replaced by a static
16664         inline functions because gcc-4.1 will about if the return value
16665         isn't used.
16666         * tests/check/gst/gstevent.c: (event_probe):
16667         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16668
16669 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
16670
16671         * gst/gstutils.h:
16672         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16673         the type' case. (Closes: #335195 for now). In the future, when we
16674         depend on GLib 2.10, we could also intern the type name using
16675         g_intern_static_string()
16676
16677 2006-03-20  Wim Taymans  <wim@fluendo.com>
16678
16679         * gst/gstbin.c: (gst_bin_handle_message_func),
16680         (bin_query_max_init), (bin_query_position_fold),
16681         (bin_query_position_done), (gst_bin_query):
16682         Position query should also take max of all streams.
16683
16684 2006-03-20  Wim Taymans  <wim@fluendo.com>
16685
16686         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16687         (gst_fake_src_finalize):
16688         Fix leaks in fakesrc.
16689
16690         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16691         Fix leaks in the testcase.
16692
16693 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
16694
16695         * gst/gst_private.h:
16696           add win32 specific import decoration(__declspec(dllimport)) 
16697           for all extern GstDebugCategory * variables
16698         * win32/common/libgstbase.def:
16699         * win32/common/libgstcontroller.def:
16700         * win32/common/libgstreamer.def:
16701           Add some exports, remove empty lines
16702         * win32/common/libgstdataprotocol.def:
16703         * win32/common/libgstdataprotocol.dsp:
16704         * win32/common/libgstnet.def:
16705         * win32/common/libgstnet.dsp:
16706           new project files and exportation files added
16707         
16708 2006-03-19  Wim Taymans  <wim@fluendo.com>
16709
16710         * tests/check/libs/basesrc.c: (eos_event_counter):
16711         Use proper return value for probe.
16712
16713 2006-03-17  Wim Taymans  <wim@fluendo.com>
16714
16715         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16716         (gst_pad_push):
16717         Don't leak buffers, caps and pads on negotiation errors.
16718
16719 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
16720
16721         * docs/faq/cvs.xml:
16722         * docs/faq/dependencies.xml:
16723         * docs/faq/developing.xml:
16724         * docs/faq/faq.xml:
16725         * docs/faq/general.xml:
16726         * docs/faq/getting.xml:
16727         * docs/faq/legal.xml:
16728         * docs/faq/troubleshooting.xml:
16729         * docs/faq/using.xml:
16730         Faq review and update.
16731
16732 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
16733
16734         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16735         (gst_pad_push):
16736         Don't pound the cpu to pieces by checking get_caps when accept_caps
16737         is called with the same caps as the pad already has.
16738         Use GST_DEBUG_OBJECT when outputting caps change information.
16739
16740 2006-03-15  Wim Taymans  <wim@fluendo.com>
16741
16742         * gst/gstclock.c: (gst_clock_class_init):
16743         Fix docs.
16744
16745 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
16746
16747         * gst/gstbuffer.h:
16748         Documentation fix.
16749
16750         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16751         (gst_pad_accept_caps), (gst_pad_configure_sink),
16752         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16753         Make the default acceptcaps behaviour be to check the requested 
16754         caps against the gst_pad_get_caps output. 
16755
16756         Ensure that gst_pad_accept_caps is used to check caps when a pad
16757         doesn't have a setcaps function, so that pads automatically refuse 
16758         caps that they don't allow in their pad template. (Fixes #332986)
16759
16760         When a buffer with attached caps is pushed, ensure that the source 
16761         pad receives those caps even if the element didn't call
16762         gst_pad_set_caps first.
16763
16764 2006-03-15  Wim Taymans  <wim@fluendo.com>
16765
16766         * libs/gst/base/gstadapter.c:
16767         Add some docs.
16768
16769 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
16770
16771         * win32/common/libgstbase.def:
16772         * win32/common/libgstcontroller.def:
16773         * win32/common/libgstreamer.def:
16774           Add a whole bunch of missing functions (#334434).
16775
16776 2006-03-14  Wim Taymans  <wim@fluendo.com>
16777
16778         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16779         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16780         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16781         Better debug info when we receive a segment event.
16782         Reorganize a bit so we can pass the get_times() results around.
16783         Use the segment format when calculating the running time.
16784         Don't do QoS is sync is disabled or we have no clock or the
16785         element does not want us to sync to the clock.
16786         Don't drop buffers if QoS is disabled for now.
16787
16788 2006-03-14  Wim Taymans  <wim@fluendo.com>
16789
16790         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16791         Marked the stats property as unimplemented so people don't get
16792         wild ideas.
16793         Add debug message when regression goes wrong.
16794         Added some more docs.
16795
16796 2006-03-14  Wim Taymans  <wim@fluendo.com>
16797
16798         * gst/gstsegment.c: (gst_segment_to_stream_time):
16799         Return correct return type in case of errors.
16800
16801 2006-03-14  Wim Taymans  <wim@fluendo.com>
16802
16803         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16804           Don't segfault on invalid formats.
16805
16806 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16807
16808         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16809           Can't use gst_segment_to_running_time() when the segment
16810           is not in GST_TIME_FORMAT (like with filesink, for example).
16811           Stops flac encoding pipelines from spewing critical warnings
16812           at EOS (#331248).
16813           
16814 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16815
16816         * gst/gstpipeline.c: (gst_pipeline_class_init):
16817           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16818
16819         * plugins/elements/gsttypefindelement.c:
16820         (gst_type_find_element_handle_event):
16821           Don't try to typefind empty streams.
16822
16823 2006-03-14  Wim Taymans  <wim@fluendo.com>
16824
16825         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16826         (gst_base_sink_do_qos):
16827         Separate QoS calculation.
16828         Only drop buffers when lateness is bigger than the 
16829         duration of the buffer.
16830
16831 2006-03-13  Wim Taymans  <wim@fluendo.com>
16832
16833         * gst/gstpipeline.c: (gst_pipeline_set_property),
16834         (gst_pipeline_get_property), (do_pipeline_seek),
16835         (gst_pipeline_change_state), (gst_pipeline_set_delay),
16836         (gst_pipeline_get_delay):
16837         Don't deadlock when reading properties.
16838
16839 2006-03-13  Wim Taymans  <wim@fluendo.com>
16840
16841         * libs/gst/base/gstbasetransform.c:
16842         (gst_base_transform_class_init), (gst_base_transform_init),
16843         (gst_base_transform_sink_event),
16844         (gst_base_transform_sink_eventfunc),
16845         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16846         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16847         (gst_base_transform_set_property),
16848         (gst_base_transform_get_property),
16849         (gst_base_transform_change_state), (gst_base_transform_update_qos),
16850         (gst_base_transform_set_qos_enabled),
16851         (gst_base_transform_is_qos_enabled):
16852         * libs/gst/base/gstbasetransform.h:
16853         Make basetransform virtual method for src events too.
16854         Handle QOS in basetransform.
16855         API: gst_base_transform_update_qos()
16856         API: gst_base_transform_set_qos_enabled()
16857         API: gst_base_transform_is_qos_enabled()
16858
16859 2006-03-13  Wim Taymans  <wim@fluendo.com>
16860
16861         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16862         (gst_base_sink_do_sync):
16863         Small cleanups.
16864         Use QOS debug category.
16865
16866 2006-03-13  Wim Taymans  <wim@fluendo.com>
16867
16868         * plugins/elements/gstqueue.c:
16869         Very small doc update.
16870
16871 2006-03-13  Wim Taymans  <wim@fluendo.com>
16872
16873         * gst/gst_private.h:
16874         * gst/gstinfo.c: (_gst_debug_init):
16875         Added QOS debug category
16876
16877 2006-03-13  Wim Taymans  <wim@fluendo.com>
16878
16879         * docs/gst/gstreamer-sections.txt:
16880         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16881         * gst/gstbin.h:
16882         * gst/gstbus.c: (gst_bus_class_init):
16883         * gst/gstbus.h:
16884         * gst/gstclock.c:
16885         * gst/gstelement.c: (gst_element_set_locked_state):
16886         * gst/gstsegment.c:
16887         Documentation updates.
16888
16889         * gst/gstpipeline.c: (gst_pipeline_get_type),
16890         (gst_pipeline_class_init), (gst_pipeline_init),
16891         (gst_pipeline_dispose), (gst_pipeline_set_property),
16892         (gst_pipeline_get_property), (do_pipeline_seek),
16893         (gst_pipeline_send_event), (gst_pipeline_change_state),
16894         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16895         (gst_pipeline_get_delay):
16896         * gst/gstpipeline.h:
16897         Added methods for setting the delay.
16898         API: gst_pipeline_set_delay()
16899         API: gst_pipeline_get_delay()
16900         Add pipeline debug category
16901         Various cleanups.
16902         Updated docs.
16903         Don't reset stream time when seek failed.
16904
16905 2006-03-13  Wim Taymans  <wim@fluendo.com>
16906
16907         * docs/design/draft-klass.txt:
16908         * docs/design/part-clocks.txt:
16909         * docs/design/part-events.txt:
16910         * docs/design/part-gstbin.txt:
16911         * docs/design/part-gstpipeline.txt:
16912         * docs/design/part-messages.txt:
16913         * docs/design/part-negotiation.txt:
16914         * docs/design/part-overview.txt:
16915         * docs/design/part-preroll.txt:
16916         * docs/design/part-seeking.txt:
16917         * docs/design/part-states.txt:
16918         * docs/design/part-streams.txt:
16919         Documentation updates.
16920
16921 2006-03-12  Julien MOUTTE  <julien@moutte.net>
16922
16923         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16924         us to leak strings...
16925
16926 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16927
16928         * libs/gst/net/gstnettimeprovider.c:
16929           fix docs
16930         * win32/common/config.h:
16931           update
16932
16933 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
16934
16935         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16936
16937         * configure.ac:
16938           Don't check for libgnomeui (leftover from old examples
16939           that aren't built or disted any longer) (#334303).
16940           
16941 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
16942
16943         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16944         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16945           Emit RESOURCE_NO_SPACE_LEFT error here as well when
16946           there's no space left on the device.
16947
16948 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
16949
16950         * gst/gstclock.h:
16951           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16952           to cast the input to GstClockTime before comparing with
16953           another GstClockTime value.
16954
16955 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16956
16957         * configure.ac:
16958           back to trunk
16959
16960 === release 0.10.4 ===
16961
16962 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
16963
16964         * configure.ac:
16965           releasing 0.10.4, "Light"
16966
16967 2006-03-10  Michael Smith  <msmith@fluendo.com>
16968
16969         * libs/gst/dataprotocol/dataprotocol.c:
16970           Fix docs for dataprocotol to not get the return types completely
16971           wrong for a few functions.
16972
16973 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16974
16975         * docs/gst/gstreamer-sections.txt:
16976         * gst/gstpipeline.c: (gst_pipeline_class_init),
16977         (gst_pipeline_init), (gst_pipeline_set_property),
16978         (gst_pipeline_get_property), (gst_pipeline_change_state),
16979         (gst_pipeline_set_auto_flush_bus),
16980         (gst_pipeline_get_auto_flush_bus):
16981         * gst/gstpipeline.h:
16982           Add new API: gst_pipeline_set_auto_flush_bus() and
16983           gst_pipeline_get_auto_flush_bus() to disable automatic
16984           flushing of the pipeline's GstBus when going from READY
16985           to NULL state (#332045).
16986
16987 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16988
16989         * docs/gst/gstreamer-sections.txt:
16990         * gst/gsturi.c: (gst_uri_has_protocol):
16991         * gst/gsturi.h:
16992            Add new API: gst_uri_has_protocol() (#333779).
16993
16994 2006-03-09  Wim Taymans  <wim@fluendo.com>
16995
16996         * gst/gstclock.c: (gst_clock_entry_new),
16997         (gst_clock_id_compare_func), (gst_clock_id_wait),
16998         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16999         (gst_clock_init), (gst_clock_get_internal_time),
17000         (gst_clock_set_master), (do_linear_regression),
17001         (gst_clock_add_observation), (gst_clock_set_property):
17002         * gst/gstclock.h:
17003         Review docs.
17004         Small cleanups.
17005         Fix a possible segfault when the window-size is made smaller.
17006         Calculate jitter before performing the clock wait. Ideally
17007         the clock implementation should calculate jitter but we need
17008         API breakage for that.
17009
17010         * gst/gstsystemclock.c: (gst_system_clock_init):
17011         Docs review.
17012         
17013         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17014         Remove leftover else
17015
17016         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
17017         (gst_systemclock_suite):
17018         Added check to test GST_CLOCK_DIFF.
17019
17020 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
17021
17022         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
17023         (gst_type_find_helper_get_range):
17024           If we are provided with the size, we should implement
17025           GstTypeFind::get_length, so that typefind functions who
17026           want to can actually peek at the middle of a file.
17027
17028 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
17029
17030         * docs/manual/advanced-dataaccess.xml:
17031           Add some very very basic error checking.
17032
17033         * docs/pwg/appendix-checklist.xml:
17034           Some updates to the list of things to check when writing an element.
17035
17036 2006-03-08  Wim Taymans  <wim@fluendo.com>
17037
17038         * docs/design/part-element-transform.txt:
17039         Added some docs about the design of tranform elements.
17040
17041         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
17042         (gst_base_src_loop), (gst_base_src_change_state):
17043         Mark buffers with the DISCONT flag.
17044
17045 2006-03-08  Michael Smith  <msmith@fluendo.com>
17046
17047         * gst/gstregistry.h:
17048         * gst/gstregistryxml.c: (gst_registry_save),
17049         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
17050         (gst_registry_xml_save_pad_template),
17051         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
17052         (gst_registry_xml_write_cache):
17053           Rewrite registry-saving to avoid race conditions and check for
17054           failed writes.
17055
17056 2006-03-08  Wim Taymans  <wim@fluendo.com>
17057
17058         * libs/gst/base/gstbasetransform.c:
17059         (gst_base_transform_transform_caps),
17060         (gst_base_transform_transform_size),
17061         (gst_base_transform_prepare_output_buffer),
17062         (gst_base_transform_get_unit_size),
17063         (gst_base_transform_buffer_alloc),
17064         (gst_base_transform_handle_buffer),
17065         (gst_base_transform_change_state):
17066         Cleanups, separate normal flow from errors, add sensible
17067         DEBUG lines.
17068         Don't try to renegotiate when allocating an output buffer.
17069         Also copy DISCONT buffer flag when copying a buffer.
17070         Reset the transform after we finish streaming, not during.
17071
17072 2006-03-08  Wim Taymans  <wim@fluendo.com>
17073
17074         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17075         Use last buffer timestamp in qos message.
17076
17077 2006-03-07  Wim Taymans  <wim@fluendo.com>
17078
17079         Patch by: Christophe Fergeau
17080
17081         * docs/pwg/advanced-tagging.xml:
17082         * docs/pwg/building-pads.xml:
17083           fixes #333416
17084
17085 2006-03-07  Wim Taymans  <wim@fluendo.com>
17086
17087         * docs/libs/gstreamer-libs-sections.txt:
17088         Added basesink new methods.
17089
17090         * gst/gstevent.c:
17091         * gst/gstevent.h:
17092         Docs updates. Flesh out the QoS docs.
17093
17094         * libs/gst/base/gstadapter.c:
17095         Small doc clarification about ownership and flushing.
17096
17097         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
17098         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
17099         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
17100         (gst_base_sink_get_property), (gst_base_sink_do_sync):
17101         * libs/gst/base/gstbasesink.h:
17102         API additions: 
17103         Added new methods to allow subclass to control max-lateness 
17104         and sync.
17105         Generate very basic QoS events based on last sync observation.
17106         Updated docs, fix typo, added some QoS blurb.
17107
17108         * libs/gst/base/gstbasesrc.c:
17109         Remove obsolete _get_state() calls from docs.
17110
17111 2006-03-07  Wim Taymans  <wim@fluendo.com>
17112
17113         * docs/libs/gstreamer-libs-sections.txt:
17114         * libs/gst/base/gstbasetransform.h:
17115         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
17116         Fix docs for GstBaseSrc.
17117
17118 2006-03-07  Wim Taymans  <wim@fluendo.com>
17119
17120         * docs/gst/gstreamer-sections.txt:
17121         * gst/gstbuffer.h:
17122         * gst/gstvalue.c:
17123         * libs/gst/base/gstbasetransform.h:
17124         Small documentation fixes.
17125
17126 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
17127
17128         * gst/gstvalue.c:
17129           Document thread-unsafety of gst_value_register_foo_func()
17130           when used at the same time as gst_value_foo() (#322628).
17131
17132 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
17133
17134         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
17135         (gst_push_src_check_get_range):
17136           Push sources don't support pull mode by default.
17137
17138 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
17139
17140         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17141         (gst_base_src_init), (gst_base_src_pad_check_get_range),
17142         (gst_base_src_default_check_get_range):
17143         * libs/gst/base/gstbasesrc.h:
17144           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
17145           provide default implementation, and rename
17146           gst_base_src_check_get_range() to
17147           gst_base_src_pad_check_get_range() for clarity.
17148
17149 2006-03-06  Wim Taymans  <wim@fluendo.com>
17150
17151         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
17152         Make property overridable.
17153
17154 2006-03-06  Wim Taymans  <wim@fluendo.com>
17155
17156         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
17157         (gst_base_sink_init), (gst_base_sink_set_property),
17158         (gst_base_sink_get_property), (gst_base_sink_do_sync):
17159         * libs/gst/base/gstbasesink.h:
17160         API addition: Make max-lateness a property.
17161
17162 2006-03-06  Wim Taymans  <wim@fluendo.com>
17163
17164         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
17165         (gst_base_sink_do_sync), (gst_base_sink_render_object):
17166         Don't ever draw a frame that is >10ms late.
17167
17168 2006-03-06  Michael Smith  <msmith@fluendo.com>
17169
17170         * gst/gstmessage.c: (_gst_message_copy):
17171           When copying a message, set the parent_refcount of the enclosed
17172           structure to point at the copy, not the original message.
17173
17174 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
17175
17176         Patch by: Christophe Fergeau
17177
17178         * gst/gstutils.h:
17179           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
17180           usable in c++ code (#333417)
17181
17182 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17183
17184         * gst/gstclock.h:
17185           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
17186
17187 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
17188
17189         * libs/gst/base/gstbasetransform.c:
17190         (gst_base_transform_transform_caps):
17191           Make sure caps are writable before passing them to
17192           gst_caps_append().
17193
17194 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
17195
17196         * gst/gsterror.h:
17197           Fix some minor docs errors.
17198
17199 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
17200
17201           Patch by: Ross Burton <ross at burtonini dot com>
17202
17203         * gst/gsterror.c: (_gst_resource_errors_init):
17204         * gst/gsterror.h:
17205           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
17206
17207 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
17208
17209         * gst/gst.c:
17210         Add a check and output a g_warning when GStreamer is built
17211         against GLib 2.6 but running against 2.8 or higher, and vice 
17212         versa. (Closes: #323542)
17213
17214 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
17215
17216         * gst/parse/parse.l:
17217           Commit patch for parse_launch syntax from #331255. Removes 
17218           support for quoted strings and mimetypes when writing filtered 
17219           caps. See the bug report for more details - I'm pretty sure this
17220           obscure feature is not in use by _anyone_ anywhere.
17221
17222           With this simple change, the size of the gstreamer.so here 
17223           drops from 2193KB to 1565KB.
17224
17225 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
17226
17227         * plugins/elements/gsttypefindelement.h:
17228         * plugins/elements/gsttypefindelement.c:
17229         (gst_type_find_element_src_event), (start_typefinding),
17230         (stop_typefinding), (gst_type_find_element_handle_event),
17231         (gst_type_find_element_chain),
17232         (gst_type_find_element_chain_do_typefinding):
17233           Use gst_type_find_helper_for_buffer() for chain-based
17234           typefinding.
17235
17236 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
17237
17238         * plugins/elements/gsttypefindelement.c:
17239         (gst_type_find_element_class_init),
17240         (gst_type_find_element_set_property),
17241         (gst_type_find_element_get_property):
17242           Deprecate "maximum" property (not only was it only taken into
17243           account for typefinding in push-mode anyway, it also was never
17244           actually possible to set it in the first place because the
17245           property was registered with the numeric property ID for the
17246           "minimum" property). Register "maximum" property correctly,
17247           for the sake of future copy'n'pasters. Remove some cruft
17248           from property get/set functions.
17249
17250 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
17251
17252         * plugins/elements/gsttypefindelement.c:
17253         (gst_type_find_element_activate):
17254           Use gst_type_find_helper_get_range() here, so we
17255           can honour the "minimum" property and also emit
17256           the signal with the correct probability of the found caps.
17257
17258 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
17259
17260         * docs/libs/gstreamer-libs-sections.txt:
17261         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
17262         (helper_find_suggest), (gst_type_find_helper_get_range),
17263         (gst_type_find_helper):
17264         * libs/gst/base/gsttypefindhelper.h:
17265           New API: gst_type_find_helper_get_range() (#333042).
17266
17267 2006-03-02  Michael Smith  <msmith@fluendo.com>
17268
17269         * gst/gstregistryxml.c: (load_feature):
17270           Asserting on a failure to read part of the registry is Not Cool.
17271           Just log a warning and return NULL (which is already handled)
17272
17273 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
17274
17275         * win32/common/libgstbase.def:
17276           added export of gst_type_find_helper_for_buffer
17277         * win32/common/libgstbase.def:
17278           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
17279           gst_ghost_pad_get_target
17280
17281 2006-02-28  Wim Taymans  <wim@fluendo.com>
17282
17283         * docs/design/draft-klass.txt:
17284         We use Filter now.
17285         Added Connector to mark elements that are only used to
17286         allow pipeline connections.
17287         Moved Debug to extra feature since most of them are 
17288         functionally something else.
17289
17290 2006-02-28  Wim Taymans  <wim@fluendo.com>
17291
17292         * docs/design/draft-klass.txt:
17293         Some updates and clarifications.
17294
17295 2006-02-28  Wim Taymans  <wim@fluendo.com>
17296
17297         * docs/design/draft-klass.txt:
17298         Proposal for klass field values.
17299
17300         * docs/design/part-streams.txt:
17301         Start of a doc describing stream anatomy.
17302
17303 2006-02-28  Wim Taymans  <wim@fluendo.com>
17304
17305         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
17306         Help the compiler a bit with type registration.
17307         Use existing forward cod path instead of duplicating it when 
17308         handling a message.
17309         
17310         * gst/gstbus.c: (gst_bus_get_type):
17311         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
17312         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
17313         * gst/gstclock.c: (gst_clock_get_type):
17314         * gst/gstelement.c: (gst_element_get_type),
17315         * gst/gstelementfactory.c: (gst_element_factory_get_type):
17316         * gst/gstindexfactory.c: (gst_index_factory_get_type):
17317         * gst/gstminiobject.c: (gst_mini_object_get_type):
17318         * gst/gstpad.c: (gst_pad_get_type):
17319         * gst/gstsegment.c: (gst_segment_get_type):
17320         * gst/gststructure.c: (gst_structure_get_type):
17321         * gst/gstsystemclock.c: (gst_system_clock_get_type):
17322         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
17323         * gst/gstvalue.c:
17324         Help compiler with type registration.
17325
17326         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
17327         Small doc update.
17328
17329 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17330
17331         * plugins/elements/gsttypefindelement.c:
17332         (gst_type_find_element_handle_event):
17333           When we get an EOS event and have not found a type yet
17334           (most likely because we had not yet accumulated
17335           TYPE_FIND_MIN_SIZE of data yet), try to determine the
17336           type given the data we have so far. Fixes typefinding
17337           for very short streams again, most notably quicktime
17338           redirections as used on Apple's trailer site (#331701).
17339
17340 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17341
17342         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
17343         (gst_type_find_helper):
17344           Try typefinding factories with the highest rank first.
17345
17346 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17347
17348         * docs/libs/gstreamer-libs-docs.sgml:
17349         * docs/libs/gstreamer-libs-sections.txt:
17350         * libs/gst/base/gsttypefindhelper.c:
17351           Add section for typefind helper and add documentation
17352           for the old and the new function.
17353
17354 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17355
17356         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
17357         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
17358         (gst_type_find_helper_for_buffer):
17359         * libs/gst/base/gsttypefindhelper.h:
17360           New API: gst_type_find_helper_for_buffer() (#332723).
17361           
17362 2006-02-27  Michael Smith  <msmith@fluendo.com>
17363
17364         Patch by: Loïc Minier
17365
17366         * configure.ac:
17367         * docs/Makefile.am:
17368         * docs/slides/Makefile.am:
17369           prevent CVS directories getting disted.
17370
17371 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17372
17373         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
17374           Use the REFCOUNTING category for caps refcounting.
17375           
17376 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17377
17378         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
17379           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
17380
17381 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17382
17383         * plugins/elements/gsttypefindelement.c:
17384         (gst_type_find_element_activate):
17385           Use gst_pad_check_pull_range() before _activate_pull()
17386           to avoid unnecessary open/close (see #331690).
17387
17388 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17389
17390         * gst/gstutils.c:
17391           Docs enhancement: make it crystal clear what the
17392           gst_pad_add_*_probe() callbacks should look like.
17393
17394 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17395
17396         * libs/gst/base/gstbasesrc.c:
17397           Document how applications can stop recording from
17398           live sources (see #330996).
17399
17400 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17401
17402         * tests/check/Makefile.am:
17403         * tests/check/libs/basesrc.c: (eos_event_counter),
17404         (basesrc_eos_events_pull), (basesrc_eos_events_push),
17405         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
17406         (gst_basesrc_suite), (main):
17407           ... and add some tests for the base source EOS stuff.
17408
17409 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17410
17411         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
17412           Test case originally showed the problem fixed below,
17413           but was then amended. Add checks back at the place
17414           where they used to be.
17415
17416 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17417
17418         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17419         (gst_base_src_init), (gst_base_src_loop),
17420         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17421         (gst_base_src_change_state):
17422         * libs/gst/base/gstbasesrc.h:
17423           Don't unconditionally send EOS when going from PAUSED to
17424           READY state, esp. make sure we don't send two EOS events
17425           in some cases (e.g. one when reaching EOS and one when
17426           going from PAUSED to READY). Also, we don't want to send
17427           EOS events when operating in pull mode. However, we do
17428           want to send an EOS event when shutting down a live
17429           source explicitly, for example (fixes #330996).
17430           
17431 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17432
17433         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
17434           Update src->read_position after a seek when not using mmap.
17435           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
17436
17437 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
17438
17439         * gst/Makefile.am:
17440         * gst/gstparse.h:
17441         * gst/gstutils.c:
17442         * gst/gstutils.h:
17443         Make things work with --disable-parse as they do with 
17444         --disable-load-save - the symbols involved disappear, but the
17445         header is still installed and GST_DISABLE_PARSE is included via
17446         gstconfig.h
17447
17448 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17449
17450         * libs/gst/base/gstbasetransform.c:
17451         (gst_base_transform_change_state): Fix a stupid bug. I was 
17452         sure I compiled that.
17453
17454 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17455
17456         * gst/gstpad.c: (gst_pad_set_blocked_async):
17457         * gst/gstutils.c: (gst_pad_add_data_probe),
17458         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17459         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17460         (gst_pad_remove_buffer_probe): Make those function act on the
17461         ghostpad target when it's a ghostpad. (Closes #331727)
17462
17463 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17464
17465         * libs/gst/base/gstbasetransform.c:
17466         (gst_base_transform_change_state): Make basetransform reusable.
17467         (Closes #331898)
17468
17469 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
17470
17471         * docs/random/release:
17472         Move the current documentation of how to do a release to the top
17473         of the file.
17474
17475         * gst/gstbin.c: (gst_bin_class_init),
17476         (gst_bin_handle_message_func):
17477         Allow multiple state-recalculation threads. (Closes #328873)
17478
17479 2006-02-19  Julien MOUTTE  <julien@moutte.net>
17480
17481         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
17482         * gst/gstpad.c: (gst_pad_set_event_function),
17483         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17484         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
17485         2 strings. You can't use the STR_NULL macro on that.
17486
17487 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
17488
17489         * gst/gstpad.c: (gst_pad_set_event_function),
17490         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17491         (gst_pad_set_getcaps_function)
17492         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
17493           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
17494           So now, we can use --gst-debug-level=5 on Windows
17495         * win32/common/libgstcontroller.def:
17496           Added export of gst_controller_init
17497         * win32/vs6/libgstcontroller.dsp:
17498           Fixed Release post build configuration
17499
17500 2006-02-17  Wim Taymans  <wim@fluendo.com>
17501
17502         * tests/check/gst/gstquery.c: (GST_START_TEST):
17503         Added another check.
17504
17505 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
17506
17507         * plugins/elements/gsttypefindelement.c: (find_peek):
17508           We can do peeks at non-zero offsets, as long as they
17509           fall within the buffer we have.
17510
17511 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
17512
17513         * tests/check/Makefile.am:
17514         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
17515         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
17516         (parse_suite), (main):
17517           Add testsuite for parse launch syntax
17518
17519 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
17520
17521         * plugins/elements/gsttypefindelement.c:
17522         (gst_type_find_element_chain):
17523           When typefinding is unsuccessful in the chain function, don't
17524           error out immediately. Only error out with NO_CAPS_FOUND if
17525           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
17526           otherwise simply wait for more data so we can try typefinding
17527           again with more data later. Also, don't attempt to typefind
17528           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
17529           this should improve typefinding from network sources where the
17530           size of the first buffer can be somewhat random.
17531
17532 2006-02-14  Wim Taymans  <wim@fluendo.com>
17533
17534         * docs/gst/gstreamer-sections.txt:
17535         * gst/gstpadtemplate.c:
17536         * gst/gstpadtemplate.h:
17537         Fix padtemplate docs, fixes #328805.
17538
17539 2006-02-14  Wim Taymans  <wim@fluendo.com>
17540
17541         * tools/gst-launch.c: (main):
17542         NO_PREROLL is not an ERROR so don't send confusing messages
17543         to the user.
17544
17545 2006-02-14  Wim Taymans  <wim@fluendo.com>
17546
17547         Patch by: Torsten Schoenfeld
17548
17549         * gst/gstregistry.c: (gst_registry_get_default),
17550         (_gst_registry_cleanup):
17551         Protect default registry with lock and ref/sink it.
17552         Fixes #324818
17553
17554 2006-02-14  Wim Taymans  <wim@fluendo.com>
17555
17556         * gst/gstbuffer.c:
17557         * gst/gstquery.c: (gst_query_list_add_format),
17558         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17559         (gst_query_parse_formats_nth):
17560         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17561         Docs fixes.
17562
17563 2006-02-14  Wim Taymans  <wim@fluendo.com>
17564
17565         * docs/gst/gstreamer-sections.txt:
17566         Reworked query docs.
17567
17568         * gst/gstquery.c: (gst_query_new_formats),
17569         (gst_query_list_add_format), (gst_query_set_formats),
17570         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17571         (gst_query_parse_formats_nth):
17572         * gst/gstquery.h:
17573         Flesh out formats query, added some new methods.
17574         Fix part of #324398.
17575
17576         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17577         Added query creation tests.
17578
17579 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
17580
17581         * gst/gstpad.c: (fixate_value):
17582         Add a default fixation for fraction lists.
17583
17584 2006-02-13  Wim Taymans  <wim@fluendo.com>
17585
17586         * gst/gsttask.c: (gst_task_init), (gst_task_func),
17587         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17588         (gst_task_join):
17589         * gst/gsttask.h:
17590         Detect and warn for obvious deadlocks. fixes #320340
17591         Fix error case where lock was not released.
17592
17593         * tests/check/Makefile.am:
17594         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17595         (task_func), (gst_element_suite), (main):
17596         Add task check.
17597
17598 2006-02-13  Wim Taymans  <wim@fluendo.com>
17599
17600         * docs/gst/gstreamer-sections.txt:
17601         * gst/gstbus.c:
17602         Add new functions to docs.
17603
17604 2006-02-13  Wim Taymans  <wim@fluendo.com>
17605
17606         * docs/design/part-TODO.txt:
17607         Updated TODO list, basesrc supports seeking to non-bytes
17608         formats.
17609
17610         * docs/design/part-element-sink.txt:
17611         Update docs.
17612
17613         * gst/gstbin.c: (bin_replace_message),
17614         (gst_bin_handle_message_func):
17615         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17616         * gst/gstevent.c: (gst_event_finalize):
17617         * gst/gstpad.c: (gst_pad_event_default_dispatch),
17618         (gst_pad_send_event):
17619         Use shiny new _TYPE_NAME macros.
17620
17621         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17622         Move debug statement up.
17623
17624         * gst/gstelement.c: (gst_element_set_locked_state):
17625         Add some debugging.
17626
17627 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
17628
17629         * docs/gst/gstreamer-sections.txt:
17630         * gst/gstmessage.h:
17631         * gst/gstquery.h:
17632           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17633           macros (#330906). Also, document the already existing
17634           GST_QUERY_TYPE macro.
17635
17636 2006-02-13  Wim Taymans  <wim@fluendo.com>
17637
17638         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17639         (event_probe), (GST_START_TEST):
17640         Only events up to the pipeline EOS are counted, there are
17641         some more when going to NULL currently which we don't care
17642         about for now.
17643
17644 2006-02-13  Wim Taymans  <wim@fluendo.com>
17645
17646         * gst/gstpad.c: (gst_pad_send_event):
17647         Correctly check flushing and emit probes. fixes #330125
17648
17649 2006-02-10  Andy Wingo  <wingo@pobox.com>
17650
17651         * gst/gstbus.c (gst_bus_class_init): Declare our private data
17652         structure.
17653         (gst_bus_init): Cache the location of the private data in the
17654         instance structure.
17655         (gst_bus_enable_sync_message_emission) 
17656         (gst_bus_disable_sync_message_emission): Implement new public
17657         functions.
17658         (gst_bus_post): Emit the sync-message signal if the user asked for
17659         it. Fixes #330684.
17660
17661         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17662         location of the bus-private structure.
17663         (gst_bus_enable_sync_message_emission)
17664         (gst_bus_disable_sync_message_emission): API addition
17665
17666 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
17667
17668         Patch by: Vincent Torri
17669
17670         * docs/pwg/building-boiler.xml:
17671         PWG patch from #326800
17672
17673 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
17674
17675         * configure.ac:
17676         * docs/Makefile.am:
17677         * docs/design/Makefile.am:
17678           Dist design docs.
17679
17680 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17681
17682         * configure.ac:
17683           back to CVS
17684
17685 === release 0.10.3 ===
17686
17687 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
17688
17689         * configure.ac:
17690           releasing 0.10.3, "Like a virgin"
17691
17692 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17693
17694         * configure.ac:
17695           2nd prerelease of 0.10.3
17696           Bump libtool versioning.
17697
17698 2006-02-07  Andy Wingo  <wingo@pobox.com>
17699
17700         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17701         update last_stop if we're in TIME format and the timestamp is
17702         valid.
17703
17704         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
17705         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
17706         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17707         If we get a new newsegment with a different format, adapt
17708         accordingly.
17709
17710         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17711         of 0. Not a problem, really.
17712
17713         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17714         warn if sync=true.
17715
17716 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
17717
17718         * configure.ac:
17719           Prelease of 0.10.3
17720
17721 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
17722
17723         * win32/vs7:
17724           project files updated to the default vs7 configuration
17725         * win32/common/libgstbase.def:
17726         * win32/common/libgstreamer.def:
17727           added new symbols,
17728           removed empty lines,
17729           sorted all exported symbols alphabetically
17730         * win32/common/dirent.c:
17731         * win32/common/dirent.h:
17732         * win32/common/gchar.h:
17733           use windows line end.
17734           
17735 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17736
17737         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17738           Send EOS event when stopping.
17739
17740 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17741
17742         * docs/README:
17743           Tell folks what to do if the plugin-foobar.xml file
17744           hasn't been generated for a newly-added plugin.
17745
17746 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17747
17748         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17749         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17750         (gst_collect_pads_start), (gst_collect_pads_stop),
17751         (gst_collect_pads_event): Collectpads now holds a reference
17752         to the GstPad that was added. Indeed we don't want to look
17753         at pads that might just go away with no warning...
17754
17755 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17756
17757         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17758         (gst_collect_pads_start), (gst_collect_pads_stop),
17759         (gst_collect_pads_event), (gst_collect_pads_chain):
17760         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17761         Mark Nauwelaerts's patch on bug #328491.
17762
17763 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17764
17765         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17766         (gst_utils_suite):
17767           Add some simple tests for gst_parse_bin_from_description() and
17768           gst_bin_find_unconnected_pad() (#329069).
17769
17770 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17771
17772         * tools/gst-launch.c: (event_loop), (main):
17773           Catch errors during preroll (#320084).
17774
17775 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
17776
17777         * plugins/elements/gsttypefindelement.c:
17778         (gst_type_find_element_activate):
17779           Post TYPE_NOT_FOUND error message when typefinding
17780           is unsuccessful in the activate function as well.
17781
17782 2006-02-02  Wim Taymans  <wim@fluendo.com>
17783
17784         * docs/design/part-element-sink.txt:
17785         Updated doc.
17786
17787 2006-02-02  Wim Taymans  <wim@fluendo.com>
17788
17789         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17790         (gst_base_sink_render_object),
17791         (gst_base_sink_queue_object_unlocked):
17792         Only keep track of prerollable items when we are 
17793         prerolling.
17794         Before rendering after preroll, always check if we
17795         have queued items.
17796         Added some more debugging.
17797
17798 2006-02-02  Wim Taymans  <wim@fluendo.com>
17799
17800         * gst/gstelement.c: (gst_element_continue_state),
17801         (gst_element_set_state_func), (gst_element_change_state):
17802         Fixed #326576, been running this for quite some time with
17803         no regressions at all.
17804
17805 2006-02-02  Wim Taymans  <wim@fluendo.com>
17806
17807         * common/gst.supp:
17808         Added more suppressions
17809
17810 2006-02-02  Wim Taymans  <wim@fluendo.com>
17811
17812         * docs/design/part-element-sink.txt:
17813         Updated document.
17814
17815         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17816         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17817         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17818         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17819         (gst_base_sink_do_sync), (gst_base_sink_render_object),
17820         (gst_base_sink_preroll_object),
17821         (gst_base_sink_queue_object_unlocked),
17822         (gst_base_sink_queue_object), (gst_base_sink_event),
17823         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17824         (gst_base_sink_loop), (gst_base_sink_activate_pull),
17825         (gst_base_sink_get_position), (gst_base_sink_change_state):
17826         * libs/gst/base/gstbasesink.h:
17827         Totally refactored matching the design doc.
17828         Use two segments, one to clip incomming buffers and another to
17829         perform sync.
17830         Handle queueing correctly, bypass the queue when playing.
17831         Make EOS cancelable.
17832         Handle errors correctly when operating in pull based mode.
17833
17834         * tests/check/elements/fakesink.c: (GST_START_TEST),
17835         (fakesink_suite):
17836         Added new check for sinks.
17837
17838 2006-02-02  Wim Taymans  <wim@fluendo.com>
17839
17840         * gst/gstsegment.c: (gst_segment_clip):
17841         No reason to refuse to clip when start == -1
17842
17843 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
17844
17845         * docs/README:
17846         * docs/manual/intro-basics.xml:
17847         * docs/manual/intro-preface.xml:
17848         * docs/manual/manual.xml:
17849         * docs/pwg/advanced-dparams.xml:
17850         * docs/pwg/intro-basics.xml:
17851         * docs/pwg/intro-preface.xml:
17852         * docs/pwg/pwg.xml:
17853           describe dparams (controller) for plugins
17854           unify docs a little more
17855
17856 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
17857
17858         * docs/gst/gstreamer-sections.txt:
17859         * gst/gstutils.c: (element_find_unconnected_pad),
17860         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17861         * gst/gstutils.h:
17862           Add new API: gst_parse_bin_from_description() and
17863           gst_bin_find_unconnected_pad() (#329069).
17864
17865 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
17866
17867         * docs/manual/README:
17868           uncover a nasty detail of the docs build
17869
17870 2006-01-31  Wim Taymans  <wim@fluendo.com>
17871
17872         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17873         Don't cache duration messages if we're not going to use or
17874         free them.
17875
17876 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
17877
17878         * docs/manual/advanced-dparams.xml:
17879         * docs/pwg/advanced-dparams.xml:
17880           more dparam docs
17881         * gst/gstindex.c:
17882           fix docs
17883         * libs/gst/controller/lib.c: (gst_controller_init):
17884           init just once
17885
17886 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
17887
17888         * gst/gstelement.c: (gst_element_message_full):
17889           also show file/line/func if no additional debug was given
17890
17891 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
17892         
17893         * win32/vs7/grammar.vcproj:
17894           activate copy of autogenerated files for Release mode
17895
17896 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17897         
17898         * win32/common/libgstreamer.def:
17899           export gst_value_compare
17900
17901 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
17902
17903         * plugins/elements/Makefile.am:
17904         * plugins/elements/gstelements.c:
17905         * plugins/elements/gstfdsink.c: (_do_init),
17906         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17907         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17908         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17909         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17910         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17911         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17912         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17913         * plugins/elements/gstfdsink.h:
17914         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17915
17916 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
17917
17918         * docs/manual/advanced-dparams.xml:
17919           describe controller
17920         * docs/manual/advanced-position.xml:
17921         * docs/manual/basics-init.xml:
17922         * docs/manual/manual.xml:
17923         * docs/manual/titlepage.xml:
17924         * docs/pwg/pwg.xml:
17925         * docs/pwg/titlepage.xml:
17926           cleanup xml (more to come)
17927         * libs/gst/controller/gstcontroller.c:
17928           fix typo
17929
17930 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17931         
17932         * win32/vs6/grammar.dsp:
17933           add autogen of gstmarshal.c,h for Release mode
17934                 
17935 2006-01-30  Wim Taymans  <wim@fluendo.com>
17936
17937         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17938         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17939         (gst_base_sink_handle_object), (gst_base_sink_event),
17940         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17941         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17942         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17943         (gst_base_sink_deactivate), (gst_base_sink_activate),
17944         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17945         (gst_base_sink_query), (gst_base_sink_change_state):
17946         Basesink cleanups, remove some old code.
17947         Handle the case where a subclass can preroll in the render
17948         method (mostly audiosinks).
17949         Handle more events.
17950         Remove some locks around variables that are now protected
17951         with the PREROLL_LOCK (clock_id, flushing, ..).
17952         Optimize position query some more, do correct locking.
17953         Remove old code to push queue in state change, this is not
17954         needed anymore since preroll blocks on all prerollable items 
17955         now.
17956         Almost implemented as described in design doc.
17957
17958 2006-01-30  Wim Taymans  <wim@fluendo.com>
17959
17960         * tests/check/gst/gstbin.c: (GST_START_TEST):
17961         Wait for refcount to settle down before checking.
17962
17963 2006-01-30  Wim Taymans  <wim@fluendo.com>
17964
17965         * docs/design/part-element-sink.txt:
17966         Pseudo code overview of desired sink behaviour regarding
17967         preroll.
17968
17969 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17970         * win32/vs6/grammar.dsp:
17971           fix some bugs in Release mode for autogenerated files
17972                 
17973 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17974         * win32/common/libgstbase.def:
17975         * win32/common/libgstreamer.def:
17976           export some new symbols: gst_base_src_set_format,
17977           gst_iterator_next, gst_structure_set_valist
17978
17979 2006-01-29  Julien MOUTTE  <julien@moutte.net>
17980
17981         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17982         Set pad functions unconditionally. Fixes #329105.
17983
17984 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17985         * win32/vs8:
17986           add vs8 project files created by Sergey Scobich
17987
17988 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
17989
17990         * gst/gstutils.c: (gst_element_unlink_pads):
17991         Don't leak pad references.
17992
17993         * tests/check/elements/fakesink.c: (GST_START_TEST):
17994         * tests/check/generic/sinks.c: (GST_START_TEST):
17995         * tests/check/generic/states.c: (GST_START_TEST):
17996         * tests/check/gst/gstbin.c: (GST_START_TEST):
17997         * tests/check/gst/gstcaps.c: (GST_START_TEST):
17998         * tests/check/gst/gstelement.c: (GST_START_TEST):
17999         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
18000         * tests/check/gst/gstiterator.c: (GST_START_TEST):
18001         * tests/check/gst/gstvalue.c: (GST_START_TEST):
18002         Fix a bunch of leaks. Make generic/sinks.c
18003         use a bit less cpu by slowing the buffer rate
18004         between fakesrc and fakesink.
18005         
18006 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
18007         * gst/gstcaps.c:
18008         * gst/gstelement.c: (gst_element_send_event):
18009         * gst/gstevent.c:
18010         * gst/gstinfo.c:
18011         * gst/gstiterator.c:
18012         * gst/gstiterator.h:
18013         * gst/gstpad.c: (gst_pad_send_event):
18014         * gst/gststructure.c:
18015         * gst/gsturi.c:
18016         * gst/gstutils.c:
18017         * gst/gstvalue.c:
18018         * libs/gst/base/gstadapter.c:
18019           doc fixes, to link to function, just write gst_cool_function(), don't
18020           prefix with '#'
18021
18022 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
18023
18024         * plugins/elements/gsttee.c: (gst_tee_do_push),
18025         (gst_tee_handle_buffer):
18026         Always prefer an actual return value from a src
18027         pad in place of NOT_LINKED. This means we return
18028         WRONG_STATE when all src pads are WRONG_STATE
18029         instead of NOT_LINKED.
18030
18031         Lock when replacing the last message to prevent
18032         racing with the get_property method.
18033
18034         Add debug output
18035
18036 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
18037
18038         * tests/check/Makefile.am:
18039         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
18040         (main):
18041         Add a very simple check that should have caught the memleak I fixed
18042         last night (if not for the slice allocator hiding it)
18043
18044 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
18045
18046         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
18047         (gst_bin_remove_func), (gst_bin_handle_message_func),
18048         (bin_query_duration_fold), (bin_query_generic_fold):
18049         Clean up references to the clock provider when disposed or when
18050         handling a clock-lost message from it.
18051
18052         Unref sinks when performing a query via gst_iterator_fold, as the
18053         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
18054
18055         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
18056         (gst_clock_set_master):
18057         Drop our reference to the master clock, if any, when we are disposed.
18058
18059         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
18060         Chain up in dispose. 
18061
18062 2006-01-26  Wim Taymans  <wim@fluendo.com>
18063
18064         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
18065         Add some debugging.
18066
18067 2006-01-26  Julien MOUTTE  <julien@moutte.net>
18068
18069         * plugins/elements/gsttee.c: (gst_tee_do_push),
18070         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
18071         handles pad being NOT_LINKED or in WRONG_STATE.
18072
18073 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
18074
18075         * win32/MANIFEST:
18076           more updating
18077
18078 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
18079
18080         * win32/MANIFEST:
18081           remove obsolete entry
18082
18083 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
18084
18085         * docs/gst/gstreamer-sections.txt:
18086         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
18087         (gst_bin_iterate_sources), (gst_bin_send_event):
18088         * gst/gstbin.h:
18089         * gst/gstelement.c: (gst_element_send_event):
18090         * gst/gstevent.c:
18091         * gst/gstpad.c: (gst_pad_send_event):
18092           added code for downstream events, reviewed docs in gstevent.c
18093
18094 2006-01-25  Julien MOUTTE  <julien@moutte.net>
18095
18096         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18097         We only query position using the clock in the playing state.
18098         Query peer in the other cases.
18099         * win32/common/config.h: Updates.
18100
18101 2006-01-24  Wim Taymans  <wim@fluendo.com>
18102
18103         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
18104         A clock entry that is scheduled for the exact time of the
18105         clock is still in time.
18106
18107         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18108         (gst_base_sink_do_sync):
18109         Add some more debug info.
18110
18111 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
18112
18113         * win32/vs7:
18114           Add new vs7 project files and solution.
18115
18116 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
18117
18118         * win32/vs7:
18119           all files removed as they were out-dated.
18120
18121 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18122
18123         * docs/random/release:
18124           update notes
18125         * gst/gstbin.c: (gst_bin_init):
18126         * gst/gstbus.c: (gst_bus_new):
18127         * gst/gstbus.h:
18128         * gst/gstpipeline.c: (gst_pipeline_init):
18129           use gst_bus_new(), improve logging, fix docs
18130         * win32/common/config.h:
18131           update for cvs build
18132
18133 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18134
18135         * autogen.sh:
18136           up required version of automake to 1.7
18137
18138 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
18139
18140         * win32/common/libgstreamer.def:
18141           export gst_buffer_is_metadata_writable
18142
18143 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
18144
18145         * docs/gst/gstreamer-sections.txt:
18146         * gst/gstevent.h:
18147           Add gst_event_replace() (#327001)
18148
18149 2006-01-20  Wim Taymans  <wim@fluendo.com>
18150
18151         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
18152         Make it actually compile too..
18153
18154 2006-01-20  Wim Taymans  <wim@fluendo.com>
18155
18156         * gst/gstcaps.c:
18157         Clarify behaviour of _is_equal() when passing NULL parameters.
18158
18159         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
18160         (gst_pad_set_caps):
18161         Cleanups. Don't unref NULL caps.
18162         When setting the same caps, protect caps of the pad with
18163         proper lock.
18164         Use full functionality of _is_equal() when comparing caps.
18165
18166 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
18167
18168         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
18169         Don't loop infinitely if there are no buffers to present. Partially
18170         fixes #327197, but collectpads is just broken for reusing elements
18171         to do multiple encodes atm.
18172
18173 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
18174
18175         * tools/gst-inspect.c: (print_element_features):
18176         * tools/gst-xmlinspect.c: (main):
18177         URL_HANDLER is not a plugin feature we can search for in
18178         the registry.
18179
18180 2006-01-19  Edward Hervey  <edward@fluendo.com>
18181
18182         * gst/gstelement.c: (gst_element_pads_activate): 
18183         When activating, do src pads first, then sink pads.
18184         When de-activating, do sink pads first, then src pads.
18185
18186 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
18187
18188         * docs/gst/gstreamer-sections.txt:
18189         Add gst_index_add_associationv to the docs
18190
18191 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
18192
18193         * gst/gstevent.c:
18194           Fix docs typo
18195
18196         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
18197         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
18198           Do some refactoring. Doesn't actually change functionality,
18199           but makes landing the DRAIN event easier later.
18200
18201 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
18202
18203         * docs/pwg/advanced-scheduling.xml:
18204           Update from 0.9.x to 0.10 API and make example a bit
18205           clearer.
18206
18207 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
18208
18209         * docs/gst/gstreamer-sections.txt:
18210         Add gst_buffer_(is|make)_metadata_writable methods.
18211
18212 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
18213
18214         * docs/design/part-sparsestreams.txt:
18215         Update sparse streams doc, hopefully for greater clarity
18216
18217 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
18218
18219         * docs/design/part-events.txt:
18220         Remove mention of FILLER events.
18221         Add DRAIN event.
18222
18223         * docs/design/part-sparsestreams.txt:
18224         Write some things about using NEWSEGMENT to keep sparse streams
18225         flowing.
18226
18227 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
18228
18229         * gst/gstbin.c: (gst_bin_dispose):
18230           Guard gst_object_unref call against a NULL object (dispose
18231           can theoretically be called multiple times).
18232           
18233 2006-01-18  Wim Taymans  <wim@fluendo.com>
18234
18235         * gst/gstbin.c: (gst_bin_element_set_state):
18236         * gst/gstclock.c: (gst_clock_id_wait):
18237         Added some more debug info.
18238
18239         * libs/gst/base/gstadapter.c:
18240         Added more docs.
18241
18242         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18243         (gst_base_sink_do_sync), (gst_base_sink_chain):
18244         Added some comments.
18245
18246 2006-01-18  Wim Taymans  <wim@fluendo.com>
18247
18248         * tests/check/Makefile.am:
18249         * tests/check/elements/fakesink.c: (chain_async_buffer),
18250         (chain_async), (chain_async_return), (GST_START_TEST),
18251         (fakesink_suite), (main):
18252         Added fakesink test that checks prerolling and clipping
18253         behaviour.
18254
18255         * tests/check/gst/gstutils.c: (GST_START_TEST):
18256         Make check run faster so that buildbots don't timeout.
18257
18258 2006-01-18  Wim Taymans  <wim@fluendo.com>
18259
18260         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18261         (gst_base_sink_do_sync):
18262         Some cleanups.
18263         When the sink finishes blocking on the preroll buffer, it can
18264         immediatly render it instead of rendering when the next buffer
18265         arrives.
18266
18267 2006-01-18  Wim Taymans  <wim@fluendo.com>
18268
18269         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
18270         (gst_base_sink_get_property), (gst_base_sink_do_sync),
18271         (gst_base_sink_chain):
18272         Small cleanups.
18273         GST_ELEMENT_CLOCK and sync are protected with LOCK.
18274         Don't store _last_stop if the buffer is dropped.
18275
18276 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
18277
18278         * plugins/elements/gsttypefindelement.c:
18279         (gst_type_find_element_class_init):
18280           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
18281           object method handler that sets the caps on the pad and we want
18282           that to happen before we emit the signal (fixes e.g. feeding a
18283           plain text file to decodebin).
18284
18285 2006-01-18  Christian Schaller  <Christian@fluendo.com>
18286
18287         * gst/gstplugin.c: Add MPL and Proprietary as license options
18288
18289 2006-01-18  Andy Wingo  <wingo@pobox.com>
18290
18291         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
18292         symbol was exported before, it appears this was just an oversight.
18293         Fixes #168703.
18294         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
18295
18296         * gst/gstindex.c (gst_index_add_associationv): Changed int in
18297         prototype to gint. OK since this prototype was not in the header.
18298
18299 2006-01-17  Andy Wingo  <wingo@pobox.com>
18300
18301         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
18302         registry while we remove plugins.
18303
18304         * tools/gst-inspect.c (print_element_info): Don't unref the
18305         factory arg, that should be the responsibility of whatever code
18306         received the ref. Fixes a double-free when called from
18307         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
18308         (main): Unref the factory if we have one.
18309         (print_element_list): No change -- relies on the
18310         plugin_feature_list_free to free the list of features.
18311
18312 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
18313
18314         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18315         (gst_buffer_make_metadata_writable):
18316         * gst/gstbuffer.h:
18317         * libs/gst/base/gstbasetransform.c:
18318         (gst_base_transform_prepare_output_buf):
18319         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18320         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18321           Replace gst_buffer_(make|is)_metadata_writable patch now
18322           that the release is out.
18323
18324 2006-01-17  Andy Wingo  <wingo@pobox.com>
18325
18326         * gst/gstregistry.c: Reflow design comment. Update so as to speak
18327         in the present tense without reference to versions.
18328
18329         * gst/gstregistry.c (gst_registry_add_plugin)
18330         (gst_registry_remove_plugin, gst_registry_remove_feature)
18331         (gst_registry_find_feature, gst_registry_get_feature_list)
18332         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
18333         (gst_registry_lookup, gst_registry_scan_path)
18334         (_gst_registry_remove_cache_plugins)
18335         (gst_registry_get_feature_list_by_plugin): Add argument
18336         validation.
18337
18338 === release 0.10.2 ===
18339
18340 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
18341
18342         * configure.ac:
18343           releasing 0.10.2, "If man is five"
18344
18345 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18346
18347         * gst/gstbuffer.c:
18348         * gst/gstbuffer.h:
18349         * libs/gst/base/gstbasetransform.c:
18350         (gst_base_transform_prepare_output_buf):
18351         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18352         * tests/check/gst/gstbuffer.c: (gst_test_suite):
18353           Back out patch until after the release.
18354
18355 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18356
18357         * gst/gstminiobject.c:
18358           Spelling fix in docs.
18359         * ChangeLog - remove conflict indicator
18360
18361 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18362
18363         Reviewed By: Andy Wingo
18364
18365         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18366         (gst_buffer_make_metadata_writable):
18367         * gst/gstbuffer.h:
18368           Add gst_buffer_(is|make)_metadata_writable as analogues of
18369           gst_buffer_(is|make)_writable.
18370
18371         * libs/gst/base/gstbasetransform.c:
18372         (gst_base_transform_prepare_output_buf):
18373         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18374           Use name gst_buffer_(is|make)_metadata_writable functions.
18375
18376         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18377           Test gst_buffer_(is|make)_metadata_writable
18378         
18379           (Closes: #324162)
18380
18381 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
18382
18383         * docs/manual/Makefile.am:
18384           don't do parallel make
18385         * configure.ac:
18386           AC_SUBST HOST_CPU
18387         * win32/common/config.h.in:
18388           add generations for HOST_CPU and GST_MAJORMINOR
18389         * win32/common/config.h:
18390           commit generated result
18391
18392 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
18393
18394         * docs/manual/appendix-integration.xml:
18395           Update GNOME integration section to use gst_init_get_option_group()
18396           instead of the old popt stuff (#322911). Also, GNOME applications
18397           should  now use gconf*sink and gconf*src instead of the old gconf
18398           helper lib we had.
18399
18400 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
18401
18402
18403         * docs/gst/gstreamer-docs.sgml:
18404         * docs/gst/gstreamer-sections.txt:
18405         * docs/libs/gstreamer-libs-sections.txt:
18406           add new API entries to the docs
18407         * libs/gst/controller/Makefile.am:
18408         * libs/gst/controller/gstcontroller.c:
18409         * libs/gst/controller/gstcontroller.h:
18410         * libs/gst/controller/gstcontrollerprivate.h:
18411         * libs/gst/controller/gsthelper.c:
18412         * libs/gst/controller/gstinterpolation.c:
18413           move private structs to private header
18414         * po/README:
18415           gstreamer-0.7 -> gstreamer-0.10
18416         * tests/check/libs/struct_i386.h:
18417           remove private structs
18418
18419 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18420
18421         * plugins/indexers/Makefile.am:
18422           Fixes as part of #317048
18423
18424 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18425
18426         * plugins/indexers/Makefile.am:
18427           fix #316086 - compilation when mmap is missing
18428
18429 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
18430
18431         * libs/gst/base/gstbasesink.c:
18432           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
18433           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
18434         * win32/common/config.h:
18435           added some defines GST_MAJORMINOR and HOST_CPU
18436         * win32/common/libgstbase.def:
18437         * win32/common/libgstreamer.def:
18438           added some exported functions.
18439
18440 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18441
18442         * libs/gst/controller/gstcontroller.c:
18443         (gst_controlled_property_set_interpolation_mode),
18444         (gst_controlled_property_new):
18445         * libs/gst/controller/gstcontroller.h:
18446         * libs/gst/controller/gstinterpolation.c:
18447         (interpolate_none_get_string_value_array):
18448           make G_TYPE_STRING controlable
18449
18450 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18451
18452         * tools/README:
18453         * tools/gst-feedback.1.in:
18454         * tools/gst-inspect.1.in:
18455         * tools/gst-launch.1.in:
18456         * tools/gst-md5sum.1.in:
18457         * tools/gst-typefind.1.in:
18458         * tools/gst-xmlinspect.1.in:
18459         * tools/gst-xmllaunch.1.in:
18460           cleanup man-pages, remove reference to gst-register, document env-vars
18461
18462 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
18463
18464         * gst/gstbuffer.c: (gst_buffer_span):
18465           gst_buffer_span should copy the timestamp of the first buffer
18466           if they were both originally overlapping subbuffers of the 
18467           same parent, using the same logic as the 'slow copy' case.
18468
18469 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
18470
18471         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
18472           Need to awaken ALL the pads when we pop a buffer, otherwise
18473           collectpads only works when there is 2 input streams.
18474
18475 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
18476
18477         * docs/random/ensonic/media-device-daemon.txt:
18478           more ideas (dbus)
18479         * gst/gstbuffer.c:
18480           fix doc example, add clarification
18481         * tools/gst-launch.1.in:
18482           add initial info about GST_PLUGIN_PATH, needs more work
18483
18484 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
18485
18486         * docs/manual/basics-bins.xml:
18487         * docs/manual/basics-elements.xml:
18488         * docs/manual/intro-basics.xml:
18489           Some more minor docs additions and updates.
18490
18491 2006-01-11  Wim Taymans  <wim@fluendo.com>
18492
18493         * docs/manual/basics-bins.xml:
18494         * docs/manual/basics-elements.xml:
18495         Some small fixes as pointed out by Ser-ver on IRC.
18496
18497 2006-01-10  Edward Hervey  <edward@fluendo.com>
18498
18499         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18500         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
18501         the single-segment mode.
18502
18503 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
18504
18505         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18506
18507         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
18508         (gst_base_src_perform_seek), (gst_base_src_send_event),
18509         (gst_base_src_set_property), (gst_base_src_get_property),
18510         (gst_base_src_loop), (gst_base_src_start),
18511         (gst_base_src_activate_push):
18512         * libs/gst/base/gstbasesrc.h:
18513           Name (private) union; makes Sun's Forte compiler happy (#324900).
18514
18515 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
18516
18517         * README:
18518           gst-register is gone.
18519
18520 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
18521
18522         * gst/gstvalue.c: (_gst_value_initialize):
18523           make the G_TYPE_DATE instantiation work if debug is disabled
18524
18525 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
18526
18527         * gst/gstmessage.c: (gst_message_parse_tag),
18528         (gst_message_parse_error), (gst_message_parse_warning):
18529           Don't crash when return location for error/warning debug
18530           string is NULL; add fact that return locations can be
18531           NULL to docs where appropriate.
18532
18533 2006-01-05  Wim Taymans  <wim@fluendo.com>
18534
18535         * gst/gstplugin.c: (gst_plugin_load_file):
18536         Replace strdup by g_strdup.
18537
18538 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18539
18540         * docs/pwg/advanced-types.xml:
18541           fix doc borkage
18542
18543 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18544
18545         submitted by: Abel Cheung
18546
18547         * po/LINGUAS:
18548         * po/zh_TW.po:
18549           Added Chinese (traditional) translation
18550
18551 2006-01-04  Wim Taymans  <wim@fluendo.com>
18552
18553         * docs/manual/basics-pads.xml:
18554         * docs/plugins/Makefile.am:
18555         * docs/plugins/gstreamer-plugins-docs.sgml:
18556         * docs/plugins/gstreamer-plugins-sections.txt:
18557         * docs/pwg/advanced-clock.xml:
18558         * docs/pwg/advanced-scheduling.xml:
18559         * docs/pwg/advanced-types.xml:
18560         * plugins/elements/gstfdsink.c:
18561         * plugins/elements/gstfdsrc.c:
18562         * plugins/elements/gstfdsrc.h:
18563         * plugins/elements/gstidentity.c: (gst_identity_class_init):
18564         * plugins/elements/gstidentity.h:
18565         * plugins/elements/gstqueue.h:
18566         * plugins/elements/gsttee.c:
18567         * plugins/elements/gsttee.h:
18568         * plugins/elements/gsttypefindelement.c:
18569         (gst_type_find_element_class_init):
18570         * plugins/elements/gsttypefindelement.h:
18571         Small updates to various docs.
18572         Added core plugins to docs.
18573
18574 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18575
18576         * common/gst.supp:
18577           add a suppression for liboil's uninitialized variable
18578
18579 2006-01-02  James Livingston  <jrl at ids dot org dot au>
18580
18581         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18582
18583         * gst/gstutils.h:
18584           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18585           macro, so that gcc doesn't complain if the -Wmissing-prototypes
18586           compiler switch is being used (#325429).
18587
18588 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
18589
18590         * gst/gstbin.c: (gst_bin_query):
18591           Disable duration query caching in bins until it gets
18592           fixed (see #324807).
18593
18594 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18595
18596         * tools/gst-inspect.c: (print_element_properties_info):
18597           Handle properties of POINTER and BOXED type.
18598
18599 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18600
18601         * gst/gst.c: (init_post):
18602           Init tags stuff and some other things before loading
18603           any static plugins (there may be other static plugins
18604           than just the GStreamer ones, and they may want to
18605           register their own tags or formats or whatever, and
18606           preferably without segfaulting).
18607
18608         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18609           Print at least a warning in the debug logs if we drop a
18610           query just because we don't know how to adjust the value
18611           in the particular format.
18612
18613 2005-12-24  David Schleef  <ds@schleef.org>
18614
18615         * tools/gstreamer-completion:
18616           Replacement for gst-complete written in sh and sed.  Only
18617           completes names of features, but that's 90% of what I want
18618           it for.  Properties are not available in registry.xml.  (Maybe
18619           they should be...)
18620
18621 === release 0.10.1 ===
18622
18623 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
18624
18625         * configure.ac:
18626           releasing 0.10.1, "Nollaig chridheil"
18627
18628 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
18629
18630         * docs/faq/cvs.xml:
18631           Add missing quote, should be make ERROR_CFLAGS="".
18632
18633 2005-12-20  Wim Taymans  <wim@fluendo.com>
18634
18635         * docs/design/part-trickmodes.txt:
18636         More documentation on trickmodes.
18637
18638 2005-12-20  Edward Hervey  <edward@fluendo.com>
18639
18640         * gst/gstcaps.c: (gst_static_caps_get_type):
18641         * gst/gstcaps.h:
18642           API addition: GST_TYPE_STATIC_CAPS
18643         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18644         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18645         * gst/gstpadtemplate.h:
18646           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18647         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18648         bindings.
18649
18650 2005-12-18  Wim Taymans  <wim@fluendo.com>
18651
18652         * libs/gst/base/gstadapter.c:
18653         * libs/gst/base/gstadapter.h:
18654         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18655         (gst_base_sink_get_position):
18656         * libs/gst/base/gstbasesink.h:
18657         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18658         (gst_base_src_default_query), (gst_base_src_default_do_seek),
18659         (gst_base_src_do_seek), (gst_base_src_perform_seek),
18660         (gst_base_src_send_event), (gst_base_src_update_length),
18661         (gst_base_src_get_range), (gst_base_src_loop),
18662         (gst_base_src_start):
18663         * libs/gst/base/gstbasesrc.h:
18664         * libs/gst/base/gstbasetransform.h:
18665         * libs/gst/base/gstcollectpads.h:
18666         * libs/gst/base/gstpushsrc.c:
18667         * libs/gst/base/gstpushsrc.h:
18668         * libs/gst/dataprotocol/dataprotocol.c:
18669         * libs/gst/dataprotocol/dataprotocol.h:
18670         * libs/gst/net/gstnetclientclock.h:
18671         * libs/gst/net/gstnettimeprovider.h:
18672         Documentation updates.
18673
18674 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
18675
18676         * docs/manual/basics-helloworld.xml:
18677           Remove superfluous closing bracket in helloworld example.
18678
18679 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
18680
18681         * tools/gst-launch.1.in:
18682           Update gst-launch man page; add a section with useful
18683           environment variables. Fixes #323882.
18684
18685 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
18686
18687         * gst/gst.c:
18688         * gst/gst_private.h:
18689           change some char* into char[]
18690
18691 2005-12-16  Wim Taymans  <wim@fluendo.com>
18692
18693         * gst/gstregistryxml.c: (load_feature):
18694         Cleanups.
18695         Don't use g_object_unref on GstObjects so that we avoid
18696         leaks on unsafe glibs.
18697
18698 2005-12-16  Wim Taymans  <wim@fluendo.com>
18699
18700         * gst/gstbin.c: (gst_bin_recalc_state):
18701         Small doc updates.
18702
18703 2005-12-16  Wim Taymans  <wim@fluendo.com>
18704
18705         * common/check.mak:
18706         Added make forever target for check.
18707
18708 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18709
18710         * gst/gst.c: (init_post):
18711           make the registry cache file HOST_CPU-dependent
18712
18713 2005-12-16  Andy Wingo  <wingo@pobox.com>
18714
18715         * plugins/elements/gstbufferstore.c
18716         (gst_buffer_store_cleared_func): Pay attention to g_list_append
18717         return value.
18718
18719         * tests/check/gst/gstobject.c
18720         (test_fake_object_name_threaded_unique): Pay attention to
18721         g_list_sort return value.
18722
18723 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
18724
18725         * tools/gst-feedback-m.m:
18726           Update for 0.9/0.10 (fixes #323870).
18727
18728 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
18729
18730         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18731           Fix lcopy for mini objects, the mini object needs to be ref'ed.
18732           
18733         * tests/check/gst/gstminiobject.c: (my_foo_init),
18734         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18735         (test_value_collection), (gst_mini_object_suite):
18736           Add test to ensure refcounts end up as expected when passing
18737           GstMiniObjects through g_object_get() and g_object_set().
18738
18739 2005-12-14  Julien MOUTTE  <julien@moutte.net>
18740
18741         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18742         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18743         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18744         of collectpads. This version removes a lot of races without
18745         touching API/ABI. Yay !
18746
18747 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
18748
18749         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18750           Don't allow activation of a srcpad in pull_range if it has no
18751           getrange function.
18752           Change some debug statements to be a little clearer
18753
18754         * plugins/elements/gsttypefindelement.c:
18755         (gst_type_find_handle_src_query):
18756           Check that we have a peer before executing queries thereupon.
18757
18758         * tests/examples/metadata/read-metadata.c: (message_loop):
18759           Use gst_bus_pop instead of gst_bus_poll when we just want it to
18760           immediately return us any available message with 0 timeout.
18761
18762 2005-12-12  Michael Smith  <msmith@fluendo.com>
18763
18764         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18765           Don't unref factories after calling them.
18766         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18767         * plugins/elements/gsttypefindelement.c:
18768         (gst_type_find_element_chain):
18769           Free lists of factories after using them. Fixing typefinding memory
18770           leaks.
18771
18772 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18773
18774         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18775         (gst_plugin_feature_load):
18776           more meaningful debug output
18777         * configure.ac:
18778         * tests/Makefile.am:
18779         * tests/old/examples/Makefile.am:
18780           make make distcheck happy again
18781
18782 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18783
18784         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18785           Catch the special case where we are operating chain-based,
18786           but the downstream peer pad has no chain function. Emit a
18787           custom error message in this case instead of letting the
18788           core generate one implying that this is some sort of core
18789           bug. It's not, it just means that whatever got plugged
18790           into the pipeline downstream when we announced the type
18791           can only operate pull-based, while our source can only
18792           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18793           Error string has not been marked for translation yet, as
18794           it probably needs some more work first.
18795
18796         (gst_type_find_element_get_best_possibility):
18797           Add helper function to find the best of all available
18798           found possibilities that qualify given the min. threshold.
18799
18800         (gst_type_find_element_handle_event):
18801           Fix the case where we get an EOS while still in TYPEFIND
18802           mode (we want to chose the best of all possible types,
18803           not just the first type that happens to be in our unsorted
18804           list of possible types).
18805
18806         (gst_type_find_element_chain):
18807           Make sure we return GST_FLOW_ERROR when we errored out
18808           in stop_typefinding(); also, don't just find the best of
18809           all found type entries and then use the last examined
18810           type entry, but actually use the best entry.
18811
18812 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18813
18814         * tests/examples/typefind/typefind.c: (type_found):
18815         * tests/examples/xml/runxml.c: (xml_loaded):
18816           More gcc4 fixes and a mem leak fix.
18817
18818 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18819
18820         * tests/examples/xml/createxml.c: (object_saved):
18821           gcc 4 fixes
18822
18823 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18824
18825         * tests/Makefile.am:
18826           enable the examples even more
18827
18828 2005-12-12  Andy Wingo  <wingo@pobox.com>
18829
18830         * libs/gst/net/gstnettimeprovider.c
18831         (gst_net_time_provider_class_init, gst_net_time_provider_init)
18832         (gst_net_time_provider_set_property)
18833         (gst_net_time_provider_get_property):
18834         API addition: Export "active" as a GObject property.
18835         (gst_net_time_provider_thread): Only respond to time queries if
18836         the time provider is active.
18837
18838         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18839         NetTimeProvider, preserving binary compat.
18840
18841 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18842
18843         * tests/examples/controller/audio-example.c: (main):
18844         * tests/examples/launch/Makefile.am:
18845           convert comments again
18846
18847 2005-12-12  Wim Taymans  <wim@fluendo.com>
18848
18849         * libs/gst/base/gstpushsrc.c:
18850         Fix typo.
18851
18852 2005-12-12  Wim Taymans  <wim@fluendo.com>
18853
18854         * docs/libs/gstreamer-libs-sections.txt:
18855         Added new symbol to docs.
18856
18857         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18858         (gst_base_src_init), (gst_base_src_set_format),
18859         (gst_base_src_default_query), (gst_base_src_query),
18860         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18861         (gst_base_src_perform_seek), (gst_base_src_send_event),
18862         (gst_base_src_default_event), (gst_base_src_event_handler),
18863         (gst_base_src_set_property), (gst_base_src_get_property),
18864         (gst_base_src_wait), (gst_base_src_do_sync),
18865         (gst_base_src_update_length), (gst_base_src_get_range),
18866         (gst_base_src_check_get_range), (gst_base_src_loop),
18867         (gst_base_src_default_negotiate), (gst_base_src_start),
18868         (gst_base_src_activate_push), (gst_base_src_activate_pull),
18869         (gst_base_src_change_state):
18870         * libs/gst/base/gstbasesrc.h:
18871         Implement seeking to other formats than _BYTES.
18872         Implement more seeking methods correctly.
18873         Doc updates.
18874         Added query vmethod.
18875         Added do_seek vmethod to make life easier for subclasses
18876         when seeking.
18877         API addition: gst_base_src_set_format()
18878
18879 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18880
18881         * tests/examples/Makefile.am:
18882           added that too
18883
18884 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18885
18886         * configure.ac:
18887         * docs/random/ensonic/media-device-daemon.txt:
18888         * tests/examples/controller/.cvsignore:
18889         * tests/examples/controller/Makefile.am:
18890         * tests/examples/controller/audio-example.c: (main):
18891         * tests/examples/helloworld/.cvsignore:
18892         * tests/examples/helloworld/Makefile.am:
18893         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18894         * tests/examples/launch/.cvsignore:
18895         * tests/examples/launch/Makefile.am:
18896         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18897         * tests/examples/metadata/.cvsignore:
18898         * tests/examples/metadata/Makefile.am:
18899         * tests/examples/metadata/read-metadata.c: (message_loop),
18900         (make_pipeline), (print_tag), (main):
18901         * tests/examples/queue/.cvsignore:
18902         * tests/examples/queue/Makefile.am:
18903         * tests/examples/queue/queue.c: (event_loop), (main):
18904         * tests/examples/typefind/.cvsignore:
18905         * tests/examples/typefind/Makefile.am:
18906         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18907         (main):
18908         * tests/examples/xml/.cvsignore:
18909         * tests/examples/xml/Makefile.am:
18910         * tests/examples/xml/createxml.c: (object_saved), (main):
18911         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18912         * tests/old/examples/Makefile.am:
18913         * tests/old/examples/TODO:
18914         * tests/old/examples/controller/.cvsignore:
18915         * tests/old/examples/controller/Makefile.am:
18916         * tests/old/examples/controller/audio-example.c:
18917         * tests/old/examples/helloworld/.cvsignore:
18918         * tests/old/examples/helloworld/Makefile.am:
18919         * tests/old/examples/helloworld/helloworld.c:
18920         * tests/old/examples/launch/.cvsignore:
18921         * tests/old/examples/launch/Makefile.am:
18922         * tests/old/examples/launch/mp3parselaunch.c:
18923         * tests/old/examples/launch/mp3play:
18924         * tests/old/examples/manual/Makefile.am:
18925         * tests/old/examples/metadata/Makefile.am:
18926         * tests/old/examples/metadata/read-metadata.c:
18927         * tests/old/examples/queue/.cvsignore:
18928         * tests/old/examples/queue/Makefile.am:
18929         * tests/old/examples/queue/queue.c:
18930         * tests/old/examples/typefind/.cvsignore:
18931         * tests/old/examples/typefind/Makefile.am:
18932         * tests/old/examples/typefind/typefind.c:
18933         * tests/old/examples/xml/.cvsignore:
18934         * tests/old/examples/xml/Makefile.am:
18935         * tests/old/examples/xml/createxml.c:
18936         * tests/old/examples/xml/runxml.c:
18937           applied some simple fixing to some examples
18938           re-enabled the working examples
18939
18940 2005-12-12  Wim Taymans  <wim@fluendo.com>
18941
18942         * gst/gstsegment.c: (gst_segment_init),
18943         (gst_segment_set_last_stop), (gst_segment_set_seek),
18944         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18945         (gst_segment_to_running_time):
18946         Added more documentation.
18947         Make sure the last_pos value is updated properly.
18948         Make sure to_stream_time and to_running_time don't
18949         operate on wrong values.
18950
18951         * tests/check/gst/gstsegment.c: (GST_START_TEST):
18952         Update check.
18953
18954 2005-12-12  Michael Smith  <msmith@fluendo.com>
18955
18956         * plugins/elements/gsttypefindelement.c: (free_entry),
18957         (gst_type_find_element_chain):
18958           Now that we're not leaking factories, make sure we keep references
18959           to them while we need them.
18960
18961 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18962
18963         * tests/check/gst/struct_i386.h:
18964           ifdef out the XML structs
18965
18966 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18967
18968         * gst/gstvalue.c: (gst_value_transform_double_fraction):
18969           floor is not needed, F is always positive; this obviates the
18970           need for adding -lm when building without libxml
18971
18972 2005-12-12  Wim Taymans  <wim@fluendo.com>
18973
18974         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18975         Take current playback rate into account when reporting
18976         the position.
18977
18978 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18979
18980         * docs/manual/mime-world.fig:
18981           Let's try this again, this time with a file that is
18982           actually in XFig format.
18983
18984 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18985
18986         * docs/manual/mime-world.fig:
18987           Add audioconvert element to diagram so that it
18988           matches the text and the code (fixes #319526).
18989
18990 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18991
18992         * docs/pwg/building-chainfn.xml:
18993         * docs/pwg/building-pads.xml:
18994         * docs/pwg/building-state.xml:
18995         * docs/pwg/other-source.xml:
18996           Update state change stuff for 0.10 (fixes #322969).
18997
18998 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18999
19000         * docs/manual/advanced-dataaccess.xml:
19001         * docs/manual/appendix-checklist.xml:
19002         * docs/manual/appendix-programs.xml:
19003         * docs/manual/basics-pads.xml:
19004         * docs/manual/highlevel-components.xml:
19005         * docs/manual/manual.xml:
19006           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
19007           add converters in front of pipelines; remove curly
19008           brackets for threads stuff, they no longer exist; use
19009           GST_TYPE_FRACTION for framerates; update some pieces of
19010           code to 0.10, but there's plenty more to do.
19011
19012         * docs/manual/appendix-porting.xml:
19013           Expand on asynchroneous state changes; s/0.9/0.10/;
19014           mention disappearance of gst_init_get_popt_table()
19015           (fixes #322916).
19016
19017 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
19018
19019         * docs/faq/using.xml:
19020           Spider no longer exists, and neither does gst-launch-ext.
19021           Update examples to use decodebin and playbin and put
19022           converters in front of sinks (fixes #323726).
19023
19024 2005-12-09  Michael Smith  <msmith@fluendo.com>
19025
19026         * plugins/elements/gsttypefindelement.c: (find_peek),
19027         (gst_type_find_element_chain):
19028           Fix leaking element factories in typefinding.
19029           Fix problem where we forgot about a probable type on non-seekable
19030           files, and thus later mis-typefound it.
19031
19032 2005-12-09  Michael Smith  <msmith@fluendo.com>
19033
19034         * common/m4/gst-makecontext.m4:
19035         * common/m4/gst-mcsc.m4:
19036         * configure.ac:
19037         * win32/common/config.h:
19038         * win32/common/config.h.in:
19039           Remove makecontext stuff; not used in 0.10 and causes problems on
19040           HPUX according to bug #322441
19041
19042 2005-12-07  Wim Taymans  <wim@fluendo.com>
19043
19044         * tests/check/Makefile.am:
19045         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
19046         (main):
19047         * tests/check/libs/struct_i386.h:
19048         Added ABI check for libs
19049
19050 2005-12-07  Wim Taymans  <wim@fluendo.com>
19051
19052         * tests/check/Makefile.am:
19053         And add the struct_i386.h to dist.
19054
19055 2005-12-07  Wim Taymans  <wim@fluendo.com>
19056
19057         * tests/check/Makefile.am:
19058         * tests/check/gst/.cvsignore:
19059         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
19060         (main):
19061         * tests/check/gst/struct_i386.h:
19062         Added check for ABI compatibility.
19063
19064 2005-12-07  Wim Taymans  <wim@fluendo.com>
19065
19066         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
19067         (gst_fake_src_get_times), (gst_fake_src_create):
19068         Fix broken sync option, fixes #323259
19069
19070 2005-12-07  Wim Taymans  <wim@fluendo.com>
19071
19072         * gst/gstbuffer.c:
19073         Small docs update.
19074
19075         * gst/gstcaps.c: (gst_caps_is_equal):
19076         Don't assert on NULL <--> X. Fixes #323260
19077
19078         * gst/gstminiobject.c: (gst_mini_object_replace):
19079         If we're doing atomic operations, we might just as well use
19080         the proper way to get an atomic pointer.
19081
19082         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
19083         Clean up debugging.
19084
19085 2005-12-07  Michael Smith  <msmith@fluendo.com>
19086
19087         * gst/parse/grammar.y:
19088           Remove handling of { } for threads.
19089
19090 2005-12-06  David Schleef  <ds@schleef.org>
19091
19092         * libs/gst/base/gstbasetransform.c: speling fix.
19093
19094 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19095
19096         * docs/libs/tmpl/gstdataprotocol.sgml:
19097         * docs/random/omega/testing/gstobject.c:
19098         * gst/gst.c:
19099         * gst/gstclock.c:
19100         * gst/gstelement.c:
19101         * gst/gstelementfactory.c:
19102         * gst/gsterror.c:
19103         * gst/gstevent.c:
19104         * gst/gstghostpad.c:
19105         * gst/gstinfo.c:
19106         * gst/gstpadtemplate.c:
19107         * gst/gstregistryxml.c:
19108         * gst/gsttaglist.c:
19109         * gst/gsttagsetter.c:
19110         * gst/gsttypefind.c:
19111         * gst/gstvalue.c:
19112         * libs/gst/base/gstbasesrc.c:
19113         * libs/gst/net/gstnetclientclock.c:
19114         * libs/gst/net/gstnettimeprovider.c:
19115         * plugins/elements/gstfakesrc.c:
19116         * plugins/elements/gstfdsrc.c:
19117         * plugins/elements/gstfilesrc.c:
19118         * plugins/elements/gstidentity.c:
19119         * plugins/elements/gstqueue.c:
19120         * plugins/elements/gsttypefindelement.c:
19121         * plugins/indexers/gstfileindex.c:
19122         * plugins/indexers/gstmemindex.c:
19123         * tests/check/gst/gsttag.c:
19124         * tests/old/examples/cutter/cutter.c:
19125         * tests/old/examples/mixer/mixer.c:
19126         * tests/old/examples/xml/runxml.c: (main):
19127         * tests/old/testsuite/caps/normalisation.c:
19128         * tests/old/testsuite/debug/global.c:
19129         * tests/old/testsuite/parse/parse1.c:
19130         * tools/gst-xmlinspect.c:
19131         * win32/common/dirent.c:
19132           expand tabs
19133
19134 === release 0.10.0 ===
19135
19136 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19137
19138         * configure.ac:
19139           releasing 0.10.0, "Maroilles"
19140
19141 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
19142
19143         submitted by: Funda Wang <fundawang@linux.net.cn>
19144
19145         * po/LINGUAS:
19146         * po/zh_CN.po:
19147           added Chinese (Traditional) translation
19148
19149 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
19150
19151         * docs/gst/gstreamer-sections.txt:
19152         * docs/libs/tmpl/gstdataprotocol.sgml:
19153         * docs/random/thomasvs/TODO:
19154         * gst/gstutils.c:
19155         * gst/gstutils.h:
19156           fix docs
19157
19158 2005-12-05  Andy Wingo  <wingo@pobox.com>
19159
19160         patch by: Wim Taymans <wim@fluendo.com>
19161
19162         * libs/gst/base/gstbasetransform.c
19163         (gst_base_transform_prepare_output_buf)
19164         (gst_base_transform_buffer_alloc):
19165         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
19166         alloc_buffer_and_set_caps.
19167
19168         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
19169         set_caps on the source pad.
19170         (gst_pad_alloc_buffer_and_set_caps): New function, does what
19171         alloc_buffer used to do. Fixes #322874.
19172
19173         * docs/gst/gstreamer-sections.txt: 
19174         * docs/design/part-negotiation.txt: 
19175         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
19176         changes.
19177
19178 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
19179
19180         patch by: Sebastien Moutte
19181
19182         * win32/MANIFEST:
19183         * win32/common/config.h.in:
19184         * win32/vs6/libgstcontroller.dsp:
19185           win32 build fixes
19186
19187 2005-12-05  Wim Taymans  <wim@fluendo.com>
19188
19189         * gst/gstcaps.c: (gst_caps_is_equal):
19190         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
19191         (gst_fake_src_create):
19192         Back out previous code changes, leave doc updates, file bugs 
19193         instead. 
19194
19195 2005-12-05  Wim Taymans  <wim@fluendo.com>
19196
19197         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
19198         (gst_fake_src_get_times), (gst_fake_src_create):
19199         * plugins/elements/gstfakesrc.h:
19200         Fix broken sync code.
19201
19202 2005-12-05  Wim Taymans  <wim@fluendo.com>
19203
19204         * gst/gstcaps.c: (gst_caps_is_equal):
19205         Comparing NULL against !NULL yields different caps, not a
19206         failure.
19207
19208 2005-12-05  Wim Taymans  <wim@fluendo.com>
19209
19210         * gst/gstpipeline.c:
19211         Fix small typo in docs.
19212
19213 2005-12-05  Andy Wingo  <wingo@pobox.com>
19214
19215         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
19216
19217         * gst/gst.c (init_post): remove hard-coded 0.9 location for
19218         registries/plugins with a MAJORMINOR one.
19219         (plugin_desc): Rename library from gstcoreleements to
19220         staticelements. Fixes #323222.
19221
19222 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
19223
19224         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
19225           Change debug category to 'collectpads' from 'collect_pads'
19226           (fixes #323250).
19227
19228 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
19229
19230         patch by: Sebastien Moutte
19231
19232         * libs/gst/controller/gstinterpolation.c:
19233           use convert function for uint64/double
19234         * win32/vs6/libgstcontroller.dsp:
19235           link to GLib
19236
19237 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
19238
19239         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
19240         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
19241         * gst/gstutils.h:
19242         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19243           add tests that seem to show that the guint64/gdouble conversions
19244           are correct.
19245
19246 2005-12-02  Wim Taymans  <wim@fluendo.com>
19247
19248         * gst/gstregistry.c: (gst_registry_add_path):
19249         * gst/gstregistry.h:
19250         * gst/gstregistryxml.c:
19251         Fix docs again.
19252
19253 2005-12-02  Wim Taymans  <wim@fluendo.com>
19254
19255         * gst/gstutils.c: (gst_util_uint64_scale_int64),
19256         (gst_util_uint64_scale_int):
19257         Small cleanup.
19258
19259         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19260         Add debug log line.
19261
19262         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
19263         Add FIXME.
19264
19265 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19266
19267         * win32/MANIFEST:
19268         * win32/common/config.h:
19269         * win32/vs6/gstreamer.dsw:
19270         * win32/vs6/libgstcoreelements.dsp:
19271         * win32/vs6/libgstelements.dsp:
19272           renamed core elements plugin
19273
19274 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19275
19276         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
19277         (get_candidates):
19278           do piece-wise major/minor comparison so 0.9 < 0.10
19279           also allow .exe extensions for tools
19280
19281 2005-12-02  Michael Smith  <msmith@fluendo.com>
19282
19283         * gst/gst.c:
19284           Escape a % to make gtkdoc happier; bug 322958.
19285
19286 === release 0.9.7 ===
19287
19288 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19289
19290         * configure.ac:
19291           releasing 0.9.7, "My Dog Has No Nose"
19292
19293 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19294
19295         * common/gst-xmlinspect.py:
19296         * configure.ac:
19297         * docs/libs/tmpl/gstdataprotocol.sgml:
19298         * docs/random/release:
19299         * po/af.po:
19300         * po/az.po:
19301         * po/bg.po:
19302         * po/ca.po:
19303         * po/cs.po:
19304         * po/de.po:
19305         * po/en_GB.po:
19306         * po/fr.po:
19307         * po/it.po:
19308         * po/nb.po:
19309         * po/nl.po:
19310         * po/ru.po:
19311         * po/sq.po:
19312         * po/sr.po:
19313         * po/sv.po:
19314         * po/tr.po:
19315         * po/uk.po:
19316         * po/vi.po:
19317         * win32/common/config.h:
19318         * win32/common/config.h.in:
19319         * win32/vs6/gst_inspect.dsp:
19320         * win32/vs6/gst_launch.dsp:
19321         * win32/vs6/libgstbase.dsp:
19322         * win32/vs6/libgstelements.dsp:
19323         * win32/vs6/libgstreamer.dsp:
19324         * win32/vs7/GStreamer.vcproj:
19325         * win32/vs7/gst-inspect.vcproj:
19326         * win32/vs7/gst-launch.vcproj:
19327         * win32/vs7/libgstbase.vcproj:
19328           bump GST_MAJORMINOR to 0.10
19329           reset libtool version
19330
19331 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19332
19333         * po/LINGUAS:
19334         * po/bg.po:
19335           Added Bulgarian translation by (Alexander Shopov)
19336
19337 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19338
19339         * tests/check/gst/gstplugin.c:
19340           fix test
19341
19342 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19343
19344         * common/gst-xmlinspect.py:
19345         * common/gtk-doc-plugins.mak:
19346         * configure.ac:
19347         * docs/Makefile.am:
19348         * docs/gst/Makefile.am:
19349         * docs/gst/gstreamer-docs.sgml:
19350         * docs/gst/gstreamer-sections.txt:
19351         * docs/gst/gstreamer.types:
19352         * docs/gst/gstreamer.types.in:
19353         * docs/plugins/Makefile.am:
19354         * docs/plugins/gstreamer-plugins-docs.sgml:
19355         * docs/plugins/gstreamer-plugins-sections.txt:
19356         * docs/plugins/gstreamer-plugins.types:
19357         * docs/plugins/inspect.stamp:
19358         * docs/plugins/inspect/plugin-coreelements.xml:
19359         * docs/plugins/inspect/plugin-coreindexers.xml:
19360         * docs/plugins/scanobj-build.stamp:
19361         * gstreamer.spec.in:
19362         * plugins/elements/Makefile.am:
19363         * plugins/elements/gstelements.c:
19364         * plugins/elements/gstfakesink.c:
19365         * plugins/elements/gstfakesrc.c:
19366         * plugins/elements/gstfilesink.c:
19367         * plugins/elements/gstfilesrc.c:
19368         * plugins/elements/gstqueue.c:
19369         * plugins/indexers/Makefile.am:
19370         * plugins/indexers/gstindexers.c:
19371           document core plugins in a separate document just like all the
19372           others
19373           rename these plugins to something starting with core
19374
19375 2005-12-01  Andy Wingo  <wingo@pobox.com>
19376
19377         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
19378         padding here before, but it missed the commit.
19379
19380 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19381
19382         * libs/gst/controller/gstinterpolation.c:
19383           whitespace prices have crashed, we should feel free to use some now
19384           use gst_guint64_to_gdouble
19385
19386 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19387
19388         * libs/gst/controller/gstcontroller.c:
19389         * libs/gst/controller/gsthelper.c:
19390         * libs/gst/controller/gstinterpolation.c:
19391         * libs/gst/controller/lib.c:
19392           wrap config.h include
19393
19394 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19395
19396         * docs/gst/gstreamer-sections.txt:
19397           update docs
19398
19399 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19400
19401         * plugins/elements/gstelements.c:
19402         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
19403         (gst_fd_sink__class_init), (gst_fd_sink__init),
19404         (gst_fd_sink__chain), (gst_fd_sink__set_property),
19405         (gst_fd_sink__get_property):
19406         * plugins/elements/gstfdsink.h:
19407         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
19408         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
19409         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
19410         (gst_fd_src_unlock), (gst_fd_src_set_property),
19411         (gst_fd_src_get_property), (gst_fd_src_create),
19412         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
19413         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
19414         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
19415         (gst_fd_src_uri_handler_init):
19416         * plugins/elements/gstfdsrc.h:
19417         * plugins/elements/gstqueue.c: (gst_queue_get_type):
19418           more anal cleanup
19419
19420 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19421
19422         * docs/gst/Makefile.am:
19423         * docs/gst/gstreamer.types.in:
19424         * gst/Makefile.am:
19425           fix the docs build
19426
19427 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19428
19429         * configure.ac:
19430         * gst/Makefile.am:
19431         * gst/gst.c:
19432         * gst/gstplugin.h:
19433         * gst/gstregistry.h:
19434         * tests/benchmarks/complexity.c:
19435         * tests/benchmarks/mass-elements.c:
19436         * tests/check/Makefile.am:
19437         * tools/Makefile.am:
19438         * tools/gst-inspect.c:
19439         * tools/gst-xmlinspect.c:
19440           various fixes to make
19441           --disable-nls --disable-registry --disable-loadsave
19442           --disable-parse --disable-gst-debug
19443           work and get the core .so down to 360444 bytes after stripping
19444
19445 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19446
19447         * Makefile.am:
19448         * configure.ac:
19449           descend into tests
19450         * docs/random/thomasvs/TODO:
19451         * tests/Makefile.am:
19452         * tests/README:
19453           add a README
19454
19455 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19456
19457         * win32/GStreamer.vcproj:
19458         * win32/MANIFEST:
19459         * win32/Makefile:
19460         * win32/Makefile.inspect:
19461         * win32/Makefile.launch:
19462         * win32/Makefile.register:
19463         * win32/README.txt:
19464         * win32/gst-inspect.vcproj:
19465         * win32/gst-launch.vcproj:
19466         * win32/gst-register.vcproj:
19467         * win32/gstelements.vcproj:
19468         * win32/gstgetbits.def:
19469         * win32/gstgetbits.vcproj:
19470         * win32/gstreamer-dbg.def:
19471         * win32/gstreamer.def:
19472         * win32/libgstbase.def:
19473         * win32/libgstbase.vcproj:
19474         * win32/link_oldruntime.c:
19475         * win32/mman.c:
19476         * win32/mman.h:
19477         * win32/mman.inl:
19478         * win32/msvc71.sln:
19479           move even more stuff, win32/ is nice and clean now
19480
19481 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19482
19483         * libs/gst/control/.cvsignore:
19484         * win32/MANIFEST:
19485         * win32/config.h:
19486         * win32/dirent.c:
19487         * win32/dirent.h:
19488         * win32/gstbytestream.def:
19489         * win32/gstbytestream.vcproj:
19490         * win32/gstconfig.h:
19491         * win32/gstenumtypes.c:
19492         * win32/gstenumtypes.h:
19493         * win32/gstoptimalscheduler.vcproj:
19494         * win32/gstversion.h:
19495         * win32/gtchar.h:
19496         * win32/testsuite/bins.vcproj:
19497         * win32/testsuite/bytestream.vcproj:
19498         * win32/testsuite/caps.vcproj:
19499         * win32/testsuite/cleanup.vcproj:
19500         * win32/testsuite/clock.vcproj:
19501         * win32/testsuite/debug.vcproj:
19502         * win32/testsuite/dlopen.vcproj:
19503         * win32/testsuite/dynparams.vcproj:
19504         * win32/testsuite/elements.vcproj:
19505         * win32/testsuite/ghostpads.vcproj:
19506         * win32/testsuite/indexers.vcproj:
19507         * win32/testsuite/negotiation.vcproj:
19508         * win32/testsuite/parse.vcproj:
19509         * win32/testsuite/plugin.vcproj:
19510         * win32/testsuite/refcounting.vcproj:
19511         * win32/testsuite/schedulers.vcproj:
19512         * win32/testsuite/states.vcproj:
19513         * win32/testsuite/tags.vcproj:
19514         * win32/testsuite/threads.vcproj:
19515           remove old win32 stuff that isn't maintained and should be
19516           reorganized
19517
19518 2005-11-30  Andy Wingo  <wingo@pobox.com>
19519
19520         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
19521         loading the gst.interfaces python module bork.
19522
19523         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
19524         available since GLib 2.2. Fixes #318031.
19525
19526 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19527
19528         * Makefile.am:
19529         * check/.cvsignore:
19530         * check/Makefile.am:
19531         * check/elements/.cvsignore:
19532         * check/elements/fakesrc.c:
19533         * check/elements/fdsrc.c:
19534         * check/elements/identity.c:
19535         * check/generic/.cvsignore:
19536         * check/generic/states.c:
19537         * check/gst-libs/.cvsignore:
19538         * check/gst-libs/controller.c:
19539         * check/gst-libs/gdp.c:
19540         * check/gst/.cvsignore:
19541         * check/gst/capslist.h:
19542         * check/gst/gst.c:
19543         * check/gst/gstbin.c:
19544         * check/gst/gstbuffer.c:
19545         * check/gst/gstbus.c:
19546         * check/gst/gstcaps.c:
19547         * check/gst/gstelement.c:
19548         * check/gst/gstevent.c:
19549         * check/gst/gstghostpad.c:
19550         * check/gst/gstiterator.c:
19551         * check/gst/gstmessage.c:
19552         * check/gst/gstminiobject.c:
19553         * check/gst/gstobject.c:
19554         * check/gst/gstpad.c:
19555         * check/gst/gstpipeline.c:
19556         * check/gst/gstplugin.c:
19557         * check/gst/gstsegment.c:
19558         * check/gst/gststructure.c:
19559         * check/gst/gstsystemclock.c:
19560         * check/gst/gsttag.c:
19561         * check/gst/gstutils.c:
19562         * check/gst/gstvalue.c:
19563         * check/net/.cvsignore:
19564         * check/net/gstnetclientclock.c:
19565         * check/net/gstnettimeprovider.c:
19566         * check/pipelines/.cvsignore:
19567         * check/pipelines/cleanup.c:
19568         * check/pipelines/simple_launch_lines.c:
19569         * check/pipelines/stress.c:
19570         * check/states/.cvsignore:
19571         * check/states/sinks.c:
19572         * configure.ac:
19573         * examples/Makefile.am:
19574         * examples/appreader/.cvsignore:
19575         * examples/appreader/Makefile.am:
19576         * examples/appreader/appreader.c:
19577         * examples/controller/.cvsignore:
19578         * examples/controller/Makefile.am:
19579         * examples/controller/audio-example.c:
19580         * examples/cutter/.cvsignore:
19581         * examples/cutter/Makefile.am:
19582         * examples/cutter/cutter.c:
19583         * examples/cutter/cutter.h:
19584         * examples/events/Makefile.am:
19585         * examples/events/seek.c:
19586         * examples/helloworld/.cvsignore:
19587         * examples/helloworld/Makefile.am:
19588         * examples/helloworld/helloworld.c:
19589         * examples/helloworld2/.cvsignore:
19590         * examples/helloworld2/Makefile.am:
19591         * examples/helloworld2/helloworld2.c:
19592         * examples/launch/.cvsignore:
19593         * examples/launch/Makefile.am:
19594         * examples/launch/mp3parselaunch.c:
19595         * examples/launch/mp3play:
19596         * examples/manual/.cvsignore:
19597         * examples/manual/Makefile.am:
19598         * examples/manual/extract.pl:
19599         * examples/metadata/Makefile.am:
19600         * examples/metadata/read-metadata.c:
19601         * examples/mixer/.cvsignore:
19602         * examples/mixer/Makefile.am:
19603         * examples/mixer/mixer.c:
19604         * examples/mixer/mixer.h:
19605         * examples/pingpong/.cvsignore:
19606         * examples/pingpong/Makefile.am:
19607         * examples/pingpong/pingpong.c:
19608         * examples/plugins/.cvsignore:
19609         * examples/plugins/Makefile.am:
19610         * examples/plugins/example.c:
19611         * examples/plugins/example.h:
19612         * examples/pwg/.cvsignore:
19613         * examples/pwg/Makefile.am:
19614         * examples/pwg/extract.pl:
19615         * examples/queue/.cvsignore:
19616         * examples/queue/Makefile.am:
19617         * examples/queue/queue.c:
19618         * examples/queue2/.cvsignore:
19619         * examples/queue2/Makefile.am:
19620         * examples/queue2/queue2.c:
19621         * examples/queue3/.cvsignore:
19622         * examples/queue3/Makefile.am:
19623         * examples/queue3/queue3.c:
19624         * examples/queue4/.cvsignore:
19625         * examples/queue4/Makefile.am:
19626         * examples/queue4/queue4.c:
19627         * examples/retag/.cvsignore:
19628         * examples/retag/Makefile.am:
19629         * examples/retag/retag.c:
19630         * examples/retag/transcode.c:
19631         * examples/thread/.cvsignore:
19632         * examples/thread/Makefile.am:
19633         * examples/thread/thread.c:
19634         * examples/typefind/.cvsignore:
19635         * examples/typefind/Makefile.am:
19636         * examples/typefind/typefind.c:
19637         * examples/xml/.cvsignore:
19638         * examples/xml/Makefile.am:
19639         * examples/xml/createxml.c:
19640         * examples/xml/runxml.c:
19641         * tests/Makefile.am:
19642         * tests/check/Makefile.am:
19643         * testsuite/.cvsignore:
19644         * testsuite/Makefile.am:
19645         * testsuite/Rules:
19646         * testsuite/caps/.cvsignore:
19647         * testsuite/caps/Makefile.am:
19648         * testsuite/caps/app_fixate.c:
19649         * testsuite/caps/audioscale.c:
19650         * testsuite/caps/caps.c:
19651         * testsuite/caps/caps.h:
19652         * testsuite/caps/caps_strings:
19653         * testsuite/caps/compatibility.c:
19654         * testsuite/caps/deserialize.c:
19655         * testsuite/caps/enumcaps.c:
19656         * testsuite/caps/eratosthenes.c:
19657         * testsuite/caps/filtercaps.c:
19658         * testsuite/caps/fixed.c:
19659         * testsuite/caps/fraction-convert.c:
19660         * testsuite/caps/fraction-multiply-and-zero.c:
19661         * testsuite/caps/intersect2.c:
19662         * testsuite/caps/intersection.c:
19663         * testsuite/caps/normalisation.c:
19664         * testsuite/caps/random.c:
19665         * testsuite/caps/renegotiate.c:
19666         * testsuite/caps/sets.c:
19667         * testsuite/caps/simplify.c:
19668         * testsuite/caps/string-conversions.c:
19669         * testsuite/caps/structure.c:
19670         * testsuite/caps/subtract.c:
19671         * testsuite/caps/union.c:
19672         * testsuite/debug/.cvsignore:
19673         * testsuite/debug/Makefile.am:
19674         * testsuite/debug/category.c:
19675         * testsuite/debug/commandline.c:
19676         * testsuite/debug/global.c:
19677         * testsuite/debug/output.c:
19678         * testsuite/debug/printf_extension.c:
19679         * testsuite/dlopen/.cvsignore:
19680         * testsuite/dlopen/Makefile.am:
19681         * testsuite/dlopen/dlopen_gst.c:
19682         * testsuite/dlopen/loadgst.c:
19683         * testsuite/elements/.cvsignore:
19684         * testsuite/elements/Makefile.am:
19685         * testsuite/elements/gst-inspect-check.in:
19686         * testsuite/elements/struct_i386.h:
19687         * testsuite/elements/struct_size.c:
19688         * testsuite/indexers/.cvsignore:
19689         * testsuite/indexers/Makefile.am:
19690         * testsuite/indexers/cache1.c:
19691         * testsuite/indexers/indexdump.c:
19692         * testsuite/parse/.cvsignore:
19693         * testsuite/parse/Makefile.am:
19694         * testsuite/parse/parse1.c:
19695         * testsuite/parse/parse2.c:
19696         * testsuite/plugin/.cvsignore:
19697         * testsuite/plugin/Makefile.am:
19698         * testsuite/plugin/README:
19699         * testsuite/plugin/dynamic.c:
19700         * testsuite/plugin/linked.c:
19701         * testsuite/plugin/loading.c:
19702         * testsuite/plugin/registry.c:
19703         * testsuite/plugin/static.c:
19704         * testsuite/plugin/static2.c:
19705         * testsuite/plugin/testplugin.c:
19706         * testsuite/plugin/testplugin2.c:
19707         * testsuite/plugin/testplugin2_s.c:
19708         * testsuite/plugin/testplugin_s.c:
19709         * testsuite/refcounting/.cvsignore:
19710         * testsuite/refcounting/Makefile.am:
19711         * testsuite/refcounting/bin.c:
19712         * testsuite/refcounting/element.c:
19713         * testsuite/refcounting/element_pad.c:
19714         * testsuite/refcounting/mainloop.c:
19715         * testsuite/refcounting/mem.c:
19716         * testsuite/refcounting/mem.h:
19717         * testsuite/refcounting/object.c:
19718         * testsuite/refcounting/pad.c:
19719         * testsuite/refcounting/sched.c:
19720         * testsuite/refcounting/thread.c:
19721         * testsuite/states/.cvsignore:
19722         * testsuite/states/Makefile.am:
19723         * testsuite/states/bin.c:
19724         * testsuite/states/locked.c:
19725         * testsuite/states/parent.c:
19726         * testsuite/threads/.cvsignore:
19727         * testsuite/threads/159566.c:
19728         * testsuite/threads/159852.c:
19729         * testsuite/threads/Makefile.am:
19730         * testsuite/threads/queue.c:
19731         * testsuite/threads/signals.c:
19732         * testsuite/threads/staticrec.c:
19733         * testsuite/threads/thread.c:
19734         * testsuite/threads/threadb.c:
19735         * testsuite/threads/threadc.c:
19736         * testsuite/threads/threadd.c:
19737         * testsuite/threads/threade.c:
19738         * testsuite/threads/threadf.c:
19739         * testsuite/threads/threadg.c:
19740         * testsuite/threads/threadh.c:
19741         * testsuite/threads/threadi.c:
19742           move all of these under tests
19743
19744 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19745
19746         * configure.ac:
19747         * tests/Makefile.am:
19748           fix distcheck
19749
19750 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19751
19752         * docs/gst/gstreamer-sections.txt:
19753         * tests/sched/.cvsignore:
19754         * tests/sched/Makefile.am:
19755         * tests/sched/cases/(fs-fs).xml:
19756         * tests/sched/cases/(fs-i-fs).xml:
19757         * tests/sched/cases/(fs-i-i-fs).xml:
19758         * tests/sched/cases/(fs-i-q[i-fs]).xml:
19759         * tests/sched/dynamic-pipeline.c:
19760         * tests/sched/interrupt1.c:
19761         * tests/sched/interrupt2.c:
19762         * tests/sched/interrupt3.c:
19763         * tests/sched/runtestcases:
19764         * tests/sched/runxml.c:
19765         * tests/sched/sched-stress.c:
19766         * tests/sched/sort.c:
19767         * tests/sched/testcases:
19768         * tests/sched/testcases1.tc:
19769         * tests/seeking/.cvsignore:
19770         * tests/seeking/Makefile.am:
19771         * tests/seeking/seeking1.c:
19772         * tests/threadstate/.cvsignore:
19773         * tests/threadstate/Makefile.am:
19774         * tests/threadstate/test1.c:
19775         * tests/threadstate/test2.c:
19776         * tests/threadstate/threadstate1.c:
19777         * tests/threadstate/threadstate2.c:
19778         * tests/threadstate/threadstate3.c:
19779         * tests/threadstate/threadstate4.c:
19780         * tests/threadstate/threadstate5.c:
19781           remove obsolete tests
19782         * configure.ac:
19783         * tests/bench-complexity.scm:
19784         * tests/bench-mass_elements.scm:
19785         * tests/complexity.c:
19786         * tests/complexity.gnuplot:
19787         * tests/instantiate/.cvsignore:
19788         * tests/instantiate/Makefile.am:
19789         * tests/instantiate/caps.c:
19790         * tests/mass_elements.c:
19791         * tests/network-clock-utils.scm:
19792         * tests/network-clock.scm:
19793         * tests/plot-data:
19794         First pass at cleaning up tests/ dir before moving the rest
19795         Combined with CVS surgery
19796
19797 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19798
19799         * po/POTFILES.in:
19800           queue has moved, update
19801
19802 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19803
19804         * docs/gst/gstreamer-sections.txt:
19805           remove double entries from the docs
19806         * gst/gst_private.h:
19807         * gst/gstinfo.c: (_gst_debug_init):
19808           remove the THREAD debug category
19809         * gst/Makefile.am:
19810         * gst/gstqueue.c:
19811         * gst/gstqueue.h:
19812         * docs/gst/gstreamer.types:
19813         * plugins/elements/gstqueue.c: (gst_queue_get_type),
19814         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19815           completely move queue and fix up debugging categories
19816
19817 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19818
19819         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19820           make initialization portable, using LL is not
19821
19822 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19823
19824         * win32/common/gstconfig.h:
19825           add large padding
19826
19827 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19828
19829         * win32/common/libgstreamer.def:
19830           rename symbols; sort base section
19831
19832 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19833
19834         * gst/gstclock.c: (do_linear_regression):
19835           remove crack non-portable handrolled DEBUG macro
19836
19837 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19838
19839         * docs/random/release:
19840           update notes
19841         * win32/common/gstenumtypes.c: (register_gst_object_flags),
19842         (gst_object_flags_get_type), (register_gst_bin_flags),
19843         (gst_bin_flags_get_type), (register_gst_buffer_flag),
19844         (gst_buffer_flag_get_type), (register_gst_bus_flags),
19845         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19846         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19847         (gst_caps_flags_get_type), (register_gst_clock_return),
19848         (gst_clock_return_get_type), (register_gst_clock_entry_type),
19849         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19850         (gst_clock_flags_get_type), (register_gst_state),
19851         (gst_state_get_type), (register_gst_state_change_return),
19852         (gst_state_change_return_get_type), (register_gst_state_change),
19853         (gst_state_change_get_type), (register_gst_element_flags),
19854         (gst_element_flags_get_type), (register_gst_core_error),
19855         (gst_core_error_get_type), (register_gst_library_error),
19856         (gst_library_error_get_type), (register_gst_resource_error),
19857         (gst_resource_error_get_type), (register_gst_stream_error),
19858         (gst_stream_error_get_type), (register_gst_event_type_flags),
19859         (gst_event_type_flags_get_type), (register_gst_event_type),
19860         (gst_event_type_get_type), (register_gst_seek_type),
19861         (gst_seek_type_get_type), (register_gst_seek_flags),
19862         (gst_seek_flags_get_type), (register_gst_format),
19863         (gst_format_get_type), (register_gst_index_certainty),
19864         (gst_index_certainty_get_type), (register_gst_index_entry_type),
19865         (gst_index_entry_type_get_type),
19866         (register_gst_index_lookup_method),
19867         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19868         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19869         (gst_index_resolver_method_get_type), (register_gst_index_flags),
19870         (gst_index_flags_get_type), (register_gst_debug_level),
19871         (gst_debug_level_get_type), (register_gst_debug_color_flags),
19872         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19873         (gst_iterator_result_get_type), (register_gst_iterator_item),
19874         (gst_iterator_item_get_type), (register_gst_message_type),
19875         (gst_message_type_get_type), (register_gst_mini_object_flags),
19876         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19877         (gst_pad_link_return_get_type), (register_gst_flow_return),
19878         (gst_flow_return_get_type), (register_gst_activate_mode),
19879         (gst_activate_mode_get_type), (register_gst_pad_direction),
19880         (gst_pad_direction_get_type), (register_gst_pad_flags),
19881         (gst_pad_flags_get_type), (register_gst_pad_presence),
19882         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19883         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19884         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19885         (gst_plugin_error_get_type), (register_gst_plugin_flags),
19886         (gst_plugin_flags_get_type), (register_gst_rank),
19887         (gst_rank_get_type), (register_gst_query_type),
19888         (gst_query_type_get_type), (register_gst_tag_merge_mode),
19889         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19890         (gst_tag_flag_get_type), (register_gst_task_state),
19891         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19892         (gst_alloc_trace_flags_get_type),
19893         (register_gst_type_find_probability),
19894         (gst_type_find_probability_get_type), (register_gst_uri_type),
19895         (gst_uri_type_get_type), (register_gst_parse_error),
19896         (gst_parse_error_get_type):
19897         * win32/common/gstenumtypes.h:
19898         * win32/common/gstversion.h:
19899           update visual studio generated files
19900
19901 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19902
19903         * win32/vs6/libgstbase.dsp:
19904         * win32/vs6/libgstelements.dsp:
19905           update project files for new locations
19906
19907 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19908
19909         * Makefile.am:
19910           remove some files
19911         * README:
19912           reinstate and update
19913         * DEVEL:
19914         * REQUIREMENTS:
19915           removed
19916         * LICENSE:
19917         * docs/random/LICENSE:
19918           moved to random
19919
19920 2005-11-30  Edward Hervey  <edward@fluendo.com>
19921
19922         * gst/gsttypefind.c: (gst_type_find_register):
19923         * gst/gsttypefind.h:
19924         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19925         (gst_type_find_factory_dispose):
19926         * gst/gsttypefindfactory.h:
19927         Fix memory leak in GstTypeFindFactory.
19928
19929 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19930
19931         * gst/gst.c:
19932         * plugins/elements/Makefile.am:
19933         * plugins/elements/gstelements.c:
19934         * plugins/elements/gstqueue.c:
19935           move queue from core to the elements plugin
19936
19937 2005-11-29  Andy Wingo  <wingo@pobox.com>
19938
19939         * libs/gst/base/gstbasetransform.h: 
19940         * libs/gst/base/gstbasesrc.h: 
19941         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19942
19943         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19944         of pointers by which to pad very extensible base classes (like the
19945         ones in libs/gst/base).
19946
19947 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19948
19949         * docs/gst/gstreamer-docs.sgml:
19950         * docs/gst/gstreamer-sections.txt:
19951         * docs/libs/gstreamer-libs-docs.sgml:
19952         * docs/libs/gstreamer-libs-sections.txt:
19953           moving documentation from core to lib
19954
19955 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19956
19957         * check/Makefile.am:
19958         * configure.ac:
19959         * docs/gst/Makefile.am:
19960         * gst/Makefile.am:
19961         * gst/base/.cvsignore:
19962         * gst/base/Makefile.am:
19963         * gst/base/README:
19964         * gst/base/gstadapter.c:
19965         * gst/base/gstadapter.h:
19966         * gst/base/gstbasesink.c:
19967         * gst/base/gstbasesink.h:
19968         * gst/base/gstbasesrc.c:
19969         * gst/base/gstbasesrc.h:
19970         * gst/base/gstbasetransform.c:
19971         * gst/base/gstbasetransform.h:
19972         * gst/base/gstcollectpads.c:
19973         * gst/base/gstcollectpads.h:
19974         * gst/base/gstpushsrc.c:
19975         * gst/base/gstpushsrc.h:
19976         * gst/base/gsttypefindhelper.c:
19977         * gst/base/gsttypefindhelper.h:
19978         * gst/check/Makefile.am:
19979         * gst/check/gstcheck.c:
19980         * gst/check/gstcheck.h:
19981         * gst/net/Makefile.am:
19982         * gst/net/gstnet.h:
19983         * gst/net/gstnetclientclock.c:
19984         * gst/net/gstnetclientclock.h:
19985         * gst/net/gstnettimepacket.c:
19986         * gst/net/gstnettimepacket.h:
19987         * gst/net/gstnettimeprovider.c:
19988         * gst/net/gstnettimeprovider.h:
19989         * libs/gst/Makefile.am:
19990         * libs/gst/base/Makefile.am:
19991         * libs/gst/base/gstbasetransform.c:
19992         * libs/gst/check/Makefile.am:
19993         * plugins/elements/Makefile.am:
19994         * po/POTFILES.in:
19995           CVS surgery + support to move base, check, and net out of gst
19996           and into libs/gst
19997
19998 2005-11-29  Andy Wingo  <wingo@pobox.com>
19999
20000         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
20001
20002         * gst/gststructure.h (struct _GstStructure): Only one pointer of
20003         padding.
20004
20005         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
20006
20007         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
20008
20009         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
20010
20011         * gst/gstobject.h: (struct _GstObject): Only one pointer of
20012         padding; reduces object size by about 30%. We don't expect
20013         anything else to go into gstobject.
20014
20015         * gst/gstminiobject.h (struct _GstMiniObject)
20016         (struct _GstMiniObjectClass): Only one pointer of padding; the
20017         payload is only a pointer and two ints anyway. For the class there
20018         are only two methods as well.
20019         
20020         * gst/gstelement.h (struct _GstElementClass): Removed
20021         the state_changed signal callback, it is not used.
20022
20023 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20024
20025         * docs/gst/gstreamer.types:
20026           fix includes, though they are a little dinky
20027
20028 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
20029
20030         * check/Makefile.am:
20031           look in the right place for elements, a lot more chance of
20032           success
20033         * gst/Makefile.am:
20034           remove indexers and elements subdirs
20035         * plugins/Makefile.am:
20036           make indexers conditional
20037
20038 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
20039
20040         * Makefile.am:
20041         * configure.ac:
20042         * plugins/elements/Makefile.am:
20043         * plugins/elements/gstcapsfilter.c:
20044         * plugins/elements/gstfilesink.c:
20045         * plugins/elements/gstfilesrc.c:
20046         * plugins/elements/gstidentity.c:
20047         * plugins/indexers/Makefile.am:
20048           do CVS surgery and related build fixery to move elements
20049           and indexers in a new gstreamer/plugins directory, out of the
20050           gst/ directory
20051
20052 2005-11-29  Andy Wingo  <wingo@pobox.com>
20053
20054         * check/Makefile.am:
20055         * pkgconfig/gstreamer-net-uninstalled.pc.in:
20056         * pkgconfig/gstreamer-net.pc.in:
20057         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
20058         #322257.
20059
20060 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20061
20062         * tools/Makefile.am:
20063         * tools/gst-complete.1.in:
20064         * tools/gst-complete.c:
20065         * tools/gst-compprep.1.in:
20066         * tools/gst-compprep.c:
20067           removing -compprep and -complete
20068
20069 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20070
20071         * gst/gstevent.c: (gst_event_new_new_segment),
20072         (gst_event_parse_new_segment):
20073         * gst/gstevent.h:
20074           fix #320529 - clean up new_segment API and structure.
20075           Let's hope everyone was using the methods, and not the structure.
20076
20077 2005-11-29  Edward Hervey  <edward@fluendo.com>
20078
20079         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20080         (gst_base_sink_event), (gst_base_sink_do_sync),
20081         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
20082         Properly handle non GST_FORMAT_TIME segment
20083         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20084         Properly handle non GST_FORMAT_TIME segment
20085         * gst/gstsegment.c:
20086         This function is valid if the accumulator is 0 and the format
20087         is different from the requested format.
20088         
20089 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
20090
20091         * docs/gst/gstreamer-sections.txt:
20092         Add gst_query_new_seeking and gst_query_parse_seeking to the
20093         docs.
20094
20095 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
20096
20097         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
20098           Treat a pad alloc with new caps the same as if we were not
20099           negotiated, in order to allow a changing upstream output
20100           to produce a new format of data.
20101
20102 2005-11-29  Edward Hervey  <edward@fluendo.com>
20103
20104         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
20105         (gst_base_transform_event), (gst_base_transform_eventfunc):
20106         The event virtual method is now properly implemented, with a default
20107         handler
20108         Sub classes should call the parent_class event method. They should
20109         return FALSE if they had a problem handling the given event, or don't
20110         want GstBaseTransform to send that even downstream
20111         * gst/elements/gstidentity.c: (gst_identity_class_init),
20112         (gst_identity_init), (gst_identity_event),
20113         (gst_identity_transform_ip), (gst_identity_set_property),
20114         (gst_identity_get_property):
20115         * gst/elements/gstidentity.h:
20116         Added the single-segment boolean property.
20117         If set to TRUE, it will output a single segment of data, starting from
20118         0, will eat up all incoming newsegment, and modify the timestamp of the
20119         buffers accordingly
20120
20121 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
20122
20123         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
20124           Don't ref NULL target pad (#322751). Improve docs.
20125
20126 2005-11-29  Michael Smith  <msmith@fluendo.com>
20127
20128         * gst/gstregistryxml.c: (load_plugin):
20129           Don't crash if we failed to load a feature from a plugin. 
20130
20131 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20132
20133         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
20134         (GST_START_TEST):
20135           use more check API and less GLib API
20136
20137 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20138
20139         * Makefile.am:
20140           don't run checks if we don't have check
20141         * common/check.mak:
20142           remove the registry when running make torture
20143         * docs/gst/gstreamer-sections.txt:
20144           remove second multiply
20145         * gst/gstqueue.c: (gst_queue_loop):
20146           fix a compile warning when disabling debug
20147
20148 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
20149
20150         * gst/gstinfo.h:
20151         Hey! Let's print the pad name if the pointer != NULL instead
20152         of when it == NULL :-)
20153
20154 2005-11-28  Wim Taymans  <wim@fluendo.com>
20155
20156         * check/gst/gstutils.c: (GST_START_TEST):
20157         Updated check, add some scaling accuracy checking code.
20158
20159         * gst/gstutils.c: (gst_util_div128_64),
20160         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
20161         (gst_util_uint64_scale_int):
20162         Fix 6 times faster division code. Optimize for common 
20163         1/1 and less common X/1 cases.
20164
20165 2005-11-28  Wim Taymans  <wim@fluendo.com>
20166
20167         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20168         More checks.
20169
20170         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
20171         (do_linear_regression), (gst_clock_add_observation):
20172         Cleanups.
20173         Release lock when the clock cannot be slaved.
20174         Catch the case where the regression returned an invalid denominator.
20175
20176         * gst/gstutils.c: (gst_util_div128_64_iterate),
20177         (gst_util_div128_64), (gst_util_uint64_scale_int64),
20178         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
20179         Add protentially more performant non-iterative 128/64 divide function
20180         that unfortunatly does not work yet.
20181         Shortcut the trivial 0/X = 0 case.
20182         Remove the warnings on overflow.
20183
20184 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20185
20186         * gst/gstplugin.c: (gst_plugin_register_func):
20187           everything causing a plugin not to load should be at least a WARNING
20188
20189 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
20190
20191         * docs/random/ensonic/dparams.txt:
20192           some TODOs for the next dev cycle
20193         * libs/gst/controller/gstcontroller.c:
20194         (gst_controlled_property_set_interpolation_mode),
20195         (gst_controlled_property_new):
20196         * libs/gst/controller/gstcontroller.h:
20197           use base type to assign acccessor functions
20198
20199 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
20200
20201         * check/Makefile.am:
20202         Oops, that should have been top_srcdir
20203
20204 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
20205
20206         * check/Makefile.am:
20207         * check/elements/fdsrc.c: (GST_START_TEST):
20208         Use a cmdline define to specify the location of a file to use for
20209         testing, to avoid breaking distcheck.
20210
20211 2005-11-28  Andy Wingo  <wingo@pobox.com>
20212
20213         * gst/gstpad.c (fixate_value): Use array functions for arrays.
20214
20215 2005-11-28  Edward Hervey  <edward@fluendo.com>
20216
20217         * tools/gst-launch.c: (main):
20218         Clarify the output strings, makes it easier to translate.
20219         Fixes #322626
20220
20221 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20222
20223         * gst/Makefile.am:
20224           don't try and build net if we don't even have <sys/socket.h>
20225
20226 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
20227
20228         * check/Makefile.am:
20229         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
20230         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
20231           Add tests for fdsrc seekability
20232
20233         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
20234         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
20235         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
20236         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
20237         * gst/elements/gstfdsrc.h:
20238           fdsrc should not be a 'live' source.
20239           Implement seeking on seekable fd's.
20240
20241         * gst/gstquery.c: (gst_query_new_seeking),
20242         (gst_query_parse_seeking):
20243         * gst/gstquery.h:
20244           Implement SEEKING query functions: 
20245             *_new_seeking and *_parse_seeking
20246
20247 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
20248
20249         * gst/gstelement.c: (gst_element_dispose):
20250           don't loop forever
20251
20252         * gst/gstiterator.c:
20253         * gst/gststructure.c:
20254           doc fixes
20255
20256         * libs/gst/controller/gstcontroller.c:
20257         (gst_controlled_property_set_interpolation_mode):
20258         * libs/gst/controller/gstcontroller.h:
20259         * libs/gst/controller/gstinterpolation.c:
20260         (interpolate_none_get_enum_value_array):
20261           support controlling enums
20262
20263 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
20264
20265         * gst/gstvalue.c:
20266           Improve documentation for gst_value_union().
20267
20268         * gst/gstvalue.h:
20269           Change return value for union, intersect and subtract functions
20270           from gint to gboolean.
20271
20272 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
20273
20274         * gst/gstvalue.c: (gst_value_serialize_any_list),
20275         (gst_value_transform_any_list_string),
20276         (gst_value_deserialize_list), (gst_value_deserialize_array),
20277         (gst_value_set_int_range), (gst_value_deserialize_int_range),
20278         (gst_value_set_double_range), (gst_value_deserialize_double_range),
20279         (gst_value_set_fraction_range_full),
20280         (gst_value_deserialize_fraction_range),
20281         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
20282         (gst_value_deserialize_boolean),
20283         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
20284         (gst_value_serialize_float), (gst_value_deserialize_float),
20285         (gst_string_wrap), (gst_value_deserialize_string),
20286         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
20287         (gst_value_union_int_range_int_range),
20288         (gst_value_intersect_int_range_int_range),
20289         (gst_value_intersect_double_range_double_range),
20290         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
20291         (gst_value_subtract_int_range_int_range),
20292         (gst_value_subtract_double_double_range),
20293         (gst_value_subtract_double_range_double_range),
20294         (gst_value_deserialize_fraction):
20295         * gst/gstvalue.h:
20296           Use gint, gdouble and gchar in our API instead of int, double and
20297           char (and make usage in gstvalue.c more consistent).
20298
20299 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20300
20301         * check/Makefile.am:
20302         * libs/gst/controller/Makefile.am:
20303         * libs/gst/dataprotocol/Makefile.am:
20304           fix up Makefile.am and remove GST_ENABLE_NEW
20305
20306 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20307
20308         * configure.ac:
20309         * gst/Makefile.am:
20310         * gst/base/Makefile.am:
20311         * gst/check/Makefile.am:
20312         * gst/elements/Makefile.am:
20313         * gst/net/Makefile.am:
20314           update LDFLAGS use some more
20315
20316 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20317
20318         * common/m4/gst-doc.m4:
20319           Fixes #312589
20320
20321 2005-11-26  Edward Hervey  <edward@fluendo.com>
20322
20323         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
20324         This shouldn't issue a g_warning since it returns NULL if it
20325         couldn't find the plugin, and all functions using this behave
20326         properly on a NULL return. Switching to a GST_WARNING.
20327
20328 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
20329
20330         * gst/gstbin.c: (gst_bin_handle_message_func):
20331         Don't leak clock messages.
20332
20333 2005-11-25  Wim Taymans  <wim@fluendo.com>
20334
20335         * gst/gstutils.c: (gst_util_uint64_scale_int64),
20336         (gst_util_uint64_scale_int):
20337         Optimisations, remove unneeded vars.
20338
20339 2005-11-25  Wim Taymans  <wim@fluendo.com>
20340
20341         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20342         Added more checks for the high precision uint64 cases.
20343
20344         * gst/gstutils.c: (gst_util_uint64_scale_int64),
20345         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
20346         Implement high precision (guint64 * guint64) / guint64.
20347
20348 2005-11-24  Wim Taymans  <wim@fluendo.com>
20349
20350         * gst/base/gstbasesrc.c: (gst_base_src_query):
20351         Fix wrong percentage query.
20352
20353         * gst/gstutils.c: (gst_util_uint64_scale),
20354         (gst_util_uint64_scale_int):
20355         Add some more common cases that can be handled 
20356         efficiently to _scale.
20357
20358 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20359
20360         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
20361         (gst_mini_object_suite):
20362           don't use check calls from threads; check probably isn't
20363           threadsafe and using a lock to make it threadsafe would
20364           defeat the purpose of this check
20365         * gst/check/gstcheck.c:
20366         * gst/check/gstcheck.h:
20367           use GST_DEBUG some more
20368
20369 2005-11-24  Wim Taymans  <wim@fluendo.com>
20370
20371         * gst/gstutils.c: (gst_util_uint64_scale),
20372         (gst_util_uint64_scale_int):
20373         Chain trivial case to _scale_int.
20374
20375 2005-11-24  Wim Taymans  <wim@fluendo.com>
20376
20377         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20378         Added test for scaling.
20379
20380         * gst/gstclock.h:
20381         Small doc fix.
20382
20383         * gst/gstutils.c: (gst_util_uint64_scale_int):
20384         Implemented high precision scaling code.
20385
20386 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
20387
20388         * gst/gstinfo.h:
20389           do not crash on pad==NULL
20390
20391 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20392
20393         Patch by: Stefan Kost
20394
20395         * common/gtk-doc.mak:
20396         * docs/gst/Makefile.am:
20397         * docs/libs/Makefile.am:
20398           Fix distcheck issues for the libraries docs build
20399           Closes #319599.
20400
20401 2005-11-24  Michael Smith <msmith@fluendo.com>
20402
20403         * docs/manual/basics-helloworld.xml:
20404           Fix bug #315027: memory leak in example code in docs.
20405
20406 2005-11-24  Michael Smith <msmith@fluendo.com>
20407
20408         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20409           Unlock the PREROLL_LOCK in a failure case.
20410
20411 2005-11-24  Wim Taymans  <wim@fluendo.com>
20412
20413         * docs/gst/gstreamer-sections.txt:
20414         * gst/base/gstadapter.h:
20415         * gst/base/gstbasesink.h:
20416         * gst/base/gstbasesrc.h:
20417         * gst/base/gstbasetransform.h:
20418         * gst/base/gstpushsrc.h:
20419         * gst/elements/gstfakesink.h:
20420         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
20421         * gst/elements/gstfakesrc.h:
20422         * gst/elements/gstfilesink.h:
20423         * gst/elements/gstfilesrc.h:
20424         * gst/gst.c:
20425         * gst/gstbin.c:
20426         * gst/gstbuffer.c: (_gst_buffer_copy):
20427         * gst/gstbus.h:
20428         * gst/gstcaps.c:
20429         * gst/gstchildproxy.c:
20430         * gst/gstclock.c:
20431         * gst/gstelement.c:
20432         * gst/gstelementfactory.c:
20433         * gst/gstelementfactory.h:
20434         * gst/gstevent.c:
20435         * gst/gstghostpad.h:
20436         * gst/gstindex.h:
20437         * gst/gstinterface.h:
20438         * gst/gstminiobject.c:
20439         * gst/gstminiobject.h:
20440         * gst/gstpad.c:
20441         * gst/gstpad.h:
20442         * gst/gstpadtemplate.h:
20443         * gst/gstpipeline.h:
20444         * gst/gstpluginfeature.h:
20445         * gst/gstquery.h:
20446         * gst/gstqueue.h:
20447         * gst/gsttaglist.c:
20448         * gst/gsttaglist.h:
20449         * gst/gsttagsetter.c:
20450         * gst/gsttagsetter.h:
20451         * gst/gsttrace.c:
20452         * gst/gsttrace.h:
20453         * gst/gsttypefind.h:
20454         * gst/gsturi.h:
20455         * gst/gstvalue.c:
20456         * gst/net/gstnetclientclock.c:
20457         * gst/net/gstnetclientclock.h:
20458         * gst/net/gstnettimepacket.c:
20459         * gst/net/gstnettimeprovider.c:
20460         * gst/net/gstnettimeprovider.h:
20461         Doc fixes.
20462
20463 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20464
20465         * configure.ac: back to HEAD
20466
20467 === release 0.9.6 ===
20468
20469 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
20470
20471         * configure.ac:
20472           releasing 0.9.6, "Always On Time"
20473
20474 2005-11-23  Wim Taymans  <wim@fluendo.com>
20475
20476         * docs/gst/gstreamer-sections.txt:
20477         * gst/glib-compat.c:
20478         * gst/gsttagsetter.c:
20479         * gst/gstvalue.c:
20480         * gst/net/gstnetclientclock.c:
20481         * gst/net/gstnettimepacket.h:
20482         Doc updates.
20483
20484 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20485
20486         * docs/faq/using.xml:
20487         * docs/libs/tmpl/gstcontrol.sgml:
20488         * docs/manual/advanced-dparams.xml:
20489         * docs/manual/appendix-checklist.xml:
20490         * docs/manual/basics-elements.xml:
20491         * docs/pwg/other-source.xml:
20492         * docs/random/moving-plugins:
20493         * gst/gstpad.c:
20494         * tools/gst-launch.1.in:
20495           remove mentions of sinesrc
20496
20497 2005-11-23  Michael Smith <msmith@fluendo.com>
20498
20499         * docs/gst/gstreamer-sections.txt:
20500           Update for new API and API changes.
20501         * gst/gstobject.h:
20502           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
20503         * gst/gstvalue.c:
20504           Documentation typo fix.
20505         * gst/net/gstnettimepacket.c:
20506           Documentation fixes for arguments.
20507
20508 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
20509
20510         * gst/gststructure.c: (gst_structure_get_fraction),
20511         (gst_structure_parse_value),
20512         (gst_structure_fixate_field_nearest_fraction):
20513         * gst/gststructure.h:
20514         * gst/gstutils.c: (gst_util_uint64_scale_int):
20515         * gst/gstutils.h:
20516         * scripts/update-funcnames:
20517         API Changes. 
20518         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
20519         Make gst_structure_fixate_field_nearest_fraction take a numerator
20520         and denominator argument instead of a GValue
20521         add gst_structure_get_fraction helper function.
20522
20523 2005-11-23  Wim Taymans  <wim@fluendo.com>
20524
20525         * docs/design/part-TODO.txt:
20526         Update TODO.
20527
20528         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
20529         * gst/net/gstnetclientclock.h:
20530         Use parent fields for timeout and window_size.
20531
20532 2005-11-23  Andy Wingo  <wingo@pobox.com>
20533
20534         * check/net/gstnetclientclock.c (test_functioning): Adjust to
20535         rate_num/rate_denom change.
20536
20537         * gst/net/gstnetclientclock.c
20538         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
20539         OBJECT_LOCK. Don't call add_observation with the lock.
20540
20541         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
20542         fraction.
20543         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
20544         rate fraction.
20545         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20546         deal with rate as a fraction whose numerator and denominator are
20547         GstClockTime values.
20548         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20549         master; the other fields are protected by the SLAVE_LOCK.
20550         (do_linear_regression): Note that this must be called with the
20551         SLAVE_LOCK.
20552         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20553         OBJECT_LOCK. Call set_calibration instead of touching the
20554         variables directly.
20555         (gst_clock_set_property, gst_clock_get_property): Protect
20556         master/slave parameters with the SLAVE_LOCK.
20557
20558         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20559         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20560         note that all of the instance variables that add_observation and
20561         the set_master functions use are protected by that lock and not
20562         the OBJECT_LOCK.
20563         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20564
20565         * gst/gstclock.c (gst_clock_add_observation): No longer requires
20566         the caller to take the object lock.
20567
20568 2005-11-23  Wim Taymans  <wim@fluendo.com>
20569
20570         * gst/gsterror.c: (_gst_core_errors_init):
20571         * gst/gsterror.h:
20572         Add error for clock stuff.
20573
20574         * gst/gstpipeline.c: (gst_pipeline_change_state),
20575         (gst_pipeline_set_clock):
20576         Post clock error when clock cannot be used in a pipeline.
20577
20578 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
20579
20580         * docs/gst/gstreamer-sections.txt:
20581           make two symbols from gstinfo private for the docs
20582         * gst/base/gstcollectpads.h:
20583         * gst/gstutils.c:
20584           fix doc typos, update docs
20585
20586 2005-11-22  Wim Taymans  <wim@fluendo.com>
20587
20588         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20589         (gst_base_sink_wait), (gst_base_sink_do_sync),
20590         (gst_base_sink_handle_event):
20591         * gst/base/gstbasesink.h:
20592         No need to store the clock, the parent element class already
20593         has it.
20594
20595         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20596         Updates for clock_set returning a gboolean
20597
20598         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20599         (gst_clock_id_wait_async), (gst_clock_class_init),
20600         (gst_clock_init), (gst_clock_finalize),
20601         (gst_clock_get_internal_time), (gst_clock_get_time),
20602         (gst_clock_slave_callback), (gst_clock_set_master),
20603         (gst_clock_get_master), (do_linear_regression),
20604         (gst_clock_add_observation), (gst_clock_set_property),
20605         (gst_clock_get_property):
20606         * gst/gstclock.h:
20607         Implement master/slave. When setting a clock as a slave, a
20608         periodic timeout is scheduled to sample master and slave times.
20609         Then the slave clock is recalibrated to match offset and rate
20610         of the master clock.
20611         Update logging a bit.
20612         Add flag so that a clock can state that is cannot be slaved to
20613         another clock.
20614
20615         * gst/gstelement.c: (gst_element_set_clock):
20616         * gst/gstelement.h:
20617         The set clock returns a gboolean for when an element cannot
20618         deal with the selected clock in the pipeline. 
20619
20620         * gst/gstpipeline.c: (gst_pipeline_change_state),
20621         (gst_pipeline_set_clock):
20622         * gst/gstpipeline.h:
20623         Handle the case where the selected clock cannot be set on
20624         the pipeline.
20625
20626         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20627         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20628         (gst_net_client_clock_set_property),
20629         (gst_net_client_clock_get_property),
20630         (gst_net_client_clock_observe_times):
20631         * gst/net/gstnetclientclock.h:
20632         Use regression code in GstClock parent, remove duplicated
20633         functionality.
20634
20635 2005-11-22  Michael Smith <msmith@fluendo.com>
20636
20637         * gst/gstutils.c: (gst_util_clock_time_scale):
20638         * gst/gstutils.h:
20639         * docs/gst/gstreamer-sections.txt:
20640           Rename method to have extra underscore.
20641
20642 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20643
20644         * gst/elements/Makefile.am:
20645         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20646         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20647         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20648         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20649         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20650         * gst/elements/gstfakesrc.h:
20651         * gst/gstqueue.c: (queue_leaky_get_type):
20652           correctly fix GEnumValues so that nick is the short lowercase
20653           dashed tag
20654         * tools/gst-inspect.c: (print_element_properties_info):
20655           also show the nick, since it's useful to use from parse_launch
20656           syntax
20657           Fixes #322139
20658
20659 2005-11-22  Michael Smith <msmith@fluendo.com>
20660
20661         * gst/gstutils.c: (gst_util_clocktime_scale):
20662         * gst/gstutils.h:
20663         * docs/gst/gstreamer-sections.txt:
20664           Add util method for scaling a clocktime by a fraction. Useful 
20665           implementation is left as an exercise for the reader.
20666
20667 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20668
20669         * gst/gstvalue.c: (gst_value_collect_fraction_range):
20670         If needed, allocate storage in the destination value during
20671         collection.
20672
20673 2005-11-22  Edward Hervey  <edward@fluendo.com>
20674
20675         * docs/gst/gstreamer-sections.txt:
20676         * gst/Makefile.am:
20677         * gst/gst.h:
20678         * gst/gsturitype.c:
20679         * gst/gsturitype.h:
20680         * gst/gstutils.c: (gst_util_set_object_arg):
20681         * tools/gst-compprep.c: (main):
20682         * tools/gst-inspect.c: (print_element_properties_info):
20683         Removed GstURI, closes bug #321061
20684
20685 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20686
20687         * check/gst/gststructure.c: (GST_START_TEST):
20688         * gst/gststructure.c: (gst_structure_parse_value):
20689           Oops, broke automatic string type parsing.
20690           Add a test to catch it in future.
20691
20692 2005-11-22  Andy Wingo  <wingo@pobox.com>
20693
20694         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
20695         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20696         Actually rename the function implementations. Grr.
20697
20698 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20699
20700         * check/gst/capslist.h:
20701           Comment test cases
20702         * check/gst/gststructure.c: (GST_START_TEST),
20703         (gst_structure_suite):
20704           Test automatic value type detection in gst_structure_from_string.
20705         * gst/gststructure.c: (gst_structure_parse_value):
20706           Add fraction as a type we try and guess automatically in
20707           caps/structure strings.
20708
20709 2005-11-22  Andy Wingo  <wingo@pobox.com>
20710
20711         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20712
20713         * gst/gsttagsetter.h:
20714         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20715         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20716         (gst_tag_setter_add_tag_valist)
20717         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20718         _add_values, _add_valist, and _add_valist_values. Since this is an
20719         interface the function suffixes should be more explicit so
20720         language binding don't end up with element.add_valist ->
20721         gst_tag_setter_add_valist, for example. Fixes #322069.
20722
20723 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20724
20725         * check/gst/gstcaps.c: (GST_START_TEST):
20726           Extend caps string tests to check that a caps to string
20727           conversion is reversible and produces the same caps.
20728
20729         * gst/gststructure.c: (gst_structure_value_get_generic_type):
20730           Output "fraction" as the generic type fraction range, so caps
20731           serialisation and deserialisation works.
20732         * check/gst/capslist.h:
20733         * gst/gstvalue.c: (gst_value_deserialize_fraction):
20734           Support 'MIN' and 'MAX' for deserialising fractions.
20735
20736 2005-11-22  Andy Wingo  <wingo@pobox.com>
20737
20738         * gst/gstevent.h (gst_event_new_new_segment)
20739         (gst_event_parse_new_segment, gst_event_new_buffer_size)
20740         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20741         Renamed from *_newsegment, *_buffersize, *_notarget.
20742
20743         * scripts/update-funcnames: New script, performs the changes
20744         listed above.
20745
20746 2005-11-22  Wim Taymans  <wim@fluendo.com>
20747
20748         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20749         Make sure the GstFlowReturn is returned.
20750
20751         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20752         (gst_bus_add_signal_watch):
20753         * gst/gstbus.h:
20754         add gst_bus_add_signal_watch_full.
20755
20756         * gst/gstplugin.c: (gst_plugin_load_file):
20757         Small style cleanup.
20758
20759 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20760
20761         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20762           Block the fakesrc srcpad when we send an event, to avoid
20763           contention on the stream_lock causing random test failures.
20764
20765 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20766
20767         * check/gst/gstvalue.c: (GST_START_TEST):
20768         * gst/gstvalue.c: (gst_value_fraction_subtract):
20769           Fix subtraction.
20770
20771 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
20772
20773         * gst/gst.h:
20774           include "gstchildproxy.h"
20775         * gst/gstchildproxy.h:
20776         * libs/gst/controller/gstcontroller.h:
20777           use G_GNUC_NULL_TERMINATED
20778
20779 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20780
20781         * check/gst/capslist.h:
20782         * check/gst/gstcaps.c: (GST_START_TEST):
20783         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20784         * gst/gststructure.c: (gst_structure_parse_range),
20785         (gst_structure_fixate_field_nearest_fraction):
20786         * gst/gststructure.h:
20787         * gst/gstvalue.c: (gst_value_init_fraction_range),
20788         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20789         (gst_value_collect_fraction_range),
20790         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20791         (gst_value_set_fraction_range_full),
20792         (gst_value_get_fraction_range_min),
20793         (gst_value_get_fraction_range_max),
20794         (gst_value_serialize_fraction_range),
20795         (gst_value_transform_fraction_range_string),
20796         (gst_value_compare_fraction_range),
20797         (gst_value_deserialize_fraction_range),
20798         (gst_value_intersect_fraction_fraction_range),
20799         (gst_value_intersect_fraction_range_fraction_range),
20800         (gst_value_subtract_fraction_fraction_range),
20801         (gst_value_subtract_fraction_range_fraction),
20802         (gst_value_subtract_fraction_range_fraction_range),
20803         (gst_value_collect_fraction), (gst_value_fraction_multiply),
20804         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20805         (gst_value_transform_string_fraction), (_gst_value_initialize):
20806         * gst/gstvalue.h:
20807           Implement fraction ranges and extend GstFraction to support
20808           arithmetic subtraction, as well as deserialization from integer
20809           strings such as "100"
20810           Add a testsuite as for int and double range set operations
20811
20812 2005-11-21  Andy Wingo  <wingo@pobox.com>
20813
20814         * gst/gsttaglist.h: 
20815         * gst/gstcaps.h: 
20816         * gst/gststructure.h: Add glib-compat.h.
20817
20818 2005-11-21  Wim Taymans  <wim@fluendo.com>
20819
20820         * gst/gstbin.c: (gst_bin_change_state_func):
20821         Fix for #321595
20822
20823 2005-11-21  Wim Taymans  <wim@fluendo.com>
20824
20825         * gst/gstsegment.h:
20826         And add a nice define too.
20827
20828 2005-11-21  Wim Taymans  <wim@fluendo.com>
20829
20830         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20831         (gst_segment_new), (gst_segment_free), (gst_segment_init),
20832         (gst_segment_set_duration), (gst_segment_set_last_stop),
20833         (gst_segment_set_seek), (gst_segment_set_newsegment),
20834         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20835         (gst_segment_clip):
20836         * gst/gstsegment.h:
20837         Make binding friendly.
20838
20839 2005-11-21  Andy Wingo  <wingo@pobox.com>
20840
20841         * gst/gsttagsetter.h: 
20842         * gst/gsttaglist.h: 
20843         * gst/gststructure.h: 
20844         * gst/gstcaps.h: 
20845         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20846         #319940.
20847
20848         * gst/gsterror.c (_gst_core_errors_init):
20849         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20850         category.
20851
20852         * gst/Makefile.am (gst_headers): Add glib-compat.h.
20853         (noinst_HEADERS): noinst the -private.
20854
20855 2005-11-21  Michael Smith <msmith@fluendo.com>
20856
20857         * gst/gstplugin.h:
20858         * gst/gstregistry.h:
20859           Remove unimplemented declarations for which we can see no sensible
20860           use.
20861
20862 2005-11-21  Andy Wingo  <wingo@pobox.com>
20863
20864         * gst/gst.h: Include glib-compat.h.
20865
20866         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20867
20868         * gst/glib-compat.c: Include the public and the private header.
20869
20870         * gst/glib-compat-private.h: Copied here from glib-compat.h.
20871
20872         * gst/gstvalue.c: 
20873         * gst/gstpad.c: 
20874         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20875
20876         * check/gst/gstevent.c (create_custom_events): Check that
20877         FLUSH_STOP is serialized.
20878
20879         * check/elements/identity.c (event_func): 
20880         * check/elements/fakesrc.c (event_func): No stream lock, the core
20881         takes it.
20882
20883         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20884         stream lock taking, yay.
20885
20886         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20887         ensure that core takes the stream lock.
20888
20889         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20890         lock name change.
20891
20892         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20893         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20894         it already. For the flush start we do take it though so we get the
20895         right preroll state change messages.
20896
20897         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20898         the stream lock here, the core does it for us.
20899
20900         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20901         GST_STREAM_GET_LOCK.
20902         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
20903         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
20904         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20905         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20906         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
20907         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20908
20909         * gst/gstpad.c: Update for stream lock name change.
20910
20911         * gst/base/gstbasesink.c: Update for preroll lock name change.
20912
20913 2005-11-21  Wim Taymans  <wim@fluendo.com>
20914
20915         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20916         (gst_clock_get_master):
20917         * gst/gstclock.h:
20918         * gst/gstsystemclock.c: (gst_system_clock_init):
20919         Convert Clock flags to object flags.
20920         Added methods to manage master/slave clocks.
20921
20922 2005-11-21  Wim Taymans  <wim@fluendo.com>
20923
20924         * check/gst/gstsegment.c: (GST_START_TEST):
20925         * docs/design/part-TODO.txt:
20926         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20927         (gst_base_sink_event), (gst_base_sink_do_sync),
20928         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20929         (gst_base_sink_query), (gst_base_sink_change_state):
20930         * gst/base/gstbasesink.h:
20931         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20932         (gst_base_src_default_newsegment),
20933         (gst_base_src_configure_segment), (gst_base_src_do_seek),
20934         (gst_base_src_get_range), (gst_base_src_loop),
20935         (gst_base_src_change_state):
20936         * gst/base/gstbasesrc.h:
20937         * gst/base/gstbasetransform.c:
20938         (gst_base_transform_prepare_output_buf),
20939         (gst_base_transform_event), (gst_base_transform_change_state):
20940         * gst/base/gstbasetransform.h:
20941         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20942         (gst_collect_pads_event):
20943         * gst/base/gstcollectpads.h:
20944         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20945         (gst_fake_src_create):
20946         * gst/elements/gstfakesrc.h:
20947         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20948         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20949         (gst_segment_set_last_stop), (gst_segment_set_seek),
20950         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20951         (gst_segment_to_running_time), (gst_segment_clip):
20952         * gst/gstsegment.h:
20953         More segment updates, replace code in plugins with segment
20954         helper functions.
20955
20956 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20957
20958         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20959         Don't ignore sscanf results
20960
20961 2005-11-21  Andy Wingo  <wingo@pobox.com>
20962
20963         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20964
20965         * *.h:
20966         * *.c: Ran scripts/update-macros. Oh yes.
20967
20968         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20969         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20970         GST_GET_LOCK, etc.
20971
20972         * scripts/update-macros: New script. Run it on your files to
20973         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20974         well.
20975
20976 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20977
20978         * docs/gst/Makefile.am:
20979         * docs/gst/gstreamer-docs.sgml:
20980         * docs/gst/gstreamer-sections.txt:
20981         * docs/gst/gstreamer.types:
20982         * gst/gstinfo.h:
20983           more docs fixes, add new api to the docs
20984
20985 2005-11-21  Andy Wingo  <wingo@pobox.com>
20986
20987         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20988         state_broadcast call.
20989
20990         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20991
20992 2005-11-21  Julien MOUTTE  <julien@moutte.net>
20993
20994         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20995         function calls for arrays.
20996
20997 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20998
20999         * docs/random/ensonic/media-device-daemon.txt:
21000           wild idea, can this be done?
21001         * docs/gst/gstreamer-sections.txt:
21002         * gst/gsterror.h:
21003         * gst/gstfilter.c:
21004         * gst/gstfilter.h:
21005         * gst/gstplugin.h:
21006         * gst/gstpluginfeature.c:
21007         * gst/gsttrace.c:
21008         * gst/gstvalue.c:
21009         * gst/gstvalue.h:
21010           doc fixes and additions
21011
21012 2005-11-21  Andy Wingo  <wingo@pobox.com>
21013
21014         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
21015         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
21016         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
21017         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
21018         private to the basesrc implementation.
21019
21020         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
21021         behalf of event function if necessary. It should no longer be
21022         necessary to take the stream lock in pad's event functions. Fixes
21023         #320299.
21024
21025 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
21026         * docs/gst/gstreamer-sections.txt:
21027         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
21028         (gst_structure_fixate_field_nearest_double),
21029         (gst_structure_fixate_field_boolean):
21030         * gst/gststructure.h:
21031         * win32/common/libgstreamer.def:
21032         * win32/gstreamer.def:
21033
21034         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
21035         (#322027)
21036
21037 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
21038
21039         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
21040         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
21041         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
21042         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
21043         (gst_fdsrc_uri_handler_init):
21044         * gst/elements/gstfdsrc.h:
21045           Port fd:// URI handler from 0.8 to fdsrc
21046
21047 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
21048
21049         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
21050         (gst_value_serialize_fourcc):
21051         * gst/gstvalue.h:
21052           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
21053           consistent with our other format defines (#320324).
21054
21055 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
21056
21057         * gst/gstvalue.c: (gst_value_is_fixed):
21058           Revert previous commit. Value lists are by definition
21059           not fixed, as they are a list of possible values.
21060
21061 2005-11-21  Andy Wingo  <wingo@pobox.com>
21062
21063         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
21064         during the stable series if we need it. Fixes #319178.
21065
21066         * gst/gstevent.c (gst_event_new_filler): Removed.
21067
21068         * check/gst/gstevent.c: Update comment about filler events.
21069
21070 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
21071
21072         * gst/gstvalue.c: (gst_value_is_fixed):
21073           Should handle both value arrays and value lists.
21074
21075 2005-11-21  Andy Wingo  <wingo@pobox.com>
21076
21077         patch by: Alessandro Dessina <alessandro nnva org>
21078
21079         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
21080         functions to access arrays. Fixes #321962.
21081
21082 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
21083
21084         * docs/gst/gstreamer.types:
21085           gst_collectpads_get_type => gst_collect_pads_get_type.
21086           
21087         * gst/base/gstbasetransform.c:
21088           Remove unused SIGNAL_HANDOFF enum.
21089
21090 2005-11-21  Andy Wingo  <wingo@pobox.com>
21091
21092         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
21093         the event type (upstream, downstream, serialized). Renamed
21094         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
21095         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
21096         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
21097
21098         * gst/gstevent.c: Update for new CUSTOM event names.
21099
21100         * check/gst/gstevent.c: Update check for new CUSTOM event names.
21101
21102         * gst/gstevent.h:
21103         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
21104         bug #319392.
21105
21106 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
21107
21108         * docs/gst/gstreamer-sections.txt:
21109         * win32/common/libgstbase.def:
21110         * win32/libgstbase.def:
21111         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
21112         (gst_collect_pads_class_init), (gst_collect_pads_init),
21113         (gst_collect_pads_finalize), (gst_collect_pads_new),
21114         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
21115         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
21116         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
21117         (gst_collect_pads_start), (gst_collect_pads_stop),
21118         (gst_collect_pads_peek), (gst_collect_pads_pop),
21119         (gst_collect_pads_available), (gst_collect_pads_read),
21120         (gst_collect_pads_flush), (gst_collect_pads_event),
21121         (gst_collect_pads_chain):
21122         * gst/base/gstcollectpads.h:
21123           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
21124           unimplemented functions as unimplemented. Add padding to
21125           GstCollectData. (#320766, #320423)
21126
21127 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
21128
21129         * gst/gstmessage.c:
21130           Improve docs for DURATION message (usage of duration parameter)
21131           (#320113)
21132
21133 2005-11-20  Wim Taymans  <wim@fluendo.com>
21134
21135         * check/Makefile.am:
21136         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
21137         (main):
21138         * gst/Makefile.am:
21139         * gst/gst.h:
21140         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
21141         (gst_segment_set_seek), (gst_segment_set_newsegment),
21142         (gst_segment_to_stream_time), (gst_segment_to_running_time),
21143         (gst_segment_clip):
21144         * gst/gstsegment.h:
21145         Added segment helper structure and methods. Not fully implemented
21146         yet.
21147         Added segment check.
21148
21149 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
21150
21151         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
21152           Add a deserialisation test for fractions
21153         * examples/metadata/read-metadata.c: (message_loop),
21154         (make_pipeline), (main):
21155           Fix up metadata reading sample.
21156         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21157           Debug format fix
21158         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21159           Don't try and fixate empty caps
21160         * gst/gst_private.h:
21161           Wrap in G_BEGIN_DECLS/G_END_DECLS
21162         * gst/gstvalue.c: (gst_value_collect_fraction),
21163         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
21164         (gst_value_transform_string_fraction),
21165         (gst_value_compare_fraction):
21166           Add some extra guards to ensure that we don't end up 
21167           with an invalid denominator of 0 in a gstfraction and
21168           that fractions always get reduced.
21169
21170 2005-11-20  Wim Taymans  <wim@fluendo.com>
21171
21172         * docs/gst/gstreamer-sections.txt:
21173         * gst/gstbuffer.h:
21174         * gst/gstelement.c:
21175         * gst/gstformat.c:
21176         * gst/gstformat.h:
21177         * gst/gstindex.h:
21178         * gst/gstquery.c:
21179         * gst/gstquery.h:
21180         * gst/gstvalue.c:
21181         Doc fixes.
21182
21183 2005-11-20  Wim Taymans  <wim@fluendo.com>
21184
21185         * docs/design/part-TODO.txt:
21186         * gst/gstcaps.h:
21187         Make a proper enum of the flag.
21188
21189 2005-11-19  Wim Taymans  <wim@fluendo.com>
21190
21191         * docs/design/part-TODO.txt:
21192         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
21193         (gst_format_to_quark), (gst_format_register):
21194         * gst/gstformat.h:
21195         * gst/gstquery.c: (_gst_query_initialize),
21196         (gst_query_type_get_name), (gst_query_type_to_quark),
21197         (gst_query_type_register):
21198         * gst/gstquery.h:
21199         Add type to quark and type to string conversions.
21200
21201 2005-11-19  Andy Wingo  <wingo@pobox.com>
21202
21203         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
21204         #320097.
21205
21206 2005-11-19  Wim Taymans  <wim@fluendo.com>
21207
21208         * docs/design/part-TODO.txt:
21209         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
21210         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
21211         (gst_bin_handle_message_func):
21212         * gst/gstbin.h:
21213         Make message handling overridable.
21214
21215 2005-11-19  Andy Wingo  <wingo@pobox.com>
21216
21217         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
21218
21219         * gst/gstclock.h:
21220         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
21221         be a GstClockTime.
21222         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
21223         is a GstClockTime. Fixes #321710.
21224
21225         * gst/gstclock.h (GstClock): Remove offset property. Add
21226         internal_calibration and external_calibration. Fix padding. Pad
21227         also by GstClockTime so we don't run into problems.
21228
21229         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
21230         (gst_clock_get_rate_offset): Remove.
21231         (gst_clock_set_time_adjust): Remove. Fixes #321712.
21232
21233         * gst/gstutils.h:
21234         * gst/gstutils.c (g_static_rec_cond_wait)
21235         (g_static_rec_cond_timed_wait): Removed, no longer needed.
21236
21237         * gst/gstbin.c: Remove terrible continue_state prototype.
21238
21239         * gst/gstelement.h (gst_element_continue_state): Make public.
21240
21241         * gst/gstelement.h:
21242         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
21243         by continue_state. Fixes #319389.
21244
21245         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
21246         Really fixes #168438. However I don't see anywhere where the
21247         filter function is called... stupid GStreamer...
21248         
21249         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
21250         don't have a dispose function, so it won't get called when the
21251         object is unreffed, but oh well!
21252
21253         * gst/gstindex.c (gst_index_set_filter_full): New API function,
21254         allows a destroy function to be set so user_data can be freed.
21255         Fixes #168438.
21256         (gst_index_set_filter): Call gst_index_set_filter_full.
21257
21258         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
21259
21260         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
21261         string should produce an error, given the lack of a way to
21262         represent NULL strings. Fixes #165650.
21263         
21264         * gst/gstvalue.h: 
21265         * gst/gstvalue.c (gst_value_array_append_value) 
21266         (gst_value_array_prepend_value, gst_value_array_get_size) 
21267         (gst_value_array_get_value): New API, copied from
21268         gst_value_list_*, only operates on arrays.
21269         (gst_value_list_append_value, gst_value_list_prepend_value) 
21270         (gst_value_list_concat, gst_value_list_get_size) 
21271         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
21272
21273         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
21274         init_list, because it works on both.
21275         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
21276         (gst_value_copy_list_or_array): Renamed from copy_list.
21277         (gst_value_free_list_or_array): Renamed from free_list.
21278         (gst_value_collect_list_or_array): Renamed from collect_list.
21279         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
21280         (gst_value_list_or_array_peek_pointer): Renamed from
21281         list_peek_pointer.
21282         (_gst_value_array_value_table, _gst_value_list_value_table):
21283         Update value table functions.
21284         (gst_value_compare_list_or_array): Renamed from compare_list.
21285
21286         * gsttaglist.h: Whoops, foreach function returns void. Also fix
21287         some constness.
21288
21289         * gst/gsttaglist.c:
21290         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
21291         GstTagList*. Fixes #143472.
21292
21293         * gst/gststructure.h: Clarify what the foreach/map functions can
21294         or can't do to their arguments.
21295
21296 2005-11-18  Wim Taymans  <wim@fluendo.com>
21297
21298         * gst/gstclock.c: (gst_clock_set_calibration),
21299         (gst_clock_get_calibration):
21300         Doc and API fixes.
21301         Calibration can be set with internal time equal to current
21302         internal time too.
21303
21304 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21305
21306         * gst/gsterror.c:
21307         * gst/gsterror.h:
21308           document
21309
21310 2005-11-18  Andy Wingo  <wingo@pobox.com>
21311
21312         * configure.ac: 
21313         * pkgconfig/gstreamer-net.pc.in:
21314         * pkgconfig/gstreamer-net-uninstalled.pc.in:
21315         * pkgconfig/Makefile.am: Add net pkgconfig files.
21316
21317 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
21318
21319         * gst/gstcaps.c:
21320         * gst/gstghostpad.c:
21321         * gst/gsttrace.c:
21322         * gst/gstvalue.c:
21323         * gst/gstvalue.h:
21324           docs fixes
21325
21326 2005-11-18  Andy Wingo  <wingo@pobox.com>
21327
21328         * gst/net/gstnetclientclock.c: Turn off debugging.
21329
21330         * check/net/gstnetclientclock.c (test_functioning): Assert that the
21331         times connverge somewhat. Can't make a real test.
21332
21333         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
21334         integer arithmetic. Return the minimum of the domain, which can be
21335         set as "internal" for gst_clock_set_calibration.
21336         (gst_net_client_clock_observe_times): Call _set_calibration.
21337         (gst_net_client_clock_new): Call _set_calibration instead of
21338         rate_offset.
21339
21340         * check/net/gstnetclientclock.c (test_functioning): Use the right
21341         adjustment api.
21342
21343         * gst/gstclock.h:
21344         * gst/gstclock.c (gst_clock_get_calibration) 
21345         (gst_clock_set_calibration): New functions, obsolete the ones I
21346         added yesterday. Doh. Precision issues mean we have to extrapolate
21347         from a point in the more recent past than 1970.
21348         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
21349         obsolete.
21350         (gst_clock_adjust_unlocked): Use the right calibration data.
21351
21352 2005-11-18  Edward Hervey  <edward@fluendo.com>
21353
21354         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
21355         Also reset the ->current_* values in READY->PAUSED
21356
21357 2005-11-18  Andy Wingo  <wingo@pobox.com>
21358
21359         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
21360         Whoops, check the right fd. Also add some debugging.
21361         (gst_net_client_clock_observe_times): Adjust for int64 offset.
21362         (do_linear_regression): Add a crapload of debugging. Subtract off
21363         the minimum values from the input series to discard unneeded bits.
21364         Use only int arithmetic. There is still double arithmetic when
21365         calculating the intercept that needs fixing. Return boolean to
21366         indicate success; FALSE would mean the domain or range is too
21367         great. Still needs fixes.
21368
21369 2005-11-18  Wim Taymans  <wim@fluendo.com>
21370
21371         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
21372         For the current position in stream time, we need to subtract
21373         accumulated time.
21374         
21375         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
21376         Release lock before calling the callback function of async
21377         entries.
21378
21379 2005-11-18  Andy Wingo  <wingo@pobox.com>
21380
21381         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
21382         Port goes all the way to MAXUINT16.
21383
21384         * gst/net/gstnettimeprovider.c: Make the port range the same as
21385         for the kernel: 0 assigns, otherwise ports are less than
21386         MAXUINT16.
21387
21388         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
21389         port change.
21390
21391         * check/net/gstnetclientclock.c (test_functioning): Add the start
21392         of another test. 
21393
21394 2005-11-18  Wim Taymans  <wim@fluendo.com>
21395
21396         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21397         (gst_bin_remove_func), (bin_bus_handler):
21398         * gst/gstbin.h:
21399         Removing a clock provider from a bin, triggers a clock lost message
21400         so that a new clock will be selected.
21401         Adding a clock to a bin triggers a clock provider message.
21402         Make sure we reselect a clock when we received a clock lost message.
21403         Keep a reference to the element that provided the clock.
21404
21405 2005-11-18  Andy Wingo  <wingo@pobox.com>
21406
21407         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
21408         the clock initially so it produces values around the base time.
21409         (gst_net_client_clock_class_init): Typo fix.
21410         (gst_net_client_clock_thread): Add note on when the socket gets
21411         closed.
21412
21413 2005-11-17  Wim Taymans  <wim@fluendo.com>
21414
21415         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
21416         Free remote and local time arrays.
21417
21418 2005-11-17  Wim Taymans  <wim@fluendo.com>
21419
21420         * gst/net/gstnetclientclock.c: (do_linear_regression),
21421         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
21422         Fix compilation, uninitialized vars and a forgotten continue.
21423
21424 2005-11-17  Andy Wingo  <wingo@pobox.com>
21425
21426         * check/Makefile.am (check_PROGRAMS): 
21427         * check/net/gstnetclientclock.c: Add a most minimal test for the
21428         net client clock. More to come later.
21429
21430         * gst/net/gstnet.h: 
21431         * gst/net/Makefile.am: Add netclientclock.
21432
21433         * gst/net/gstnetclientclock.h:
21434         * gst/net/gstnetclientclock.c: New files, implement an untested
21435         GstClock that takes its time from a network time provider.
21436         Implements the algorithm in network-clock.scm.
21437
21438         * tests/network-clock.scm (*window-size*): Rename from
21439         *queue-length*.
21440         * tests/network-clock.scm (network-time): 
21441         * tests/network-clock-utils.scm (q-push): Update callers.
21442
21443 2005-11-17  Wim Taymans  <wim@fluendo.com>
21444
21445         * gst/gstbin.c: (gst_bin_provide_clock_func),
21446         (gst_bin_sort_iterator_new):
21447         And unref the child too..
21448
21449 2005-11-17  Wim Taymans  <wim@fluendo.com>
21450
21451         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
21452         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
21453         Refactor the sort iterator so it can be used while holding the
21454         LOCK too.
21455         Make clock selection select a clock closest to the source.
21456
21457 2005-11-17  Michael Smith <msmith@fluendo.com>
21458
21459         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
21460         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
21461         * gst/gstclock.h:
21462           Anonymous structs are a gcc (and some other compilers) extension, so
21463           don't use them. Since this is only for ABI-compatibility, and our
21464           API/ABI freeze is over in a few days, this whole thing will only
21465           last a few days, so don't bother trying to think up a meaningful
21466           name for the struct.
21467
21468 2005-11-17  Andy Wingo  <wingo@pobox.com>
21469
21470         * gst/gstclock.h (GstClock): Add rate and offset properties,
21471         preserving ABI stability. Add rate/offset accessors. Will file bug
21472         for the freeze break.
21473
21474         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
21475         and offset, trying to keep precision and avoiding
21476         underflow/overflow.
21477         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
21478         functions. Make gst_clock_set_time_adjust obsolete.
21479         (gst_clock_set_time_adjust): Note that this function is obsolete.
21480         Will file bug soon.
21481
21482         * gst/base/gstbasetransform.h: Make the ABI-stability hack
21483         greppable by using GST_PADDING-1+1.
21484
21485 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
21486
21487         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21488
21489         * gst/gstmessage.c: (gst_message_parse_clock_lost):
21490           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
21491
21492         * gst/gstpadtemplate.h:
21493         * gst/gstpluginfeature.h:
21494           Don't use c++ style comments in headers (#321638).
21495
21496 2005-11-16  Andy Wingo  <wingo@pobox.com>
21497
21498         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
21499         buffer.
21500
21501         * check/net/gstnettimeprovider.c: Check to see that the time
21502         provider actually provides times. Works, yo!
21503
21504 2005-11-16  Wim Taymans  <wim@fluendo.com>
21505
21506         * check/Makefile.am:
21507         Enable more tests.
21508
21509         * check/elements/fakesrc.c: (GST_START_TEST):
21510         Set element to NULL before disposing it.
21511
21512 2005-11-16  Andy Wingo  <wingo@pobox.com>
21513
21514         * gst/net/Makefile.am:
21515         * gst/net/gstnet.h:
21516         * gst/net/gstnettimeprovider.c: 
21517         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
21518         provider, include it from gstnet.h, and add it to the build.
21519
21520         * gst/net/gstnettimepacket.h: 
21521         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
21522         sending and receiving.
21523
21524 2005-11-16  Wim Taymans  <wim@fluendo.com>
21525
21526         * check/Makefile.am:
21527         Enable valgrind check.
21528
21529         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
21530         (gst_fake_src_alloc_buffer):
21531         Fix memleak.
21532
21533 2005-11-16  Wim Taymans  <wim@fluendo.com>
21534
21535         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
21536         Call parent finalize too.
21537
21538 2005-11-16  Wim Taymans  <wim@fluendo.com>
21539
21540         * check/Makefile.am:
21541         Enable valgrind check that should work fine now.
21542
21543         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21544         * gst/gstqueue.c: (gst_queue_init):
21545         Fix memleaks in pad allocation.
21546
21547 2005-11-16  Andy Wingo  <wingo@pobox.com>
21548
21549         * gst/net/Makefile.am:
21550         * gst/net/gstnet.h: New part of core to hold network elements and
21551         objects. Put in core because it exposes API that applications want
21552         to use. The library is named libgstnet-tempname right now because
21553         of the existing libgstnet in gst-plugins-base. Solution is
21554         probably to rename the one in plugins-base; will file a bug for
21555         the freeze break.
21556
21557         * gst/net/gstnettimeprovider.c: 
21558         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21559         get_time call over the network.
21560
21561         * configure.ac: 
21562         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21563
21564         * check/Makefile.am:
21565         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21566         get additions shortly.
21567
21568 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21569
21570         * gst/gstpad.c: (gst_pad_new_from_static_template):
21571         * gst/gstpad.h:
21572           add gst_pad_new_from_static_template functions
21573         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21574         (gst_check_setup_sink_pad):
21575         * gst/elements/gsttee.c: (gst_tee_init):
21576           and use them
21577
21578 2005-11-16  Wim Taymans  <wim@fluendo.com>
21579
21580         * gst/gstpad.c: (gst_pad_pause_task):
21581         Removed warning, it's not really an error either.
21582
21583 2005-11-16  Wim Taymans  <wim@fluendo.com>
21584
21585         * gst/base/gstbasetransform.c:
21586         (gst_base_transform_prepare_output_buf),
21587         (gst_base_transform_event):
21588         Check if the caps are NULL, this can happen if the element
21589         is shutting down and the pad caps are set to NULL.
21590
21591 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21592
21593         * gst/elements/gsttee.c: (gst_tee_init):
21594           fix pad template leak in tee
21595
21596 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21597
21598         * gst/glib-compat.c: (g_value_dup_gst_object):
21599         * gst/glib-compat.h:
21600         * gst/gstpad.c: (gst_pad_set_property):
21601           use gst_object_ref when setting the pad template; this will
21602           trigger the pad template leaks on GLib 2.6 and the slaves
21603
21604 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21605
21606         * gst/glib-compat.c: (gst_flags_get_first_value):
21607         * gst/glib-compat.h:
21608         * gst/gstregistryxml.c:
21609           remove functions copied from GLib 2.6
21610
21611 2005-11-16  Michael Smith <msmith@fluendo.com>
21612
21613         * gst/Makefile.am:
21614           Don't link against VALGRIND_LIBS. That was always the wrong thing to
21615           do, but only breaks with newer valgrind versions. We're not a
21616           valgrind tool, we have no link-time dependencies on libcoregrind.
21617
21618 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21619
21620         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21621           some debug changes
21622         * gst/gstmessage.h:
21623           typo fixes
21624
21625 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21626
21627         * gst/base/gstbasesrc.c: (gst_base_src_init):
21628         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21629         * gst/gstqueue.c: (gst_queue_init):
21630         * gst/gstregistryxml.c: (load_feature):
21631           Revert all these unrefs, they don't even pass make check !
21632
21633 2005-11-15  Johan Dahlin  <johan@gnome.org>
21634
21635         * gst/base/gstbasesrc.c: (gst_base_src_init):
21636         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21637         * gst/gstqueue.c: (gst_queue_init): 
21638         Free pad templates, fixes a couple of leaks.
21639
21640 2005-11-15  Daniel Fischer  <dan at f3c dot com>
21641
21642         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21643
21644         * gst/gstpad.c: (gst_pad_get_property):
21645           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21646           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21647           (#321452)
21648
21649 2005-11-15  Wim Taymans  <wim@fluendo.com>
21650
21651         * gst/gstevent.c:
21652         Small doc update.
21653
21654 2005-11-15  Andy Wingo  <wingo@pobox.com>
21655
21656         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21657
21658         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21659         using GST_CLOCK_TIME_NONE to disable base time management.
21660         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21661         time if it was NONE before.
21662         (gst_pipeline_change_state): Only munge the base time if
21663         stream_time != GST_CLOCK_TIME_NONE.
21664
21665         * check/gst/gstpipeline.c (test_base_time): Punt around the
21666         problem of the probe not being called, because that's not the
21667         issue I'm looking at. Add a check that setting stream_time to NONE
21668         disables base time management.
21669         
21670 2005-11-15  Wim Taymans  <wim@fluendo.com>
21671
21672         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21673         segment_stop == -1 at startup.
21674
21675         * gst/base/gstbasetransform.c: (gst_base_transform_event),
21676         (gst_base_transform_change_state):
21677         Init segment values at start.
21678
21679 2005-11-15  Wim Taymans  <wim@fluendo.com>
21680
21681         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21682         0 segment values are 0 in any format.
21683
21684         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21685         * gst/base/gstbasetransform.h:
21686         Parse newsegment correctly in basetransform
21687
21688         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21689         Sync to clock using updated segment values.
21690
21691 2005-11-15  Andy Wingo  <wingo@pobox.com>
21692
21693         * check/gst/gstpipeline.c (test_base_time): Add check that the
21694         base time and stream time are reset correctly.
21695
21696 2005-11-15  Wim Taymans  <wim@fluendo.com>
21697
21698         * docs/design/part-TODO.txt:
21699         Some more TODO items.
21700
21701 2005-11-15  Andy Wingo  <wingo@pobox.com>
21702
21703         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21704         error if the user selected "no clock" as the clocking method.
21705
21706         * check/gst/gstpipeline.c (test_base_time): New test for buffer
21707         timestamps with live capture.
21708
21709         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21710         is 0 but we are a live source, timestamp the buffers using the
21711         element's clock.
21712
21713 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
21714
21715         * docs/gst/gstreamer-sections.txt:
21716         * gst/gsterror.c:
21717         * gst/gstghostpad.c:
21718         * gst/gstobject.h:
21719         * gst/gstxml.c:
21720           more section docs
21721
21722 2005-11-14  Wim Taymans  <wim@fluendo.com>
21723
21724         * common/gst.supp:
21725           add suppressions from Wim's Debian machine
21726
21727 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
21728
21729         * common/gst.supp:
21730           add suppressions from Andy's AMD64 Ubuntu machine
21731
21732 2005-11-14  Andy Wingo  <wingo@pobox.com>
21733
21734         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21735         STATE_LOCK not necessary. Fixes #311489.
21736
21737         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21738         #305291.
21739
21740         * gst/gstindex.c (gst_index_add_object): Note in the docs that
21741         this function is not implemented.
21742
21743 2005-11-14  Julien MOUTTE  <julien@moutte.net>
21744
21745         * gst/base/gstbasetransform.c:
21746         (gst_base_transform_prepare_output_buf):
21747         Ref the source pad caps while we need them.
21748         Fixes (#321386)
21749
21750 2005-11-11  Wim Taymans  <wim@fluendo.com>
21751
21752         * docs/gst/gstreamer-sections.txt:
21753         Added some docs for GstCollectData.
21754
21755         * gst/base/gstadapter.c:
21756         Some small code example fix.
21757
21758         * gst/base/gstcollectpads.c:
21759         * gst/base/gstcollectpads.h:
21760         Document some more.
21761
21762 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21763
21764         * configure.ac: back to HEAD
21765
21766 === release 0.9.5 ===
21767
21768 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
21769
21770         * configure.ac:
21771           releasing 0.9.5, "Bike Lunch Day"
21772
21773 2005-11-11  Wim Taymans  <wim@fluendo.com>
21774
21775         * gst/gstbuffer.c: (_gst_buffer_copy):
21776         Copy more flags.
21777
21778         * gst/gstcaps.c: (gst_caps_is_equal):
21779         Fix some docs.
21780         Make _is_equal fast in the trivial cases.
21781
21782         * gst/gstminiobject.c:
21783         * gst/gstminiobject.h:
21784         More docs. Spifify .h file.
21785
21786         * gst/gstutils.c:
21787         Small doc update.
21788
21789 2005-11-11  Wim Taymans  <wim@fluendo.com>
21790
21791         * gst/base/gstbasetransform.c:
21792         (gst_base_transform_prepare_output_buf),
21793         (gst_base_transform_handle_buffer):
21794         Small cleanups.
21795         If we're processing a buffer and need to allocate an output
21796         buffer, we cannot accept a format change. If we did get a 
21797         format change, we have to alloc a buffer ourselves of the 
21798         right size.
21799
21800 2005-11-11  Wim Taymans  <wim@fluendo.com>
21801
21802         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21803         While checking the flag for reentrancy in the gstcaps function
21804         is nice to detect recursive invocations, it also makes it 
21805         impossible to call getcaps from multiple threads, which must be
21806         possible. So, checking for recursive calls has to go.
21807
21808 2005-11-11  Michael Smith <msmith@fluendo.com>
21809
21810         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21811           Don't sync on buffers that fall partially outside our current
21812           segment. Prevents an assertion failure/abort playing some files.
21813
21814 2005-11-10  Andy Wingo  <wingo@pobox.com>
21815
21816         * check/gst/gstbin.c (test_message_state_changed_children): Style
21817         fix..
21818
21819         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21820         gst_bus_poll with the signal watch. Ensures that poll and a signal
21821         watch see the same messages.
21822
21823         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21824         a poll and a watch at the same time get the same messages.
21825
21826 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21827
21828         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21829         * gst/gstcaps.c: (gst_caps_intersect):
21830           Don't call gst_caps_do_simplify - it doesn't respect order of caps
21831           and it's not needed.
21832
21833 2005-11-10  Wim Taymans  <wim@fluendo.com>
21834
21835         * docs/design/part-TODO.txt:
21836         Updated todo.
21837
21838 2005-11-10  Wim Taymans  <wim@fluendo.com>
21839
21840         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21841         * gst/base/gstbasesrc.c: (gst_base_src_wait),
21842         (gst_base_src_do_sync), (gst_base_src_get_range):
21843         Implement clock sync in base class.
21844
21845 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21846
21847         patch by: Tim-Philipp Müller <tim at centricular dot net>
21848
21849         * gst/gststructure.c: (gst_structure_parse_field),
21850         (gst_structure_from_string):
21851           Forward-port a 0.8 patch to handle escaped spaces in structure string,
21852           so that gst_parse_launch() can deal with spaces in filtered link
21853           caps (fixes #164479)
21854         * check/gst/capslist.h:
21855         * check/gst/gststructure.c: (GST_START_TEST):
21856           add unit tests for this change
21857
21858 2005-11-10  Wim Taymans  <wim@fluendo.com>
21859
21860         * docs/gst/gstreamer-sections.txt:
21861         * gst/gstelement.c:
21862         * gst/gstelement.h:
21863         Fix docs, move some STATE macros to private.
21864
21865 2005-11-10  Wim Taymans  <wim@fluendo.com>
21866
21867         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21868         Added check for bug #317341
21869
21870         * gst/gstbuffer.c:
21871         * gst/gstbuffer.h:
21872         Some more spiffifying.
21873
21874         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21875         Call peer linkfunction if we are a source pad. Totally fixes
21876         #317341
21877
21878         * gst/gstpad.c:
21879         Update docs, source pads should call the peer linkfunction
21880         so they can atomically perform the pad link.
21881
21882 2005-11-09  Wim Taymans  <wim@fluendo.com>
21883
21884         * gst/gstbuffer.c:
21885         * gst/gstbuffer.h:
21886         Uber-spiffy-spiffify some more.
21887
21888 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
21889
21890         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21891         * gst/elements/gstfilesink.c: (gst_file_sink_init):
21892         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21893         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21894         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21895         * gst/gstpad.c: (gst_pad_init):
21896           Use GST_DEBUG_FUNCPTR() more extensively.
21897
21898 2005-11-09  Wim Taymans  <wim@fluendo.com>
21899
21900         * gst/gstobject.c: (gst_object_class_init):
21901         * gst/gstobject.h:
21902         Documentation fixes.
21903
21904 2005-11-09  Edward Hervey  <edward@fluendo.com>
21905
21906         * gst/gsttypefindfactory.c:
21907         Fix docs.
21908         
21909 2005-11-09  Edward Hervey  <edward@fluendo.com>
21910
21911         * gst/base/gsttypefindhelper.c:
21912         * gst/gsttypefind.c:
21913         * gst/gsttypefind.h:
21914         Fix docs.
21915
21916 2005-11-09  Wim Taymans  <wim@fluendo.com>
21917
21918         * gst/gstiterator.c:
21919         Fix revision data.
21920
21921         * gst/gsttask.c:
21922         * gst/gsttask.h:
21923         Fix docs.
21924
21925 2005-11-09  Wim Taymans  <wim@fluendo.com>
21926
21927         * gst/gstevent.h:
21928         * gst/gsturi.h:
21929         Fix docs.
21930
21931 2005-11-09  Wim Taymans  <wim@fluendo.com>
21932
21933         * docs/gst/gstreamer-sections.txt:
21934         Moved the message async delivery private lock and cond
21935         to the private section.
21936
21937         * gst/gstmessage.c:
21938         * gst/gstmessage.h:
21939         Fixed docs.
21940
21941 2005-11-09  Edward Hervey  <edward@fluendo.com>
21942
21943         * docs/gst/gstreamer-sections.txt:
21944         * gst/gsturi.c:
21945         * gst/gsturi.h:
21946         Document GstURIHandler
21947
21948 2005-11-09  Wim Taymans  <wim@fluendo.com>
21949
21950         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21951         (gst_iterator_find_custom):
21952         * gst/gstiterator.h:
21953         Fix iterator docs.
21954
21955 2005-11-09  Wim Taymans  <wim@fluendo.com>
21956
21957         * gst/gstbin.h:
21958         Document another field.
21959
21960         * gst/gststructure.c:
21961         * gst/gststructure.h:
21962         Document.
21963
21964 2005-11-09  Wim Taymans  <wim@fluendo.com>
21965
21966         * gst/gstbin.h:
21967         Documented structs.
21968
21969 2005-11-09  Wim Taymans  <wim@fluendo.com>
21970
21971         * docs/gst/gstreamer-sections.txt:
21972         Added some new macros.
21973
21974         * gst/gstclock.c:
21975         * gst/gstclock.h:
21976         * gst/gstobject.h:
21977         Docs updates.
21978
21979 2005-11-09  Wim Taymans  <wim@fluendo.com>
21980
21981         * docs/design/part-TODO.txt:
21982         Some more items for the TODO
21983
21984         * gst/gstcaps.c:
21985         * gst/gstcaps.h:
21986         Document GstCaps.
21987
21988 2005-11-09  Andy Wingo  <wingo@pobox.com>
21989
21990         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21991         to work on something else now tho...
21992
21993         * gst/base/gstadapter.c: More adapter docs.
21994
21995         * gst/elements/gstfilesink.c (gst_file_sink_start) 
21996         (gst_file_sink_stop): New functions, replace the state change
21997         handler.
21998         (gst_file_sink_class_init): Hook up the start and stop functions.
21999         (gst_file_sink_base_init): Don't set the state change handler any
22000         more. It was a bit ugly too, being set from here...
22001         (gst_file_sink_get_property, gst_file_sink_set_property):
22002         Cleanups...
22003         (gst_file_sink_set_location): More robust check that doesn't call
22004         GST_STATE. Ugggggg.
22005
22006 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
22007
22008         * gst/base/gstbasetransform.c: (gst_base_transform_event):
22009           Hold STREAM_LOCK while pushing newsegment or tag events as well.
22010
22011 2005-11-08  Wim Taymans  <wim@fluendo.com>
22012
22013         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
22014         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
22015         (gst_base_sink_chain), (gst_base_sink_change_state):
22016         * gst/base/gstbasesink.h:
22017         * gst/base/gstbasesrc.h:
22018         * gst/gstelement.h:
22019         * gst/gstevent.h:
22020         Avoid excessive typechecking in macros.
22021
22022         * gst/gstminiobject.c: (gst_mini_object_get_type),
22023         (gst_mini_object_init), (gst_mini_object_new),
22024         (gst_mini_object_free):
22025         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
22026         (gst_object_finalize):
22027         Remove cruft code, optimize alloc_trace.
22028
22029 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
22030
22031         * docs/faq/gst-uninstalled:
22032           fix up PS1 for systems that try to reset it
22033
22034 2005-11-07  Wim Taymans  <wim@fluendo.com>
22035
22036         * gst/base/gstbasesrc.c: (gst_base_src_init),
22037         (gst_base_src_get_range):
22038         Set the segment_end to -1 initially. Fixed typefind.
22039
22040 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
22041
22042         * gst/base/gstadapter.c:
22043           Debug category should be 'adapter', not 'GstAdapter'.
22044           
22045         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
22046         (gst_collectpads_class_init), (gst_collectpads_init),
22047         (gst_collectpads_peek), (gst_collectpads_pop),
22048         (gst_collectpads_event), (gst_collectpads_chain):
22049           Add debug category and some debugging output. Use boilerplate
22050           macros. Remove some extraneous words from docs.
22051
22052 2005-11-05  Andy Wingo  <wingo@pobox.com>
22053
22054         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
22055         macro.
22056
22057 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
22058
22059         * docs/gst/gstreamer-sections.txt:
22060         * gst/gstcaps.h:
22061         * gst/gstinfo.c:
22062         * gst/gstminiobject.h:
22063         * gst/gstobject.h:
22064         * gst/gstutils.h:
22065           more docs added
22066
22067 2005-11-04  Wim Taymans  <wim@fluendo.com>
22068
22069         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22070         Small update to stop at the configured segment_end
22071         position.
22072
22073 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
22074
22075         * gst/gstregistry.c:
22076         * gst/gstregistry.h:
22077           added missing docs
22078
22079 2005-11-04  Edward Hervey  <edward@fluendo.com>
22080
22081         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22082         Check if we are doing a segment seek and have arrived at the
22083         end of that segment.
22084
22085 2005-11-04  Wim Taymans  <wim@fluendo.com>
22086
22087         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
22088         Don't leak a mutex unlock in case of an error.
22089
22090         * gst/gstbus.h:
22091         Doc fixes.
22092
22093 2005-11-04  Wim Taymans  <wim@fluendo.com>
22094
22095         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
22096         (gst_bus_post):
22097         Get the context to wake up only once.
22098
22099 2005-11-03  Wim Taymans  <wim@fluendo.com>
22100
22101         * check/states/sinks.c: (GST_START_TEST):
22102         Uncomment fixed check.
22103
22104         * docs/design/part-TODO.txt:
22105         Updated TODO.
22106
22107         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22108         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
22109         (gst_base_sink_get_position):
22110         If we are going to PLAYING, post the right pending state
22111         when we post the intermediate paused message.
22112
22113         * gst/gstelement.c: (gst_element_continue_state),
22114         (gst_element_set_state_func), (gst_element_change_state):
22115         Don't post state changes that were between the same state
22116         and were not ASYNC.
22117
22118 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
22119
22120         * docs/gst/gstreamer-sections.txt:
22121         * gst/gstcaps.h:
22122         * gst/gstinfo.c:
22123         * gst/gstminiobject.h:
22124         * gst/gstobject.h:
22125         * gst/gstutils.h:
22126           more docs and doc style fixes
22127
22128 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
22129
22130         * docs/gst/gstreamer-sections.txt:
22131         * gst/gstelement.c:
22132         * gst/gstminiobject.c:
22133         doc fixes
22134
22135 2005-11-03  Andy Wingo  <wingo@pobox.com>
22136
22137         * check/states/sinks.c (test_livesrc_sink): Add checks that the
22138         state-changed messages actually have the right order and the right
22139         values.
22140
22141 2005-11-03  Wim Taymans  <wim@fluendo.com>
22142
22143         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
22144         Added some more checks. Specifically the case where NO_PREROLL
22145         elements are in the pipeline.
22146
22147         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22148         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
22149         (gst_base_sink_get_position):
22150         Post READY->PAUSED state change messages too.
22151         Fix bug where VOID was posted as pending state...
22152
22153         * gst/gstbin.c: (gst_bin_recalc_state):
22154         use _element_continue_state() to continue the state change.
22155
22156         * gst/gstelement.c: (gst_element_continue_state),
22157         (gst_element_commit_state), (gst_element_set_state_func),
22158         (gst_element_change_state), (gst_element_change_state_func):
22159         Lots of state change cleanups, assign the STATE_RETURN in
22160         a new continue_state() function that also propagates the
22161         last return value from a state change to the app.
22162         Update some debug statements with proper category.
22163
22164 2005-11-03  Wim Taymans  <wim@fluendo.com>
22165
22166         * docs/design/part-events.txt:
22167         * docs/design/part-gstpipeline.txt:
22168         * docs/design/part-messages.txt:
22169         * docs/design/part-overview.txt:
22170         * docs/design/part-seeking.txt:
22171         * docs/design/part-states.txt:
22172         * docs/design/part-trickmodes.txt:
22173         * docs/manual/advanced-position.xml:
22174         Small docs updates.
22175
22176         * gst/gstobject.h:
22177         People think !! is ugly, this looks better.
22178
22179         * gst/gstpad.c: (gst_pad_set_blocked_async):
22180         Remove !! since it's fixed elsewhere now.
22181
22182 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
22183
22184         * gst/gstminiobject.h:
22185         * gst/gstobject.h:
22186           Add !! to _FLAG_IS_SET macros to make the result boolean.
22187
22188 2005-11-03  Edward Hervey  <edward@fluendo.com>
22189
22190         * gst/gstpad.c: (gst_pad_set_blocked_async):
22191         comparing a flag and a gboolean rarely returns coherent results...
22192         Added two characters (!!) to make that work correctly.
22193         
22194 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
22195
22196         * gst/gstbus.c: (gst_bus_class_init):
22197           Fix some typos.
22198           
22199         * gst/gstqueue.c: (gst_queue_loop):
22200           Don't assume a miniobject that isn't a buffer is an
22201           event (it could be that there is a refcounting
22202           problem somewhere and the pointer is stale and
22203           refers to an already destroyed miniobject).
22204
22205 2005-11-03  Julien MOUTTE  <julien@moutte.net>
22206
22207         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
22208
22209 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
22210
22211         * docs/manual/advanced-position.xml:
22212           Update seek example and explanations to current 0.9 API.
22213
22214         * gst/elements/gsttypefindelement.c:
22215         (gst_type_find_element_activate):
22216           Remove FIXME comment now that the found caps
22217           are unreffed.
22218
22219 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
22220
22221         * gst/gstregistryxml.c: (load_feature):
22222           Add another GST_STR_NULL instance
22223
22224 2005-11-02  Edward Hervey  <edward@fluendo.com>
22225
22226         * gst/gstpad.c: (handle_pad_block):
22227         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
22228         
22229 2005-11-02  Wim Taymans  <wim@fluendo.com>
22230
22231         * gst/gstbin.c:
22232         Fix typo in docs.
22233
22234         * gst/gstelement.c: (gst_element_commit_state):
22235         Remove unused value.
22236
22237         * gst/gstiterator.c:
22238         Mention that the returned element is reffed in the docs.
22239
22240 2005-11-02  Wim Taymans  <wim@fluendo.com>
22241
22242         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
22243         (gst_pad_push), (gst_pad_push_event):
22244         Unlock blocked pads when they are flushed.
22245
22246 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22247
22248         * docs/README:
22249         * docs/gst/gstreamer-sections.txt:
22250         * gst/gstbin.c:
22251           doc updates
22252         * gst/gstregistry.c: (gst_registry_scan_path_level):
22253           fix for a nasty little missed situation where an installed plug-in
22254           which was in the cache did not get overridden by an uninstalled one
22255           which was earlier in the plugin path because the newly created plugin
22256           for the uninstalled one (not in the registry) didn't get its
22257           ->registered set to TRUE
22258
22259 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
22260
22261         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
22262         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
22263         (gst_collectpads_is_active), (gst_collectpads_collect),
22264         (gst_collectpads_collect_range), (gst_collectpads_start),
22265         (gst_collectpads_stop), (gst_collectpads_peek),
22266         (gst_collectpads_pop), (gst_collectpads_available),
22267         (gst_collectpads_read), (gst_collectpads_flush):
22268           Guard public API with assertions.
22269         
22270         * gst/gstpad.c:
22271           Fix docs for gst_pad_set_link_function().
22272
22273 2005-11-02  Johan Dahlin  <johan@gnome.org>
22274
22275         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
22276         Unref found_caps after we used it.
22277
22278 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
22279
22280         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
22281           Don't try to ref NULL.
22282
22283 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22284
22285         * win32/common/config.h.in:
22286           provide a GST_FUNCTION that just gives a string for now
22287
22288 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22289
22290         * win32/common/gstenumtypes.c: (register_gst_object_flags),
22291         (gst_object_flags_get_type), (register_gst_bin_flags),
22292         (gst_bin_flags_get_type), (register_gst_buffer_flag),
22293         (gst_buffer_flag_get_type), (register_gst_bus_flags),
22294         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
22295         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
22296         (gst_clock_return_get_type), (register_gst_clock_entry_type),
22297         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
22298         (gst_clock_flags_get_type), (register_gst_state),
22299         (gst_state_get_type), (register_gst_state_change_return),
22300         (gst_state_change_return_get_type), (register_gst_state_change),
22301         (gst_state_change_get_type), (register_gst_element_flags),
22302         (gst_element_flags_get_type), (register_gst_core_error),
22303         (gst_core_error_get_type), (register_gst_library_error),
22304         (gst_library_error_get_type), (register_gst_resource_error),
22305         (gst_resource_error_get_type), (register_gst_stream_error),
22306         (gst_stream_error_get_type), (register_gst_event_type),
22307         (gst_event_type_get_type), (register_gst_seek_type),
22308         (gst_seek_type_get_type), (register_gst_seek_flags),
22309         (gst_seek_flags_get_type), (register_gst_format),
22310         (gst_format_get_type), (register_gst_index_certainty),
22311         (gst_index_certainty_get_type), (register_gst_index_entry_type),
22312         (gst_index_entry_type_get_type),
22313         (register_gst_index_lookup_method),
22314         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
22315         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
22316         (gst_index_resolver_method_get_type), (register_gst_index_flags),
22317         (gst_index_flags_get_type), (register_gst_debug_level),
22318         (gst_debug_level_get_type), (register_gst_debug_color_flags),
22319         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
22320         (gst_iterator_result_get_type), (register_gst_iterator_item),
22321         (gst_iterator_item_get_type), (register_gst_message_type),
22322         (gst_message_type_get_type), (register_gst_mini_object_flags),
22323         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
22324         (gst_pad_link_return_get_type), (register_gst_flow_return),
22325         (gst_flow_return_get_type), (register_gst_activate_mode),
22326         (gst_activate_mode_get_type), (register_gst_pad_direction),
22327         (gst_pad_direction_get_type), (register_gst_pad_flags),
22328         (gst_pad_flags_get_type), (register_gst_pad_presence),
22329         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
22330         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
22331         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
22332         (gst_plugin_error_get_type), (register_gst_plugin_flags),
22333         (gst_plugin_flags_get_type), (register_gst_rank),
22334         (gst_rank_get_type), (register_gst_query_type),
22335         (gst_query_type_get_type), (register_gst_tag_merge_mode),
22336         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
22337         (gst_tag_flag_get_type), (register_gst_task_state),
22338         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
22339         (gst_alloc_trace_flags_get_type),
22340         (register_gst_type_find_probability),
22341         (gst_type_find_probability_get_type), (register_gst_uri_type),
22342         (gst_uri_type_get_type), (register_gst_parse_error),
22343         (gst_parse_error_get_type):
22344         * win32/common/gstversion.h:
22345           update win32 copies
22346
22347 2005-11-01  Luca Ognibene  <luogni@tin.it>
22348
22349         * gst/gst.c:
22350           fix docs. popt is dead, long live GOption.
22351
22352 2005-10-31  Wim Taymans  <wim@fluendo.com>
22353
22354         * gst/gstbuffer.h:
22355         Small doc fix.
22356
22357 2005-10-31  Andy Wingo  <wingo@pobox.com>
22358
22359         * Boo!
22360
22361         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
22362
22363         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
22364         need to serialize property notifications on GLib 2.8. GLib 2.6 has
22365         the possibility of deadlocks here if code calling notify() or
22366         set() has a lock that can be taken in another notify handler (ABBA
22367         with class lock and e.g. python GIL state lock).
22368
22369 2005-10-28  Julien MOUTTE  <julien@moutte.net>
22370
22371         * gst/gstbus.c: Doc updates.
22372
22373 2005-10-28  Wim Taymans  <wim@fluendo.com>
22374
22375         * docs/design/part-TODO.txt:
22376         * gst/gstiterator.c:
22377         * gst/gstsystemclock.c:
22378         * gst/gstsystemclock.h:
22379         Doc updates.
22380
22381 2005-10-28  Edward Hervey  <edward@fluendo.com>
22382
22383         * docs/gst/gstreamer-docs.sgml:
22384         * docs/gst/gstreamer-sections.txt:
22385         the GstURIType documentation page is private, it only defines GstURIType
22386         which should be defined in the GstURIHandler page
22387         
22388 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
22389
22390         * gst/gstbin.c: (gst_bin_class_init):
22391         * gst/gstbin.h:
22392         * gst/gstutils.c:
22393         Documentation updates.
22394
22395 2005-10-28  Wim Taymans  <wim@fluendo.com>
22396
22397         * docs/gst/gstreamer-sections.txt:
22398         * gst/gstclock.c:
22399         * gst/gstclock.h:
22400         Documented the clocks.
22401
22402 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
22403
22404         * docs/gst/gstreamer-sections.txt:
22405           move some macros to private sections
22406         * gst/gstminiobject.c:
22407         * gst/gstminiobject.h:
22408           add descriptions provided by ds and some more
22409         * gst/gstpad.h:
22410           mark macro as to be removed
22411
22412 2005-10-28  Wim Taymans  <wim@fluendo.com>
22413
22414         * docs/design/part-TODO.txt:
22415         Add an item to TODO.
22416
22417         * gst/gstiterator.c: (gst_iterator_fold),
22418         (gst_iterator_find_custom):
22419         * gst/gstiterator.h:
22420         Add iterator docs.
22421
22422 2005-10-28  Wim Taymans  <wim@fluendo.com>
22423
22424         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22425         (gst_base_transform_init):
22426         Don't leak class.
22427
22428         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
22429         An EOS event marks the queue as completely filled.
22430
22431 2005-10-27  Wim Taymans  <wim@fluendo.com>
22432
22433         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22434         (gst_base_sink_do_sync), (gst_base_sink_get_position):
22435         Some more debugging.
22436
22437         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
22438         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
22439         (gst_base_transform_event), (gst_base_transform_getrange),
22440         (gst_base_transform_chain):
22441         * gst/base/gstbasetransform.h:
22442         Fix debugging,
22443         Protect transform and concurrent buffer alloc with a new lock.
22444         Try not to break ABI/API.
22445
22446 2005-10-27  Wim Taymans  <wim@fluendo.com>
22447
22448         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22449         (gst_base_src_init), (gst_base_src_query),
22450         (gst_base_src_default_newsegment),
22451         (gst_base_src_configure_segment), (gst_base_src_do_seek),
22452         (gst_base_src_send_event), (gst_base_src_event_handler),
22453         (gst_base_src_pad_get_range), (gst_base_src_loop),
22454         (gst_base_src_unlock), (gst_base_src_default_negotiate),
22455         (gst_base_src_start), (gst_base_src_deactivate),
22456         (gst_base_src_activate_push), (gst_base_src_change_state):
22457         Move some stuff around and cleanup things.
22458
22459 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
22460
22461         * gst/base/gstbasesrc.c: (gst_base_src_query):
22462           Add missing break statements.
22463
22464 2005-10-27  Wim Taymans  <wim@fluendo.com>
22465
22466         * check/gst/gstbin.c: (GST_START_TEST):
22467         An extra refcount is taken in basesrc.
22468
22469         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
22470         (gst_base_src_get_range), (gst_base_src_pad_get_range),
22471         (gst_base_src_loop):
22472         Small cleanups, check for flushing after being unlocked from the 
22473         LIVE_LOCK. take refcounts correctly (not yet everywhere).
22474         Don't send out EOS when going to READY.
22475
22476 2005-10-27  Wim Taymans  <wim@fluendo.com>
22477
22478         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22479         (gst_base_sink_get_position):
22480         Some more debug.
22481
22482         * gst/gstbin.c: (message_check), (bin_replace_message),
22483         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22484         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22485         (bin_query_duration_init), (bin_query_duration_fold),
22486         (bin_query_duration_done), (bin_query_generic_fold),
22487         (gst_bin_query):
22488         * tools/gst-launch.c: (main):
22489         Remove old option.
22490
22491 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
22492
22493         * examples/controller/audio-example.c: (main):
22494         * examples/queue/queue.c: (event_loop):
22495         * gst/base/gstbasetransform.h:
22496         * gst/gstelement.c: (gst_element_send_event):
22497         * gst/gstevent.h:
22498         * gst/gstpad.c: (gst_pad_send_event):
22499           fixing examples
22500           fixing docs typos
22501           changing log priority in error situations
22502
22503 2005-10-25  Wim Taymans  <wim@fluendo.com>
22504
22505         * gst/gstbin.c: (message_check), (bin_replace_message),
22506         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22507         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22508         (bin_query_duration_init), (bin_query_duration_fold),
22509         (bin_query_duration_done), (bin_query_generic_fold),
22510         (gst_bin_query):
22511         Some doc and debug updates.
22512         Cache previously requested query DURATION for speed. invalidate
22513         cached duration if element posts a DURATION message.
22514
22515 2005-10-25  Wim Taymans  <wim@fluendo.com>
22516
22517         * docs/design/part-TODO.txt:
22518         Update TODO.
22519
22520         * gst/gstbin.c: (message_check), (bin_replace_message),
22521         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22522         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22523         (bin_query_duration_init), (bin_query_duration_fold),
22524         (bin_query_duration_done), (bin_query_generic_fold),
22525         (gst_bin_query):
22526         Handle SEGMENT_START/DONE messages correctly.
22527         More evolved query algorithm that handles duration queries
22528         correctly.
22529
22530         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
22531         (gst_element_get_state_func), (gst_element_abort_state),
22532         (gst_element_commit_state), (gst_element_lost_state):
22533         Some more debugging.
22534
22535         * gst/gstmessage.h:
22536         Added doc.
22537
22538 2005-10-25  Wim Taymans  <wim@fluendo.com>
22539
22540         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
22541         Don't use invalid stream_time.
22542
22543         * gst/gstevent.c: (gst_event_new_newsegment):
22544         stream_time in newsegment cannot be undefined.
22545
22546 2005-10-24  Wim Taymans  <wim@fluendo.com>
22547
22548         * gst/gstbus.c:
22549         Doc fix.
22550
22551         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22552         (gst_queue_loop):
22553         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22554
22555 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
22556
22557         * docs/libs/tmpl/gstdparam.sgml:
22558         * docs/libs/tmpl/gstdplinint.sgml:
22559         * docs/libs/tmpl/gstdpman.sgml:
22560         * docs/libs/tmpl/gstdpsmooth.sgml:
22561         * docs/libs/tmpl/gstunitconvert.sgml:
22562           these are obsolete
22563
22564 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22565
22566         * configure.ac:
22567           back to HEAD
22568
22569 === release 0.9.4 ===
22570
22571 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22572
22573         * configure.ac:
22574           releasing 0.9.4, "Tyrannosaurus Rex"
22575
22576 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
22577
22578         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22579         (gst_file_sink_get_current_offset):
22580           Use fseeko() and ftello() if available. When falling back on
22581           lseek() to get the current offset, fflush() first to make sure
22582           everything is up-to-date and we get the right offset.
22583
22584 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22585
22586         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22587         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22588         * gst/gsterror.c: (_gst_stream_errors_init):
22589         * gst/gsterror.h:
22590         * gst/gstqueue.c: (gst_queue_loop):
22591         * po/POTFILES.in:
22592           remove prematurely added error category and clean up the instances
22593
22594 2005-10-21  Wim Taymans  <wim@fluendo.com>
22595
22596         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22597         (gst_base_sink_get_position), (gst_base_sink_query),
22598         (gst_base_sink_change_state):
22599         Simply set the right flag when going to playing, that's all
22600         we need to do instead of calling a function inside the object
22601         lock (that could take the lock as well and deadlock)
22602
22603 2005-10-21  Wim Taymans  <wim@fluendo.com>
22604
22605         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22606         (gst_base_src_loop):
22607         Don't warn, the peer element knows what to do best when
22608         the seek failed, it might try something else.
22609
22610 2005-10-21  Wim Taymans  <wim@fluendo.com>
22611
22612         * gst/base/gstbasesrc.c: (gst_base_src_init),
22613         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22614         Fix seeking.
22615
22616 2005-10-21  Wim Taymans  <wim@fluendo.com>
22617
22618         * docs/design/part-segments.txt:
22619         More docs.
22620
22621         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22622         Correctly set caps, even on the subbufer.
22623
22624 2005-10-21  Wim Taymans  <wim@fluendo.com>
22625
22626         * docs/gst/gstreamer-docs.sgml:
22627         * docs/gst/gstreamer-sections.txt:
22628         * gst/gstelement.h:
22629         * gst/gstevent.c:
22630         * gst/gstevent.h:
22631         * gst/gstmessage.h:
22632         * gst/gstpad.h:
22633         * gst/gstparse.h:
22634         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22635         * gst/gsttask.h:
22636         * gst/gstutils.c:
22637         * gst/gstutils.h:
22638         And 2% more doc coverage.
22639
22640 2005-10-21  Andy Wingo  <wingo@pobox.com>
22641
22642         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22643         position reporting.
22644
22645 2005-10-20  Wim Taymans  <wim@fluendo.com>
22646
22647         * gst/gsterror.c: (gst_error_get_message):
22648         * gst/gstparse.h:
22649         * gst/gstquery.h:
22650         * gst/gststructure.c:
22651         * gst/gsttrace.c:
22652         * gst/gstutils.c:
22653         More docs.
22654
22655 2005-10-20  Wim Taymans  <wim@fluendo.com>
22656
22657         * gst/gstbuffer.h:
22658         * gst/gstpad.c:
22659         * gst/gstparse.c:
22660         Another 1% more coverage.
22661
22662 2005-10-20  Wim Taymans  <wim@fluendo.com>
22663
22664         * docs/gst/gstreamer-sections.txt:
22665         * gst/gstelement.c: (gst_element_get_state_func),
22666         (gst_element_abort_state), (gst_element_commit_state),
22667         (gst_element_lost_state):
22668         * gst/gstevent.h:
22669         * gst/gstquery.c: (gst_query_set_position),
22670         (gst_query_parse_position), (gst_query_set_duration),
22671         (gst_query_parse_duration), (gst_query_new_convert):
22672         * gst/gstutils.c:
22673         Yay! 1% more docs coverage.
22674
22675 2005-10-20  Wim Taymans  <wim@fluendo.com>
22676
22677         * gst/gstpad.h:
22678         * gst/gstquery.c: (gst_query_set_position),
22679         (gst_query_parse_position), (gst_query_set_duration),
22680         (gst_query_parse_duration), (gst_query_new_convert):
22681         * gst/gstquery.h:
22682         * gst/gstutils.c: (gst_element_query_convert):
22683         * gst/gstutils.h:
22684         Docs and consistency fixes.
22685
22686 2005-10-20  Wim Taymans  <wim@fluendo.com>
22687
22688         * gst/gsttask.c:
22689         * gst/gsttask.h:
22690         More docs.
22691
22692 2005-10-20  Wim Taymans  <wim@fluendo.com>
22693
22694         * gst/gstbin.c: (message_check), (bin_replace_message),
22695         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22696         (update_degree), (gst_bin_sort_iterator_next),
22697         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22698         Reworked the message handling a bit, cache the messages instead of
22699         only the senders. alows us to do more in the future.
22700
22701 2005-10-20  Wim Taymans  <wim@fluendo.com>
22702
22703         * docs/design/part-TODO.txt:
22704         Update TODO
22705
22706         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22707         (gst_base_sink_query):
22708         Don't use clock time to report position when in EOS.
22709
22710 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
22711
22712         * tools/gst-inspect.c: (print_interfaces),
22713         (print_element_properties_info), (print_element_info):
22714           Fix interface output with gst-inspect -a; don't print
22715           newlines after double/float properties.
22716
22717 2005-10-20  Wim Taymans  <wim@fluendo.com>
22718
22719         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22720         (gst_base_sink_query):
22721         Speed up current position calculation.
22722
22723         * gst/base/gstbasesrc.c: (gst_base_src_query),
22724         (gst_base_src_default_newsegment):
22725         Correctly set stream position in newsegment.
22726
22727         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22728         (update_degree), (gst_bin_sort_iterator_next),
22729         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22730         * gst/gstmessage.c: (gst_message_new_custom):
22731         Clean up debugging info
22732
22733         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22734         (gst_queue_loop), (gst_queue_handle_src_query):
22735         Pause task faster.
22736
22737 2005-10-19  Wim Taymans  <wim@fluendo.com>
22738
22739         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22740         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22741         Fix query handling again.
22742
22743 2005-10-19  Wim Taymans  <wim@fluendo.com>
22744
22745         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22746         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22747         * gst/base/gstbasesrc.c: (gst_base_src_query):
22748         * gst/elements/gstfilesink.c: (gst_file_sink_query):
22749         * gst/elements/gsttypefindelement.c:
22750         (gst_type_find_handle_src_query), (find_element_get_length),
22751         (gst_type_find_element_activate):
22752         API change fix.
22753
22754         * gst/gstquery.c: (gst_query_new_position),
22755         (gst_query_set_position), (gst_query_parse_position),
22756         (gst_query_new_duration), (gst_query_set_duration),
22757         (gst_query_parse_duration), (gst_query_set_segment),
22758         (gst_query_parse_segment):
22759         * gst/gstquery.h:
22760         Bundling query position/duration is not a good idea since duration
22761         does not change much and we don't want to recalculate it for every
22762         position query, so they are separated again..
22763         Base value in segment query is not needed.
22764
22765         * gst/gstqueue.c: (gst_queue_handle_src_query):
22766         * gst/gstutils.c: (gst_element_query_position),
22767         (gst_element_query_duration), (gst_pad_query_position),
22768         (gst_pad_query_duration):
22769         * gst/gstutils.h:
22770         Updates for query API change.
22771         Added some docs here and there.
22772
22773 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22774
22775         * check/gst/gstbin.c: (GST_START_TEST):
22776         * check/gst/gstghostpad.c: (GST_START_TEST):
22777         * check/pipelines/cleanup.c: (GST_START_TEST):
22778           wait on thread to die so we can check refcount correctly
22779
22780 2005-10-18  Wim Taymans  <wim@fluendo.com>
22781
22782         * check/pipelines/stress.c: (GST_START_TEST):
22783         Make check a little more time consuming.
22784
22785 2005-10-18  Wim Taymans  <wim@fluendo.com>
22786
22787         * check/Makefile.am:
22788         * check/pipelines/stress.c: (GST_START_TEST),
22789         (simple_launch_lines_suite), (main):
22790         Small state change torture test.
22791
22792         * docs/design/part-states.txt:
22793         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22794         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22795         (gst_base_sink_change_state):
22796         Never take state lock from streaming thread, clean up ugly
22797         hacks. Unfortunatly core does not yet support nice ways to
22798         async commit state.
22799         
22800         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22801         (bin_bus_handler):
22802         Start state recalc if a STATE_DIRTY message is posted, but only
22803         on the toplevel bin.
22804
22805         * gst/gstelement.c: (gst_element_sync_state_with_parent),
22806         (gst_element_get_state_func), (gst_element_abort_state),
22807         (gst_element_commit_state), (gst_element_lost_state),
22808         (gst_element_set_state_func), (gst_element_change_state):
22809         * gst/gstelement.h:
22810         State variables are now protected with the LOCK, the state
22811         lock is only used to serialize _set_state().
22812
22813 2005-10-18  Wim Taymans  <wim@fluendo.com>
22814
22815         * check/gst/gstbin.c: (GST_START_TEST):
22816         * check/gst/gstmessage.c: (GST_START_TEST):
22817         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22818         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22819         (bin_bus_handler):
22820         * gst/gstelement.c: (gst_element_abort_state),
22821         (gst_element_commit_state), (gst_element_lost_state):
22822         * gst/gstmessage.c: (gst_message_new_state_changed),
22823         (gst_message_new_state_dirty), (gst_message_new_segment_start),
22824         (gst_message_new_segment_done), (gst_message_new_duration),
22825         (gst_message_parse_state_changed),
22826         (gst_message_parse_segment_start),
22827         (gst_message_parse_segment_done), (gst_message_parse_duration):
22828         * gst/gstmessage.h:
22829         * tools/gst-launch.c: (event_loop):
22830         Seriously, this is better than a previous commit as we only need
22831         to notify the fact that an element changed state in a streaming
22832         thread, marking the state of the parents dirty, hence the 
22833         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22834         message.
22835
22836 2005-10-18  Wim Taymans  <wim@fluendo.com>
22837
22838         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22839         (gst_bin_recalc_func):
22840         * gst/gstelement.c: (gst_element_set_clock),
22841         (gst_element_abort_state), (gst_element_lost_state):
22842         Cleanups, prepare for state change fixes.
22843
22844 2005-10-18  Wim Taymans  <wim@fluendo.com>
22845
22846         * gst/gstbin.h:
22847         * gst/gstelement.c: (gst_element_class_init),
22848         (gst_element_set_state), (gst_element_set_state_func):
22849         * gst/gstelement.h:
22850         Pending ABI changes.
22851         GThreadPool in GstBinClass to monitor async state changes.
22852         state_cookie in GstElement to detect concurrent gst/set state.
22853         set_state is now virtual too in case a very complicated element
22854         has to be constructed.
22855
22856 2005-10-18  Wim Taymans  <wim@fluendo.com>
22857
22858         * check/gst/gstbin.c: (GST_START_TEST):
22859         * check/gst/gstmessage.c: (GST_START_TEST):
22860         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22861         * gst/gstbin.c: (bin_bus_handler):
22862         * gst/gstelement.c: (gst_element_commit_state),
22863         (gst_element_lost_state):
22864         * gst/gstmessage.c: (gst_message_new_state_changed),
22865         (gst_message_new_segment_start), (gst_message_new_segment_done),
22866         (gst_message_new_duration), (gst_message_parse_state_changed),
22867         (gst_message_parse_segment_start),
22868         (gst_message_parse_segment_done), (gst_message_parse_duration):
22869         * gst/gstmessage.h:
22870         * tools/gst-launch.c: (event_loop):
22871         Make messages future proof.
22872         state-change gets a flag if it was a message comming from the
22873         streaming thread.
22874         segment-start/stop can also be specified in other formats.
22875         A message to notify an app that a pipeline changed playback 
22876         duration.
22877         Also fix a GstMessage leak in -launch
22878
22879 2005-10-18  Andy Wingo  <wingo@pobox.com>
22880
22881         * gst/gstelement.c (gst_element_dispose): More helpful message.
22882
22883 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22884
22885         reviewed by: <delete if not using a buddy>
22886
22887         * common/gtk-doc.mak:
22888
22889 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22890
22891         * gst/gstregistry.c: (gst_registry_scan_path_level):
22892           unref a plug-in we get that was already initialized
22893
22894 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
22895
22896         * docs/gst/gstreamer-sections.txt:
22897         * docs/libs/gstreamer-libs-sections.txt:
22898         * gst/gstelement.h:
22899           add new api entries
22900           hide internal macro
22901
22902 2005-10-17  Andy Wingo  <wingo@pobox.com>
22903
22904         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22905         cleanup.
22906
22907         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22908
22909         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22910
22911         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22912         (gst_element_get_state_func): Better debug message.
22913         (gst_element_commit_state): s/INFO/DEBUG/.
22914         (gst_element_lost_state, gst_element_change_state): 
22915
22916         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22917         (gst_message_new_custom): s/INFO/LOG/.
22918
22919 2005-10-17  Michael Smith <msmith@fluendo.com>
22920
22921         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22922           Check if end time is valid using end time, not start time.
22923
22924 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
22925
22926         * check/gst-libs/controller.c: (GST_START_TEST),
22927         (gst_controller_suite):
22928         * libs/gst/controller/gstcontroller.c:
22929         (gst_controlled_property_set_interpolation_mode):
22930         * libs/gst/controller/gstcontroller.h:
22931         * libs/gst/controller/gstinterpolation.c:
22932         * testsuite/controller/.cvsignore:
22933         * testsuite/controller/Makefile.am:
22934         * testsuite/controller/interpolator.c:
22935           merge controller testsuites
22936           fix broken tests
22937           remove mem-chunk from docs
22938
22939 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22940
22941         * gst/gstmemchunk.c:
22942         * gst/gstmemchunk.h:
22943         * gst/gsttrashstack.c:
22944         * gst/gsttrashstack.h:
22945           out.  get out.  you're fired.  to the Attic !
22946
22947 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22948
22949         * gst/gstcaps.c: (gst_caps_intersect):
22950           fix signedness issues in a (hopefully) correct way
22951         * gst/gstelement.c: (gst_element_pads_activate):
22952           some debugging
22953         * gst/gstobject.c: (gst_object_set_parent):
22954           some debugging
22955
22956 2005-10-17  Julien MOUTTE  <julien@moutte.net>
22957
22958         * gst/gstvalue.h: Fix prototypes.
22959
22960 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22961
22962         * docs/gst/gstreamer-sections.txt:
22963         * gst/gst.c: (gst_version_string):
22964         * gst/gst.h:
22965         * gst/gstversion.h.in:
22966         * win32/common/libgstreamer.def:
22967           add gst_version_string ()
22968
22969 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22970
22971         * configure.ac:
22972           clean up further
22973         * gst/gst.c: (init_post):
22974         * win32/common/config.h.in:
22975           it's PLUGINDIR now
22976         * gst/gstcaps.c: (gst_caps_intersect):
22977           use gint64, the range could be bigger than a guint
22978
22979 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22980
22981         * gst/gstclock.h:
22982           document potential problem in 2038
22983
22984 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22985
22986         * gst/gstcaps.c: (gst_caps_intersect):
22987           Fix guint j diving under 0
22988
22989 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22990
22991         * configure.ac:
22992         * win32/common/config.h:
22993         * win32/common/config.h.in:
22994           check for process.h, declares getpid() on Windows
22995         * gst/gstinfo.c:
22996           include process.h if we have it
22997         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22998         * gst/gstmemchunk.h:
22999           fix signedness issues
23000         * win32/common/libgstreamer.def:
23001           fix get_type's
23002
23003 2005-10-16  Julien MOUTTE  <julien@moutte.net>
23004
23005         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
23006         fix. Because of unsigned ints, caps intersection was going nuts and
23007         trying to access structures with G_MAXUINT index. That fixes
23008         videotestsrc ! ffmpegcolorspace ! fakesink
23009         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
23010         consistency.
23011
23012 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
23013
23014         * configure.ac:
23015           use the gettext macro
23016         * gst/elements/gstelements.c:
23017         * gst/gst.c:
23018         * gst/indexers/gstindexers.c:
23019           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
23020         * win32/common/config.h:
23021           updated config.h
23022         * win32/common/config.h.in:
23023           add the template to generate config.h
23024         * win32/common/gstenumtypes.c:
23025         * win32/common/gstversion.h:
23026           updated copies
23027
23028 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
23029
23030         * gst/gst.c: (gst_version):
23031         * gst/gstversion.h.in:
23032           add the nano
23033
23034 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
23035
23036         * gst/gstevent.h:
23037           Oops, add missing closing bracket.
23038
23039 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23040
23041         * configure.ac:
23042           use common m4's for argument checking
23043
23044 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
23045
23046         * docs/gst/gstreamer-sections.txt:
23047         * gst/gstevent.h:
23048           Add GST_EVENT_TYPE_NAME() macro.
23049
23050 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23051
23052         * gst/gstinfo.c:
23053         * gst/gstpluginfeature.c:
23054         * gst/gsttask.c:
23055           privatize more symbols
23056
23057 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23058
23059         * configure.ac:
23060           add srcdir, builddir includes to GST_ALL_CFLAGS, since
23061           everything that uses GStreamer API should have the includes
23062
23063 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23064
23065         * docs/gst/gstreamer-sections.txt:
23066         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
23067         * gst/gstvalue.h:
23068           give each value a _get_type, removes the DATA exports
23069
23070 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23071
23072         * gst/gst.c:
23073         * gst/gst.h:
23074           remove _gst_registry_auto_load, not used anymore
23075         * gst/gstbin.c: (gst_bin_get_type):
23076         * gst/gstbin.h:
23077         * gst/gstelement.c: (gst_element_get_type):
23078         * gst/gstelement.h:
23079         * gst/gstobject.c: (gst_object_get_type):
23080         * gst/gstobject.h:
23081         * gst/gstpad.c: (gst_pad_get_type):
23082         * gst/gstpad.h:
23083           make _get_type functions similar, fixes data export from library
23084
23085 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23086
23087         * configure.ac:
23088           correctly make conditionals
23089         * gst/elements/Makefile.am:
23090         * gst/elements/gstelements.c:
23091           fix typo causing fdsrc not to build
23092
23093 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23094
23095         * testsuite/Makefile.am:
23096         * testsuite/bytestream/.cvsignore:
23097         * testsuite/bytestream/Makefile.am:
23098         * testsuite/bytestream/filepadsink.c:
23099         * testsuite/bytestream/gstbstest.c:
23100         * testsuite/bytestream/test1.c:
23101         * testsuite/bytestream/testfile1:
23102         * testsuite/caps/normalisation.c:
23103         * testsuite/caps/random.c: (main):
23104         * testsuite/cleanup/.cvsignore:
23105         * testsuite/cleanup/Makefile.am:
23106         * testsuite/cleanup/cleanup1.c:
23107         * testsuite/cleanup/cleanup2.c:
23108         * testsuite/cleanup/cleanup3.c:
23109         * testsuite/cleanup/cleanup4.c:
23110         * testsuite/cleanup/cleanup5.c:
23111         * testsuite/controller/interpolator.c:
23112         * testsuite/debug/printf_extension.c: (main):
23113         * testsuite/elements/tee.c:
23114         * testsuite/negotiation/.cvsignore:
23115         * testsuite/negotiation/Makefile.am:
23116         * testsuite/negotiation/pad_link.c:
23117         * testsuite/pad/Makefile.am:
23118         * testsuite/pad/chainnopull.c:
23119         * testsuite/pad/getnopush.c:
23120         * testsuite/pad/link.c:
23121         * testsuite/refcounting/sched.c: (create_pipeline):
23122         * testsuite/registry/Makefile.am:
23123         * testsuite/registry/gst-print-formats.c:
23124         * testsuite/schedulers/.cvsignore:
23125         * testsuite/schedulers/142183-2.c:
23126         * testsuite/schedulers/142183.c:
23127         * testsuite/schedulers/143777-2.c:
23128         * testsuite/schedulers/143777.c:
23129         * testsuite/schedulers/147713.c:
23130         * testsuite/schedulers/147819.c:
23131         * testsuite/schedulers/147894-2.c:
23132         * testsuite/schedulers/147894.c:
23133         * testsuite/schedulers/Makefile.am:
23134         * testsuite/schedulers/group_link.c:
23135         * testsuite/schedulers/queue_link.c:
23136         * testsuite/schedulers/relink.c:
23137         * testsuite/schedulers/unlink.c:
23138         * testsuite/schedulers/unref.c:
23139         * testsuite/schedulers/useless_iteration.c:
23140         * testsuite/states/bin.c:
23141           clean out/remove some stuff from the testsuite directories
23142
23143 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23144
23145         * configure.ac:
23146           check for some headers
23147         * gst/elements/Makefile.am:
23148         * gst/elements/gstelements.c:
23149           don't compile fdsrc without sys/socket.h
23150         * gst/indexers/Makefile.am:
23151         * gst/indexers/gstindexers.c: (plugin_init):
23152           don't compile fileindex without mmap
23153
23154 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23155
23156         * configure.ac:
23157           reorganize
23158           clean up
23159           document more
23160           remove cruft
23161         * check/Makefile.am:
23162         * docs/gst/Makefile.am:
23163         * examples/helloworld/Makefile.am:
23164         * gst/Makefile.am:
23165         * gst/base/Makefile.am:
23166         * gst/check/Makefile.am:
23167         * gst/elements/Makefile.am:
23168         * gst/indexers/Makefile.am:
23169         * gst/parse/Makefile.am:
23170         * libs/gst/controller/Makefile.am:
23171         * libs/gst/dataprotocol/Makefile.am:
23172         * examples/helloworld/helloworld.c: (event_loop):
23173           compile fixes, though it's not being compiled currently
23174
23175 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
23176
23177         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
23178           Add some simple tests for the new taglist date API.
23179
23180 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
23181
23182         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
23183         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
23184           Beautify 'last-message' output: print 'none' for buffer timestamps
23185           and durations if none is set; improve alignment with next messages.
23186
23187 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
23188
23189         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
23190         * gst/gstpluginfeature.h:
23191         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
23192         * gst/gstregistry.h:
23193         * docs/gst/gstreamer-sections.txt:
23194           Add new API to check plugin feature version requirements.
23195
23196         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
23197           Some basic tests for the above.         
23198
23199 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23200
23201         * gst/gststructure.c: (gst_structure_to_string):
23202           guard against NULL printf - happens when for example
23203           a message structure with GstClock gets serialized
23204
23205 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
23206
23207         * gst/base/gstcollectpads.c: (gst_collectpads_event):
23208           Fix presumable copy'n'pasto.
23209
23210 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23211
23212         * gst/elements/gstfakesrc.h:
23213         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
23214         * gst/elements/gsttypefindelement.c:
23215           fix some signedness
23216         * gst/elements/gstfilesink.c: (gst_file_sink_render):
23217           I wonder if this could actually write +2GB files before
23218
23219 2005-10-13  Andy Wingo  <wingo@pobox.com>
23220
23221         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
23222         Fix Timmeke Waymans bug.
23223         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
23224         string of the proper length to gst_caps_from_string. There's a
23225         potential for, before this fix, that this could cause someone
23226         connecting over the network to cause a segfault if the payload is
23227         not NUL-terminated.
23228
23229 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
23230
23231         * docs/design/draft-push-pull.txt:
23232         * docs/design/part-overview.txt:
23233         * docs/random/TODO-pre-0.9:
23234         * docs/random/old/ChangeLog.gstreamer:
23235         * gst/base/gstpushsrc.c:
23236         * gst/gstclock.c:
23237           fixed typos
23238
23239 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23240
23241         * gst/glib-compat.c: (gst_flags_get_first_value):
23242         * gst/glib-compat.h:
23243         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
23244         (gst_value_compare_double), (gst_value_serialize_flags):
23245           GLib 2.6 g_flags_get_first_value has a bug that triggers an
23246           infinite loop
23247
23248 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23249
23250         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23251         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
23252           fix up debugging
23253         * tools/gst-launch.c: (event_loop):
23254           print out clock nicely
23255
23256 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
23257
23258         * docs/gst/gstreamer-sections.txt:
23259         * gst/gsttaglist.h:
23260         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
23261         (gst_tag_list_get_date_index):
23262           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
23263           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
23264
23265 2005-10-13  Julien MOUTTE  <julien@moutte.net>
23266
23267         * gst/base/gstcollectpads.c: (gst_collectpads_event),
23268         (gst_collectpads_chain):
23269         * gst/base/gstcollectpads.h: Handle newsegment and store informations
23270         in CollectData.
23271
23272 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
23273
23274         * docs/gst/gstreamer-sections.txt:
23275         * gst/gst.c:
23276         * gst/gsterror.h:
23277         * tools/gst-inspect.c: (main):
23278         * tools/gst-launch.c: (main):
23279         * tools/gst-run.c: (main):
23280         * tools/gst-xmlinspect.c: (main):
23281           fix GOption context leaks
23282           doc fixes
23283
23284 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23285
23286         * gst/gstbus.c:
23287           use HAVE_UNISTD_H
23288         * win32/common/config.h:
23289           update config
23290         * win32/vs6/grammar.dsp:
23291         * win32/vs6/libgstelements.dsp:
23292         * win32/vs6/libgstreamer.dsp:
23293           update vs6 files
23294
23295 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23296
23297         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23298         * gst/base/gstbasesrc.c: (gst_base_src_query):
23299           fix more guint64<->gdouble conversions
23300
23301 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23302
23303         * Makefile.am:
23304           add win32-update target
23305         * win32/common/gstconfig.h:
23306         * win32/common/gstenumtypes.c:
23307         * win32/common/gstenumtypes.h:
23308         * win32/common/gstversion.h:
23309           add files that visual studio can't generate
23310
23311 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23312
23313         * Makefile.am:
23314           add a win32-update target
23315         * configure.ac:
23316
23317 2005-10-12  Wim Taymans  <wim@fluendo.com>
23318
23319         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23320         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
23321         * gst/gstelement.c: (gst_element_commit_state),
23322         (gst_element_set_state):
23323         Protect flags with proper lock.
23324         unref provided cached clock in dispose.
23325
23326 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
23327
23328         * gst/gst.c:
23329         * gst/gstminiobject.h:
23330         * gst/gstpad.h:
23331         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
23332           removed unused flags from miniobject
23333           doc fixes
23334
23335 2005-10-12  Wim Taymans  <wim@fluendo.com>
23336
23337         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
23338         (gst_file_sink_event), (gst_file_sink_render):
23339         Flush before seeking.
23340
23341 2005-10-12  Andy Wingo  <wingo@pobox.com>
23342
23343         * gst/gst.c (gst_init_check): Ignore unknown options, as has
23344         always been the case.
23345
23346 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
23347
23348         * check/gst/gstbin.c: (GST_START_TEST):
23349         * docs/gst/gstreamer-sections.txt:
23350         * gst/base/gstbasesink.c: (gst_base_sink_init):
23351         * gst/base/gstbasesrc.c: (gst_base_src_init),
23352         (gst_base_src_get_range), (gst_base_src_check_get_range),
23353         (gst_base_src_start), (gst_base_src_stop):
23354         * gst/base/gstbasesrc.h:
23355         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
23356         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23357         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
23358         (bin_bus_handler):
23359         * gst/gstbin.h:
23360         * gst/gstbuffer.h:
23361         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
23362         * gst/gstbus.h:
23363         * gst/gstelement.c: (gst_element_is_locked_state),
23364         (gst_element_set_locked_state), (gst_element_commit_state),
23365         (gst_element_set_state):
23366         * gst/gstelement.h:
23367         * gst/gstindex.c: (gst_index_init):
23368         * gst/gstindex.h:
23369         * gst/gstminiobject.h:
23370         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
23371         (gst_object_set_parent):
23372         * gst/gstobject.h:
23373         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
23374         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
23375         * gst/gstpad.h:
23376         * gst/gstpadtemplate.h:
23377         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
23378         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
23379         * gst/gstpipeline.h:
23380         * gst/indexers/gstfileindex.c: (gst_file_index_load),
23381         (gst_file_index_commit):
23382         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
23383         * testsuite/pad/link.c: (gst_test_src_init),
23384         (gst_test_filter_init), (gst_test_sink_init):
23385         * testsuite/states/locked.c: (main):
23386           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
23387           moved bitshift from macro to enum definition
23388
23389 2005-10-12  Wim Taymans  <wim@fluendo.com>
23390
23391         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
23392         * gst/elements/gstfilesink.c: (gst_file_sink_event),
23393         (gst_file_sink_render):
23394         Some more debugging info.
23395
23396 2005-10-12  Wim Taymans  <wim@fluendo.com>
23397
23398         * docs/design/part-states.txt:
23399         * tools/gst-launch.c: (main):
23400         Some doc updates.
23401         Revert non-intentional change.
23402
23403 2005-10-12  Wim Taymans  <wim@fluendo.com>
23404
23405         * check/gst/gstbin.c: (GST_START_TEST):
23406         * check/gst/gstelement.c: (GST_START_TEST):
23407         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
23408         * check/gst/gstghostpad.c: (GST_START_TEST):
23409         * check/gst/gstpipeline.c: (GST_START_TEST):
23410         * check/pipelines/simple_launch_lines.c: (run_pipeline):
23411         * check/states/sinks.c: (GST_START_TEST):
23412         * gst/elements/gsttypefindelement.c: (stop_typefinding):
23413         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23414         (gst_bin_remove_func), (gst_bin_get_state_func),
23415         (gst_bin_recalc_state), (gst_bin_change_state_func),
23416         (bin_bus_handler):
23417         * gst/gstelement.c: (gst_element_get_state_func),
23418         (gst_element_get_state), (gst_element_abort_state),
23419         (gst_element_commit_state), (gst_element_set_state),
23420         (gst_element_change_state), (gst_element_change_state_func):
23421         * gst/gstelement.h:
23422         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
23423         (gst_pipeline_provide_clock_func):
23424         * gst/gstutils.c: (gst_element_link_pads_filtered):
23425         * tools/gst-launch.c: (main):
23426         * tools/gst-typefind.c: (main):
23427         Use GstClockTime in _get_state() instead of GTimeVal.
23428         Remove old code in gstutils.c
23429
23430 2005-10-12  Andy Wingo  <wingo@pobox.com>
23431
23432         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
23433         removed.
23434
23435         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
23436         there is no task. Shouldn't affect any code, as nothing in our
23437         plugins checks this return value.
23438         (gst_pad_stop_task): Also take the stream lock if the pad has no
23439         task. Docs updated.
23440
23441 2005-10-12  Wim Taymans  <wim@fluendo.com>
23442
23443         * gst/gstpad.c: (pre_activate), (post_activate),
23444         (gst_pad_activate_pull), (gst_pad_activate_push):
23445         Cleanup activation code. Reset old state if
23446         activation failed.
23447
23448 2005-10-12  Wim Taymans  <wim@fluendo.com>
23449
23450         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23451         (gst_base_sink_change_state):
23452         No need to prerol after receiving EOS.
23453
23454         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23455         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
23456         * gst/elements/gstidentity.c: (gst_identity_event):
23457         Print events more verbosely.
23458
23459 2005-10-12  Wim Taymans  <wim@fluendo.com>
23460
23461         * check/Makefile.am:
23462         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
23463         * check/states/sinks2.c:
23464         Moved sinks2 testcode in sinks check.
23465
23466         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23467         (gst_bin_remove_func), (gst_bin_recalc_state),
23468         (gst_bin_change_state_func), (bin_bus_handler):
23469         Fix potential race condition when _get_state() iterated over an
23470         ASYNC element right before it posted a state completion.
23471
23472         * gst/gstclock.h:
23473         Do proper cast here.
23474
23475         * gst/gstevent.c: (gst_event_new_newsegment),
23476         (gst_event_parse_newsegment):
23477         A playback rate of 0.0 is not allowed.
23478
23479 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23480
23481         * win32/common/config.h:
23482         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
23483         (_trewinddir), (_ttelldir), (_tseekdir):
23484         * win32/common/dirent.h:
23485         * win32/common/gtchar.h:
23486         * win32/common/libgstbase.def:
23487         * win32/common/libgstreamer.def:
23488         * win32/vs6/grammar.dsp:
23489         * win32/vs6/gst_inspect.dsp:
23490         * win32/vs6/gst_launch.dsp:
23491         * win32/vs6/gstreamer.dsw:
23492         * win32/vs6/libgstbase.dsp:
23493         * win32/vs6/libgstelements.dsp:
23494         * win32/vs6/libgstreamer.dsp:
23495           Visual Studio 6 project files, and a new common directory.
23496           Phear.
23497
23498 2005-10-11  Wim Taymans  <wim@fluendo.com>
23499
23500         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23501         (gst_base_sink_do_sync), (gst_base_sink_query),
23502         (gst_base_sink_change_state):
23503         * gst/base/gstbasesink.h:
23504         Correctly parse newsegment info.
23505
23506 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23507
23508         * gst/gst.c: (init_post):
23509           split plugin paths correctly
23510
23511 2005-10-11  Wim Taymans  <wim@fluendo.com>
23512
23513         * check/gst/gstevent.c: (GST_START_TEST):
23514         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23515         (gst_base_sink_change_state):
23516         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
23517         * gst/base/gstbasetransform.c: (gst_base_transform_event):
23518         * gst/elements/gstfilesink.c: (gst_file_sink_event):
23519         * gst/gstevent.c: (gst_event_new_newsegment),
23520         (gst_event_parse_newsegment):
23521         * gst/gstevent.h:
23522         Added extra flag to newsegment for future API freeze.
23523         Updated check and base elements.
23524
23525 2005-10-11  Julien MOUTTE  <julien@moutte.net>
23526
23527         * gst/base/gstcollectpads.c: (gst_collectpads_init),
23528         (gst_collectpads_add_pad), (gst_collectpads_pop),
23529         (gst_collectpads_event), (gst_collectpads_chain):
23530         * gst/base/gstcollectpads.h: Handle EOS correctly.
23531
23532 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23533
23534         * tools/gst-launch.c: (main):
23535           more null protecting
23536
23537 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23538
23539         * gst/gst-i18n-lib.h:
23540           check for ENABLE_NLS, not GETTEXT_PACKAGE
23541         * gst/gstregistry.c: (gst_registry_add_plugin),
23542         (gst_registry_scan_path_level),
23543         (_gst_registry_remove_cache_plugins):
23544           protect possibly NULL strings
23545         * gst/parse/types.h:
23546           config.h already included before
23547         * tools/gst-inspect.c: (main):
23548           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23549           check for ENABLE_NLS, not GETTEXT_PACKAGE
23550         * tools/gst-launch.c: (main):
23551           check for ENABLE_NLS, not GETTEXT_PACKAGE
23552
23553 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23554
23555         * configure.ac:
23556           if we don't have glib, fail before testing 2.8
23557         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23558           fix a leak, should fix plugins-base testsuite
23559
23560 2005-10-11  Andy Wingo  <wingo@pobox.com>
23561
23562         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23563         take the mode we're going to as an arg. Go head and set the mode
23564         and flushing flags now, so that if the activate function starts a
23565         thread all the flags will be in the right state.
23566         (post_activate): Renamed also. Just handle making sure streaming
23567         finishes for the deactivation case, and setting the deactivated
23568         mode.
23569         (gst_pad_set_active): Complain loudly if deactivation fails.
23570         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23571         (gst_pad_activate_push): Adapt to pre/post_activate changes,
23572         remove the terrible hack.
23573
23574 2005-10-11  Wim Taymans  <wim@fluendo.com>
23575
23576         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23577         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23578         (gst_bin_recalc_state), (gst_bin_change_state_func),
23579         (gst_bin_dispose), (bin_bus_handler):
23580         * gst/gstbin.h:
23581         Prepare to make current EOS message queue more generic.
23582         Fix some typos.
23583
23584         * gst/gstevent.c: (gst_event_new_newsegment),
23585         (gst_event_parse_newsegment):
23586         * gst/gstevent.h:
23587         Rename base to stream_time.
23588
23589         * gst/gstmessage.h:
23590         Fix typo in docs.
23591
23592 2005-10-11  Wim Taymans  <wim@fluendo.com>
23593
23594         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23595         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23596         (gst_bin_change_state_func), (bin_bus_handler):
23597         * gst/gstbin.h:
23598         Work on proper clock selection.
23599
23600 2005-10-11  Edward Hervey  <edward@fluendo.com>
23601
23602         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
23603         * libs/gst/controller/gstcontroller.h:
23604         Added GList* version of _remove_properties() in order to be able to wrap
23605         it in bindings.
23606
23607 2005-10-11  Wim Taymans  <wim@fluendo.com>
23608
23609         * docs/design/part-states.txt:
23610         Some more docs.
23611
23612         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23613         (gst_bin_change_state_func), (bin_bus_handler):
23614         Doc updates. Don't distribute the same clock over and over again.
23615
23616         * gst/gstclock.c:
23617         * gst/gstclock.h:
23618         Doc updates.
23619
23620         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23621         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23622         (gst_pad_send_event):
23623         * gst/gstpad.h:
23624         Make probe emission threadsafe again.
23625         Register quarks and move _get_name() from utils.
23626         Doc updates.
23627
23628         * gst/gstpipeline.c: (gst_pipeline_class_init),
23629         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23630         Only redistribute the clock of it changed.
23631
23632         * gst/gstsystemclock.h:
23633         Doc updates. 
23634
23635         * gst/gstutils.c:
23636         * gst/gstutils.h:
23637         Moved the _flow_get_name() to GstPad.
23638
23639 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23640
23641         * check/gst-libs/gdp.c: (GST_START_TEST):
23642         * check/gst/gstcaps.c: (GST_START_TEST):
23643         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23644         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23645         (gst_dp_packet_from_caps):
23646           fix more valgrind warnings before turning up the heat
23647
23648 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23649
23650         * gst/parse/grammar.y:
23651           some cleanup before the hacking
23652
23653 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23654
23655         * gst/base/gstbasesrc.c: (gst_base_src_query):
23656           use conversions
23657         * gst/gstutils.c: (gst_guint64_to_gdouble),
23658         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23659         * gst/gstutils.h:
23660           externalize, basesrc uses it
23661           obviously the implementation needs testing
23662
23663 2005-10-10  Wim Taymans  <wim@fluendo.com>
23664
23665         * tests/sched/Makefile.am:
23666         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23667         (make_pipeline3), (make_pipeline4), (print_elem), (main):
23668
23669 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23670
23671         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23672           apparently converting from guint64 to double is not implemented
23673           on MSVC
23674
23675 2005-10-10  Wim Taymans  <wim@fluendo.com>
23676
23677         * check/Makefile.am:
23678         * check/generic/states.c: (GST_START_TEST):
23679         * check/gst/gstbin.c: (GST_START_TEST):
23680         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23681         * check/states/sinks.c: (GST_START_TEST):
23682         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23683         (main):
23684         Check fixes, use API as stated in design docs, remove hacks.
23685
23686         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23687         (gst_base_sink_change_state):
23688         Catch stopping our task while we're shutting down.
23689
23690         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23691         (gst_bin_remove_func), (gst_bin_get_state_func),
23692         (gst_bin_recalc_state), (gst_bin_change_state_func),
23693         (bin_bus_handler):
23694         * gst/gstbin.h:
23695         * gst/gstelement.c: (gst_element_init),
23696         (gst_element_get_state_func), (gst_element_abort_state),
23697         (gst_element_commit_state), (gst_element_lost_state),
23698         (gst_element_set_state), (gst_element_change_state),
23699         (gst_element_change_state_func):
23700         * gst/gstelement.h:
23701         New state change algorithm (see #318116)
23702
23703         * gst/gstpipeline.c: (gst_pipeline_class_init),
23704         (gst_pipeline_init), (gst_pipeline_set_property),
23705         (gst_pipeline_get_property), (do_pipeline_seek),
23706         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23707         * gst/gstpipeline.h:
23708         Remove crude state change hacks.
23709
23710         * gst/gstutils.h:
23711         Remove crude hacks.
23712
23713         * tools/gst-launch.c: (main):
23714         Fixes for state change. Needs some more work to fully use the
23715         new stuff.
23716
23717 2005-10-10  Andy Wingo  <wingo@pobox.com>
23718
23719         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23720
23721         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23722         this flag, but it's not even in GLib 2.6. Odd. Hack around the
23723         issue.
23724
23725 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23726
23727         * gst/gstiterator.c: (gst_iterator_new):
23728           Fix my previous commit: GTypes passed to gst_iterator_new()
23729           can be fundamental types.
23730
23731 2005-10-10  Wim Taymans  <wim@fluendo.com>
23732
23733         * gst/gstelement.c: (gst_element_iterate_pad_list),
23734         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23735         (gst_element_iterate_sink_pads):
23736         Use src/sink pads lists for the respective iterators instead
23737         of filtering.
23738
23739 2005-10-10  Andy Wingo  <wingo@pobox.com>
23740
23741         Merged in popt removal + GOption addition patch from Ronald, bug
23742         #169772.
23743
23744         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23745         GstElement macros around, remove popt-related symbols, add goption
23746         stuff.
23747
23748         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23749         
23750         * docs/gst/Makefile.am:
23751         * docs/libs/Makefile.am: No POPT_CFLAGS.
23752         
23753         * examples/manual/Makefile.am:
23754         * docs/manual/basics-init.xml: Doc updates with an example.
23755         
23756         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23757         (gst_init), (parse_one_option), (parse_goption_arg):
23758         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23759         bit of hand merging and debugging to get the GOption stuff working
23760         tho.
23761         
23762         * tests/Makefile.am:
23763         * tools/Makefile.am:
23764         * tools/gst-inspect.c: (main):
23765         * tools/gst-launch.c: (main):
23766         * tools/gst-run.c: (main):
23767         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23768
23769 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23770
23771         * gst/gstiterator.c: (gst_iterator_new):
23772           Add assertions to make sure passed GType is likely to really
23773           be a GType (as the compiler won't catch it if the size and
23774           GType arguments get mixed up, see #318447).
23775
23776 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
23777
23778         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23779
23780         * gst/gstbin.c: (gst_bin_iterate_sorted):
23781           Pass GType and size arguments to gst_iterator_new() in the right
23782           order (maybe we should make _new() take the GType as first argument
23783           just like _new_list()?) (#318447).
23784           
23785
23786 2005-10-10  Wim Taymans  <wim@fluendo.com>
23787
23788         * gst/gstelement.c: (gst_element_finalize):
23789         And free the GStaticRecMutex too
23790
23791 2005-10-10  Andy Wingo  <wingo@pobox.com>
23792
23793         * gst/gstelement.c (gst_element_init, gst_element_finalize):
23794         Allocate and free the mutex properly.
23795
23796         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23797         New macros.
23798         (GstElement): The state_lock is now recursive. Rebuild your
23799         plugins, suckers. Old macros adapted.
23800
23801         * docs/gst/gstreamer-sections.txt: Doc updates.
23802
23803         * gst/gstutils.h:
23804         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
23805         (g_static_rec_cond_wait): Ported from state changes patch, while
23806         we wait on bug #317802 to be solved in a well-distributed GLib.
23807
23808         * gst/gstelement.c (gst_element_change_state_func): Renamed from
23809         gst_element_change_state, variable name changes.
23810         (gst_element_change_state): Split out of gst_element_set_state in
23811         preparation for the state change merge. Doesn't pay attention to
23812         the 'transition' argument.
23813         (gst_element_set_state): Updates, hopefully purely cosmetic.
23814         (gst_element_sync_state_with_parent): MT-safety. Ported from the
23815         state change patch.
23816         (gst_element_get_state_func): Renamed from get_state, cosmetic
23817         changes.
23818
23819 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23820
23821         * gst/elements/gstelements.c:
23822         * win32/GStreamer.vcproj:
23823         * win32/config.h:
23824         * win32/dirent.c: (_tseekdir):
23825         * win32/gst-inspect.vcproj:
23826         * win32/gst-launch.vcproj:
23827         * win32/gstconfig.h:
23828         * win32/gstelements.vcproj:
23829         * win32/gstenumtypes.c: (gst_object_flags_get_type):
23830         * win32/gstreamer.def:
23831         * win32/msvc71.sln:
23832           updates for the win32 build (patch from Sebastien Moutte)
23833
23834 2005-10-10  Andy Wingo  <wingo@pobox.com>
23835
23836         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23837         gst_bin_get_state, cleaned up (but no logic changes).
23838         (bin_element_is_sink): Comment updates.
23839         (sink_iterator_filter): Remove needless cast.
23840         (gst_bin_iterate_sinks): Doc update.
23841         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23842         cleaned up (but no logic changes).
23843
23844         * check/states/sinks.c (test_src_sink): Cleanups from the state
23845         change patch.
23846         (test_livesrc_sink): Sync on the state.
23847
23848         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23849         the state change patch.
23850
23851         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23852         change patch.
23853
23854         * check/gst/gstbin.c: Merge in some style fixes and additional
23855         checks from Wim's state change patch.
23856
23857 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23858
23859         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23860         (gst_type_find_helper):
23861           Check whether we have the requested data already in our list of
23862           cached buffers before pulling a new buffer; also make the buffer
23863           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23864
23865 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23866
23867         * gst/gstcaps.c:
23868         * gst/gstevent.c:
23869           doc updates
23870         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23871           don't use long long, it's not portable.  Replacing with
23872           gint64 seems to work; let's hope no skeletons fall out of the closet.
23873
23874 2005-10-10  Andy Wingo  <wingo@pobox.com>
23875
23876         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23877
23878 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
23879
23880         * docs/gst/gstreamer-sections.txt:
23881         * gst/gstevent.c:
23882         * gst/gstevent.h:
23883         * gst/gstinfo.c:
23884         * gst/gstinfo.h:
23885         * gst/gstmessage.c: (gst_message_parse_state_changed):
23886         * gst/gstpad.c:
23887         * gst/gstpad.h:
23888           more docs, fix compilation
23889
23890 2005-10-09  Philippe Khalaf <burger@speedy.org>
23891         * gst/gstmessage.c:
23892           Fixed a few forgotten variables on previous commit
23893
23894 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
23895
23896         * gst/base/gsttypefindhelper.c: (helper_find_peek):
23897           Fix evil typefind crasher: getrange() might return a short
23898           buffer at the end of a file, but gst_type_find_peek() must
23899           either return the full data as requested or NULL, but
23900           never a short buffer.
23901
23902 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23903
23904         * gst/gstmessage.c: (gst_message_new_state_changed),
23905         (gst_message_parse_state_changed):
23906         * gst/gstmessage.h:
23907           don't use "new", it's a C++ keyword
23908
23909 2005-10-08  Wim Taymans  <wim@fluendo.com>
23910
23911         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23912         * gst/gstelement.c: (gst_element_post_message):
23913         * gst/gstpipeline.c: (gst_pipeline_change_state):
23914         Small docs and debug updates.
23915
23916 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23917
23918         * docs/gst/gstreamer-sections.txt:
23919         * gst/gstelementfactory.c:
23920         * gst/gstevent.c:
23921         * gst/gsttaglist.c:
23922           more docs
23923
23924 2005-10-08  Wim Taymans  <wim@fluendo.com>
23925
23926         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23927         (gst_bin_dispose), (bin_bus_handler):
23928         Fix typos, add comments.
23929         Clear EOS list when going to PAUSED from any direction and do it
23930         in a threadsafe way.
23931         Get base time in a threadsafe way too.
23932         Fix confusing debug in the change_state function.
23933         Various other small cleanups.
23934         
23935         * gst/gstelement.c: (gst_element_post_message):
23936         Fix very verbose bus posting code.
23937
23938         * gst/gstpipeline.c: (gst_pipeline_class_init),
23939         (gst_pipeline_set_property), (gst_pipeline_get_property),
23940         (gst_pipeline_change_state):
23941         Small ARG_ -> PROP_ cleanup
23942
23943 2005-10-08  Wim Taymans  <wim@fluendo.com>
23944
23945         * gst/gstbin.c: (is_eos), (bin_bus_handler):
23946         Do a less CPU demanding EOS check because we can.
23947
23948 2005-10-08  Wim Taymans  <wim@fluendo.com>
23949
23950         * libs/gst/dataprotocol/dataprotocol.c:
23951         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23952         (gst_dp_packet_from_event):
23953         * libs/gst/dataprotocol/dataprotocol.h:
23954         * libs/gst/dataprotocol/dp-private.h:
23955         It's about time we bump the version number.
23956         Since event types don't fit in the guint8 anymore describing
23957         the payload type, make payload type 16 bits wide.
23958
23959 2005-10-08  Wim Taymans  <wim@fluendo.com>
23960
23961         * docs/design/part-TODO.txt:
23962         * docs/design/part-clocks.txt:
23963         * docs/design/part-events.txt:
23964         * docs/design/part-gstbin.txt:
23965         * docs/design/part-gstelement.txt:
23966         * docs/design/part-gstpipeline.txt:
23967         * docs/design/part-live-source.txt:
23968         * docs/design/part-messages.txt:
23969         * docs/design/part-overview.txt:
23970         * docs/design/part-states.txt:
23971         Many doc updates.
23972
23973 2005-10-08  Wim Taymans  <wim@fluendo.com>
23974
23975         * gst/gstevent.c:
23976         * gst/gstevent.h:
23977         Fix event quark registration.
23978         Add some space between events so we can insert them in the
23979         right groups.
23980
23981 2005-10-08  Wim Taymans  <wim@fluendo.com>
23982
23983         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23984         (gst_base_sink_handle_buffer):
23985         Better log message.
23986
23987         * gst/gstbus.h:
23988         * gst/gstelement.h:
23989         More docs.
23990
23991         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23992         (gst_queue_set_property), (gst_queue_get_property):
23993         * gst/gstqueue.h:
23994         Remove old unused properties.
23995
23996 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23997         * docs/gst/gstreamer-sections.txt:
23998         * gst/gstmessage.c:
23999         * gst/gstmessage.h:
24000         * gst/gstminiobject.c:
24001         * gst/gstminiobject.h:
24002         * gst/gstobject.h:
24003         * gst/gstpad.h:
24004         * gst/gstutils.h:
24005           lots of new docs and doc fixes
24006
24007 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24008
24009         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
24010         * gst/gstplugin.h:
24011         * gst/gstregistry.c: (gst_registry_lookup_locked),
24012         (gst_registry_scan_path_level):
24013         * gst/gstregistryxml.c: (load_plugin):
24014           Only ever load one plugin for a given plugin basename.
24015           This ensures correct overriding of GST_PLUGIN_PATH over
24016           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
24017           system installed plugins.
24018
24019 2005-10-08  Wim Taymans  <wim@fluendo.com>
24020
24021         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24022         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
24023         Prepare for doing QOS.
24024
24025 2005-10-08  Wim Taymans  <wim@fluendo.com>
24026
24027         * check/gst/gstbin.c: (GST_START_TEST):
24028         * check/pipelines/cleanup.c: (GST_START_TEST):
24029         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
24030         Allow new clock message too.
24031
24032 2005-10-08  Wim Taymans  <wim@fluendo.com>
24033
24034         * gst/gstmessage.c: (gst_message_new_error),
24035         (gst_message_new_warning), (gst_message_new_tag),
24036         (gst_message_new_state_changed), (gst_message_new_clock_provide),
24037         (gst_message_new_clock_lost), (gst_message_new_new_clock),
24038         (gst_message_new_segment_start), (gst_message_new_segment_done),
24039         (gst_message_parse_state_changed),
24040         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
24041         (gst_message_parse_new_clock):
24042         * gst/gstmessage.h:
24043         Also carry the clock in question.
24044
24045 2005-10-08  Wim Taymans  <wim@fluendo.com>
24046
24047         * gst/gstmessage.c: (gst_message_new_custom),
24048         (gst_message_new_eos), (gst_message_new_error),
24049         (gst_message_new_warning), (gst_message_new_tag),
24050         (gst_message_new_state_changed), (gst_message_new_clock_provide),
24051         (gst_message_new_new_clock), (gst_message_new_segment_start),
24052         (gst_message_new_segment_done), (gst_message_parse_state_changed),
24053         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
24054         * gst/gstmessage.h:
24055         Clean up.
24056         Added clock related messages.
24057
24058         * gst/gstpipeline.c: (gst_pipeline_change_state):
24059         Post message when the clock changed.
24060
24061         * tools/gst-launch.c: (event_loop):
24062         Print new clock.
24063
24064 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
24065
24066         * tools/gst-inspect.c: (print_element_properties_info):
24067           Can't pass NULL strings to g_print() on windows.
24068
24069 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24070
24071         * docs/Makefile.am:
24072         * docs/gst/Makefile.am:
24073         * docs/gst/gstreamer-docs.sgml:
24074         * docs/gst/running.xml:
24075         * docs/version.entities.in:
24076           add a chapter on running GStreamer.
24077           document GST_DEBUG and GST_PLUGIN* env vars
24078
24079 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24080
24081         * Makefile.am:
24082           remove include dir
24083         * configure.ac:
24084           remove PLUGINS_BUILDDIR stuff
24085         * gst/gst.c: (init_post):
24086           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
24087         * idiottest.mak:
24088           remove, it was condescending and not needed
24089
24090 2005-10-08  Wim Taymans  <wim@fluendo.com>
24091
24092         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
24093         (gst_base_sink_handle_object), (gst_base_sink_event),
24094         (gst_base_sink_wait), (gst_base_sink_handle_event),
24095         (gst_base_sink_change_state):
24096         * gst/base/gstbasesink.h:
24097         Repost EOS message while going to PLAYING if still EOS.
24098         Make sure that when receiving a FLUSH_START we don't attempt
24099         to sync on the clock anymore.
24100
24101 2005-10-08  Wim Taymans  <wim@fluendo.com>
24102
24103         * tools/gst-launch.c: (event_loop):
24104         Better message printout.
24105
24106 2005-10-08  Wim Taymans  <wim@fluendo.com>
24107
24108         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
24109         (gst_bin_child_proxy_get_children_count):
24110         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
24111         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
24112         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
24113         (gst_child_proxy_set_valist):
24114         * gst/parse/grammar.y:
24115         Make ChildProxy threadsafe and fix mem leaks.
24116
24117 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24118
24119         * gst/gst.c: (init_post):
24120           debug the GST_PLUGIN_ env vars
24121
24122 2005-10-08  Wim Taymans  <wim@fluendo.com>
24123
24124         * check/gst/gstbin.c: (GST_START_TEST):
24125         * check/gst/gstmessage.c: (GST_START_TEST):
24126         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
24127         * gst/gstelement.c: (gst_element_commit_state),
24128         (gst_element_lost_state):
24129         * gst/gstmessage.c: (gst_message_new_state_changed),
24130         (gst_message_parse_state_changed):
24131         * gst/gstmessage.h:
24132         * tools/gst-launch.c: (event_loop):
24133         Added extra field to STATE_CHANGE message with the pending
24134         state, which will be different from the new state soon.
24135
24136 2005-10-08  Wim Taymans  <wim@fluendo.com>
24137
24138         * gst/gstbus.c: (gst_bus_pop):
24139         * gst/gstclock.c:
24140         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
24141         Small cleanups and doc updates.
24142
24143 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24144
24145         * gst/gst.c: (init_pre):
24146         * gst/gstbin.c: (gst_bin_add_func):
24147           log distributing clocks and base time
24148         * gst/gstregistry.c: (gst_registry_add_plugin),
24149         (gst_registry_scan_path_level), (gst_registry_scan_path):
24150           clean up the debugging output a little
24151         * gst/gstutils.c: (gst_element_state_get_name):
24152           warn about a memleak (I've actually seen this be used, though
24153           it was probably a bug)
24154
24155 2005-10-07  Wim Taymans  <wim@fluendo.com>
24156
24157         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24158         (gst_base_src_init), (gst_base_src_default_newsegment),
24159         (gst_base_src_newsegment), (gst_base_src_do_seek),
24160         (gst_base_src_loop), (gst_base_src_start):
24161         * gst/base/gstbasesrc.h:
24162         Make the newsegment event customizable by subclasses.
24163
24164 2005-10-07  Wim Taymans  <wim@fluendo.com>
24165
24166         * gst/gstevent.c: (gst_event_new_buffersize),
24167         (gst_event_parse_buffersize):
24168         * gst/gstevent.h:
24169         New event for future idea.
24170
24171 2005-10-07  Andy Wingo  <wingo@pobox.com>
24172
24173         * gst/gstelement.c (gst_element_post_message): Doc update.
24174
24175         * docs/gst/gstreamer-sections.txt: Update.
24176
24177         * gst/gstmessage.c (gst_message_new_application): Made into a
24178         function like honest API calls.
24179         (gst_message_new_element): New message type.
24180
24181         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
24182
24183         * check/elements/fakesrc.c (test_no_preroll): New check, checks
24184         that setting a live fakesrc to PAUSED returns NO_PREROLL both
24185         times.
24186
24187         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
24188         NO_PREROLL from gst_element_change_state to fall through.
24189
24190 2005-10-07  Wim Taymans  <wim@fluendo.com>
24191
24192         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
24193         (gst_ghost_pad_do_activate_push):
24194         Activating a ghostpad with no internal pad in push mode
24195         is ok.
24196
24197 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
24198
24199         * gst/gstobject.h:
24200           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
24201           Fixes compilation on Windows.
24202
24203 2005-10-07  Michael Smith <msmith@fluendo.com>
24204
24205         * tools/gst-inspect.c:
24206           Print out feature and plugin count at the end when printing out
24207           all features.
24208
24209 2005-10-04  Michael Smith <msmith@fluendo.com>
24210
24211         * gst/gsterror.c: (_gst_stream_errors_init):
24212           Add another error string used in a few existing plugins.
24213
24214         * gst/gstplugin.c:
24215         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
24216         * tools/gst-inspect.c: (print_element_info):
24217           When a feature disappears from a plugin (and the feature exists in
24218           the cached registry file), things went horribly wrong. This isn't a
24219           complete fix, we should actually be removing the 'missing' features
24220           from the features list when we load the actual plugin. That's not
24221           yet implemented. 
24222
24223 2005-10-04  Johan Dahlin  <johan@gnome.org>
24224
24225         * check/gst/gstiterator.c: (GST_START_TEST):
24226         * gst/gstbin.c: (gst_bin_iterate_elements),
24227         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
24228         * gst/gstelement.c: (gst_element_iterate_pads):
24229         * gst/gstformat.c: (gst_format_iterate_definitions):
24230         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
24231         (gst_iterator_new_list), (gst_iterator_filter):
24232         * gst/gstiterator.h:
24233         * gst/gstquery.c: (gst_query_type_iterate_definitions):
24234         Add a GType to GstIterator, update callsites and tests.
24235
24236 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24237
24238         * gst/gstpad.c: (gst_pad_event_default_dispatch):
24239           give events a chance to be handled by event probes when the pad
24240           is not linked
24241
24242 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24243
24244         * gst/gstevent.c: (gst_event_type_get_name),
24245         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
24246         * gst/gstevent.h:
24247           add string representations for event types
24248
24249 2005-10-06  Wim Taymans  <wim@fluendo.com>
24250
24251         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
24252         Don't use NULL pointers.
24253
24254 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24255
24256         * gst/gst_private.h:
24257         * gst/gstbus.c:
24258         * gst/gstelement.c:
24259         * gst/gstinfo.c:
24260         * gst/gstpluginfeature.c:
24261           widen the debug category in output to fit the biggest one we have
24262           add a bus category and use it
24263           play with the colors
24264           fix up some categories
24265
24266 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24267
24268         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
24269           add push activation of sink ghost pads.
24270           Andye, please verify
24271
24272 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
24273
24274         * gst/gstutils.c: (gst_element_link_pads):
24275           fix a bug in the case where neither element has a pad
24276         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
24277           add a test for that case
24278
24279 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
24280
24281         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
24282           emit have-data before checking for peers.  This allows
24283           for probe handlers to connect elements.  This helps autopluggers.
24284         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
24285         (gst_pad_suite):
24286           add six checks, linked/unlinked with no/true/false probe
24287
24288 2005-10-04  Wim Taymans  <wim@fluendo.com>
24289
24290         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
24291         (gst_fake_sink_event), (gst_fake_sink_preroll),
24292         (gst_fake_sink_render), (gst_fake_sink_change_state):
24293         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
24294         (gst_fake_src_get_property), (gst_fake_src_create),
24295         (gst_fake_src_stop):
24296         * gst/elements/gstidentity.c: (gst_identity_stop):
24297         Protect last_message with lock.
24298
24299 2005-10-04  Edward Hervey  <edward@fluendo.com>
24300
24301         * gst/gstformat.h: 
24302         Added precision in the comments for GST_FORMAT_DEFAULT
24303
24304 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
24305
24306         * tools/gst-launch.c: (main):
24307           Don't try to run erroneous pipelines.
24308
24309 2005-10-04  Julien MOUTTE  <julien@moutte.net>
24310
24311         * gst/gstbus.c: We don't need this header.
24312
24313 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24314
24315         * configure.ac:
24316           back to development
24317
24318 === release 0.9.3 ===
24319
24320 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24321
24322         * README:
24323         * configure.ac:
24324           Releasing 0.9.3, "Unregistered"
24325
24326 2005-10-03  Andy Wingo  <wingo@pobox.com>
24327
24328         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
24329         whereby calling a pad's activatepush() function can start a thread
24330         that starts to push or pull before the pad gets the FLUSHING flag
24331         unset. Hack around it by holding the stream lock until the flag is
24332         set. Need to replace this with a proper solution. Together with
24333         the ghost pad fixes, this fixes mp3 playing/tagreading.
24334
24335         * docs/design/part-gstghostpad.txt: Add a note about activation of
24336         proxy pads outside of ghost pads.
24337
24338         * gst/gstghostpad.c: Implement the ghost pad activation design.
24339
24340 2005-10-02  Andy Wingo  <wingo@pobox.com>
24341
24342         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
24343         It is volatile, after all.
24344
24345         * docs/design/part-gstghostpad.txt: Flesh out activation with
24346         ghost pads.
24347
24348         * gst/base/gstbasesrc.c (gst_base_src_init): Use
24349         GST_DEBUG_FUNCPTR.
24350
24351 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
24352
24353         * configure.ac:
24354           Fix (unused) AM_CONDITIONAL tests.
24355
24356 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
24357
24358         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24359
24360         * gst/gstutils.c: (gst_pad_query_convert):
24361           Add assertion that makes sure src_val is >=0, just like
24362           gst_query_new_convert() has. (#315895)
24363
24364 2005-09-30  Edward Hervey  <edward@fluendo.com>
24365
24366         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
24367         Let's not iterate pads we're not interested in, it avoids getting 
24368         sky-high refcounts on sinkpad.
24369
24370 2005-09-30  Wim Taymans  <wim@fluendo.com>
24371
24372         * gst/gstelement.c: (gst_element_set_state),
24373         (gst_element_change_state):
24374         Small tweak, element in ASYNC remains ASYNC.
24375
24376 2005-09-30  Wim Taymans  <wim@fluendo.com>
24377
24378         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
24379         Only error is an error.
24380
24381         * gst/gstbin.c: (gst_bin_change_state):
24382         Better debugging.
24383
24384         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
24385         Also call pad_block in pad alloc.
24386
24387         * gst/gstutils.c: (gst_flow_get_name):
24388         Better debugging.
24389
24390 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24391
24392         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24393         (gst_base_src_get_range):
24394           Fix documentation typos. Add some more debug info.
24395
24396 2005-09-29  David Schleef  <ds@schleef.org>
24397
24398         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
24399           more end-user friendly.
24400         * tools/gst-inspect.c: (main): Check if command-line argument is
24401           a file and attempt to load that file as a plugin.
24402
24403 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24404
24405         * check/gst/gstbin.c:
24406         * check/states/sinks.c:
24407           fix tests for the new warning
24408         * check/gst/gstpipeline.c:
24409           add a test for pipeline and bus interaction
24410         * gst/gstelement.c:
24411           elements should be NULL if they get disposed; add a warning if not
24412
24413 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24414
24415         * gst/gstobject.c:
24416           for 2.6 refcounting, make debug log more correct by printing
24417           the actual refcounts at the time of swap (Wim)
24418
24419 2005-09-29  Andy Wingo  <wingo@pobox.com>
24420
24421         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
24422         removes signal watches previously added via
24423         gst_bus_add_signal_watch.
24424         (gst_bus_add_signal_watch): Don't return the source id, just store
24425         it on the bus if there wasn't an id already.
24426
24427         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
24428         add_signal_watch and remove_signal_watch.
24429
24430 2005-09-29  Edward Hervey  <edward@fluendo.com>
24431
24432         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
24433         Better if we actually iterate the list :)
24434
24435 2005-09-29  Wim Taymans  <wim@fluendo.com>
24436
24437         * check/gst/gstbin.c: (GST_START_TEST):
24438         Change for new bus API.
24439
24440         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24441         (send_messages), (GST_START_TEST), (gstbus_suite):
24442         Change for new bus signal API.
24443
24444         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
24445         (gst_bus_source_prepare), (gst_bus_source_check),
24446         (gst_bus_create_watch), (gst_bus_add_watch_full),
24447         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
24448         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
24449         * gst/gstbus.h:
24450         Remove support for multiple GSources operating on different
24451         message types as it is too complex and unneeded when using
24452         signals.
24453         Added support for receiving signals from the bus.
24454
24455 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24456
24457         * docs/libs/tmpl/gstdataprotocol.sgml:
24458         * docs/manual/advanced-dataaccess.xml:
24459         * gst/elements/gstcapsfilter.c:
24460         * gst/gstutils.c:
24461           rename filter-caps to caps property
24462
24463 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24464
24465         * gst/gstvalue.c: (gst_value_deserialize_fraction):
24466           More robust fraction string parsing.
24467
24468         * docs/pwg/appendix-porting.xml:
24469           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
24470
24471 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24472
24473         * gst/gstcaps.c: (gst_caps_do_simplify):
24474           Thou shalt not free a structure and then continue using it
24475           in the next loop iteration.
24476
24477         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
24478         (gst_caps_suite):
24479           Add test case for caps simplification.
24480
24481 2005-09-29  Wim Taymans  <wim@fluendo.com>
24482
24483         * check/gst/gstbin.c: (GST_START_TEST):
24484         Oops.
24485
24486 2005-09-29  Wim Taymans  <wim@fluendo.com>
24487
24488         * check/gst/gstbin.c: (GST_START_TEST):
24489         Add bus to bin.
24490
24491         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
24492         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24493         (find_element), (gst_bin_sort_iterator_next),
24494         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24495         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24496         (gst_bin_change_state), (gst_bin_dispose):
24497         A bin does not have a bus, it gets the bus from the parent.
24498
24499         * gst/gstelement.c: (gst_element_requires_clock),
24500         (gst_element_provides_clock), (gst_element_is_indexable),
24501         (gst_element_is_locked_state), (gst_element_change_state),
24502         (gst_element_set_bus_func):
24503         Small cleanups.
24504
24505         * gst/gstpipeline.c: (gst_pipeline_class_init),
24506         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
24507         The pipeline provides a bus.
24508
24509 2005-09-28  Johan Dahlin  <johan@gnome.org>
24510
24511         * gst/gstmessage.c (gst_message_parse_state_changed): Use
24512         gst_structure_get_enum instead of gst_structure_get_int
24513
24514         * gst/gststructure.c (gst_structure_get_enum): Impl.
24515
24516         * gst/gststructure.h (gst_structure_get_enum): Add
24517
24518         * docs/gst/gstreamer-sections.txt: Ditto
24519
24520         * gst/gstmessage.c (gst_message_new_state_changed): Use
24521         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
24522         which does introspection.
24523         Reviewed by Christian Schaller
24524
24525 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24526
24527         * gst/gstinfo.c: (gst_debug_log_default):
24528           don't do dummy g_strdup()s
24529         * libs/gst/controller/gstcontroller.c:
24530         (on_object_controlled_property_changed),
24531         (gst_controlled_property_new), (gst_controller_new_valist),
24532         (gst_controller_new_list),
24533         (gst_controller_remove_properties_valist), (gst_controller_set),
24534         (gst_controller_get), (gst_controller_sync_values),
24535         (gst_controller_get_value_array), (_gst_controller_class_init),
24536         (gst_controller_get_type):
24537         * libs/gst/controller/gstcontroller.h:
24538         * libs/gst/controller/gstinterpolation.c:
24539         (gst_controlled_property_find_timed_value_node):
24540           convert // to /**/ comments
24541
24542 2005-09-28  Wim Taymans  <wim@fluendo.com>
24543
24544         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
24545         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24546         (gst_bus_sync_signal_handler):
24547         * gst/gstbus.h:
24548         Added async-message and sync-message signals to the bus.
24549         Added helper BusFunc to emit signals for all posted messages.
24550
24551         * gst/gstmessage.c: (gst_message_type_get_name),
24552         (gst_message_type_to_quark), (gst_message_get_type):
24553         * gst/gstmessage.h:
24554         Register quarks for message names.
24555
24556 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24557
24558         * docs/libs/gstreamer-libs-sections.txt:
24559         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24560         (gst_controller_new_list):
24561         * libs/gst/controller/gstcontroller.h:
24562           added another constructor for language bindings
24563
24564 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
24565
24566         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24567           add another check
24568         * gst/gstbus.c:
24569           add some doc
24570         * gst/gstinfo.c: (_gst_debug_init):
24571           slightly more readable color for refcount debugging
24572
24573 2005-09-28  Wim Taymans  <wim@fluendo.com>
24574
24575         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24576         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24577         (find_element), (gst_bin_sort_iterator_next),
24578         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24579         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24580         (gst_bin_change_state), (gst_bin_dispose):
24581         Small doc fixes. get_clock -> provide_clock.
24582
24583         * gst/gstelement.c: (gst_element_class_init),
24584         (gst_element_provides_clock), (gst_element_provide_clock),
24585         (gst_element_get_clock), (gst_element_commit_state),
24586         (gst_element_lost_state):
24587         * gst/gstelement.h:
24588         Make get/set_clock() symetric. Add provide_clock vmethod since
24589         that is actually what this function does.
24590
24591         * gst/gstpipeline.c: (gst_pipeline_class_init),
24592         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24593         (gst_pipeline_get_clock):
24594         get_clock -> provide_clock.
24595
24596 2005-09-28  Andy Wingo  <wingo@pobox.com>
24597
24598         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24599         lieu of real docs...
24600
24601         * gst/elements/gstfdsrc.c: Cleaned up a bit.
24602
24603 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
24604
24605         * gst/elements/gstcapsfilter.c:
24606         * gst/elements/gstfakesink.c:
24607         * gst/elements/gstfakesrc.c:
24608         * gst/elements/gstfdsink.c:
24609         * gst/elements/gstfdsrc.c:
24610         * gst/elements/gstfilesink.c:
24611         * gst/elements/gstfilesrc.c:
24612         * gst/elements/gstidentity.c:
24613         * gst/elements/gsttee.c:
24614         * gst/elements/gsttypefindelement.c:
24615           Make element details static.
24616
24617 2005-09-28  Wim Taymans  <wim@fluendo.com>
24618
24619         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24620         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24621         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24622         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24623         (gst_bin_change_state), (gst_bin_dispose):
24624         Some documentation updates.
24625         Clean up dispose handlers.
24626
24627         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24628         * gst/gstpad.c: (gst_pad_dispose):
24629         Clean up dispose handler.
24630
24631         * gst/gstpipeline.c: (gst_pipeline_change_state):
24632         Removed spurious UNLOCK.
24633
24634 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
24635
24636         * docs/gst/gstreamer-sections.txt:
24637         * gst/base/gstbasesrc.h:
24638         * gst/gstelement.h:
24639         * gst/gstevent.h:
24640         * gst/gstobject.h:
24641         * gst/gstpad.h:
24642         * gst/gstpipeline.c:
24643         * gst/gstpipeline.h:
24644         * gst/gstutils.h:
24645         * gst/gstxml.h:
24646           added two new functions to the docs
24647                 documents all undocumented GstXXXFlags
24648                 completed some incomplete docs 
24649
24650 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
24651
24652         * gst/gstbin.c: (gst_bin_dispose):
24653         * gst/gstelement.c: (gst_element_dispose):
24654           remove now useless and leaky resurrection code in dispose
24655         * gst/base/gstbasesrc.c: (gst_base_src_init):
24656         * gst/gstelementfactory.c: (gst_element_factory_create):
24657         * gst/gstobject.c: (gst_object_set_parent):
24658           add some debugging
24659
24660 2005-09-27  Wim Taymans  <wim@fluendo.com>
24661
24662         * docs/design/part-TODO.txt:
24663         Update TODO.
24664
24665         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24666         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24667         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24668         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24669         (gst_bin_change_state):
24670         * gst/gstelement.h:
24671         Remove element variable, we keep element info in the iterator now.
24672
24673 2005-09-27  Andy Wingo  <wingo@pobox.com>
24674
24675         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24676         values.
24677
24678 2005-09-27  Wim Taymans  <wim@fluendo.com>
24679
24680         * check/gst/gstbin.c: (GST_START_TEST):
24681         Enable check that works now.
24682
24683         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24684         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24685         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24686         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24687         (gst_bin_change_state):
24688         * gst/gstbin.h:
24689         Redid the state change algorithm using a topological sort algo.
24690         Handles all cases correctly.
24691         Exposed iterator for state change order.
24692
24693         * gst/gstelement.h:
24694         Temp storage for state changes. Need to get rid of this soon.
24695
24696 2005-09-27  Wim Taymans  <wim@fluendo.com>
24697
24698         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24699         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24700         (link_fold_func), (gst_pad_proxy_setcaps):
24701         Leak fixes, the fold functions need to unref the passed object and
24702         _get_parent_*() returns ref to parent.
24703
24704 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24705
24706         * check/gst/gstbuffer.c: (test_make_writable):
24707           Plug leak in test case and fix 'make check-valgrind'
24708
24709 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24710
24711         * gst/gstbuffer.c: (gst_subbuffer_init):
24712           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24713           works correctly in all circumstances (we could have just copied
24714           the parent buffer's readonly flag, but conceptually it seems
24715           cleaner to mark all subbuffers as read-only). (based on patch
24716           by Alessandro Decina, #314710).
24717         
24718         * check/gst/gstbuffer.c: (create_read_only_buffer),
24719         (test_make_writable), (test_subbuffer_make_writable),
24720         (gst_test_suite):
24721           Add some tests for gst_buffer_make_writable().
24722
24723 2005-09-27  Wim Taymans  <wim@fluendo.com>
24724
24725         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24726         use gst_object_has_ancestor().
24727
24728         * gst/gstobject.c: (gst_object_has_ancestor):
24729         * gst/gstobject.h:
24730         gst_object_has_ancestor() copied from gstbin.c as it is a
24731         useful function.
24732
24733         * tests/instantiate/create.c: (create_all_elements):
24734         * tests/lat.c: (handoff_src), (handoff_sink):
24735         * tests/sched/runxml.c: (main):
24736         * tests/seeking/seeking1.c: (main):
24737         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24738         (main):
24739         Fix compilation of some tests.
24740
24741 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24742
24743         * gst/gsterror.h:
24744           Remove comment. GST_TYPE_G_ERROR is here to stay,
24745           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24746           (#316961, #300610).
24747
24748 2005-09-26  Wim Taymans  <wim@fluendo.com>
24749
24750         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24751         Added check that shows error in state change order.
24752
24753 2005-09-26  Wim Taymans  <wim@fluendo.com>
24754
24755         * gst/gstbin.c: (gst_bin_change_state):
24756         Make state change function use 3 queues again, we were
24757         adding elements in the wrong order.
24758
24759         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24760         Some debug info,
24761
24762         * gst/gstpad.c: (gst_pad_dispose):
24763         Added some debug info first.
24764
24765 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
24766
24767         * docs/design/draft-push-pull.txt:
24768         * docs/design/part-events.txt:
24769         * docs/design/part-overview.txt:
24770         * docs/design/part-scheduling.txt:
24771           Replace all _pull_region() with _pull_range()
24772           
24773 2005-09-26  Andy Wingo  <wingo@pobox.com>
24774
24775         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24776
24777         * check/gst-libs/controller.c: Update for controller api change.
24778
24779         * configure.ac: 
24780         * tests/Makefile.am:
24781         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24782         over by GLib bug 118439.
24783         
24784         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24785         routines to a function.
24786
24787         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24788
24789         * libs/gst/controller/gsthelper.c:
24790         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24791         (gst_object_sync_values): Renamed from sink_values. Ugh.
24792
24793         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24794
24795         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24796         Renamed from controller_key, as it is exported.
24797
24798         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24799
24800 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
24801
24802         * gst/Makefile.am:
24803         * gst/gst.h:
24804         * gst/gstpad.h:
24805         * gst/gstpadtemplate.h:
24806         * gst/gstquery.c:
24807         * gst/gstquery.h:
24808         * gst/gstqueryutils.c:
24809         * gst/gstqueryutils.h:
24810           remove queryutils headers after moving the two used functions
24811           to gstquery.  also fixes build problem for gstsiddec
24812
24813 2005-09-26  Michael Smith <msmith@fluendo.com>
24814
24815         * tools/gst-launch.1.in:
24816         Correct documentation in manpage of debug syntax
24817
24818 2005-09-26  Wim Taymans  <wim@fluendo.com>
24819
24820         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24821         (gst_base_src_is_seekable), (gst_base_src_change_state):
24822         Some more debugging info.
24823
24824 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24825
24826         * docs/gst/gstreamer-sections.txt:
24827         * gst/base/gstbasetransform.h:
24828         * gst/gstindex.h:
24829           added more docs
24830
24831 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24832
24833         * docs/gst/.cvsignore:
24834         * docs/gst/tmpl/.cvsignore:
24835         * docs/gst/tmpl/gstpipeline.sgml:
24836         * docs/gst/tmpl/gstplugin.sgml:
24837         * gst/gstpipeline.c:
24838         * gst/gstplugin.c:
24839         * gst/gstplugin.h:
24840           inlined the last two docs files
24841           removed the tmpl directory from cvs (no more conflicts here!)
24842
24843 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24844
24845         * docs/gst/gstreamer-sections.txt:
24846         * docs/gst/tmpl/.cvsignore:
24847         * docs/gst/tmpl/gstpad.sgml:
24848         * docs/gst/tmpl/gstpadtemplate.sgml:
24849         * gst/Makefile.am:
24850         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24851         (gst_pad_finalize), (gst_pad_set_pad_template):
24852         * gst/gstpad.h:
24853         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24854         (gst_pad_template_class_init), (gst_pad_template_init),
24855         (gst_pad_template_dispose), (name_is_valid),
24856         (gst_static_pad_template_get), (gst_pad_template_new),
24857         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24858         (gst_pad_template_pad_created):
24859         * gst/gstpadtemplate.h:
24860           inlined two more docs
24861           factored gstpadtemplate out of gstpad
24862
24863 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
24864
24865         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24866         (test_children_state_change_order_semi_sink):
24867           Fix test case: we can't rely on a fixed state change order when
24868           going from READY => PAUSED because the sink might commit its 
24869           new state first when the first buffer created by the source 
24870           reaches the sink before the source has finished its change state.
24871           (Test case still fails at times, see #316856, comment 5 onwards)
24872
24873 2005-09-24  Wim Taymans  <wim@fluendo.com>
24874
24875         * docs/design/part-events.txt:
24876         * docs/design/part-gstbus.txt:
24877         * docs/design/part-gstpipeline.txt:
24878         * docs/design/part-messages.txt:
24879         * docs/design/part-overview.txt:
24880         * docs/design/part-segments.txt:
24881         * gst/gstbin.c:
24882         * gst/gstbuffer.c:
24883         * gst/gstclock.c:
24884         * gst/gstelement.c:
24885         * gst/gstevent.c:
24886         * gst/gstfilter.c:
24887         * gst/gstiterator.c:
24888         Various documentation updates.
24889
24890 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24891
24892         * gst/gstclock.h:
24893           Well, that's embarassing.  Luckily we weren't using
24894           GST_CLOCK_DIFF anywhere.
24895
24896 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24897
24898         * common/gtk-doc.mak:
24899           don't fail on building XML, FC4 slave shows a bunch of doc
24900           missing bits that I don't get
24901         * gst/gstpad.c:
24902         * gst/gstpipeline.c:
24903         * gst/gststructure.c:
24904           some doc updates
24905
24906 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24907
24908         * docs/design/part-gstbin.txt:
24909         * docs/design/part-gstbus.txt:
24910         * gst/gstbus.c:
24911           Add blurb about how the bus goes into flushing mode and
24912           drops all messages when its bin goes from READY into NULL 
24913           state.
24914
24915 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24916
24917         * docs/gst/gstreamer-sections.txt:
24918         * gst/gststructure.c: (gst_structure_get_clock_time):
24919         * gst/gststructure.h:
24920           add a method to get a GstClockTime out of a structure
24921
24922 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24923
24924         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24925         (test_children_state_change_order_semi_sink), (gst_bin_suite):
24926           Added test to check state change order in bins (can still be made
24927           to fail here under heavy disk load; bails out with 'Push on pad
24928           fakesink:sink0, but it was not activated in push mode').
24929
24930         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24931           Fix state change order when there is only a semi sink (#316856)
24932
24933         * gst/gstbus.c: (gst_bus_class_init):
24934           Use _class_peek_parent(), not _class_ref(); fix docs to say
24935           'default main context' instead of 'mainloop' where that is
24936           what's meant.
24937
24938         * gst/gstelement.c: (gst_element_commit_state),
24939         (gst_element_set_state):
24940           Fix typos in debug messages
24941
24942 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24943
24944         * docs/README:
24945         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24946         * gst/gstpluginfeature.c:
24947         * gst/gstutils.c:
24948           various doc updates
24949         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24950           change an assert into an error until it gets fixed properly
24951
24952 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
24953
24954         * docs/gst/gstreamer-sections.txt:
24955         * docs/gst/tmpl/.cvsignore:
24956         * docs/gst/tmpl/gstelement.sgml:
24957         * docs/gst/tmpl/gstinfo.sgml:
24958         * docs/gst/tmpl/gstobject.sgml:
24959         * gst/gstelement.c:
24960         * gst/gstelement.h:
24961         * gst/gstinfo.c:
24962         * gst/gstinfo.h:
24963         * gst/gstobject.c: (gst_object_class_init):
24964         * gst/gstobject.h:
24965           inlined 3 more biiiig doc files and added some missing docs on the fly
24966
24967 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24968
24969         * check/gst/.cvsignore:
24970         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24971         * gst/gstregistryxml.c: (load_plugin),
24972         (gst_registry_xml_save_plugin):
24973           put back source in registry.  add checks for find_plugin.
24974         * testsuite/states/bin.c: (assert_state), (empty_bin),
24975         (test_adding_one_element), (main):
24976         * testsuite/states/locked.c: (main):
24977           some compile/run fixes
24978
24979 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24980
24981         * check/gst/gstvalue.c: (GST_START_TEST):
24982           fix leaks in the test itself
24983
24984 2005-09-22  Wim Taymans  <wim@fluendo.com>
24985
24986         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24987         (gst_base_sink_send_event), (gst_base_sink_peer_query),
24988         (gst_base_sink_query):
24989         Prepare for more accurate position reporting and query
24990         handling.
24991
24992         * gst/gstelement.c: (gst_element_send_event),
24993         (gst_element_set_state):
24994         Add some comment.
24995
24996 2005-09-22  Wim Taymans  <wim@fluendo.com>
24997
24998         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24999         (gst_query_parse_segment):
25000         * gst/gstquery.h:
25001         More documentation.
25002         Add segment query for future use.
25003
25004 2005-09-22  Wim Taymans  <wim@fluendo.com>
25005
25006         * gst/gstbin.c: (gst_bin_add_func):
25007         Some more debug info.
25008
25009         * gst/gstelement.c: (gst_element_send_event):
25010         Simplify send_event
25011
25012         * gst/gstelement.h:
25013         Don't know how flags got broken.
25014
25015         * gst/gstquery.h:
25016         Added new query.
25017
25018 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
25019
25020         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
25021           Add simplistic test suite for GST_TYPE_DATE serialisation and
25022           deserialisation.
25023
25024 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
25025
25026         * docs/gst/gstreamer-sections.txt:
25027         * gst/gststructure.c: (gst_structure_set_valist),
25028         (gst_structure_get_date):
25029         * gst/gststructure.h:
25030         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
25031         (gst_date_copy), (gst_value_compare_date),
25032         (gst_value_serialize_date), (gst_value_deserialize_date),
25033         (gst_value_transform_date_string),
25034         (gst_value_transform_string_date), (_gst_value_initialize):
25035         * gst/gstvalue.h:
25036           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
25037           bunch of utility functions along with a hack that checks that
25038           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
25039           is required. Part of the grand scheme in #170777.
25040
25041 2005-09-22  Andy Wingo  <wingo@pobox.com>
25042
25043         * gst/gstconfig.h.in: Psych out gtk-doc.
25044
25045         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
25046
25047         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
25048
25049         * tools/gst-inspect.c (print_element_list): Plug some
25050         inconsequential leaks.
25051
25052         * gst/gstregistry.c (gst_registry_get_default): Doc.
25053
25054         * check/gst/gstplugin.c: 
25055         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
25056         * gst/gstelementfactory.c (gst_element_factory_create): 
25057         * gst/gstindexfactory.c (gst_index_factory_create): Update for
25058         refcount changes.
25059
25060         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
25061         (gst_plugin_feature_load): Doc, don't eat refs.
25062
25063         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
25064         (gst_plugin_list_free): Doc.
25065         (gst_plugin_load_file): Doc updates.
25066
25067         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
25068         accessors returning refcounted objects, return a ref.
25069
25070         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
25071         accessor for caps. IDEMPOTENCE. Oh yes.
25072
25073 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
25074
25075         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
25076
25077         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
25078         (_gst_debug_register_funcptr):
25079           Add mutex to serialise access to the hash table with
25080           the function pointer => function name string mapping;
25081           make that hash table static scope (#316809).
25082
25083         * gst/registries/.cvsignore:
25084           Remove left-over file.
25085
25086 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
25087
25088         * docs/pwg/appendix-porting.xml:
25089           And something about newsegment events and caps-on-buffers to
25090           the porting guide (feel free to improve).
25091
25092 2005-09-21  Andy Wingo  <wingo@pobox.com>
25093
25094         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
25095         data and event probes on the same pad.
25096         (test_buffer_probe_once): Test that removing probes from within
25097         the probe functions works.
25098
25099 2005-09-21  Andy Wingo  <wingo@pobox.com>
25100
25101         * check/gst/gstutils.c: New file.
25102         (test_buffer_probe_n_times): A simple buffer probe test. More to
25103         come, foolios.
25104
25105         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
25106         have-data::buffer, not have-data.
25107         (gst_pad_add_event_probe): Likewise for have-data::event.
25108         (gst_pad_add_data_probe): More docs. The part about 'resolving the
25109         peer' isn't quite right yet though.
25110         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
25111         (gst_pad_remove_data_probe): Change to take the guint handler_id
25112         as their arg, not the function+data, which is more glib-like.
25113
25114         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
25115         the signal emission to indicate if the data is a buffer or an
25116         event.
25117         (gst_pad_get_type): Initialize buffer and event quarks.
25118         (gst_pad_class_init): have-data is now a detailed signal, yes it
25119         is.
25120
25121 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
25122
25123         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
25124         * gst/gstutils.c: (gst_util_set_value_from_string),
25125         (gst_util_set_object_arg):
25126           Don't put functional code in g_return_if_fail() or
25127           g_return_val_if_fail() statements, otherwise things will 
25128           break when G_DISABLE_CHECKS is defined during compilation.
25129
25130 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
25131
25132         * docs/gst/tmpl/.cvsignore:
25133         * docs/gst/tmpl/gstvalue.sgml:
25134         * gst/gstvalue.c:
25135         * gst/gstvalue.h:
25136           inlied another one and added  some obvious docs
25137
25138 2005-09-21  Wim Taymans  <wim@fluendo.com>
25139
25140         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
25141         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
25142         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
25143         (gst_fdsrc_get_property), (gst_fdsrc_create):
25144         * gst/elements/gstfdsrc.h:
25145         Properly implement fdsrc. Removed signal and timeout,
25146         better implemented somewhere else.
25147
25148 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
25149
25150         * docs/gst/tmpl/.cvsignore:
25151         * docs/gst/tmpl/gstimplementsinterface.sgml:
25152         * gst/gstinterface.c:
25153           inlined more docs
25154
25155 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
25156
25157         * docs/gst/gstreamer-sections.txt:
25158         * docs/gst/tmpl/.cvsignore:
25159         * docs/gst/tmpl/gstenumtypes.sgml:
25160           remove obsolete doc file
25161
25162 2005-09-21  David Schleef  <ds@schleef.org>
25163
25164         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
25165         little beer, fix a little leak.
25166
25167 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
25168
25169         * docs/gst/gstreamer-docs.sgml:
25170         * docs/gst/gstreamer-sections.txt:
25171         * docs/gst/tmpl/.cvsignore:
25172         * gst/Makefile.am:
25173         * gst/gst.h:
25174         * gst/gstbin.c:
25175         * gst/gstelement.h:
25176         * gst/gstindex.c: (gst_index_class_init):
25177         * gst/gstindex.h:
25178         * gst/gstindexfactory.c: (gst_index_factory_get_type),
25179         (gst_index_factory_class_init), (gst_index_factory_init),
25180         (gst_index_factory_finalize), (gst_index_factory_new),
25181         (gst_index_factory_destroy), (gst_index_factory_find),
25182         (gst_index_factory_create), (gst_index_factory_make):
25183         * gst/gstindexfactory.h:
25184         * gst/gstpluginfeature.c:
25185         * gst/gstpluginfeature.h:
25186         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
25187           more docs inlined, splitted gstindex.{c,h}
25188
25189 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25190
25191         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
25192           fix a leak
25193
25194 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
25195
25196         * gst/elements/gstfilesink.c: (gst_file_sink_init):
25197           Set sync to FALSE by default.
25198
25199 2005-09-20  Wim Taymans  <wim@fluendo.com>
25200
25201         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
25202         (gst_base_sink_init):
25203         Make sync property settable from subclass.
25204
25205         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25206         (gst_fake_sink_change_state):
25207         Set sync to FALSE by default.
25208
25209 2005-09-20  Wim Taymans  <wim@fluendo.com>
25210
25211         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
25212         * tools/gst-launch.c: (main):
25213         The timeout handler should have lower priority than the source
25214         so we don't timeout before popping a message with 0 timeout.
25215         Dump error messages after failed state change.
25216
25217 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
25218
25219         * tools/gst-inspect.c: (print_element_properties_info):
25220           Fix two typos.
25221
25222 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25223
25224         * check/gst/gstevent.c:
25225         * gst/elements/gstfakesink.c:
25226         * gst/elements/gstfakesink.h:
25227           remove the sync property from fakesink.
25228           has the side effect of setting sync TRUE
25229           for fakesink, which is a change.  Anyone who knows how
25230           to fix this nicely in a GObject-y way, feel free.
25231
25232 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25233
25234         * docs/gst/gstreamer-docs.sgml:
25235           remove probe refsection
25236
25237 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25238
25239         * check/Makefile.am:
25240           disable valgrinding the controller test again
25241         * docs/gst/gstreamer-sections.txt:
25242           update for api-changes
25243
25244 2005-09-20  Wim Taymans  <wim@fluendo.com>
25245
25246         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
25247         (gst_base_sink_set_property), (gst_base_sink_get_property),
25248         (gst_base_sink_do_sync):
25249         * gst/base/gstbasesink.h:
25250         Added sync property to basesink to disable clock sync.
25251
25252 2005-09-20  Andy Wingo  <wingo@pobox.com>
25253
25254         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
25255         eating the caller's refcount.
25256
25257         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
25258         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
25259         refcount.
25260
25261         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
25262         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
25263         of GLib 2.8 public, so we can know which refcount to check in
25264         tests.
25265
25266         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
25267         (gst_object_init): Only set the gst refcount if we're going ahead
25268         with the refcount hack.
25269
25270 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25271
25272         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
25273         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
25274           more leaks plumbed, added more debug-logging
25275         * gst/gstmacros.h:
25276           whitespace fix
25277
25278 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25279
25280         * gst/gstmessage.c:
25281           remove include of gstmemchunk.h
25282
25283 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25284
25285         * gst/gstclock.c: (_gst_clock_id_free):
25286           Commit from the Political Party For More Atomic CVS Commits,
25287           so that people don't waste too much of their day fishing
25288           out obvious leaks out of massive commits.
25289           Oh, and fix a pretty damn obvious leak in the memchunk
25290           removal code.
25291
25292 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25293
25294         * check/Makefile.am:
25295         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
25296           plug mem-leak, re-add to valgrindable tests
25297
25298 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25299
25300         * gst/gstplugin.h:
25301           unbreak the build for those who have chronic arthritis
25302           and typing "make check" is just too taxing on the hands
25303
25304 2005-09-20  Andy Wingo  <wingo@pobox.com>
25305
25306         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
25307         really want it out, you should fix plugins at the same time.
25308
25309 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
25310
25311         * configure.ac:
25312         * docs/gst/gstreamer-sections.txt:
25313         * gst/gstobject.c:
25314           added missing symbols to api docs
25315           disable ref-count hack if we have glib >= 2.8
25316
25317 2005-09-19  David Schleef  <ds@schleef.org>
25318
25319         * docs/gst/Makefile.am: Ignore a few more internal headers
25320         * docs/gst/gstreamer-docs.sgml: Remove old sections
25321         * docs/gst/gstreamer-sections.txt: Remove old sections
25322         * docs/gst/tmpl/gstobject.sgml: update
25323         * docs/gst/tmpl/gstplugin.sgml: update
25324         * docs/gst/tmpl/gstpluginfeature.sgml: update
25325         * docs/random/ds/0.9-suggested-changes: update.
25326         * gst/Makefile.am: remove memchunk and trashstack, since they're
25327           not used.
25328         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
25329         * gst/gst.h: don't include some headers
25330         * gst/gstchildproxy.c: add gstmarshal.h
25331         * gst/gstclock.c: Don't use memchunks
25332         * gst/gstminiobject.c: Add some docs
25333         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
25334         * gst/gstobject.h: same
25335         * gst/gstplugin.c: include gstmacros.h
25336         * gst/gstplugin.h: don't include gstmacros.h, since it's private
25337         * gst/gstquery.c: don't use memchunks
25338         * gst/gstregistry.c: rename gst_registry_deinit()
25339         * gst/gstregistry.h: same
25340
25341 2005-09-19  David Schleef  <ds@schleef.org>
25342
25343         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
25344         * docs/libs/gstreamer-libs-sections.txt:
25345         * docs/libs/tmpl/gstgetbits.sgml:
25346         * docs/libs/tmpl/gstputbits.sgml:
25347
25348 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
25349
25350         * win32/gstenumtypes.c:
25351         * win32/gstenumtypes.h:
25352           Update.
25353
25354 2005-09-19  Wim Taymans  <wim@fluendo.com>
25355
25356         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
25357         Automatically PAUSE and RESUME a pipeline when a flushing seek
25358         is performed.
25359
25360 2005-09-19  Andy Wingo  <wingo@pobox.com>
25361
25362         * gst/gstregistry.h: Spacing fixen.
25363
25364 2005-09-19  Wim Taymans  <wim@fluendo.com>
25365
25366         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
25367         Handle state change failure more correctly.
25368
25369 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25370
25371         * check/Makefile.am:
25372         * check/pipelines/cleanup.c: (run_pipeline):
25373         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25374         (GST_START_TEST):
25375           enable cleanup again after fixing the leak
25376         * docs/README:
25377           some more info on docs
25378
25379 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25380
25381         * check/Makefile.am:
25382           re-enable tests now that leaks are plugged
25383         * check/gst/gst.c:
25384         * check/gst/gstbin.c:
25385         * check/gst/gstpipeline.c:
25386           add some more tests while fixing leaks
25387         * common/check.mak:
25388           make sure binaries are uptodate when valgrinding/gdbing
25389         * gst/gst.c:
25390         * gst/gstelementfactory.c:
25391           remove a ref too many, and add a FIXME for when we get
25392           round to disposing of classes
25393         * gst/gstplugin.c:
25394           fix the refcounting when loading a plugin from a file and
25395           the code pretends that the pointer is the same even though
25396           of course it can change
25397         * gst/gstpluginfeature.c:
25398           unref plugins marked cached (a bit confusing as a name)
25399           as the docs state should be done
25400           various doc additions to explain refcounting
25401         * gst/gstregistry.c:
25402         * gst/gstregistryxml.c:
25403           debugging
25404
25405 2005-09-19  Wim Taymans  <wim@fluendo.com>
25406
25407         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
25408         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
25409         (send_messages), (GST_START_TEST), (gstbus_suite):
25410         * check/gst/gstpipeline.c: (GST_START_TEST):
25411         * check/pipelines/cleanup.c: (run_pipeline):
25412         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25413         (GST_START_TEST):
25414         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
25415         (gst_bus_source_check), (gst_bus_source_dispatch),
25416         (gst_bus_create_watch), (gst_bus_add_watch_full),
25417         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
25418         * gst/gstbus.h:
25419         * tools/gst-launch.c: (event_loop):
25420         * tools/gst-md5sum.c: (event_loop):
25421         GstBusHandler -> GstBusFunc, return value has the same meaning as
25422         any other GSource (FALSE == remove source).
25423         _add_watch() and _add_watch_full() now take a MessageType mask to
25424         only handle specific types of messages.
25425         _poll() returns the GstMessage instead of the message type to avoid
25426         race conditions.
25427         _have_pending() takes a MessageType mask now too.
25428         Added testsuite for multiple bus watches.
25429         Fix testsuites and applications for new bus API.
25430
25431 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25432
25433         * check/Makefile.am:
25434           mark a bunch of the tests as to fix until we fix them
25435
25436 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25437
25438         * common/check.mak:
25439           use GST_PLUGIN settings for valgrind tests as well, so we're
25440           valgrinding the correct thing
25441         * gst/gst.c: (init_post):
25442           plug another leak
25443
25444 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25445
25446         * gst/gst.c: (init_post), (gst_deinit):
25447         * gst/gstelementfactory.c: (gst_element_factory_class_init),
25448         (gst_element_factory_finalize), (gst_element_factory_cleanup):
25449         * gst/gstindex.c: (gst_index_factory_class_init),
25450         (gst_index_factory_finalize):
25451         * gst/gstobject.c: (gst_object_dispose):
25452         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
25453         (gst_plugin_load_file), (gst_plugin_desc_free):
25454         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
25455         (gst_plugin_feature_finalize):
25456         * gst/gstregistry.c: (gst_registry_class_init),
25457         (gst_registry_init), (gst_registry_finalize),
25458         (gst_registry_get_default), (gst_registry_deinit):
25459         * gst/gstregistry.h:
25460         * gst/gstregistryxml.c: (load_feature), (load_plugin):
25461           various cleanups and memleak plugging.  make valgrind is happy now.
25462
25463 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25464
25465         * common/check.mak:
25466           add a check-valgrind target
25467
25468 2005-09-18  David Schleef  <ds@schleef.org>
25469
25470         * tools/gst-inspect.c: Revert the GOption code.
25471
25472 2005-09-17  David Schleef  <ds@schleef.org>
25473
25474         * check/Makefile.am: Fix environment variables.
25475         * check/gst/gstplugin.c: Fix for API changes.
25476         * tools/gst-inspect.c: Fix for API changes.
25477         * tools/gst-xmlinspect.c: Fix for API changes.
25478         * gst/gstelementfactory.c:
25479         * gst/gstplugin.c:
25480         * gst/gstplugin.h:
25481         * gst/gstpluginfeature.c:
25482         * gst/gstpluginfeature.h:
25483         * gst/gstregistry.c:
25484         * gst/gstregistry.h:
25485         * gst/gstregistryxml.c:
25486         * gst/gsttypefind.c:
25487         * gst/gsttypefindfactory.c:
25488         * gst/indexers/gstfileindex.c:
25489         * gst/indexers/gstmemindex.c:
25490         * gst/schedulers/Makefile.am:
25491           Change registry to keep track of both plugins and features,
25492           removing the feature tracking from plugins themselves.
25493
25494 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
25495
25496         * check/Makefile.am:
25497         * tools/gst-register.1.in:
25498           remove gst-register
25499
25500 2005-09-15  David Schleef  <ds@schleef.org>
25501
25502         * check/gst/gstplugin.c:
25503         * gst/gstelementfactory.c:
25504         * gst/gstplugin.c:
25505         * gst/gstpluginfeature.c:
25506         * gst/gstregistry.c:
25507           Getting tired of debugging.  Disabled all the unreffing of
25508           plugins and features, which fixes the segfaults, but of
25509           course leaks like crazy.  At least playbin works.
25510
25511 2005-09-15  David Schleef  <ds@schleef.org>
25512
25513         * check/gst/gstplugin.c: (register_check_elements),
25514         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
25515         More testing
25516         * gst/elements/gsttypefindelement.c: Fix refcounting.
25517         * gst/gsttypefind.c:
25518         * gst/gsttypefindfactory.c:
25519         * gst/gsttypefindfactory.h:
25520
25521 2005-09-15  David Schleef  <ds@schleef.org>
25522
25523         * gst/gstindex.c: get refcounting correct.
25524         * gst/gstregistry.c: Handle the case where a feature/plugin is
25525           not found.
25526
25527 2005-09-15  David Schleef  <ds@schleef.org>
25528
25529         * check/Makefile.am:
25530         * check/gst/gstplugin.c: Add test
25531         * gst/gstplugin.c: Fix problems noticed by testsuite
25532         * gst/gstplugin.h:
25533         * gst/gstregistry.c: 
25534         * gst/gstregistry.h:
25535
25536 2005-09-15  David Schleef  <ds@schleef.org>
25537
25538         * gst/gstplugin.c: Implement semi-decent recounting and locking
25539           in plugins and plugin features.
25540         * gst/gstplugin.h:
25541         * gst/gstpluginfeature.c:
25542         * gst/gstpluginfeature.h:
25543         * gst/gstregistry.c:
25544
25545 2005-09-15  Michael Smith <msmith@fluendo.com>
25546
25547         * gst/gstregistry.c: (gst_registry_get_feature_list):
25548           Implement this. Makes oggdemux work; decodebin still broken.
25549
25550 2005-09-14  David Schleef  <ds@schleef.org>
25551
25552         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25553           #316076)
25554         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25555         * gst/check/Makefile.am:
25556         * libs/gst/controller/Makefile.am:
25557         * libs/gst/dataprotocol/Makefile.am:
25558
25559 2005-09-14  David Schleef  <ds@schleef.org>
25560
25561         * configure.ac: Remove getbits library.  Nothing uses it, and
25562           it should be in something like liboil if someone did want
25563           to use it.
25564         * libs/gst/Makefile.am:
25565         * libs/gst/getbits/Makefile.am:
25566         * libs/gst/getbits/gbtest.c:
25567         * libs/gst/getbits/getbits.c:
25568         * libs/gst/getbits/getbits.h:
25569         * libs/gst/getbits/gstgetbits_generic.c:
25570         * libs/gst/getbits/gstgetbits_i386.s:
25571         * libs/gst/getbits/gstgetbits_inl.h:
25572
25573 2005-09-14  David Schleef  <ds@schleef.org>
25574
25575         * gst/Makefile.am: Dist glib-compat.h
25576
25577 2005-09-14  David Schleef  <ds@schleef.org>
25578
25579         * configure.ac: Remove gst/registries, since it's no longer used.
25580         * gst/registries/Makefile.am:
25581         * gst/registries/gstlibxmlregistry.c:
25582         * gst/registries/gstlibxmlregistry.h:
25583         * gst/registries/gstxmlregistry.c:
25584         * gst/registries/gstxmlregistry.h:
25585         * gst/registries/registrytest.c:
25586
25587 2005-09-14  David Schleef  <ds@schleef.org>
25588
25589         * gst/glib-compat.h:
25590         * gst/gstregistryxml.c:
25591           Convergence is near.  Seriously.
25592
25593 2005-09-14  David Schleef  <ds@schleef.org>
25594
25595         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25596         * gst/glib-compat.h:
25597           Attempt #4 to appease the buildbots.
25598
25599 2005-09-14  David Schleef  <ds@schleef.org>
25600
25601         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25602           Attempt #3.
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 #2.
25608
25609 2005-09-14  David Schleef  <ds@schleef.org>
25610
25611         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25612           the new functions.
25613
25614 2005-09-14  David Schleef  <ds@schleef.org>
25615
25616         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25617         * gst/glib-compat.h: Add some functions that are in newer versions
25618           of glib than we care to require.
25619         * gst/gstregistryxml.c: Use them.
25620
25621 2005-09-14  David Schleef  <ds@schleef.org>
25622
25623         * po/POTFILES.in: remove gst-register.c
25624
25625 2005-09-14  David Schleef  <ds@schleef.org>
25626
25627         * docs/gst/gstreamer-docs.sgml:
25628         * docs/gst/gstreamer-sections.txt:
25629         * docs/gst/gstreamer.types:
25630         * docs/gst/tmpl/gstelement.sgml:
25631         * docs/gst/tmpl/gstplugin.sgml:
25632         * docs/gst/tmpl/gstpluginfeature.sgml:
25633           Documentation updates for registry changes.
25634
25635 2005-09-14  David Schleef  <ds@schleef.org>
25636
25637         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25638           because we don't require glib-2.8.
25639
25640 2005-09-14  David Schleef  <ds@schleef.org>
25641
25642         * gst/gstregistryxml.c: Added.  Essentially moved out of the
25643           registries directory.
25644
25645 2005-09-14  David Schleef  <ds@schleef.org>
25646
25647         * check/Makefile.am:
25648         * check/generic/states.c:
25649         * gst/Makefile.am:
25650         * gst/gst.c:
25651         * gst/gst.h:
25652         * gst/gst_private.h:
25653         * gst/gstelementfactory.c:
25654         * gst/gstindex.c:
25655         * gst/gstinfo.c:
25656         * gst/gstplugin.c:
25657         * gst/gstplugin.h:
25658         * gst/gstpluginfeature.c:
25659         * gst/gstpluginfeature.h:
25660         * gst/gstregistry.c:
25661         * gst/gstregistry.h:
25662         * gst/gstregistrypool.c: remove
25663         * gst/gstregistrypool.h: remove
25664         * gst/gsttypefind.c:
25665         * gst/gsttypefindfactory.c:
25666         * gst/gsturi.c:
25667         * tools/Makefile.am:
25668         * tools/gst-compprep.c:
25669         * tools/gst-inspect.c:
25670         * tools/gst-register.c: remove
25671         * tools/gst-xmlinspect.c:
25672           Registry rewrite.  Changes registry from being a file created
25673           by a tool into a simple cache file created automatically by 
25674           libgstreamer.  Removed gst-register (because it's no longer
25675           needed).  Remove registry pools, because we only have one
25676           registry implementation (XML).  Fix up other subsystems as
25677           necessary.
25678
25679 2005-09-13  Michael Smith <msmith@fluendo.com>
25680
25681         * gst/gstconfig.h.in:
25682           Don't Use windows linking attributes for MinGW. Fixes #316157
25683
25684 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
25685
25686         * gst/gstutils.c: (set_state_async_thread_func),
25687         (gst_element_set_state_async):
25688           Apparently people think it's better if this function doesn't
25689           try to set the state to whatever state was asked for on the first
25690           call to this function for any object.  Seriously.
25691
25692 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25693
25694         * check/gst/gstpipeline.c: (GST_START_TEST):
25695         * docs/gst/gstreamer-sections.txt:
25696         * gst/gstutils.c: (set_state_async_thread_func),
25697         (gst_element_set_state_async):
25698         * gst/gstutils.h:
25699           add a "gst_element_set_state_async" method that
25700           sets the state and starts a thread to make sure the state
25701           change completes as best as it can
25702
25703 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25704
25705         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25706           codify design+behaviour in testsuite after discussion
25707
25708 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25709
25710         * docs/gst/tmpl/gstelement.sgml:
25711         * docs/manual/appendix-quotes.xml:
25712           add a quote
25713         * gst/gstelement.c: (gst_element_set_state):
25714           add some debug
25715
25716 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
25717
25718         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25719         (gst_base_transform_prepare_output_buf),
25720         (gst_base_transform_handle_buffer):
25721         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25722         (gst_capsfilter_prepare_buf):
25723           Remove the requirement for sub-classes to call the parent
25724           implementation of prepare_output_buffer with a wrapper function.
25725           
25726         * gst/gsttaglist.h:
25727         * gst/gsttagsetter.h:
25728           Fix #define wrapper
25729
25730 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
25731
25732         * docs/gst/gstreamer-sections.txt:
25733           more doc cleanups
25734
25735 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25736
25737         * docs/gst/gstreamer-sections.txt:
25738         * docs/gst/tmpl/gstelement.sgml:
25739         * docs/gst/tmpl/gstplugin.sgml:
25740         * gst/gstminiobject.c:
25741         * gst/gstvalue.h:
25742           docs now stop throwing warnings
25743
25744 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25745
25746         * docs/gst/gstreamer-sections.txt:
25747         * docs/gst/gstreamer.types:
25748         * docs/gst/tmpl/gstpad.sgml:
25749         * docs/gst/tmpl/gsttypes.sgml:
25750         * gst/base/gstadapter.h:
25751         * gst/base/gstbasesink.h:
25752         * gst/base/gstbasesrc.h:
25753         * gst/gstbin.h:
25754         * gst/gstbuffer.h:
25755         * gst/gstbus.h:
25756         * gst/gstcaps.h:
25757         * gst/gstclock.h:
25758         * gst/gstelement.h:
25759         * gst/gstevent.h:
25760         * gst/gstmessage.h:
25761         * gst/gstpad.h:
25762         * gst/gststructure.c:
25763         * gst/registries/gstlibxmlregistry.h:
25764           various documentation fixes
25765
25766 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25767
25768         * docs/gst/gstreamer-sections.txt:
25769         * docs/gst/tmpl/gstvalue.sgml:
25770           rearrange gstvalue section
25771         * gst/gstutils.c: (gst_element_state_get_name):
25772           NONE -> VOID
25773         * gst/gstvalue.c: (_gst_value_initialize):
25774         * gst/gstvalue.h:
25775           doc updates
25776
25777 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
25778
25779         * check/gst-libs/controller.c:
25780           Header include fix.
25781         * gst/base/gstbasetransform.c:
25782         (gst_base_transform_default_prepare_buf),
25783         (gst_base_transform_handle_buffer):
25784         * gst/base/gstbasetransform.h:
25785           Some more basetransform changes and fixes to enable sub-classes
25786           that modify buffer metadata only.
25787         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25788         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25789         (gst_capsfilter_prepare_buf):
25790           If the output pad has fixed allowed caps and input buffers 
25791           don't have any, set the fixed caps on outgoing buffers.
25792
25793 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
25794         * check/elements/identity.c: (GST_START_TEST):
25795           Make the error a little clearer when the test fails because
25796           identity made a copy of the buffer.
25797         * docs/gst/gstreamer-sections.txt:
25798           New symbols in gstbasetransform.h
25799         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25800         (gst_base_transform_init), (gst_base_transform_transform_size),
25801         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25802         (gst_base_transform_default_prepare_buf),
25803         (gst_base_transform_get_unit_size),
25804         (gst_base_transform_buffer_alloc),
25805         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25806         (gst_base_transform_change_state),
25807         (gst_base_transform_set_passthrough),
25808         (gst_base_transform_set_in_place),
25809         (gst_base_transform_is_in_place):
25810         * gst/base/gstbasetransform.h:
25811           Change BaseTransform to separate in_place operate from same_caps
25812           output. in_place implies that the element can perform the transform
25813           on incoming buffers in-place, even if the caps on the output are
25814           different.
25815           Sub-class elements can now implement special buffer allocation
25816           methods for outgoing buffers if they wish to.
25817           Big documentation addition.
25818         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25819         * gst/elements/gstelements.c:
25820           Changes for basetransform modifications.
25821         * gst/elements/Makefile.am:
25822         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25823           Compile fix. Extra debug output.
25824
25825 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25826
25827         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25828         (gst_pad_suite):
25829           add tests for valid pad naming
25830         * gst/check/gstcheck.c: (gst_check_log_message_func),
25831         (gst_check_log_critical_func):
25832           add ASSERT_WARNING
25833           remove printing of code, it is fragile when the code contains
25834           % and the line number is enough info
25835         * gst/check/gstcheck.h:
25836         * gst/gstpad.c: (gst_pad_template_new):
25837           fix memleaks
25838
25839 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25840
25841         * configure.ac:
25842           say what CHECK flags we use
25843         * docs/libs/gstreamer-libs.types:
25844         * libs/gst/controller/Makefile.am:
25845         * libs/gst/controller/gst-controller.c:
25846         * libs/gst/controller/gst-controller.h:
25847         * libs/gst/controller/gst-helper.c:
25848         * libs/gst/controller/gst-interpolation.c:
25849         * libs/gst/controller/gstcontroller.c:
25850         * libs/gst/controller/gsthelper.c:
25851         * libs/gst/controller/gstinterpolation.c:
25852         * tools/gst-inspect.c: (print_plugin_info):
25853           we don't use dashes in header names
25854
25855 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25856
25857         * check/Makefile.am:
25858         * check/gst/.cvsignore:
25859         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25860         (gst_pipeline_suite), (main):
25861           adding a test for pipelines and state changes
25862         * gst/gstutils.c: (get_state_func):
25863           add some debugging
25864         * gstreamer.spec.in:
25865           fix up spec file
25866
25867 2005-09-08  Michael Smith <msmith@fluendo.com>
25868
25869         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25870         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25871         (gst_file_src_is_seekable), (gst_file_src_get_size),
25872         (gst_file_src_start):
25873         * gst/elements/gstfilesrc.h:
25874           Various fixes for unseekable, unmmapable, and non-normal files, so
25875           that fallback to read() rather than mmap() works.
25876         * gst/gstevent.c: (gst_event_new_newsegment):
25877           Allow newsegment events with segment_start == segment_end, as will
25878           correctly happen if you use filesrc on a zero-size file, for
25879           example.
25880
25881 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25882
25883         * gst/gstplugin.c: (gst_plugin_load_file):
25884           Call g_module_close when we don't load the module
25885
25886         * gst/registries/gstlibxmlregistry.c:
25887         (gst_xml_registry_get_property):
25888           Port leak fix from 0.8
25889
25890 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25891
25892         * docs/gst/gstreamer-docs.sgml:
25893         * docs/gst/tmpl/.cvsignore:
25894         * docs/gst/tmpl/gsttrace.sgml:
25895         * docs/gst/tmpl/gsttrashstack.sgml:
25896         * gst/Makefile.am:
25897         * gst/gst.h:
25898         * gst/gstelement.h:
25899         * gst/gstevent.h:
25900         * gst/gstmessage.c:
25901         * gst/gstmessage.h:
25902         * gst/gsttag.c:
25903         * gst/gsttag.h:
25904         * gst/gsttaginterface.c:
25905         * gst/gsttaginterface.h:
25906         * gst/gsttaglist.c:
25907         * gst/gsttaglist.h:
25908         * gst/gsttagsetter.c:
25909         * gst/gsttagsetter.h:
25910         * gst/gsttrace.c:
25911         * gst/gsttrace.h:
25912         * gst/gsttrashstack.c:
25913           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25914           inlined docs for gsttrace, gsttrashstack
25915
25916 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25917
25918         * gst/Makefile.am:
25919         * gst/elements/gstbufferstore.h:
25920         * gst/elements/gsttypefindelement.c:
25921         * gst/elements/gsttypefindelement.h:
25922         * gst/gst.h:
25923         * gst/gsttypefind.c:
25924         * gst/gsttypefind.h:
25925         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25926         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25927         (gst_type_find_factory_dispose),
25928         (gst_type_find_factory_unload_thyself),
25929         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25930         (gst_type_find_factory_get_caps),
25931         (gst_type_find_factory_get_extensions),
25932         (gst_type_find_factory_call_function):
25933         * gst/gsttypefindfactory.h:
25934         * gst/registries/gstlibxmlregistry.c:
25935         * gst/registries/gstxmlregistry.c:
25936           splitted gsttypefind into gsttypefind, gsttypefindfactory
25937
25938 2005-09-07  Andy Wingo  <wingo@pobox.com>
25939
25940         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25941         condition whereby the pad's task function is entered before the
25942         pad_mode variable was set.
25943
25944 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25945
25946         * gst/gstpad.c: (gst_pad_alloc_buffer):
25947           Catch misbehaving pad_alloc functions that don't
25948           set up caps and do it for them.
25949
25950 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25951
25952         * check/pipelines/simple_launch_lines.c: (run_pipeline):
25953           test for pipe!=NULL
25954         * docs/gst/tmpl/.cvsignore:
25955         * docs/gst/tmpl/gstmemchunk.sgml:
25956         * docs/gst/tmpl/gstparse.sgml:
25957         * docs/gst/tmpl/gsttaglist.sgml:
25958         * docs/gst/tmpl/gsttagsetter.sgml:
25959         * docs/gst/tmpl/gsttypefind.sgml:
25960         * docs/gst/tmpl/gsttypefindfactory.sgml:
25961         * gst/gstmemchunk.c:
25962         * gst/gstparse.c:
25963         * gst/gsttag.c:
25964         * gst/gsttaginterface.c:
25965         * gst/gsttypefind.c:
25966         * gst/gsttypefind.h:
25967           inlined more docs
25968
25969 === release 0.9.2 ===
25970
25971 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
25972
25973         * NEWS:
25974         * RELEASE:
25975         * configure.ac:
25976           releasing 0.9.2, "South"
25977
25978 2005-09-05  Andy Wingo  <wingo@pobox.com>
25979
25980         * gst/registries/gstxmlregistry.h:
25981         * gst/registries/gstxmlregistry.c: Um... resurrect...
25982         
25983         * gst/registries/gstxmlregistry.h:
25984         * gst/registries/gstxmlregistry.c: and update to newer API.
25985         Incidentally they should be a bit faster now that they don't have
25986         to parse the caps.
25987         
25988 2005-09-05  Andy Wingo  <wingo@pobox.com>
25989
25990         * gst/registries/gstxmlregistry.h:
25991         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25992         replaced by the libxml registry a while back
25993
25994 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25995
25996         * docs/gst/tmpl/gstplugin.sgml:
25997         * gst/elements/gstelements.c:
25998         * gst/gst.c:
25999         * gst/gstplugin.c: (gst_plugin_register_func),
26000         (gst_plugin_desc_copy), (gst_plugin_desc_free),
26001         (gst_plugin_get_source):
26002         * gst/gstplugin.h:
26003         * gst/registries/gstlibxmlregistry.c: (load_plugin),
26004         (gst_xml_registry_save_plugin):
26005         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
26006         (gst_xml_registry_save_plugin):
26007         * tools/gst-inspect.c: (print_plugin_info):
26008           add a "source" plugin description field, to represent the source
26009           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
26010           will set it to PACKAGE, which is automake's idea of the name of
26011           the source project.
26012
26013 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
26014
26015         * Makefile.am:
26016         * autogen.sh:
26017         * configure.ac:
26018         * docs/Makefile.am:
26019         * docs/faq/Makefile.am:
26020         * docs/gst/tmpl/gstelement.sgml:
26021         * docs/gst/tmpl/gsttypes.sgml:
26022         * docs/htmlinstall.mak:
26023         * docs/manual/Makefile.am:
26024         * docs/pwg/Makefile.am:
26025           reorganize doc build a little
26026           split out docbook and gtk-doc stuff
26027           have two separate --enable's and enable them through autogen
26028           but disable by default in configure (to be similar to other
26029           projects)
26030         * gstreamer.spec.in:
26031           clean up docs install
26032         * po/af.po:
26033         * po/az.po:
26034         * po/ca.po:
26035         * po/cs.po:
26036         * po/de.po:
26037         * po/en_GB.po:
26038         * po/fr.po:
26039         * po/it.po:
26040         * po/nb.po:
26041         * po/nl.po:
26042         * po/ru.po:
26043         * po/sq.po:
26044         * po/sr.po:
26045         * po/sv.po:
26046         * po/tr.po:
26047         * po/uk.po:
26048         * po/vi.po:
26049           translation updates
26050
26051 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
26052
26053         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
26054           Add comment.
26055           
26056         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
26057         (gst_fake_sink_change_state):
26058           Make state change function thread-safe.
26059           
26060         * gst/gstpad.c: (gst_pad_alloc_buffer):
26061           Set offset on generic buffer allocated by fallback.
26062
26063 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
26064
26065         * docs/gst/gstreamer-sections.txt:
26066         * docs/gst/tmpl/gstelement.sgml:
26067         * gst/gstpad.c:
26068         * libs/gst/controller/gst-controller.c:
26069         (gst_controlled_property_set_interpolation_mode),
26070         (gst_controlled_property_new),
26071         (gst_controller_find_controlled_property):
26072          run the wingo-magic script against the docs
26073
26074 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
26075
26076         * docs/gst/gstreamer-docs.sgml:
26077         * docs/gst/gstreamer-sections.txt:
26078         * docs/gst/tmpl/.cvsignore:
26079         * docs/gst/tmpl/gstelementdetails.sgml:
26080         * docs/gst/tmpl/gstelementfactory.sgml:
26081         * gst/gst.c:
26082         * gst/gstbus.c:
26083         * gst/gstelementfactory.c:
26084         * gst/gstelementfactory.h:
26085           merged elementdetails docs into elementfactory docs
26086           inlined both
26087
26088 2005-09-02  Andy Wingo  <wingo@pobox.com>
26089
26090         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
26091         consider this enum an enum and not a flags.
26092
26093 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
26094
26095         * docs/gst/gstreamer-docs.sgml:
26096         * docs/gst/tmpl/.cvsignore:
26097         * docs/gst/tmpl/gstghostpad.sgml:
26098         * docs/gst/tmpl/gstiterator.sgml:
26099         * docs/gst/tmpl/gstmacros.sgml:
26100         * docs/gst/tmpl/gstrealpad.sgml:
26101         * docs/gst/tmpl/gstregistry.sgml:
26102         * docs/gst/tmpl/gstregistrypool.sgml:
26103         * docs/gst/tmpl/gststructure.sgml:
26104         * docs/gst/tmpl/gstsystemclock.sgml:
26105         * docs/gst/tmpl/gsttrace.sgml:
26106         * gst/gstghostpad.c:
26107         * gst/gstmacros.h:
26108         * gst/gstmemchunk.c:
26109         * gst/gstmemchunk.h:
26110         * gst/gstqueue.c:
26111         * gst/gstregistry.c:
26112         * gst/gstregistrypool.c:
26113         * gst/gststructure.c:
26114         * gst/gstsystemclock.c:
26115           more docs inlined
26116
26117 2005-09-02  Andy Wingo  <wingo@pobox.com>
26118
26119         * gst/gstelement.h (GstState): Renamed from GstElementState,
26120         changed to be a normal enum instead of flags.
26121         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
26122         munged to be GST_STATE_CHANGE_*.
26123         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
26124         work with the new state representation.
26125         (GstStateChange): New enumeration of possible state transitions.
26126         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
26127         (GstElementClass::change_state): Pass the GstStateChange along as
26128         an argument. Helps language bindings, so they don't have to use
26129         tricky lock-needing macros like GST_STATE_CHANGE ().
26130
26131         * scripts/update-states (file): New script. Run it on a file to
26132         update it for state naming and API changes. Updates files in
26133         place.
26134
26135         * All files updated for the new API.
26136
26137 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
26138
26139         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
26140         * gst/gstutils.c: (gst_util_set_value_from_string),
26141         (gst_util_set_object_arg):
26142           fix a bunch of unchecked return values
26143         * tools/gst-complete.c: (main):
26144         * gstreamer.spec.in:
26145           clean up a little
26146
26147 2005-09-01  Wim Taymans  <wim@fluendo.com>
26148
26149         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26150         (gst_base_sink_event), (gst_base_sink_do_sync),
26151         (gst_base_sink_handle_event):
26152         * gst/base/gstbasesink.h:
26153         Handle newsegments more correctly.
26154
26155         * gst/gstbus.c:
26156         Fix docs.
26157
26158         * gst/gstevent.c: (gst_event_new_newsegment):
26159         A newsegment cannot have a start_time of -1
26160
26161 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
26162
26163         * win32/gstenumtypes.c:
26164         * win32/gstenumtypes.h:
26165           Update
26166
26167 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
26168
26169         * libs/gst/controller/gst-controller.c:
26170         (gst_controlled_property_set_interpolation_mode),
26171         (gst_controlled_property_new):
26172          fixed boolean again
26173
26174 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
26175
26176         * docs/faq/gst-uninstalled:
26177           add -good
26178         * gst/gstevent.c:
26179         * gst/gstevent.h:
26180           remove wrong docs
26181         * gst/gstutils.c: (gst_element_link_filtered):
26182         * gst/gstutils.h:
26183           add gst_element_link_filtered
26184
26185 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
26186
26187         * docs/gst/gstreamer-docs.sgml:
26188         * docs/gst/gstreamer-sections.txt:
26189         * docs/gst/tmpl/.cvsignore:
26190         * docs/gst/tmpl/gsterror.sgml:
26191         * docs/gst/tmpl/gstfilter.sgml:
26192         * docs/gst/tmpl/gsturihandler.sgml:
26193         * docs/gst/tmpl/gsturitype.sgml:
26194         * docs/gst/tmpl/gstutils.sgml:
26195         * docs/gst/tmpl/gstxml.sgml:
26196         * gst/gsterror.c:
26197         * gst/gsterror.h:
26198         * gst/gstfilter.c:
26199         * gst/gsturi.c:
26200         * gst/gsturitype.c:
26201         * gst/gstutils.c:
26202         * gst/gstxml.c:
26203           inlined more docs, fixed double id-ref
26204
26205 2005-08-31  Wim Taymans  <wim@fluendo.com>
26206
26207         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
26208         (gst_base_transform_handle_buffer):
26209         Passthrough elements don't need the caps as they don't care.
26210
26211 2005-08-31  Wim Taymans  <wim@fluendo.com>
26212
26213         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
26214         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
26215         Don't leak refcounts on buffers.
26216
26217 2005-08-31  Wim Taymans  <wim@fluendo.com>
26218
26219         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
26220         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
26221         (gst_base_transform_chain), (gst_base_transform_change_state):
26222         * gst/base/gstbasetransform.h:
26223         Handle the case where we are not negotiated more gracefully.
26224
26225 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
26226
26227         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
26228         (gst_file_src_map_region):
26229           Set READONLY flag on mmap'ed buffers, otherwise
26230           gst_buffer_make_writable() won't work properly (#314708).
26231
26232 2005-08-31  Wim Taymans  <wim@fluendo.com>
26233
26234         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
26235         passthrough elements can even do inplace on non writable
26236         buffers (as they don't touch them).
26237
26238 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
26239
26240         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
26241         (gst_test_mono_source_set_property),
26242         (gst_test_mono_source_class_init), (GST_START_TEST),
26243         (gst_controller_suite):
26244           more tests (hehe I have the most)
26245         * gst/gstbus.c:
26246           describe popping messages whenusing mulltiple sources
26247         * libs/gst/controller/gst-controller.c:
26248         (gst_controlled_property_set_interpolation_mode),
26249         (gst_controlled_property_new):
26250         * libs/gst/controller/gst-controller.h:
26251         * libs/gst/controller/gst-interpolation.c:
26252           implement boolean properties
26253
26254 2005-08-31  Wim Taymans  <wim@fluendo.com>
26255
26256         * gst/gstminiobject.c: (gst_mini_object_ref):
26257         Cannot assert that the refcount has to be positive
26258         since a disposed object can be resurrected.
26259
26260 2005-08-31  Wim Taymans  <wim@fluendo.com>
26261
26262         * gst/gstpad.c: (gst_pad_init):
26263         Revert change, need to first fix badly behaving 
26264         apps.
26265
26266 2005-08-30  Wim Taymans  <wim@fluendo.com>
26267
26268         * check/elements/fakesrc.c: (setup_fakesrc):
26269         * check/elements/identity.c: (setup_identity):
26270         Activate pads before using them.
26271
26272 2005-08-30  Wim Taymans  <wim@fluendo.com>
26273
26274         * gst/base/gstadapter.c: (gst_adapter_flush):
26275         Flushing out 0 bytes is ok for this function.
26276
26277         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26278         no newsegment gives a warning and sets the start/stop to 
26279         invalid.
26280
26281         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
26282         (gst_base_transform_set_passthrough):
26283         Some debug info.
26284
26285         * gst/gstminiobject.c: (gst_mini_object_ref):
26286         Check refcount here too.
26287
26288         * gst/gstpad.c: (gst_pad_init):
26289         Pads are initially flushing and refusing data.
26290
26291         * gst/gstutils.c: (gst_element_link_pads_filtered):
26292         When adding a capsfilter element make sure it has the
26293         same state as the parent bin.
26294
26295 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26296
26297         * docs/gst/tmpl/.cvsignore:
26298         * docs/gst/tmpl/gstformat.sgml:
26299         * docs/gst/tmpl/gstversion.sgml:
26300         * gst/gstbus.h:
26301         * gst/gstformat.c:
26302         * gst/gstformat.h:
26303         * gst/gstversion.h.in:
26304           more docs and two more inlined
26305
26306 2005-08-30  Wim Taymans  <wim@fluendo.com>
26307
26308         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
26309         Don't sync to clock.
26310
26311 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26312
26313         * docs/gst/gstreamer-sections.txt:
26314           ultral33t func10ns deserve to appear in the docs actually
26315         * docs/gst/tmpl/.cvsignore:
26316         * docs/gst/tmpl/gstcompat.sgml:
26317         * docs/gst/tmpl/gstconfig.sgml:
26318         * gst/check/gstcheck.c:
26319         * gst/gstcompat.h:
26320         * gst/gstconfig.h.in:
26321           inlined more docs
26322
26323 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26324
26325         * docs/gst/tmpl/.cvsignore:
26326         * docs/gst/tmpl/gstquery.sgml:
26327         * docs/gst/tmpl/gstutils.sgml:
26328         * gst/gstquery.c:
26329         * gst/gstquery.h:
26330           inlined and extended docs
26331
26332 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26333
26334         * check/gst-libs/controller.c: (GST_START_TEST),
26335         (gst_controller_suite):
26336           more tests
26337         * docs/gst/tmpl/gstutils.sgml:
26338         * docs/libs/gstreamer-libs-sections.txt:
26339         * docs/libs/tmpl/gstdataprotocol.sgml:
26340           include path fixes
26341         * examples/controller/audio-example.c: (main):
26342           controller example works now
26343         * gst/gstclock.h:
26344           doc fixes
26345         * tools/gst-inspect.c: (print_element_properties_info):
26346           show param spec flags
26347
26348 2005-08-29  Andy Wingo  <wingo@pobox.com>
26349
26350         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
26351
26352 2005-08-28  Andy Wingo  <wingo@pobox.com>
26353
26354         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
26355         as having two arguments instead of just one. Allows superclasses
26356         to access information on subclasses -- see the terrible for() loop
26357         in gtype.c:g_type_create_instance for the reason why. All callers
26358         changed.
26359
26360 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26361
26362         * docs/design/part-messages.txt:
26363           update info
26364         * docs/gst/tmpl/.cvsignore:
26365         * docs/gst/tmpl/gstcaps.sgml:
26366         * docs/gst/tmpl/gstclock.sgml:
26367         * gst/gstbus.c:
26368         * gst/gstcaps.c:
26369         * gst/gstcaps.h:
26370         * gst/gstclock.c:
26371         * gst/gstclock.h:
26372         * gst/gstmessage.c:
26373           added descriptions for bus and message
26374           inline caps and clock docs
26375
26376 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26377
26378         * gst/gstmessage.c:
26379         * gst/gstmessage.h:
26380           doc fixes
26381
26382 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26383
26384         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
26385           fix div-by-zero
26386
26387 2005-08-26  Andy Wingo  <wingo@pobox.com>
26388
26389         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
26390         element_set_state's return val.
26391         (test_2_elements): Add test that's been disabled for months.
26392
26393         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
26394         can-activate-pull properties.
26395
26396         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
26397         can-activate-pull properties. Implement is_seekable so fakesrc can
26398         operate in pull mode.
26399
26400         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
26401         properties.
26402         (gst_base_sink_activate, gst_base_sink_activate_pull)
26403         (gst_base_sink_activate_push): Make activation mode choosing work.
26404         Cleanups.
26405         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
26406         is right. Make pull mode work. Post an eos before pausing in pull
26407         mode.
26408         (gst_base_sink_change_state): Pay attention to the core's
26409         change_state() return val.
26410         
26411         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
26412         has-getrange properties. Cleanups.
26413         
26414         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
26415         has_getrange and replace with can_activate_pull and
26416         can_activate_push.
26417
26418         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
26419         locking comments. Remove has_loop, has_chain and replace with
26420         can_activate_pull and can_activate_push.
26421
26422 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
26423
26424         * configure.ac:
26425         * examples/Makefile.am:
26426         * examples/metadata/Makefile.am:
26427         * examples/metadata/read-metadata.c: (message_loop),
26428         (have_pad_handler), (make_pipeline), (print_tag), (main):
26429           Add metadata reading example that loops over a list of filenames,
26430           dumping any tags found.
26431
26432         * gst/gstbus.c: (gst_bus_dispose):
26433         * gst/gstelement.c: (gst_element_dispose):
26434           Release a few potentially-held references in dispose.
26435
26436 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26437
26438         * docs/gst/tmpl/gstminiobject.sgml:
26439           do *not* add tmpl/*.sgml files to CVS!
26440
26441 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26442
26443         * libs/gst/bytestream/.cvsignore:
26444         * libs/gst/bytestream/Makefile.am:
26445         * libs/gst/bytestream/adapter.c:
26446         * libs/gst/bytestream/adapter.h:
26447         * libs/gst/bytestream/bytestream.c:
26448         * libs/gst/bytestream/bytestream.h:
26449         * libs/gst/bytestream/filepad.c:
26450         * libs/gst/bytestream/filepad.h:
26451           removing obsolete files
26452
26453 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26454
26455         * docs/gst/gstreamer-docs.sgml:
26456         * docs/libs/gstreamer-libs-docs.sgml:
26457           disabed additional index entries again, as this makes docs-gen just
26458           slow and they aren't useful yet
26459         * docs/libs/gstreamer-libs-sections.txt:
26460           little -section.txt cleanup for libs
26461
26462 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
26463
26464         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26465         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
26466           fix up some debugging
26467         (gst_base_transform_get_unit_size),
26468         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26469         (gst_base_transform_handle_buffer):
26470         * gst/base/gstbasetransform.h:
26471           handle and store timed NEWSEGMENT events so that subclasses that
26472           calculate time by counting samples have a segment_start time they
26473           need to add to their timestamps - see audioresample
26474
26475 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26476
26477         * gst/gstbin.h:
26478           removed ';' from the end of macro defs
26479         * docs/gst/gstreamer-docs.sgml:
26480         * docs/gst/gstreamer-sections.txt:
26481         * docs/gst/tmpl/.cvsignore:
26482         * gst/gstbus.h:
26483         * gst/gstelement.c: (gst_element_class_init),
26484         (gst_element_set_state), (activate_pads),
26485         (gst_element_save_thyself):
26486         * gst/gstevent.c: (gst_event_new_newsegment):
26487         * gst/gstevent.h:
26488         * gst/gstiterator.c:
26489         * gst/gstiterator.h:
26490         * gst/gstpad.c:
26491         * gst/gstprobe.h:
26492         * gst/gstutils.c: (gst_pad_query_convert):
26493         * gst/gstutils.h:
26494           fixed parameter name mismatches between source, header and docs
26495           added some more docs, resolved the last batch of unused elements in
26496           docs (now someone needs to doc them)
26497
26498 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26499
26500         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
26501         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
26502           don't walk through the plugins backwards.  Where is all this
26503           reversed logic coming from ?
26504
26505 2005-08-25  Wim Taymans  <wim@fluendo.com>
26506
26507         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26508         (gst_base_transform_transform_size),
26509         (gst_base_transform_configure_caps),
26510         (gst_base_transform_get_unit_size),
26511         (gst_base_transform_buffer_alloc),
26512         (gst_base_transform_change_state):
26513         * gst/base/gstbasetransform.h:
26514         Cache caps unit_size.
26515         Make sure we cannot negotiate up and downstream at the
26516         same time.
26517
26518 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26519
26520         * gst/gst.c: (init_pre), (init_post):
26521           register the installed plugin path after the env var
26522         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26523         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
26524           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
26525           directories, so the tests can prefer uninstalled over installed
26526
26527 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26528
26529         * gst/base/gstbasetransform.h:
26530           comment
26531         * gst/gstpad.c:
26532           add to docs
26533
26534 2005-08-25  Wim Taymans  <wim@fluendo.com>
26535
26536         * gst/gstbin.c: (bin_bus_handler):
26537         Be a bit more conservative about the posted message.
26538         
26539         * gst/gstbus.c: (gst_bus_post):
26540         Some cleanups, warn wrong return values.
26541
26542 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
26543
26544         * check/gst/gstbin.c: (GST_START_TEST):
26545         * gst/gstbin.c: (bin_bus_handler):
26546         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26547         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26548         (gst_message_new_warning), (gst_message_new_tag),
26549         (gst_message_new_state_changed), (gst_message_new_segment_start),
26550         (gst_message_new_segment_done), (gst_message_new_custom):
26551         * gst/gstmessage.h:
26552         * tools/gst-launch.c: (event_loop):
26553         * tools/gst-md5sum.c: (event_loop):
26554           Revert unpopular change for GST_MESSAGE_SRC to GObject.
26555
26556 2005-08-25  Wim Taymans  <wim@fluendo.com>
26557
26558         * check/generic/states.c: (GST_START_TEST):
26559         Cleanup can be done at the end.
26560
26561         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26562         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26563         (gst_task_get_state), (gst_task_start), (gst_task_pause):
26564         Oh boy.. Thanks for finding this, Thomas. 
26565
26566 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26567
26568         * docs/gst/gstreamer.types:
26569           added missing types
26570
26571 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26572
26573         * docs/gst/gstreamer-docs.sgml:
26574         * docs/gst/gstreamer-sections.txt:
26575         * docs/gst/tmpl/.cvsignore:
26576         * gst/gstbin.c:
26577         * gst/gstiterator.c:
26578         * gst/gstutils.c:
26579         * gst/registries/gstxmlregistry.h:
26580           added missing classes and symbols (123 more to go)
26581           removed removed symbols from section file
26582           fixed many doc-comments
26583
26584 2005-08-24  Wim Taymans  <wim@fluendo.com>
26585
26586         * check/generic/states.c: (GST_START_TEST):
26587         Make sure all tasks are stopped.
26588
26589         * check/gst/gstbin.c: (GST_START_TEST):
26590         Unref after usage for proper valgrinding.
26591
26592         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26593         Really wait for the task to stop before destroying the
26594         mutex.
26595
26596         * gst/gstqueue.c: (gst_queue_sink_activate_push),
26597         (gst_queue_src_activate_push):
26598         Small cleanups. Don't stop the task when we did not start
26599         it.
26600
26601         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26602         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26603         (gst_task_get_state), (gst_task_start), (gst_task_pause),
26604         (gst_task_join):
26605         * gst/gsttask.h:
26606         Protect the stream lock with the object lock.
26607         Disallow setting the stream lock when running.
26608         Add cleanup_all to wait for the threadpool to finish.
26609         Remove code to autoallocate a mutex if none was provided.
26610         Add _join() to wait for a task to stop.
26611         Protect the thread pool with a global lock.
26612
26613 2005-08-24  Wim Taymans  <wim@fluendo.com>
26614
26615         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26616         (gst_base_sink_get_times), (gst_base_sink_do_sync),
26617         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26618         * gst/base/gstbasesink.h:
26619         Handle newsegment events correctly.
26620         Drop buffers out of the segment range.
26621
26622 2005-08-22  Andy Wingo  <wingo@pobox.com>
26623
26624         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26625         macro, implements an interface and gstimplementsinterface for a
26626         new type.
26627
26628 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26629
26630         * check/Makefile.am:
26631         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26632           add a test that does a bunch of state changes on elements
26633           needs some fixing for valgrind
26634         * check/states/sinks.c: (gst_object_suite):
26635           whitespace
26636         * gst/gstcaps.h:
26637           add prototype for gst_caps_is_equal_fixed
26638         * gst/gstplugin.c:
26639         * gst/gstregistrypool.c:
26640           doc fixes
26641
26642 2005-08-24  Andy Wingo  <wingo@pobox.com>
26643
26644         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26645         convert a negative value. Doesn't make much sense. Mostly this is
26646         here to force callers to ensure -1 maps to -1.
26647
26648 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26649
26650         * docs/pwg/advanced-types.xml:
26651           Well done to Michael for catching my deliberate introduction
26652           of this spelling mistake. 
26653         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26654         * gst/gstelement.h:
26655           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26656           unlink pads before removing the element from the bin.
26657
26658 2005-08-24  Andy Wingo  <wingo@pobox.com>
26659
26660         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26661         the same thing as GST_DEBUG=*:4.
26662         (parse_debug_level, parse_debug_category): New helper parsers.
26663
26664 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26665
26666         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26667         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26668         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26669         (gst_base_transform_buffer_alloc),
26670         (gst_base_transform_handle_buffer):
26671           use gboolean return values and pointers to size so we can use the
26672           full GST_BUFFER_SIZE range (guint) for buffer sizes
26673           use GstPadDirection for transform_caps
26674         * gst/base/gstbasetransform.h:
26675           rename get_size to get_unit_size since that's what it is
26676         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26677           use GstPadDirection for transform_caps
26678         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26679         * gst/gstutils.h:
26680           cleanup and debugging
26681
26682 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26683
26684         * gst/gstelement.c: (gst_element_class_init),
26685         (gst_element_set_state), (activate_pads),
26686         (gst_element_save_thyself):
26687         * tools/gst-compprep.c: (main):
26688         * tools/gst-inspect.c: (print_element_properties_info):
26689         * tools/gst-xmlinspect.c: (print_element_properties):
26690           Fixed long standing mem-leak
26691
26692 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26693
26694         * check/gst/gstbin.c: (GST_START_TEST):
26695         * gst/gstbin.c: (bin_bus_handler):
26696         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26697         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26698         (gst_message_new_warning), (gst_message_new_tag),
26699         (gst_message_new_state_changed), (gst_message_new_segment_start),
26700         (gst_message_new_segment_done), (gst_message_new_custom):
26701         * gst/gstmessage.h:
26702         * tools/gst-launch.c: (event_loop):
26703         * tools/gst-md5sum.c: (event_loop):
26704           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26705           that applications can sensibly post custom messages with references
26706           to their own objects.
26707
26708 2005-08-24  Andy Wingo  <wingo@pobox.com>
26709
26710         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26711         already.
26712
26713 2005-08-24  Wim Taymans  <wim@fluendo.com>
26714
26715         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26716         (gst_base_transform_transform_caps),
26717         (gst_base_transform_transform_size),
26718         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26719         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26720         (gst_base_transform_handle_buffer):
26721         * gst/base/gstbasetransform.h:
26722         Many fixes and new features added by Thomas. Can now also do
26723         transforms with variable sizes and a custom fixate_caps function.
26724
26725 2005-08-24  Wim Taymans  <wim@fluendo.com>
26726
26727         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26728         Some debugging.
26729
26730         * gst/gstclock.h:
26731         Cast to ClockTime before formatting to time.
26732
26733         * gst/gstutils.h:
26734         Cleanups.
26735
26736 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26737
26738         * check/gst-libs/controller.c: (GST_START_TEST),
26739         (gst_controller_suite):
26740         * docs/gst/tmpl/gstcaps.sgml:
26741         * docs/gst/tmpl/gstghostpad.sgml:
26742         * docs/gst/tmpl/gstquery.sgml:
26743         * docs/gst/tmpl/gstutils.sgml:
26744         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26745         (gst_object_sink_values), (gst_object_get_value_arrays),
26746         (gst_object_get_value_array):
26747           gracefully handle helper method calls to objects that are not beeing
26748           controlled, added test case for that          
26749
26750 2005-08-23  Wim Taymans  <wim@fluendo.com>
26751
26752         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26753         (gst_event_new_newsegment), (gst_event_parse_newsegment),
26754         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26755         (gst_event_parse_qos), (gst_event_new_seek),
26756         (gst_event_parse_seek):
26757         * gst/gstevent.h:
26758         Some more debugging output and doc cleanups.
26759
26760         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26761         Fix possible deadlock.
26762
26763 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26764
26765         * docs/gst/gstreamer-docs.sgml:
26766         * docs/gst/gstreamer-sections.txt:
26767         * docs/gst/gstreamer.types:
26768         * docs/gst/tmpl/.cvsignore:
26769         * gst/gstbin.h:
26770         * gst/gstbus.c:
26771         * gst/gstelement.c:
26772         * gst/gstevent.h:
26773           added 100 symbols from gstreamer-unused.txt to the right sections
26774           fixed more broken comments
26775           added GstBus to docs
26776
26777 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26778
26779         * docs/gst/gstreamer-sections.txt:
26780         * docs/gst/tmpl/.cvsignore:
26781         * docs/gst/tmpl/gstbin.sgml:
26782         * docs/gst/tmpl/gstbuffer.sgml:
26783         * gst/base/gstbasesrc.c:
26784         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26785         * gst/gstbuffer.c:
26786         * gst/gstbuffer.h:
26787         * tools/gst-launch.1.in:
26788           inlined more doc comments, added missing comments and fixed comments
26789           fixed typos
26790
26791 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26792
26793         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26794           some debugging
26795         * gst/gstcaps.h:
26796           whitespace fixes
26797         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26798           more debugging
26799         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26800         * gst/gststructure.h:
26801           add a fixate function for booleans; add a FIXME that these func
26802           names should probably be gst_structure_fixate_*
26803
26804 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26805
26806         * docs/gst/gstreamer-docs.sgml:
26807         * docs/gst/gstreamer-sections.txt:
26808         * gst/Makefile.am:
26809         * gst/gstbin.c: (gst_bin_get_type),
26810         (gst_bin_child_proxy_get_child_by_index),
26811         (gst_bin_child_proxy_get_children_count),
26812         (gst_bin_child_proxy_init):
26813         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26814         (gst_child_proxy_get_child_by_index),
26815         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26816         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26817         (gst_child_proxy_get), (gst_child_proxy_set_property),
26818         (gst_child_proxy_set_valist), (gst_child_proxy_set),
26819         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26820         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26821         * gst/gstchildproxy.h:
26822         * gst/parse/grammar.y:
26823         * tools/gst-inspect.c: (print_interfaces),
26824         (print_element_properties_info), (print_element_info):
26825           ported gstchildproxy over from 0.8
26826           ported gst-inspect fixes and enhancements over from 0.8
26827
26828 2005-08-22  Wim Taymans  <wim@fluendo.com>
26829
26830         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26831         (gst_base_transform_handle_buffer):
26832         Also call the transform function if we have ANY caps.
26833
26834         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26835         Fix debug info.
26836
26837 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26838
26839         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26840           Don't pretend to handle seek events if the source is not seekable
26841
26842 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26843
26844         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26845           Remove extra parameter to debug output
26846
26847         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26848         (gst_base_src_do_seek), (gst_base_src_activate_push):
26849           Fix seek event handling.
26850
26851         * gst/gstpipeline.c: (gst_pipeline_change_state):
26852         * gst/gstqueue.c: (gst_queue_handle_sink_event),
26853         (gst_queue_src_activate_push):
26854           Don't start the src pad task on FLUSH_STOP if the pad
26855           isn't linked.
26856           Debug changes.
26857
26858 2005-08-22  Wim Taymans  <wim@fluendo.com>
26859
26860         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26861         Added check for gst_static_caps_get() refcounting.
26862
26863 2005-08-22  Wim Taymans  <wim@fluendo.com>
26864
26865         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26866         Make _static_caps_get() refcounting sane.
26867         
26868         * gst/gstelement.c: (gst_element_set_state):
26869         Add g_return_val_if_fail() to protect against segfaults.
26870
26871 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
26872
26873         * docs/gst/tmpl/gstevent.sgml:
26874         * gst/gstevent.c:
26875         * gst/gstevent.h:
26876           inlined remaining docs, added missing doc comments
26877
26878 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26879
26880         * check/gst/gstbin.c: (GST_START_TEST):
26881           since we don't know when preroll is done, use refcount range
26882           check for the sink
26883         * gst/check/gstcheck.h:
26884           add macro for checking refcount range
26885
26886 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26887
26888         * check/Makefile.am:
26889           clean up environment for when registry gets built versus
26890           when actual tests are run; valgrind seems to not report
26891           leaks if GST_PLUGIN_PATH is set to some specific values
26892         * check/gst/gstbin.c: (GST_START_TEST):
26893           add more refcounting checks; maybe this exposes a
26894           preroll lock bug ?
26895         * common/check.mak:
26896         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26897         * gst/check/gstcheck.h:
26898         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26899         (gst_bin_change_state):
26900         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26901           add/fix debugging/whitespace
26902
26903 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26904
26905         * check/gst/gstevent.c: (event_probe), (test_event),
26906         (GST_START_TEST):
26907          Er, don't call gst_bin_watch_for_state_change you idiot.
26908
26909 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26910
26911         * check/Makefile.am:
26912           Use CHECK_CFLAGS and CHECK_LIBS
26913         * check/gst/gstevent.c: (event_probe), (test_event),
26914         (GST_START_TEST):
26915           Don't leak events.
26916         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26917         (gst_base_src_start), (gst_base_src_stop),
26918         (gst_base_src_activate_push), (gst_base_src_activate_pull),
26919         (gst_base_src_change_state):
26920           Sprinkle gst_base_src_stop liberally around error paths to fix
26921           problems reusing a source after failed state changes.
26922         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26923         (helper_find_suggest), (gst_type_find_helper):
26924           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26925         * gst/gstevent.h:
26926         * docs/gst/tmpl/gstevent.sgml:
26927           Migrate part of the docs from the SGML file. Wait for ensonic to
26928           tell me how I did it wrong ;)
26929         * tools/gst-typefind.c: (main):
26930           Extra robustness to state changes between files.
26931
26932 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26933
26934         * check/Makefile.am:
26935           don't valgrind the controller test - it's leaking - Stefan, HELP
26936         * gst/check/gstcheck.c: (gst_check_message_error),
26937         (gst_check_chain_func), (gst_check_setup_element),
26938         (gst_check_teardown_element), (gst_check_setup_src_pad),
26939         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26940         (gst_check_teardown_sink_pad):
26941         * gst/check/gstcheck.h:
26942           add a bunch of methods to set up elements, and src and sink pads
26943         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26944         * check/elements/identity.c: (setup_identity), (cleanup_identity),
26945         (GST_START_TEST):
26946           use them
26947         * gst/gstmessage.c:
26948         * gst/gsttag.h:
26949           whitespace/doc fixes
26950
26951 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26952
26953         * gst/gstelement.h:
26954           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26955           be handled by the application and not always printed as well
26956
26957 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26958
26959         * check/Makefile.am:
26960           set GST_TOOLS_DIR
26961         * gst/check/gstcheck.c: (gst_check_message_error):
26962         * gst/check/gstcheck.h:
26963           add a fail_unless_equals_int
26964           add fail_unless for error messages
26965
26966 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26967
26968         * check/Makefile.am:
26969         * check/gst.supp:
26970         * common/Makefile.am:
26971         * common/check.mak:
26972         * common/gst.supp:
26973           factor out some of the common stuff so we can use it
26974
26975 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26976
26977         * check/Makefile.am:
26978         * check/gst/gstiterator.c: (GST_START_TEST):
26979         * check/gst/gstsystemclock.c: (GST_START_TEST),
26980         (gst_systemclock_suite):
26981         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26982         * gst/gstclock.c:
26983           valgrind more tests
26984
26985 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26986
26987         * check/elements/.cvsignore:
26988         * check/elements/gstfakesrc.c:
26989           rename to name of element
26990         * check/elements/identity.c: (chain_func), (event_func),
26991         (setup_identity), (cleanup_identity), (GST_START_TEST),
26992         (identity_suite), (main):
26993           add a test for identity
26994         * check/Makefile.am:
26995         * pkgconfig/Makefile.am:
26996         * pkgconfig/gstreamer-check.pc.in:
26997         * pkgconfig/gstreamer-check-uninstalled.pc.in:
26998         * gst/check:
26999         * gst/Makefile.am:
27000         * configure.ac:
27001           move the check stuff to a library that gets installed
27002         * check/gst-libs/controller.c: (GST_START_TEST):
27003         * check/gst-libs/gdp.c:
27004         * check/gst/gst.c: (GST_START_TEST):
27005         * check/gst/gstbin.c:
27006         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
27007         * check/gst/gstbus.c:
27008         * check/gst/gstcaps.c: (GST_START_TEST):
27009         * check/gst/gstelement.c:
27010         * check/gst/gstghostpad.c:
27011         * check/gst/gstiterator.c:
27012         * check/gst/gstmessage.c:
27013         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
27014         * check/gst/gstobject.c:
27015         * check/gst/gstpad.c: (GST_START_TEST):
27016         * check/gst/gststructure.c: (GST_START_TEST):
27017         * check/gst/gstsystemclock.c: (GST_START_TEST),
27018         (gst_systemclock_suite):
27019         * check/gst/gsttag.c: (gst_tag_suite):
27020         * check/gst/gstvalue.c:
27021         * check/pipelines/cleanup.c:
27022         * check/pipelines/simple_launch_lines.c:
27023         * check/states/sinks.c:
27024           change include statement
27025
27026         * docs/gst/gstreamer-sections.txt:
27027         * docs/gst/tmpl/gstpad.sgml:
27028           document more pad stuff
27029         * gst/gstminiobject.c: (gst_mini_object_ref),
27030         (gst_mini_object_unref):
27031           debug refcounting
27032
27033 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
27034
27035         * docs/gst/tmpl/gst.sgml:
27036         * gst/gst.c:
27037           eliminate another tmpl file, fix spelling in the long-description
27038
27039 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
27040
27041         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
27042         (test_event), (timediff), (gstevents_suite):
27043           Should fix build on 64-bit arch's
27044
27045 2005-08-18  Andy Wingo  <wingo@pobox.com>
27046
27047         Make sure that when a pipeline goes to PLAYING, that data has
27048         actually hit the sink.
27049
27050         * check/states/sinks.c (test_sink): A sink that doesn't get any
27051         data shouldn't return SUCCESS for going to either PLAYING or
27052         PAUSED. Test also the return values on the way back down.
27053
27054         * gst/gstelement.c (gst_element_set_state): When changing the
27055         state of an element currently changing state asynchronously, go to
27056         lost-state after commiting the pending state. Makes future calls
27057         to get_state continue to return ASYNC.
27058
27059         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
27060         ASYNC when going to PLAYING if we still don't have preroll, as can
27061         happen with live sources.
27062
27063 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
27064
27065         * docs/pwg/advanced-types.xml:
27066           Hack long paragraph into 2 chunks as a workaround for buggy
27067           jadetex version in sid and breezy that loops infinitely and
27068           eats all RAM.
27069
27070 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
27071
27072         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
27073         (test_event), (timediff), (gstevents_suite):
27074           Provide more error margin in clock measurements to allow for 
27075           g_get_current_time inaccuracies.
27076
27077 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
27078
27079         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
27080         (test_event), (timediff), (gstevents_suite):
27081            Fix error message output so I might be able to tell why the
27082            test works here but fails on the build farm.
27083
27084 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
27085
27086         * check/Makefile.am:
27087         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
27088         (test_event), (timediff), (gstevents_suite), (main):
27089           I wrote a test!
27090
27091         * docs/design/part-seeking.txt:
27092           Spelling correction
27093
27094         * docs/gst/tmpl/gstevent.sgml:
27095         * docs/gst/tmpl/gstfakesrc.sgml:
27096           Docs updates.
27097
27098         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
27099           Treat a buffer-without-newsegment the same as a receiving 
27100           a newsegment not in time format, and disable syncing to the clock
27101           with a warning.
27102
27103         * gst/gstbus.c: (gst_bus_set_sync_handler):
27104           Assert if anyone tries to replace the existing sync_handler for bus, 
27105           as only the owner should be setting it.
27106
27107         * gst/gstevent.h:
27108           Have a fixed set of custom event enums with events identified by
27109           their structure name (as in 0.8), rather than a free-for-all
27110           allowing collisions between enum values from different plugins.
27111
27112         * gst/gstpad.c: (gst_pad_class_init):
27113           Docs change.
27114           
27115         * gst/gstqueue.c: (gst_queue_handle_sink_event):
27116           Handle out-of-band downstream events from the sending thread.
27117
27118 2005-08-17  Andy Wingo  <wingo@pobox.com>
27119
27120         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
27121         play-timeout==0 to mean no timeout at all. In that case, don't
27122         bother with a get_state or a warning, just return directly, even
27123         if it's ASYNC.
27124
27125         * gst/base/gstbasetransform.c: Debug changes.
27126
27127         * gst/gstutils.h:
27128         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
27129         ensure bins post state change messages. A bit of a hack but I can't
27130         think of a way to avoid it.
27131
27132         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
27133
27134 2005-08-16  Andy Wingo  <wingo@pobox.com>
27135
27136         * gst/base/gstadapter.h:
27137         * gst/base/gstadapter.c (gst_adapter_take): New function, like
27138         peek() but you own the data. Not terribly efficient atm.
27139
27140 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27141
27142         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
27143         (gst_element_found_tags):
27144         * gst/gstutils.h:
27145           Add two utility functions for tag handling.
27146
27147 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27148
27149         * docs/manual/advanced-dataaccess.xml:
27150         * docs/manual/basics-helloworld.xml:
27151           Fix docs to use _bin_add() before _link(), which fixes the examples
27152           with recent core versions (reported by Madhan Raj M
27153           <raj_madan@rediffmail.com>, #313199).
27154
27155 2005-08-16  Wim Taymans  <wim@fluendo.com>
27156
27157         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
27158         Added subtract checks.
27159
27160         * docs/design/part-events.txt:
27161         Some more docs about newsegment
27162
27163         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
27164         Fix FIXME
27165
27166         * gst/gstcaps.c: (gst_caps_to_string):
27167         Add comments, cleanups.
27168         
27169         * gst/gstelement.c: (gst_element_save_thyself):
27170         cleanups
27171         
27172         * gst/gstvalue.c: (gst_value_collect_int_range),
27173         (gst_string_unwrap), (gst_value_union_int_int_range),
27174         (gst_value_union_int_range_int_range),
27175         (gst_value_intersect_int_int_range),
27176         (gst_value_intersect_int_range_int_range),
27177         (gst_value_intersect_double_double_range),
27178         (gst_value_intersect_double_range_double_range),
27179         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
27180         (gst_value_subtract_int_range_int),
27181         (gst_value_subtract_double_range_double),
27182         (gst_value_subtract_double_range_double_range),
27183         (gst_value_subtract_from_list), (gst_value_subtract_list),
27184         (gst_value_can_compare), (gst_value_compare_fraction):
27185         Cleanups, add comments, remove unneeded asserts.
27186
27187 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
27188
27189         * tools/gst-launch.c: (event_loop):
27190           don't convert NULL structures to strings
27191
27192 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
27193
27194         * docs/gst/gstreamer-sections.txt:
27195           made some defines private
27196         * docs/gst/tmpl/gstconfig.sgml:
27197         * docs/gst/tmpl/gstqueue.sgml:
27198         * docs/gst/tmpl/gsttaglist.sgml:
27199         * docs/gst/tmpl/gsttypes.sgml:
27200         * docs/gst/tmpl/gstutils.sgml:
27201         * docs/pwg/appendix-porting.xml:
27202         * gst/base/gstbasesink.h:
27203         * gst/base/gstbasesrc.c:
27204         * gst/base/gstbasesrc.h:
27205         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
27206         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
27207         * gst/gstelement.c: (gst_element_class_init):
27208         * gst/gstpad.c: (gst_pad_class_init):
27209         * gst/gstqueue.c: (gst_queue_class_init):
27210         * gst/gstxml.c: (gst_xml_class_init):
27211           documented all undocumented signal inline
27212         * libs/gst/controller/gst-controller.h:
27213           added padding
27214
27215 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27216
27217         * docs/pwg/appendix-porting.xml:
27218           Document _set_link_function -> _set_setcaps_function.
27219
27220 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
27221
27222         * check/Makefile.am:
27223           add a .check target for running the check
27224         * check/gst-libs/controller.c: (GST_START_TEST):
27225           cosmetic fixups
27226         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
27227           complete checks for gstbuffer; would be nice if I could get the
27228           gcov stuff to work so I can see if I actually completed gstbuffer.c
27229         * check/gstcheck.h:
27230           add ASSERT_BUFFER_REFCOUNT
27231
27232 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
27233
27234         * docs/gst/gstreamer-sections.txt:
27235         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
27236         * gst/gsttag.h:
27237           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
27238           spew out a warning if a tag that is already registered
27239           is re-registered, unless it is re-registered with a 
27240           different type (#308438).
27241
27242 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
27243
27244         * docs/pwg/appendix-porting.xml:
27245         * docs/pwg/building-state.xml:
27246           Add some paragraphs about state changes in 0.9 to the PWG
27247           and the porting guide, in particular about the new meaning
27248           of GST_STATE_PAUSED and how to write state change functions
27249           with concurrent access by multiple threads in mind.
27250
27251 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
27252
27253         * docs/gst/gstreamer-docs.sgml:
27254         * docs/libs/gstreamer-libs-docs.sgml:
27255           added deprecation and since indexes
27256         * libs/gst/controller/gst-controller.c:
27257         * libs/gst/controller/gst-helper.c:
27258           added since tags
27259
27260
27261 2005-08-11  Wim Taymans  <wim@fluendo.com>
27262
27263         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
27264         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
27265         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
27266         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
27267         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
27268         (gst_ghost_pad_set_target):
27269         Actually implement (re)setting the target on a ghostpad
27270         as described in the docs.
27271
27272 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
27273
27274         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
27275           Check whether GST_DEBUG_NO_COLOR environment variable is
27276           set and disable coloured debug output if that is the case.
27277
27278 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
27279
27280         * gst/base/gsttypefindhelper.c: (helper_find_peek),
27281         (gst_type_find_helper):
27282           The memory returned by gst_type_find_peek() needs to
27283           stay valid until the end of a typefind function, and
27284           typefind functions may keep results from different 
27285           offsets around, so we can't just unref the buffer from
27286           the previous _peek(), but have to save all buffers 
27287           returned by _peek() until typefinding is done and only
27288           free them then.
27289
27290 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
27291
27292         * docs/gst/gstreamer-sections.txt:
27293         * gst/gstutils.h:
27294           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
27295
27296 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27297
27298         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
27299           Fix a pretty good memleak.
27300
27301 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
27302
27303         * gst/gstiterator.h:
27304           Fix wrong include and 'make distcheck'.
27305
27306 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27307
27308         * gst/gstbin.c: (bin_bus_handler):
27309           Use gst_element_post_message() instead.
27310
27311 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
27312
27313         * gst/base/gstadapter.h:
27314         * gst/base/gstbasesink.h:
27315         * gst/base/gstbasesrc.h:
27316         * gst/base/gstbasetransform.h:
27317         * gst/base/gstcollectpads.h:
27318         * gst/base/gstpushsrc.h:
27319         * gst/gstiterator.h:
27320           Add padding to our base elements' class and instance structs and
27321           to GstIterator (you will need to rebuild all plugins and apps!)
27322
27323 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27324
27325         * gst/gstbin.c: (bin_bus_handler):
27326           Make default message forwarding from child->bus to bin->bus
27327           threadsafe and make it not emit warnings if the parent has no bus.
27328
27329 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27330
27331         * gst/gstelement.c: (activate_pads):
27332           On paused->ready, set pad->caps to NULL, as is the documented
27333           behaviour in this state change. Fixes playback of series of
27334           media files when visualization is enabled in Totem.
27335
27336 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27337
27338         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
27339           Allow NULL as filter-caps (which means "any").
27340
27341 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27342
27343         * docs/libs/gstreamer-libs-sections.txt:
27344         * libs/gst/controller/gst-controller.c:
27345         * libs/gst/controller/gst-controller.h:
27346         * libs/gst/controller/gst-helper.c:
27347           adding more entries to the docs and fix small doc-bugs
27348
27349 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27350
27351         * docs/gst/gstreamer-docs.sgml:
27352         * docs/gst/gstreamer-sections.txt:
27353         * docs/gst/gstreamer.types:
27354         * docs/gst/tmpl/gstbasesink.sgml:
27355         * docs/gst/tmpl/gstbasesrc.sgml:
27356         * docs/gst/tmpl/gstbasetransform.sgml:
27357         * docs/gst/tmpl/gstfakesrc.sgml:
27358         * gst/base/gstcollectpads.c:
27359         * gst/base/gstcollectpads.h:
27360         * libs/gst/controller/gst-controller.c:
27361         * libs/gst/controller/gst-controller.h:
27362         * libs/gst/controller/gst-helper.c:
27363         * libs/gst/controller/gst-interpolation.c:
27364         * libs/gst/controller/lib.c:
27365           added long/short desc for controller docs
27366           added collectpads base class docs
27367           added correct includes to base-class docs
27368
27369 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27370
27371         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
27372         (gst_test_mono_source_set_property),
27373         (gst_test_mono_source_class_init), (GST_START_TEST),
27374         (gst_controller_suite):
27375         * docs/gst/gstreamer-docs.sgml:
27376         * docs/gst/gstreamer-sections.txt:
27377         * docs/gst/gstreamer.types:
27378         * docs/libs/gstreamer-libs-docs.sgml:
27379         * docs/libs/gstreamer-libs-sections.txt:
27380         * gst/base/gstadapter.c:
27381         * libs/gst/controller/gst-controller.c:
27382         (gst_controlled_property_new), (gst_controlled_property_free),
27383         (gst_controller_new_valist),
27384         (gst_controller_remove_properties_valist),
27385         (gst_controller_sink_values), (_gst_controller_finalize):
27386         * libs/gst/controller/gst-controller.h:
27387         * libs/gst/controller/gst-helper.c:
27388         (gst_object_control_properties), (gst_object_uncontrol_properties),
27389         (gst_object_get_controller), (gst_object_set_controller),
27390         (gst_object_sink_values), (gst_object_get_value_arrays),
27391         (gst_object_get_value_array):
27392           more tests (and fixes) for the controller
27393           more docs for the controller
27394           integrated companies docs for the adapter 
27395
27396 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
27397
27398         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
27399         (GST_START_TEST), (fakesrc_suite):
27400           add tests for sizetype
27401
27402 2005-08-04  Andy Wingo  <wingo@pobox.com>
27403
27404         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
27405         fixes buffer_alloc proxying among other things.
27406
27407         * gst/base/gstbasetransform.c:
27408         * gst/base/gstbasetransform.h:
27409         Revert patch to gstbasetransform from 7-28 removing
27410         delay_configure.
27411
27412         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
27413         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
27414         Semantics changed, should return not the size of the output buffer
27415         but the byte size of a buffer with a given caps.
27416
27417         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
27418         debug object.
27419         (gst_base_transform_configure_caps): Don't set out_size here: (in,
27420         out) are not the pad caps until setcaps finishes.
27421         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
27422         not-in-place case as well. Deal with changing from in-place to
27423         not-in-place within calling pad_alloc_buffer. Still a bit
27424         concerned about the overhead here...
27425
27426 2005-08-03  Andy Wingo  <wingo@pobox.com>
27427
27428         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
27429         fixating is an error.
27430
27431 2005-08-04  Edward Hervey  <edward@fluendo.com>
27432
27433         * gst/base/gstadapter.h: 
27434         Added gst_adapter_get_type() to the header
27435
27436 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27437
27438         * check/Makefile.am:
27439         * check/gst-libs/controller.c:
27440         * libs/gst/controller/gst-controller.c:
27441         (gst_controller_new_valist):
27442           added check test suite for the controller
27443         * gst/base/gstpushsrc.c:
27444           fixed a doc typo
27445
27446 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27447
27448         * docs/gst/Makefile.am:
27449         * docs/gst/gstreamer-docs.sgml:
27450         * docs/gst/gstreamer-sections.txt:
27451         * docs/gst/gstreamer.types:
27452         * docs/gst/tmpl/gstfakesrc.sgml:
27453         * gst/base/README:
27454         * gst/base/gstbasesink.c:
27455         * gst/base/gstbasesink.h:
27456         * gst/base/gstbasesrc.c:
27457         * gst/base/gstbasesrc.h:
27458         * gst/base/gstbasetransform.c:
27459         * gst/base/gstpushsrc.c:
27460         * gst/base/gstpushsrc.h:
27461           add short/long description docs to base classes
27462           add pushsrc to the docs
27463           remove consolidated doc fragments
27464
27465 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27466
27467         * configure.ac:
27468         * docs/libs/Makefile.am:
27469         * docs/libs/gstreamer-libs-docs.sgml:
27470         * docs/libs/gstreamer-libs-sections.txt:
27471         * docs/libs/gstreamer-libs.types:
27472         * examples/Makefile.am:
27473         * examples/controller/.cvsignore:
27474         * examples/controller/Makefile.am:
27475         * examples/controller/audio-example.c: (main):
27476         * libs/gst/Makefile.am:
27477         * libs/gst/controller/.cvsignore:
27478         * libs/gst/controller/Makefile.am:
27479         * libs/gst/controller/gst-controller.c:
27480         (on_object_controlled_property_changed), (gst_timed_value_compare),
27481         (gst_timed_value_find),
27482         (gst_controlled_property_set_interpolation_mode),
27483         (gst_controlled_property_new), (gst_controlled_property_free),
27484         (gst_controller_find_controlled_property),
27485         (gst_controller_new_valist), (gst_controller_new),
27486         (gst_controller_remove_properties_valist),
27487         (gst_controller_remove_properties), (gst_controller_set),
27488         (gst_controller_set_from_list), (gst_controller_unset),
27489         (gst_controller_get), (gst_controller_get_all),
27490         (gst_controller_sink_values), (gst_controller_get_value_arrays),
27491         (gst_controller_get_value_array),
27492         (gst_controller_set_interpolation_mode),
27493         (_gst_controller_finalize), (_gst_controller_init),
27494         (_gst_controller_class_init), (gst_controller_get_type):
27495         * libs/gst/controller/gst-controller.h:
27496         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
27497         (g_object_uncontrol_properties), (g_object_get_controller),
27498         (g_object_set_controller), (g_object_sink_values),
27499         (g_object_get_value_arrays), (g_object_get_value_array):
27500         * libs/gst/controller/gst-interpolation.c:
27501         (gst_controlled_property_find_timed_value_node),
27502         (interpolate_none_get), (interpolate_trigger_get),
27503         (interpolate_trigger_get_value_array):
27504         * libs/gst/controller/lib.c: (gst_controller_init):
27505         * pkgconfig/Makefile.am:
27506         * pkgconfig/gstreamer-control-uninstalled.pc.in:
27507         * pkgconfig/gstreamer-control.pc.in:
27508         * testsuite/Makefile.am:
27509         * testsuite/controller/.cvsignore:
27510         * testsuite/controller/Makefile.am:
27511         * testsuite/controller/interpolator.c: (main):
27512           added controller code
27513           removed dparam pc files
27514
27515 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27516         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
27517         (gst_collectpads_stop):
27518           Broadcast the condition when shutting down, to make sure we wake all
27519           threads up. Shut down pads on finalize, for safety.
27520
27521 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27522         * gst/base/gstbasetransform.c: (gst_base_transform_init),
27523         (gst_base_transform_handle_buffer),
27524         (gst_base_transform_change_state):
27525           Handle PAUSED->READY->PAUSED transition after negotiation
27526           occurred already.
27527         * gst/gstmessage.c: (gst_message_init):
27528           Extra piece of debug for new messages.
27529
27530 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
27531
27532         * configure.ac:
27533         * docs/gst/tmpl/gstbasesrc.sgml:
27534         * docs/gst/tmpl/gstelement.sgml:
27535         * docs/gst/tmpl/gstevent.sgml:
27536         * docs/gst/tmpl/gstfakesrc.sgml:
27537         * docs/gst/tmpl/gstformat.sgml:
27538         * docs/gst/tmpl/gstghostpad.sgml:
27539         * docs/gst/tmpl/gstpad.sgml:
27540         * docs/gst/tmpl/gstquery.sgml:
27541         * docs/gst/tmpl/gststructure.sgml:
27542         * docs/gst/tmpl/gsttaglist.sgml:
27543         * docs/gst/tmpl/gstvalue.sgml:
27544         * docs/libs/gstreamer-libs-docs.sgml:
27545         * docs/libs/gstreamer-libs-sections.txt:
27546         * docs/libs/gstreamer-libs.types:
27547         * libs/gst/Makefile.am:
27548         * libs/gst/control/.cvsignore:
27549         * libs/gst/control/Makefile.am:
27550         * libs/gst/control/control.c:
27551         * libs/gst/control/control.h:
27552         * libs/gst/control/dparam.c:
27553         * libs/gst/control/dparam.h:
27554         * libs/gst/control/dparam_smooth.c:
27555         * libs/gst/control/dparam_smooth.h:
27556         * libs/gst/control/dparamcommon.h:
27557         * libs/gst/control/dparammanager.c:
27558         * libs/gst/control/dparammanager.h:
27559         * libs/gst/control/dplinearinterp.c:
27560         * libs/gst/control/dplinearinterp.h:
27561         * libs/gst/control/unitconvert.c:
27562         * libs/gst/control/unitconvert.h:
27563         * testsuite/Makefile.am:
27564         * testsuite/dynparams/.cvsignore:
27565         * testsuite/dynparams/Makefile.am:
27566         * testsuite/dynparams/dparamstest.c:
27567         * tools/Makefile.am:
27568         * tools/gst-inspect.c: (print_element_info), (main):
27569         * tools/gst-xmlinspect.c: (print_element_info), (main):
27570           deactivate and remove dparams (libgstcontrol)
27571
27572 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27573
27574         * gst/elements/gsttypefindelement.c:
27575         (gst_type_find_element_have_type), (gst_type_find_element_init),
27576         (stop_typefinding), (gst_type_find_element_handle_event),
27577         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27578         * gst/elements/gsttypefindelement.h:
27579           Set caps on all outgoing buffers, not just the first one.
27580
27581 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27582
27583         * gst/elements/gsttypefindelement.c:
27584         (gst_type_find_element_have_type),
27585         (gst_type_find_element_check_set_buffer_caps),
27586         (gst_type_find_element_init), (stop_typefinding),
27587         (gst_type_find_element_handle_event),
27588         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27589         * gst/elements/gsttypefindelement.h:
27590           Set caps on first outgoing buffer when we've found the type.
27591
27592 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27593
27594         * docs/gst/gstreamer-docs.sgml:
27595         * docs/gst/gstreamer-sections.txt:
27596         * docs/gst/tmpl/gstscheduler.sgml:
27597         * docs/gst/tmpl/gstschedulerfactory.sgml:
27598           Remove some old cruft from docs.
27599
27600 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
27601
27602         * gst/gstpad.h:
27603           Fix inline docs for GstPadLinkReturn.
27604           
27605         * gst/gststructure.c: (gst_structure_has_name):
27606         * gst/gststructure.h:
27607         * docs/gst/gstreamer-sections.txt:
27608           New API: gst_structure_has_name().
27609
27610 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
27611
27612         * configure.ac:
27613           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27614           and _LARGEFILE_SOURCE in config.h as required. Do not 
27615           export those flags in our .pc files any longer (#142209).
27616
27617           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27618
27619         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27620         (gst_file_sink_do_seek), (gst_file_sink_event),
27621         (gst_file_sink_get_current_offset), (gst_file_sink_render):
27622           Redo seek/tell calls with large file support in mind; add some
27623           debugging messages; add log message that tells us when large
27624           file support is unavailable or not enabled for some reason.
27625
27626         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27627           Add log message that tells us when large file support 
27628           is unavailable or not enabled for some reason.
27629
27630 2005-07-29  Wim Taymans  <wim@fluendo.com>
27631
27632         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27633         Added test for removing an element with ghostpad from a bin.
27634         Fixed test as current implementation does the right thing.
27635
27636         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27637         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27638         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27639         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27640         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27641         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27642         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27643         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27644         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27645         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27646         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27647         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27648         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27649         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27650         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27651         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27652         * gst/gstghostpad.h:
27653         Clean up ghostpads, remove properties for internal stuff.
27654         Make threadsafe.
27655         Fix refcounting.
27656         Prepare for switching targets, not all use cases work yet.
27657
27658 2005-07-29  Wim Taymans  <wim@fluendo.com>
27659
27660         * docs/design/part-gstghostpad.txt:
27661         Small update.
27662
27663         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27664         (gst_bin_remove_func):
27665         Unlinking pads while holding the bin LOCK is not a good
27666         idea.
27667
27668         * gst/gstpad.c: (gst_pad_class_init),
27669         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27670         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27671         No prob setting template after creating the pad.
27672
27673 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
27674
27675         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27676         (gst_bus_peek), (gst_bus_source_dispatch),
27677         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27678         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27679           gst_bus_poll may be called from other threads. Handle
27680           this nicely by not making poll_data disappear off the
27681           stack once gst_bus_poll returns.
27682           gst_bus_peek now increments the refcount on the returned
27683           message.
27684
27685 2005-07-29  Wim Taymans  <wim@fluendo.com>
27686
27687         * docs/design/part-gstghostpad.txt:
27688         Overview of current GhostPad datastructures and use
27689         cases for changing the target.
27690
27691 2005-07-28  Wim Taymans  <wim@fluendo.com>
27692
27693         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27694         Added checks for hierarchy consistency whan adding linked
27695         elements to bins.
27696
27697         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27698         Added check to test element scheduling without bin/pipeline.
27699
27700         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27701         First add elements to bin, then link.
27702         
27703         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27704         (gst_bin_remove_func):
27705         Unlink pads from elements added/removed from bin to maintain
27706         hierarchy consistency.
27707
27708 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27709
27710         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27711         (gst_base_transform_handle_buffer):
27712         * gst/base/gstbasetransform.h:
27713           Remove broken delay_configure (fixes renegotiation of software
27714           scaling pipelines); remove some leftover printf()s.
27715
27716 2005-07-28  Wim Taymans  <wim@fluendo.com>
27717
27718         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27719         Added some more tests for wrong hierarchy
27720
27721         * docs/design/part-overview.txt:
27722         Some updates.
27723
27724         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27725         Cleanups.
27726
27727         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27728         (gst_element_dispose):
27729         Some more cleanups.
27730
27731         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27732         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27733         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27734         (gst_pad_set_caps), (gst_pad_send_event):
27735         Check for correct hierarchy when linking pads. Moving to
27736         strict requirement for ghostpads when linking elements in
27737         different bins.
27738
27739         * gst/gstpad.h:
27740         Clean ups. Added WRONG_HIERARCHY return value.
27741
27742 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27743
27744         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27745           Better debug if no transform is possible.
27746
27747 2005-07-27  Wim Taymans  <wim@fluendo.com>
27748
27749         * docs/random/wtay/network-transp:
27750         Some old doc I had.
27751
27752 2005-07-27  Wim Taymans  <wim@fluendo.com>
27753
27754         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27755         (gst_dp_event_from_packet):
27756         Fix serialization of seek events.
27757
27758 2005-07-27  Wim Taymans  <wim@fluendo.com>
27759
27760         * check/gst-libs/gdp.c: (GST_START_TEST):
27761         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27762         Fix compilation and fix event serialization.
27763
27764 2005-07-27  Wim Taymans  <wim@fluendo.com>
27765
27766         * CHANGES-0.9:
27767         * docs/design/part-TODO.txt:
27768         * docs/design/part-events.txt:
27769         Some docs updates
27770
27771         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27772         (gst_base_sink_event), (gst_base_sink_do_sync),
27773         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27774         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27775         (gst_base_src_do_seek), (gst_base_src_event_handler),
27776         (gst_base_src_loop):
27777         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27778         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27779         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27780         (gst_base_transform_event), (gst_base_transform_handle_buffer),
27781         (gst_base_transform_set_passthrough),
27782         (gst_base_transform_is_passthrough):
27783         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27784         * gst/elements/gstfilesink.c: (gst_file_sink_event):
27785         Event updates.
27786
27787         * gst/gstbuffer.h:
27788         Use faster casts.
27789
27790         * gst/gstelement.c: (gst_element_seek):
27791         * gst/gstelement.h:
27792         Update gst_element_seek.
27793
27794         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27795         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27796         (gst_event_new_flush_start), (gst_event_new_flush_stop),
27797         (gst_event_new_eos), (gst_event_new_newsegment),
27798         (gst_event_parse_newsegment), (gst_event_new_tag),
27799         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27800         (gst_event_parse_qos), (gst_event_new_seek),
27801         (gst_event_parse_seek), (gst_event_new_navigation):
27802         * gst/gstevent.h:
27803         Make GstEvent use GstStructure. Add parsing code, make sure the
27804         API is sufficiently generic.
27805         Mark possible directions of events and serialization.
27806
27807         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27808         (_gst_message_copy), (gst_message_new_segment_start),
27809         (gst_message_new_segment_done), (gst_message_new_custom),
27810         (gst_message_parse_segment_start),
27811         (gst_message_parse_segment_done):
27812         Small cleanups.
27813
27814         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27815         (gst_pad_set_caps), (gst_pad_send_event):
27816         Update for new events. 
27817         Catch events sent in wrong directions.
27818
27819         * gst/gstqueue.c: (gst_queue_link_src),
27820         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27821         (gst_queue_handle_src_query):
27822         Event updates.
27823
27824         * gst/gsttag.c:
27825         * gst/gsttag.h:
27826         Remove event code from this file.
27827
27828         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27829         (gst_dp_event_from_packet):
27830         Event updates.
27831
27832 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27833
27834         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27835         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27836         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27837           Make debugging actually useful.
27838
27839 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27840
27841         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27842         (gst_pad_fixate_caps):
27843           Implement default fixation once again, so that gst_pad_fixate()
27844           actually does anything at all. This probably needs to be some
27845           sort of a last resort, and use profile-based fixation first, but
27846           since that doesn't exist yet, this is the best we have. Fixes
27847           visualization in Totem.
27848
27849 2005-07-22  Wim Taymans  <wim@fluendo.com>
27850
27851         * docs/design/part-events.txt:
27852         Small update.
27853
27854         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27855         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27856         (gst_base_sink_activate_pull):
27857         Some more comments.
27858
27859         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27860         (gst_fake_src_create):
27861         Fix handoff marshall.
27862
27863         * gst/elements/gstidentity.c: (gst_identity_class_init),
27864         (gst_identity_transform_ip):
27865         We're a real inplace element.
27866
27867         * gst/gstbus.c: (gst_bus_post):
27868         Added some comments.
27869
27870         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27871         * tests/muxing/case1.c: (main):
27872         * tests/sched/dynamic-pipeline.c: (main):
27873         * tests/sched/interrupt1.c: (main):
27874         * tests/sched/interrupt2.c: (main):
27875         * tests/sched/interrupt3.c: (main):
27876         * tests/sched/runxml.c: (main):
27877         * tests/sched/sched-stress.c: (main):
27878         * tests/seeking/seeking1.c: (event_received), (main):
27879         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27880         (main):
27881         * tests/threadstate/threadstate3.c: (main):
27882         * tests/threadstate/threadstate4.c: (main):
27883         * tests/threadstate/threadstate5.c: (main):
27884         Fix the tests.
27885
27886 2005-07-21  Wim Taymans  <wim@fluendo.com>
27887
27888         * docs/design/part-seeking.txt:
27889         Some small additions.
27890
27891         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27892         (gst_base_sink_get_times), (gst_base_sink_do_sync),
27893         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27894         * gst/base/gstbasesink.h:
27895         discont values are gint64, handle the math correctly.
27896
27897         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27898         Make the basesrc report error if the source pad is not linked.
27899
27900         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27901         (gst_queue_loop), (gst_queue_handle_src_query),
27902         (gst_queue_src_activate_push):
27903         Make queue collect data even if the srcpad is not linked.
27904         Start pushing out data as soon as it is linked.
27905
27906         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27907         * gst/gstutils.h:
27908         Added gst_flow_get_name() to ease error reporting.
27909
27910 2005-07-20  Wim Taymans  <wim@fluendo.com>
27911
27912         * gst/gstmessage.c: (gst_message_new_segment_start),
27913         (gst_message_new_segment_done), (gst_message_parse_segment_start),
27914         (gst_message_parse_segment_done):
27915         * gst/gstmessage.h:
27916         Added a bunch of messages for advanced seeking.
27917
27918         * gst/parse/grammar.y:
27919         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27920         (gst_dpman_state_changed):
27921         Fix some new-pad -> pad-added signals
27922
27923 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27924
27925         * docs/manual/appendix-porting.xml:
27926         * docs/pwg/appendix-porting.xml:
27927           Document new-pad/state-change signal renames and the FixedList
27928           type rename.
27929
27930 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27931
27932         * docs/manual/advanced-autoplugging.xml:
27933         * docs/manual/basics-helloworld.xml:
27934         * docs/manual/basics-pads.xml:
27935         * docs/random/ds/0.9-suggested-changes:
27936         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27937         * gst/gstelement.h:
27938         * gst/gstevent.h:
27939         * gst/gstformat.h:
27940         * gst/gstquery.h:
27941         * gst/gststructure.c: (gst_structure_value_get_generic_type),
27942         (gst_structure_parse_array), (gst_structure_parse_value):
27943         * gst/gstvalue.c: (gst_type_is_fixed),
27944         (gst_value_list_prepend_value), (gst_value_list_append_value),
27945         (gst_value_list_get_size), (gst_value_list_get_value),
27946         (gst_value_transform_array_string), (gst_value_serialize_array),
27947         (gst_value_deserialize_array), (gst_value_intersect_array),
27948         (gst_value_is_fixed), (_gst_value_initialize):
27949         * gst/gstvalue.h:
27950           GstElement::new-pad -> pad-added, GstElement::state-change ->
27951           state-changed, GstValueFixedList -> GstValueArray, add format and
27952           flags as their own arguments in gst_element_seek() (should improve
27953           "bindeability"), remove function generators since they don't work
27954           under a whole bunch of compilers (they were deprecated already
27955           anyway).
27956
27957 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27958
27959         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27960         (_gst_debug_register_funcptr):
27961         * gst/gstinfo.h:
27962           Fix illegal cast on some platforms (#309253).
27963
27964 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27965
27966         * gst/gstmessage.c: (gst_message_new_custom):
27967         * gst/gstmessage.h:
27968           Add _new_custom, make _new_application a macro to _new_custom.
27969
27970 2005-07-20  Wim Taymans  <wim@fluendo.com>
27971
27972         * gst/base/gstbasesrc.c: (gst_base_src_init),
27973         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27974         * gst/base/gstbasesrc.h:
27975         Add a gboolean to decide when to push out a discont.
27976
27977         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27978         (gst_queue_loop), (gst_queue_handle_src_query),
27979         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27980         (gst_queue_set_property), (gst_queue_get_property):
27981         Some cleanups.
27982
27983         * tests/threadstate/threadstate1.c: (main):
27984         Make a thread test compile and run... very silly..
27985
27986
27987 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27988
27989         * docs/manual/appendix-porting.xml:
27990           Mention removal of libgstgconf-0.9.la and existence of gconf
27991           elements.
27992
27993 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27994
27995         * docs/pwg/advanced-clock.xml:
27996         * docs/pwg/appendix-porting.xml:
27997         * docs/pwg/intro-preface.xml:
27998         * docs/pwg/other-base.xml:
27999         * docs/pwg/other-manager.xml:
28000         * docs/pwg/other-nton.xml:
28001         * docs/pwg/other-ntoone.xml:
28002         * docs/pwg/other-oneton.xml:
28003         * docs/pwg/pwg.xml:
28004           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
28005           demuxer), remove n-to-n (was never written), fix some code examples
28006           and links and update the porting section to include all this.
28007
28008 2005-07-19  Wim Taymans  <wim@fluendo.com>
28009
28010         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
28011         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
28012         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
28013         (gst_queue_src_activate_push), (gst_queue_change_state),
28014         (gst_queue_get_property):
28015         * gst/gstqueue.h:
28016         Propagate GstFlowReturn more intelligently upstream and output
28017         an ERROR/EOS when streaming stopped due to fatal error.
28018
28019 2005-07-19  Wim Taymans  <wim@fluendo.com>
28020
28021         * tools/gst-launch.c: (check_intr), (event_loop), (main):
28022         Don't block forever for the state change to complete, the
28023         pipeline already did with a sensible timeout.
28024
28025 2005-07-19  Wim Taymans  <wim@fluendo.com>
28026
28027         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
28028         Make sure we never call the create function is we
28029         got deactivated.
28030
28031 2005-07-19  Andy Wingo  <wingo@pobox.com>
28032
28033         * gst/parse/parse.l: Attempt to solve bug #172815.
28034
28035 2005-07-19  Wim Taymans  <wim@fluendo.com>
28036
28037         * docs/design/part-clocks.txt:
28038         * docs/design/part-events.txt:
28039         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
28040         Small docs updates.
28041         Only update the seeking values when we are not
28042         busy streaming.
28043
28044 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
28045
28046         * gst/base/gstbasesrc.c: (gst_base_src_loop):
28047           Oops, ignore the result of gst_pad_push_event here.
28048
28049 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
28050
28051         * gst/base/gstbasesrc.c: (gst_base_src_loop),
28052         (gst_base_src_activate_push):
28053           Send discont event from the loop function, as pads
28054           aren't activated yet in the activate_push handler.
28055
28056         * gst/gstbin.c: (bin_bus_handler):
28057           Don't leak element name.
28058
28059 2005-07-18  Andy Wingo  <wingo@pobox.com>
28060
28061         * configure.ac: Use AS_LIBTOOL_TAGS.
28062
28063 2005-07-18  Wim Taymans  <wim@fluendo.com>
28064
28065         * docs/gst/gstreamer.types:
28066         Remove deleted types.
28067
28068 2005-07-18  Wim Taymans  <wim@fluendo.com>
28069
28070         * check/elements/gstfakesrc.c: (GST_START_TEST):
28071         * configure.ac:
28072         * gst/Makefile.am:
28073         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
28074         (init_popt_callback):
28075         * gst/gst.h:
28076         * gst/gst_private.h:
28077         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
28078         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
28079         * gst/gstbin.h:
28080         * gst/gstbus.h:
28081         * gst/gstconfig.h.in:
28082         * gst/gstelement.c: (gst_element_class_init),
28083         (gst_element_set_base_time), (gst_element_get_base_time),
28084         (iterator_fold_with_resync), (gst_element_change_state),
28085         (gst_element_dispose), (gst_element_get_bus):
28086         * gst/gstelement.h:
28087         * gst/gstelementfactory.h:
28088         * gst/gsterror.c: (_gst_core_errors_init):
28089         * gst/gsterror.h:
28090         * gst/gstevent.h:
28091         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
28092         * gst/gstindex.c:
28093         * gst/gstinfo.c: (_gst_debug_init):
28094         * gst/gstmessage.c: (_gst_message_copy):
28095         * gst/gstmessage.h:
28096         * gst/gstminiobject.h:
28097         * gst/gstobject.c:
28098         * gst/gstobject.h:
28099         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
28100         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
28101         * gst/gstpad.h:
28102         * gst/gstparse.h:
28103         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28104         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
28105         (gst_pipeline_get_last_stream_time):
28106         * gst/gstpipeline.h:
28107         * gst/gstpluginfeature.h:
28108         * gst/gstquery.h:
28109         * gst/gstscheduler.c:
28110         * gst/gstscheduler.h:
28111         * gst/gststructure.h:
28112         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
28113         (gst_task_finalize), (gst_task_func), (gst_task_create),
28114         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
28115         (gst_task_stop), (gst_task_pause):
28116         * gst/gsttask.h:
28117         * gst/gsttypefind.h:
28118         * gst/gsttypes.h:
28119         * gst/registries/gstlibxmlregistry.c: (load_feature),
28120         (gst_xml_registry_load), (gst_xml_registry_save_feature):
28121         * gst/registries/gstxmlregistry.c:
28122         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
28123         * gst/schedulers/threadscheduler.c:
28124         * libs/gst/control/dparammanager.h:
28125         * tools/gst-inspect.c: (print_element_list),
28126         (print_plugin_features), (print_element_features):
28127         * tools/gst-xmlinspect.c: (print_element_list),
28128         (print_plugin_info), (main):
28129         Removed plugable schedulers.
28130         Removed Scheduler/Manager from elements.
28131         Removed gsttypes.h, rearranged includes.
28132         Removed dependency pad<->element, element<>pipeline, and
28133         various others,  fix includes.
28134         implement gst_pad_get_parent() with gst_object_get_parent()
28135         Make GstTask sefcontained.
28136         Fix _get_state() on GstBin, it did not return ASYNC with a 0
28137         timeout.
28138         Fix endless loop in iterator_fold_with_resync.
28139
28140
28141 2005-07-18  Wim Taymans  <wim@fluendo.com>
28142
28143         * gst/Makefile.am:
28144         * gst/gstarch.h:
28145         Remove old file.
28146
28147 2005-07-18  Wim Taymans  <wim@fluendo.com>
28148
28149         * gst/Makefile.am:
28150         No more cothreads.h
28151
28152 2005-07-18  Wim Taymans  <wim@fluendo.com>
28153
28154         * gst/cothreads.c:
28155         * gst/cothreads.h:
28156         Let's remove these.
28157
28158 2005-07-18  Wim Taymans  <wim@fluendo.com>
28159
28160         * docs/design/part-dynamic.txt:
28161         * docs/design/part-events.txt:
28162         * docs/design/part-seeking.txt:
28163         Some more docs in the works.
28164
28165         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
28166         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
28167         (gst_base_transform_setcaps), (gst_base_transform_get_size),
28168         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
28169         (gst_base_transform_handle_buffer),
28170         (gst_base_transform_sink_activate_push),
28171         (gst_base_transform_src_activate_pull),
28172         (gst_base_transform_set_passthrough),
28173         (gst_base_transform_is_passthrough):
28174         Refcounting fixes.
28175
28176         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
28177         Cleanups.
28178
28179         * gst/gstevent.c: (gst_event_finalize):
28180         Set SRC to NULL.
28181
28182         * gst/gstutils.c: (gst_element_unlink),
28183         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
28184         (gst_pad_proxy_setcaps):
28185         * gst/gstutils.h:
28186         Add _get_parent_element() to get a pads parent as an element.
28187
28188 2005-07-18  Wim Taymans  <wim@fluendo.com>
28189
28190         * check/gst/gstbin.c: (GST_START_TEST):
28191         Remove bogus test.
28192
28193 2005-07-18  Wim Taymans  <wim@fluendo.com>
28194
28195         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28196         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28197         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28198         (gst_base_sink_event), (gst_base_sink_do_sync),
28199         (gst_base_sink_chain), (gst_base_sink_loop),
28200         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
28201         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
28202         Refcounting fixes.
28203         Fix logic for returning ASYNC when not prerolled.
28204
28205 2005-07-18  Wim Taymans  <wim@fluendo.com>
28206
28207         * gst/gstqueue.c: (gst_queue_handle_sink_event):
28208         Fix nasty refcount bug.
28209
28210 2005-07-16 Philippe Khalaf <burger@speedy.org>
28211
28212         * gst/elements/gstfdsrc.c:
28213         * gst/elements/gstfdsrc.h:
28214         * gst/elements/gstelements.c:
28215         * gst/elements/Makefile.am:
28216         Ported fdsrc to 0.9.
28217
28218 2005-07-16  Wim Taymans  <wim@fluendo.com>
28219
28220         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28221         (gst_base_sink_do_sync):
28222         Fix compile error.
28223
28224 2005-07-16  Wim Taymans  <wim@fluendo.com>
28225
28226         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28227         (gst_base_sink_event), (gst_base_sink_get_times),
28228         (gst_base_sink_do_sync), (gst_base_sink_change_state):
28229         * gst/base/gstbasesink.h:
28230         Store and use discont values when syncing buffers as described
28231         in design docs.
28232         
28233         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
28234         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
28235         (gst_base_src_activate_push):
28236         Push discont event when starting.
28237
28238         * gst/elements/gstidentity.c: (gst_identity_transform):
28239         Small cleanups.
28240
28241         * gst/gstbin.c: (gst_bin_change_state):
28242         Small cleanups in base_time  distribution.
28243
28244         * gst/gstelement.c: (gst_element_set_base_time),
28245         (gst_element_get_base_time), (gst_element_change_state):
28246         * gst/gstelement.h:
28247         Added methods for the base_time of the element.
28248         Some MT fixes.
28249
28250         * gst/gstpipeline.c: (gst_pipeline_send_event),
28251         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
28252         (gst_pipeline_get_last_stream_time):
28253         * gst/gstpipeline.h:
28254         MT fixes.
28255         Handle seeking as described in design doc, remove stream_time
28256         hack.
28257         Cleanups clock and stream_time selection code. Added accessors
28258         for the stream_time.
28259         
28260
28261 2005-07-16  Andy Wingo  <wingo@pobox.com>
28262
28263         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
28264         (#305291).
28265
28266 2005-07-16  Wim Taymans  <wim@fluendo.com>
28267
28268         * check/gst/gstbin.c: (GST_START_TEST):
28269         Make elements silent as the deep_notify refs the
28270         parent, which might make the test fail.
28271
28272         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
28273         Don't hold the lock for too long.
28274
28275 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
28276
28277         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
28278           Don't unref the caps we passed to gst_caps_make_writable() after
28279           passing them. gst_caps_make_writable() will do that for us.
28280
28281 2005-07-15  Andy Wingo  <wingo@pobox.com>
28282
28283         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
28284         (#157311).
28285
28286         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
28287         own marshalling function for the handoff signal. Properly type the
28288         buffer as a buffer. Fixes some warnings. Should do a more general
28289         solution.
28290         (gst_identity_class_init): Plug into the right marshaller.
28291
28292 2005-07-15  Wim Taymans  <wim@fluendo.com>
28293
28294         * docs/design/part-TODO.txt:
28295         * docs/design/part-clocks.txt:
28296         * docs/design/part-element-sink.txt:
28297         * docs/design/part-events.txt:
28298         * docs/design/part-gstpipeline.txt:
28299         Updated docs, mostly DISCONT related.
28300
28301 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
28302
28303         * docs/pwg/building-pads.xml:
28304           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
28305
28306 2005-07-15  Andy Wingo  <wingo@pobox.com>
28307
28308         * tools/gst-typefind.c: Update, add copyright block.
28309
28310         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
28311         Normalize and truncate caps before fixation.
28312
28313         * gst/gstcaps.h:
28314         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
28315         discards all but the first structure from its argument.
28316
28317 2005-07-15  Wim Taymans  <wim@fluendo.com>
28318
28319         * gst/base/gstbasetransform.c: (gst_base_transform_init),
28320         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
28321         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
28322         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
28323         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
28324         (gst_base_transform_chain), (gst_base_transform_change_state),
28325         (gst_base_transform_set_passthrough),
28326         (gst_base_transform_is_passthrough):
28327         * gst/base/gstbasetransform.h:
28328         Make passthrough work using the bufferpools.
28329         Changed API a bit, subclasses have to write into a buffer
28330         provided by the base class.
28331         More debug info in nego functions.
28332         
28333         * gst/elements/gstidentity.c: (gst_identity_init),
28334         (gst_identity_transform):
28335         Port to new base class.
28336
28337 2005-07-15  Wim Taymans  <wim@fluendo.com>
28338
28339         * gst/gstmessage.c: (gst_message_new_state_changed):
28340         * tools/gst-launch.c: (event_loop), (main):
28341         Totally dump messages in -launch with the -m option.
28342         Fix message name for State messages,
28343
28344 2005-07-14  Wim Taymans  <wim@fluendo.com>
28345
28346         * gst/base/gstbasesrc.c: (gst_base_src_loop):
28347         Post error messages on errors.
28348
28349 2005-07-14  Wim Taymans  <wim@fluendo.com>
28350
28351         * gst/gstcaps.c: (gst_caps_do_simplify):
28352         Remove debug info.
28353
28354         * gst/gsterror.h:
28355         Define error for stream stopped.
28356
28357         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28358         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
28359         Do proper return values.
28360
28361         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
28362         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
28363         (gst_pad_get_range):
28364         Better return values.
28365
28366         * gst/gstpad.h:
28367         Reorganise return values, add macro to check for fatal errors.
28368
28369         * gst/gstqueue.c: (gst_queue_chain):
28370         Return proper GstFlowReturn values,
28371
28372 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
28373
28374         * docs/gst/gstreamer-sections.txt:
28375         * docs/gst/gstreamer.types:
28376         * docs/gst/tmpl/gst.sgml:
28377         * docs/gst/tmpl/gstbasesink.sgml:
28378         * docs/gst/tmpl/gstbasesrc.sgml:
28379         * docs/gst/tmpl/gstbasetransform.sgml:
28380         * docs/gst/tmpl/gstbin.sgml:
28381         * docs/gst/tmpl/gstbuffer.sgml:
28382         * docs/gst/tmpl/gstcaps.sgml:
28383         * docs/gst/tmpl/gstclock.sgml:
28384         * docs/gst/tmpl/gstcompat.sgml:
28385         * docs/gst/tmpl/gstconfig.sgml:
28386         * docs/gst/tmpl/gstelement.sgml:
28387         * docs/gst/tmpl/gstelementdetails.sgml:
28388         * docs/gst/tmpl/gstelementfactory.sgml:
28389         * docs/gst/tmpl/gstenumtypes.sgml:
28390         * docs/gst/tmpl/gsterror.sgml:
28391         * docs/gst/tmpl/gstevent.sgml:
28392         * docs/gst/tmpl/gstfakesink.sgml:
28393         * docs/gst/tmpl/gstfakesrc.sgml:
28394         * docs/gst/tmpl/gstfilesink.sgml:
28395         * docs/gst/tmpl/gstfilesrc.sgml:
28396         * docs/gst/tmpl/gstfilter.sgml:
28397         * docs/gst/tmpl/gstformat.sgml:
28398         * docs/gst/tmpl/gstghostpad.sgml:
28399         * docs/gst/tmpl/gstimplementsinterface.sgml:
28400         * docs/gst/tmpl/gstindex.sgml:
28401         * docs/gst/tmpl/gstindexfactory.sgml:
28402         * docs/gst/tmpl/gstinfo.sgml:
28403         * docs/gst/tmpl/gstiterator.sgml:
28404         * docs/gst/tmpl/gstmacros.sgml:
28405         * docs/gst/tmpl/gstmemchunk.sgml:
28406         * docs/gst/tmpl/gstminiobject.sgml:
28407         * docs/gst/tmpl/gstobject.sgml:
28408         * docs/gst/tmpl/gstpad.sgml:
28409         * docs/gst/tmpl/gstpadtemplate.sgml:
28410         * docs/gst/tmpl/gstparse.sgml:
28411         * docs/gst/tmpl/gstpipeline.sgml:
28412         * docs/gst/tmpl/gstplugin.sgml:
28413         * docs/gst/tmpl/gstpluginfeature.sgml:
28414         * docs/gst/tmpl/gstquery.sgml:
28415         * docs/gst/tmpl/gstqueue.sgml:
28416         * docs/gst/tmpl/gstregistry.sgml:
28417         * docs/gst/tmpl/gstregistrypool.sgml:
28418         * docs/gst/tmpl/gstscheduler.sgml:
28419         * docs/gst/tmpl/gstschedulerfactory.sgml:
28420         * docs/gst/tmpl/gststructure.sgml:
28421         * docs/gst/tmpl/gstsystemclock.sgml:
28422         * docs/gst/tmpl/gsttaglist.sgml:
28423         * docs/gst/tmpl/gsttagsetter.sgml:
28424         * docs/gst/tmpl/gsttrace.sgml:
28425         * docs/gst/tmpl/gsttrashstack.sgml:
28426         * docs/gst/tmpl/gsttypefind.sgml:
28427         * docs/gst/tmpl/gsttypefindfactory.sgml:
28428         * docs/gst/tmpl/gsttypes.sgml:
28429         * docs/gst/tmpl/gsturihandler.sgml:
28430         * docs/gst/tmpl/gsturitype.sgml:
28431         * docs/gst/tmpl/gstutils.sgml:
28432         * docs/gst/tmpl/gstvalue.sgml:
28433         * docs/gst/tmpl/gstversion.sgml:
28434         * docs/gst/tmpl/gstxml.sgml:
28435         * docs/libs/tmpl/gstcontrol.sgml:
28436         * docs/libs/tmpl/gstdataprotocol.sgml:
28437         * docs/libs/tmpl/gstdparam.sgml:
28438         * docs/libs/tmpl/gstdplinint.sgml:
28439         * docs/libs/tmpl/gstdpman.sgml:
28440         * docs/libs/tmpl/gstdpsmooth.sgml:
28441         * docs/libs/tmpl/gstgetbits.sgml:
28442         * docs/libs/tmpl/gstunitconvert.sgml:
28443         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
28444         (gst_push_src_base_init), (gst_push_src_class_init),
28445         (gst_push_src_init), (gst_push_src_create):
28446         * gst/base/gstpushsrc.h:
28447         * gst/elements/gstelements.c:
28448         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
28449         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
28450         (gst_fake_sink_init), (gst_fake_sink_set_property),
28451         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
28452         (gst_fake_sink_event), (gst_fake_sink_preroll),
28453         (gst_fake_sink_render), (gst_fake_sink_change_state):
28454         * gst/elements/gstfakesink.h:
28455         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
28456         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
28457         (gst_fake_src_base_init), (gst_fake_src_class_init),
28458         (gst_fake_src_init), (gst_fake_src_event_handler),
28459         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
28460         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
28461         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
28462         (gst_fake_src_create_buffer), (gst_fake_src_create),
28463         (gst_fake_src_start), (gst_fake_src_stop):
28464         * gst/elements/gstfakesrc.h:
28465         * gst/elements/gstfilesink.c: (_do_init),
28466         (gst_file_sink_base_init), (gst_file_sink_class_init),
28467         (gst_file_sink_init), (gst_file_sink_dispose),
28468         (gst_file_sink_set_location), (gst_file_sink_set_property),
28469         (gst_file_sink_get_property), (gst_file_sink_open_file),
28470         (gst_file_sink_close_file), (gst_file_sink_query),
28471         (gst_file_sink_event), (gst_file_sink_render),
28472         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
28473         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
28474         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
28475         * gst/elements/gstfilesink.h:
28476         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
28477         (gst_file_src_class_init), (gst_file_src_init),
28478         (gst_file_src_finalize), (gst_file_src_set_location),
28479         (gst_file_src_set_property), (gst_file_src_get_property),
28480         (gst_file_src_map_region), (gst_file_src_map_small_region),
28481         (gst_file_src_create_mmap), (gst_file_src_create_read),
28482         (gst_file_src_create), (gst_file_src_is_seekable),
28483         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
28484         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
28485         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
28486         (gst_file_src_uri_handler_init):
28487         * gst/elements/gstfilesrc.h:
28488           more autistic cleanliness in functions/names/defines
28489
28490 2005-07-13  Andy Wingo  <wingo@pobox.com>
28491
28492         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
28493         source couldn't negotiate.
28494
28495         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
28496         connections again.
28497
28498         * gst/gstutils.h:
28499         * gst/gstutils.c (gst_element_link_pads_filtered): New old
28500         function. I am channeling Hades. Put your boots on suckers!!!
28501
28502 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
28503
28504         * testsuite/caps/Makefile.am:
28505         * testsuite/caps/value_compare.c:
28506         * testsuite/caps/value_intersect.c:
28507         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
28508           move two testsuite apps over to the check dir
28509
28510 2005-07-12  Wim Taymans  <wim@fluendo.com>
28511
28512         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
28513         Added more debug info in the negotiate process.
28514
28515         * gst/gstmessage.h:
28516         Prepare for segment playback.
28517
28518         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
28519         Better debugging.
28520
28521         * gst/gstutils.c:
28522         Some more docs.
28523
28524         * tools/gst-launch.c: (main):
28525         NULL pipeline on errors.
28526
28527 2005-07-12  Andy Wingo  <wingo@pobox.com>
28528
28529         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
28530         not it comes from a malloc region. Make sure our copy gets freed.
28531
28532 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28533
28534         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
28535         * check/gst/gstmessage.c: (GST_START_TEST):
28536         * check/gst/gststructure.c: (GST_START_TEST),
28537         (gst_structure_suite), (main):
28538           more testing
28539         * gst/gstelement.c: (gst_element_message_full):
28540           clean up GError and debug string now that they get copied
28541         * gst/gstmessage.c: (gst_message_new_error),
28542         (gst_message_new_warning), (gst_message_parse_error),
28543         (gst_message_parse_warning):
28544           use GST_TYPE_G_ERROR for structure_new, and take copies of
28545           arguments, so that we don't mess up refcounting
28546
28547 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28548
28549         * check/Makefile.am:
28550           add per-test valgrind targets
28551         * check/gst-libs/gdp.c: (GST_START_TEST),
28552         (gst_data_protocol_suite), (main):
28553           clean up
28554
28555 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28556
28557         * check/Makefile.am:
28558           instate more valgrindable tests
28559         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28560         (GST_START_TEST), (fakesrc_suite):
28561         * check/gst/gstpad.c: (GST_START_TEST):
28562         * check/gst/gststructure.c: (GST_START_TEST):
28563           fix test leaks
28564         * docs/gst/tmpl/gstminiobject.sgml:
28565         * gst/gstpad.c: (gst_pad_finalize):
28566           fix the static mutex leak
28567
28568 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28569
28570         * check/Makefile.am:
28571           add two more tests for valgrinding
28572         * check/gst/gstvalue.c: (GST_START_TEST):
28573           test refcount of deserialized buffer, found a leak
28574         * docs/gst/gstreamer-docs.sgml:
28575         * docs/gst/gstreamer-sections.txt:
28576         * docs/gst/gstreamer.types:
28577         * docs/gst/tmpl/gstminiobject.sgml:
28578           add miniobject to docs
28579         * gst/gstminiobject.c:
28580           add some docs
28581         * gst/gstvalue.c: (gst_value_deserialize_buffer),
28582         (gst_string_unwrap):
28583           fix a hard-to-find invalid write for one of the tests
28584           fix a leak for deserialized buffers
28585
28586 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28587
28588         * docs/pwg/advanced-events.xml:
28589         * docs/pwg/advanced-request.xml:
28590         * docs/pwg/advanced-scheduling.xml:
28591         * docs/pwg/appendix-porting.xml:
28592         * docs/pwg/building-boiler.xml:
28593         * docs/pwg/intro-preface.xml:
28594         * docs/pwg/other-ntoone.xml:
28595           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28596           of example code and explanation for pad activation, loop() and
28597           getrange() functions and a bit more. Remove old comments pointing
28598           to loop-functions.
28599         * examples/pwg/Makefile.am:
28600           Add loop/getrange examples.
28601
28602 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28603
28604         * configure.ac:
28605           check for valgrind binary + some fixes
28606         * check/gst.supp:
28607           valgrind suppressions for the tests
28608         * check/Makefile.am:
28609           add a valgrind: target that valgrinds the unit tests
28610         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28611         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28612         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28613         * check/gst/gstghostpad.c:
28614           added some cleanup
28615         * check/gst/gstdata.c:
28616           removed
28617         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28618         (thread_unref), (gst_mini_object_suite), (main):
28619           added
28620         * gst/gst.c: (gst_deinit):
28621         * gst/gst.h:
28622           add a method to clean up.
28623         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28624         (gst_system_clock_obtain):
28625           allow for disposing the system clock.
28626         * tools/gst-launch.c: (main):
28627           deinit
28628
28629 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28630
28631         * docs/gst/tmpl/gstbasesrc.sgml:
28632         * docs/gst/tmpl/gstfakesrc.sgml:
28633         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28634         (gst_base_src_init), (gst_base_src_set_property),
28635         (gst_base_src_get_property), (gst_base_src_get_range),
28636         (gst_base_src_start):
28637         * gst/base/gstbasesrc.h:
28638           add num-buffers property
28639         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28640         (gst_fakesrc_init), (gst_fakesrc_set_property),
28641         (gst_fakesrc_get_property), (gst_fakesrc_create),
28642         (gst_fakesrc_start):
28643           remove num-buffers property
28644
28645 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28646
28647         * docs/gst/gstreamer-sections.txt:
28648         * docs/gst/tmpl/gstbasesink.sgml:
28649         * docs/gst/tmpl/gstbasesrc.sgml:
28650         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28651         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28652         (gst_base_sink_finalize), (gst_base_sink_set_clock),
28653         (gst_base_sink_set_property), (gst_base_sink_get_property),
28654         (gst_base_sink_handle_object), (gst_base_sink_event),
28655         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28656         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28657         (gst_base_sink_loop), (gst_base_sink_deactivate),
28658         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28659         (gst_base_sink_change_state):
28660         * gst/base/gstbasesink.h:
28661         * gst/base/gstbasesrc.h:
28662         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28663         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28664         (gst_filesink_init):
28665           more macro splitting
28666
28667 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28668
28669         * gst/gstelement.c: (gst_element_get_bus):
28670           add debug
28671         * tools/gst-launch.c: (check_intr), (event_loop):
28672           fix bus leaks
28673
28674 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28675
28676         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28677           fix a caps leak
28678
28679 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28680
28681         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28682         (gst_base_src_finalize):
28683           add finalize method and clean up properly
28684         * gst/gstpipeline.c: (gst_pipeline_dispose):
28685           add debug
28686
28687 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28688
28689         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28690         (gst_bin_suite):
28691           add more things to check
28692         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28693         * gst/gstelement.c:
28694           more debug
28695
28696 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28697
28698         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28699         (GST_START_TEST), (fakesrc_suite):
28700         * check/gst-libs/gdp.c: (GST_START_TEST):
28701         * check/gst/gst.c: (GST_START_TEST):
28702         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28703         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28704         * check/gst/gstbus.c: (GST_START_TEST):
28705         * check/gst/gstcaps.c: (GST_START_TEST):
28706         * check/gst/gstdata.c: (GST_START_TEST):
28707         * check/gst/gstelement.c: (GST_START_TEST):
28708         * check/gst/gstghostpad.c: (GST_START_TEST):
28709         * check/gst/gstiterator.c: (GST_START_TEST):
28710         * check/gst/gstmessage.c: (GST_START_TEST):
28711         * check/gst/gstobject.c: (GST_START_TEST):
28712         * check/gst/gstpad.c: (GST_START_TEST):
28713         * check/gst/gststructure.c: (GST_START_TEST):
28714         * check/gst/gstsystemclock.c: (GST_START_TEST),
28715         (gst_systemclock_suite):
28716         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28717         * check/gst/gstvalue.c: (GST_START_TEST):
28718         * check/pipelines/cleanup.c: (GST_START_TEST):
28719         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28720         * check/states/sinks.c: (GST_START_TEST):
28721         * check/gstcheck.c: (gst_check_init):
28722         * check/gstcheck.h:
28723           add debugging category
28724           use GST_START_TEST now, so we add a debug line
28725
28726 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28727
28728         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28729           add test for state change message on a bin
28730         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28731           add another test
28732         * gst/gstbin.c: (gst_bin_init):
28733         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28734         * gst/gstelement.c: (gst_element_post_message),
28735         (gst_element_set_state):
28736         * gst/gstelementfactory.c: (gst_element_factory_create):
28737         * gst/gstmessage.c: (gst_message_new):
28738         * gst/gstscheduler.c:
28739           various debugging additions and cleanups
28740
28741 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28742
28743         * check/Makefile.am:
28744         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28745         (main):
28746           adding tests for elements
28747         * gst/gstelement.c: (gst_element_dispose):
28748
28749 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28750
28751         * gst/registries/gstlibxmlregistry.c: (load_feature):
28752           plug more leaks.  A simple gst_init() now is leakfree, yay.
28753
28754 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28755
28756         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28757         (gst_xml_registry_load):
28758           plug another memleak
28759
28760 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28761
28762         * configure.ac:
28763           use GST_SET_ERROR_CFLAGS
28764         * docs/faq/cvs.xml:
28765           change to ERROR_CFLAGS
28766
28767 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28768
28769         * configure.ac:
28770           make GST_ERROR_CFLAGS overridable and re-enable Werror
28771         * docs/faq/cvs.xml:
28772           add a note about error CFLAGS
28773         * docs/gst/tmpl/gstfakesrc.sgml:
28774         * gst/elements/gstfakesrc.c:
28775           comment out some unused code
28776         * gst/gst.c: (split_and_iterate):
28777         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28778         (load_feature):
28779           plug some memleaks
28780
28781 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28782
28783         * common/Makefile.am:
28784         * common/gtk-doc.mak:
28785         * docs/gst/Makefile.am:
28786           factor out gtk-doc.mak
28787
28788 2005-07-07  Wim Taymans  <wim@fluendo.com>
28789
28790         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28791         (gst_thread_scheduler_dispose):
28792         Unlock the STREAM_LOCK completely.
28793
28794 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28795
28796         * check/Makefile.am:
28797         * check/elements/.cvsignore:
28798         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28799         (START_TEST), (fakesrc_suite), (main):
28800         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28801         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28802         (gst_fakesrc_create), (gst_fakesrc_start):
28803         * gst/elements/gstfakesrc.h:
28804           adding a first element test
28805
28806 2005-07-07  Andy Wingo  <wingo@pobox.com>
28807
28808         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28809         debug message.
28810
28811 2005-07-07  Wim Taymans  <wim@fluendo.com>
28812
28813         * gst/gstquery.c:
28814         * gst/gstquery.h:
28815         Remove old types
28816
28817 2005-07-07  Wim Taymans  <wim@fluendo.com>
28818
28819         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28820         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28821         Allow subclasses to implement their own negotiation.
28822
28823 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28824
28825         * docs/design/part-gstbin.txt:
28826         * docs/design/part-gstpipeline.txt:
28827           Update design notes to reflect the movement of
28828           responsibility for bus handling from GstPipeline to
28829           GstBin
28830
28831 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28832
28833         * configure.ac:
28834           Remove unnecessary queue2/3/4 examples.
28835
28836 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28837
28838         * examples/Makefile.am:
28839         * examples/helloworld/helloworld.c: (event_loop), (main):
28840         * examples/queue/queue.c: (event_loop), (main):
28841         * examples/queue2/queue2.c: (main):
28842           Update a couple of the examples to work again.
28843
28844         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28845         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28846          Spelling corrections and extra debug.
28847         
28848         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28849         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28850         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28851         * gst/gstbin.h:
28852         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28853         (gst_pipeline_change_state):
28854         * gst/gstpipeline.h:
28855           Move the bus handler for children to the GstBin, and create a
28856           separate bus for receiving messages from children to the one the
28857           bus sends 'upwards' on.
28858
28859 2005-07-06  Wim Taymans  <wim@fluendo.com>
28860
28861         * gst/base/README:
28862         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28863         (gst_base_sink_handle_object), (gst_base_sink_loop),
28864         (gst_base_sink_change_state):
28865         * gst/base/gstbasesink.h:
28866         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28867         (gst_base_src_init), (gst_base_src_setcaps),
28868         (gst_base_src_getcaps), (gst_base_src_loop),
28869         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28870         (gst_base_src_start), (gst_base_src_change_state):
28871         * gst/base/gstbasesrc.h:
28872         Make basesrc negotiate.
28873         Handle the case where preroll fails in basesink.
28874         Update README.
28875
28876 2005-07-06  Wim Taymans  <wim@fluendo.com>
28877
28878         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28879         Implement the fixate function.
28880         Clean up acceptcaps.
28881
28882 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28883
28884         * docs/pwg/building-filterfactory.xml:
28885         * docs/pwg/pwg.xml:
28886           Remove never-written filter-factory chapter; I'll add the various
28887           base classes to part 4 ("other element types") later on.
28888
28889 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28890
28891         * docs/pwg/advanced-negotiation.xml:
28892         * docs/pwg/building-boiler.xml:
28893         * docs/pwg/building-pads.xml:
28894         * docs/pwg/pwg.xml:
28895         * examples/pwg/Makefile.am:
28896           Add a chapter on caps negotiation, simplify the original code
28897           samples a bit w.r.t. caps negotiation, add link to the advanced
28898           section. Add a bunch of examples showing different use cases of
28899           different types of caps negotiation. Upstream renegotiation isn't
28900           fully documented yet since nobody knows how that works.
28901
28902 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
28903
28904         * check/gst/gstpad.c:
28905         * check/gstcheck.c:
28906         * gst/gstpad.c: (gst_pad_get_internal_links_default):
28907           if pad has no parent, return NULL as list of internal links
28908
28909 2005-07-05  Andy Wingo  <wingo@pobox.com>
28910
28911         * gst/elements/gstfilesrc.c:
28912         * gst/elements/gstfakesrc.c: 
28913         * gst/base/gstpushsrc.c:
28914         * gst/base/gstbasesrc.h: 
28915         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28916         
28917 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
28918
28919         * Makefile.am:
28920           better report generation target (lcov needs a patch)
28921
28922 2005-07-05  Andy Wingo  <wingo@pobox.com>
28923
28924         * gst/elements, testsuite: Null if we got it...
28925
28926 2005-07-05  Wim Taymans  <wim@fluendo.com>
28927
28928         * configure.ac:
28929         * libs/gst/dataprotocol/Makefile.am:
28930         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28931         * libs/gst/dataprotocol/dataprotocol.h:
28932         * pkgconfig/Makefile.am:
28933         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28934         * pkgconfig/gstreamer-dataprotocol.pc.in:
28935         Ported dataprotol to 0.9. 
28936         Added pkgconfig files.
28937
28938 2005-07-05  Andy Wingo  <wingo@pobox.com>
28939
28940         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28941         Default to returning TRUE for the case when tranform_caps returns
28942         a fixed caps, like for identity or volume.
28943
28944         * check/gst/gstbus.c (pound_bus_with_messages): 
28945         * check/gst/gstmessage.c (START_TEST): 
28946         * check/pipelines/simple_launch_lines.c (got_handoff): Application
28947         message API change.
28948
28949         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28950         logic weaks here: always run transform_caps, trying passthrough
28951         operation only if the original caps intersects with the transform.
28952
28953         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28954         source and sink caps.
28955
28956         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28957         Intersect the peer caps with the pad template before going into
28958         transform_caps.
28959         (gst_base_transform_transform_caps): More debugging.
28960
28961         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28962         src argument.
28963
28964 2005-07-04  Edward Hervey  <edward@fluendo.com>
28965
28966         * gst/gstutils.c:
28967         * gst/gstutils.h:
28968         (gst_pad_add_*_probe): now returns the signal id for better wrapping
28969         in bindings.
28970
28971 2005-07-04  Andy Wingo  <wingo@pobox.com>
28972
28973         * check/gst/gstpad.c: Only set explicit caps on pads.
28974
28975 2005-07-01  Andy Wingo  <wingo@pobox.com>
28976
28977         * tests/network-clock.scm: Commentary update.
28978
28979         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28980         Didn't really make sense, not implementable with basetransform,
28981         etc.
28982         (gst_identity_transform): Unref inbuf via make_writable. Feeble
28983         attempt at implementing the sync property, needs an unlock method.
28984
28985         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28986         New func, by default returns the same caps (the identity
28987         transformation).
28988         (gst_base_transform_getcaps): Uses transform_caps to return
28989         something sensible.
28990         (gst_base_transform_setcaps): Complicated logic to get caps on
28991         both pads, even if they are different, and to call set_caps once
28992         for every time both pads get their caps set.
28993         (gst_base_transform_handle_buffer): Give the ref to the transform
28994         function. Allows in-place modification of the buffer.
28995
28996         * gst/base/gstbasetransform.h (transform_caps): New class method.
28997         Given caps on one side, what can I do on the other.
28998         (set_caps): Take two caps, one for each side of the element.
28999
29000         * gst/gstpad.h:
29001         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
29002         caps in place. This is safe because we can check the mutability of
29003         the caps, and a good idea because fixate functions are just called
29004         as a matter of last resort. (Not actually implemented.)
29005         (gst_pad_set_caps): If the caps we're setting is actually the same
29006         as the existing pad caps, just update the pointer without calling
29007         setcaps. Assert that caps is either NULL or fixed, as per the
29008         docs.
29009
29010         * gst/gstghostpad.c: Update for fixate changes.
29011
29012 2005-07-02  Andy Wingo  <wingo@pobox.com>
29013
29014         * gst/gstcaps.c:
29015         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
29016         two refcounts makes it immutable, which is enough. Doc more.
29017
29018 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
29019
29020         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
29021           Put the mini_object into GValue as a mini_object,
29022           not a gpointer, since that's how we declared
29023           the signal.
29024
29025 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29026
29027         * examples/pwg/Makefile.am:
29028           Fix buildbot again.
29029
29030 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29031
29032         * docs/pwg/building-testapp.xml:
29033           Add extra check.
29034         * examples/pwg/Makefile.am:
29035           Fix buildbot.
29036
29037 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29038
29039         * configure.ac:
29040         * examples/Makefile.am:
29041         * examples/pwg/Makefile.am:
29042         * examples/pwg/extract.pl:
29043           Enable building the PWG examples.
29044         * docs/pwg/advanced-interfaces.xml:
29045           Add URI interface stub.
29046         * docs/pwg/advanced-types.xml:
29047         * docs/pwg/other-autoplugger.xml:
29048         * docs/pwg/appendix-porting.xml:
29049         * docs/pwg/pwg.xml:
29050           Add porting guide (mostly stubs), remove autoplugging (see ADM).
29051         * docs/pwg/building-boiler.xml:
29052         * docs/pwg/building-chainfn.xml:
29053         * docs/pwg/building-pads.xml:
29054         * docs/pwg/building-props.xml:
29055         * docs/pwg/building-state.xml:
29056         * docs/pwg/building-testapp.xml:
29057           Update the building-*.xml parts for 0.9 changes. All examples
29058           code blocks compile in examples/pwg/*.
29059
29060 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29061
29062         * docs/manual/advanced-autoplugging.xml:
29063         * docs/manual/appendix-checklist.xml:
29064         * docs/manual/appendix-integration.xml:
29065         * docs/manual/highlevel-components.xml:
29066           Fix playbin/decodebin examples, update docs a bit, mention bus
29067           instead of signals in various places, mention kmplayer and
29068           kaffeine since they have a working GStreamer backend in the KDE
29069           section.
29070
29071 2005-06-30  Wim Taymans  <wim@fluendo.com>
29072
29073         * CHANGES-0.9:
29074         * docs/design/draft-ghostpads.txt:
29075         * docs/design/draft-push-pull.txt:
29076         * docs/design/draft-query.txt:
29077         * docs/design/part-TODO.txt:
29078         * docs/design/part-query.txt:
29079         Added CHANGES-0.9 doc, updated status of other docs.
29080         
29081         * gst/gstquery.h:
29082         Remove "hmm" macro
29083
29084 2005-06-30  Wim Taymans  <wim@fluendo.com>
29085
29086         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
29087         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
29088         (gst_base_sink_change_state):
29089         * gst/base/gstbasesink.h:
29090         Some tweaks, only EOS and a buffer complete a preroll.
29091
29092 2005-06-30  Andy Wingo  <wingo@pobox.com>
29093
29094         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
29095         activate_push down to the internal pad as well.
29096
29097 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
29098
29099         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29100
29101         * gst/gsttaginterface.c:
29102           Some documentation fixes (#307394 and #307397).
29103
29104 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
29105
29106         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29107
29108         * gst/gstvalue.c: (gst_value_intersect_list):
29109           Fix memleak (#309125).
29110
29111 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29112
29113         * docs/manual/advanced-dataaccess.xml:
29114           Fix fakesrc example to compile; doesn't work, bug somewhere...?
29115         * docs/manual/basics-pads.xml:
29116           Add reference for filtered caps to above chapter.
29117
29118 2005-06-30  Wim Taymans  <wim@fluendo.com>
29119
29120         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
29121         (gst_bin_change_state):
29122         Probes are gone.
29123         Lame attempt at making the state change function a bit
29124         more readable.
29125
29126 2005-06-30  Wim Taymans  <wim@fluendo.com>
29127
29128         * docs/design/part-clocks.txt:
29129         * docs/design/part-element-sink.txt:
29130         * docs/design/part-events.txt:
29131         * docs/design/part-preroll.txt:
29132         * docs/design/part-states.txt:
29133         Some more tweeks and additions to the docs.
29134
29135 2005-06-30  Wim Taymans  <wim@fluendo.com>
29136
29137         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
29138         (default_have_data), (gst_pad_class_init), (gst_pad_init),
29139         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
29140         (gst_pad_check_pull_range), (gst_pad_get_range),
29141         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
29142         * gst/gstpad.h:
29143         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
29144         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
29145         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
29146         (gst_pad_remove_buffer_probe):
29147         Removed atomic operations, use existing LOCK.
29148         Move exception handling out of main code path.
29149
29150 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29151
29152         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
29153         (silly_return_true_function), (gst_pad_class_init),
29154         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
29155         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
29156         (gst_pad_send_event):
29157           Fix accumulator, add default value by using _emitv() instead
29158           of _emit() for signal emission.
29159
29160 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29161
29162         * docs/manual/advanced-dataaccess.xml:
29163         * examples/manual/Makefile.am:
29164           Add probe example.
29165         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
29166           Make work (??).
29167
29168 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
29169
29170         * gst/elements/gstfilesink.c: (gst_filesink_render):
29171           Simplify code so that we don't have to handle short
29172           writes and return GST_FLOW_ERROR if an error occured.
29173
29174 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29175
29176         * docs/gst/gstreamer-docs.sgml:
29177           Remove probes more.
29178
29179 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29180
29181         * docs/gst/gstreamer-sections.txt:
29182         * docs/gst/tmpl/gstpad.sgml:
29183         * docs/gst/tmpl/gstprobe.sgml:
29184         * gst/Makefile.am:
29185         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
29186         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
29187         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29188         (gst_pad_push_event), (gst_pad_send_event):
29189         * gst/gstpad.h:
29190         * gst/gstutils.c: (gst_pad_add_data_probe),
29191         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
29192         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
29193         (gst_pad_remove_buffer_probe):
29194         * gst/gstutils.h:
29195           Remove old probes, add new g-signal-based probes and some utility
29196           functions.
29197
29198 2005-06-29  Edward Hervey  <edward@fluendo.com>
29199
29200         * gst/gstelementfactory.c:
29201         * gst/gstutils.h:
29202         * gst/gstutils.c:
29203         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
29204         the definition to the header file.
29205
29206 2005-06-29  Andy Wingo  <wingo@pobox.com>
29207
29208         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
29209         plugins from the source directory.
29210
29211 2005-06-29  Wim Taymans  <wim@fluendo.com>
29212
29213         * docs/gst/tmpl/gstbuffer.sgml:
29214         * docs/gst/tmpl/gstclock.sgml:
29215         Some fixings for blantently wrong text.
29216
29217 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
29218
29219         * check/Makefile.am:
29220         * gst/gst.c: (add_path_func), (init_pre):
29221         * gst/gstregistry.c: (gst_registry_add_path):
29222           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
29223           only scan the GST_PLUGIN_PATH locations, and not add
29224           system locations
29225
29226 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
29227
29228         * docs/gst/gstreamer-sections.txt:
29229         * docs/gst/tmpl/gstbasesrc.sgml:
29230         * gst/gstelement.c:
29231         * gst/gstelement.h:
29232         * gst/gstevent.c:
29233         * gst/gstutils.c:
29234           doc fixes
29235
29236 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29237
29238         * docs/manual/advanced-autoplugging.xml:
29239           Fix autoplugging example.
29240
29241 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29242
29243         * docs/manual/advanced-autoplugging.xml:
29244         * docs/manual/mime-world.fig:
29245           Try to get autoplugging working, fix type detection. Fix text
29246           in hello-world image.
29247
29248 2005-06-29  Wim Taymans  <wim@fluendo.com>
29249
29250         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
29251         (gst_base_sink_change_state):
29252         Small debug line.
29253
29254         * gst/gstclock.h:
29255         map SIGNAL and BROADCAST to the right function.
29256
29257         * gst/gstobject.h:
29258         Remove redundant braces.
29259
29260         * gst/gstpad.c: (gst_pad_set_caps):
29261         Don't call setcaps function when reseting caps to NULL.
29262
29263         * gst/gstsystemclock.c: (gst_system_clock_dispose),
29264         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
29265         (gst_system_clock_id_unschedule):
29266         Use BROADCAST as this is what we do.
29267
29268 2005-06-29  Wim Taymans  <wim@fluendo.com>
29269
29270         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
29271         We are actually prerolling before commiting the state
29272         change. 
29273
29274 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29275
29276         * docs/manual/advanced-clocks.xml:
29277         * docs/manual/advanced-interfaces.xml:
29278         * docs/manual/advanced-metadata.xml:
29279         * docs/manual/advanced-position.xml:
29280         * docs/manual/advanced-schedulers.xml:
29281         * docs/manual/advanced-threads.xml:
29282         * docs/manual/appendix-porting.xml:
29283         * docs/manual/basics-bins.xml:
29284         * docs/manual/basics-bus.xml:
29285         * docs/manual/basics-elements.xml:
29286         * docs/manual/basics-helloworld.xml:
29287         * docs/manual/basics-pads.xml:
29288         * docs/manual/highlevel-components.xml:
29289         * docs/manual/manual.xml:
29290         * docs/manual/thread.fig:
29291           Update (until threads/scheduling) Application Development Manual;
29292           remove GstThread, add GstBus, add simple porting checklist, add
29293           documentation for tag writing, clocks, make all examples until this
29294           part compile and run.
29295         * examples/manual/Makefile.am:
29296           Update from changes to Application Development Manual; add bus
29297           example, remove thread example.
29298
29299 2005-06-28  Wim Taymans  <wim@fluendo.com>
29300
29301         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
29302         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
29303         (gst_bus_source_dispatch):
29304         Add debugging messages.
29305         Make internal methods static.
29306         Handle the case where the bus is flushed in the handler.
29307         
29308         * gst/gstelement.c: (gst_element_get_bus):
29309         Fix refcount in _get_bus();
29310
29311         * gst/gstpipeline.c: (gst_pipeline_change_state),
29312         (gst_pipeline_get_clock_func):
29313         Clock refcounting fixes.
29314         Handle the case where preroll timed out more gracefully.
29315         
29316         * gst/gstsystemclock.c: (gst_system_clock_dispose):
29317         Clean up the internal thread in dispose. This is needed
29318         for subclasses that actually get disposed.
29319         
29320         * gst/schedulers/threadscheduler.c:
29321         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
29322         (gst_thread_scheduler_dispose):
29323         Free thread pool in dispose.
29324
29325 2005-06-28  Andy Wingo  <wingo@pobox.com>
29326
29327         * tests/network-clock-utils.scm (debug, print-event): New utils.
29328
29329         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
29330         (*packet-loss*): Unified loss probability.
29331         (network-time): Report out-of-band events.
29332
29333         * tests/plot-data: Add support for out-of-band events. Hack it
29334         into this script instead of passing it down the pipe; should fix
29335         this later.
29336
29337 2005-06-28  Wim Taymans  <wim@fluendo.com>
29338
29339         * docs/gst/gstreamer.types:
29340         * docs/gst/tmpl/gstbasesrc.sgml:
29341         * docs/gst/tmpl/gstpad.sgml:
29342         Docs fixes.
29343
29344 2005-06-28  Wim Taymans  <wim@fluendo.com>
29345
29346         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29347         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
29348         (gst_proxy_pad_do_fixatecaps):
29349         Correctly proxy the check_pull_range function.
29350
29351 2005-06-28  Andy Wingo  <wingo@pobox.com>
29352
29353         * tests/network-clock.scm: Removed need for slib.
29354         
29355 2005-06-28  Wim Taymans  <wim@fluendo.com>
29356
29357         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
29358         (gst_basesink_preroll_queue_flush):
29359         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
29360         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
29361         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29362         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
29363         (gst_proxy_pad_set_property):
29364         * gst/gstpad.c:
29365         * gst/gstpad.h:
29366         * gst/gstqueue.c: (gst_queue_init):
29367         The deprecated pad loop function is removed now.
29368
29369 2005-06-28  Andy Wingo  <wingo@pobox.com>
29370
29371         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
29372         New parameters, simulate network packet loss.
29373
29374         * tests/network-clock-utils.scm: Initialize the RNG.
29375
29376 2005-06-28  Wim Taymans  <wim@fluendo.com>
29377
29378         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
29379         (gst_basesink_event), (gst_basesink_deactivate):
29380         Flushing the preroll queue always needs to unlock the waiters.
29381
29382 2005-06-28  Edward Hervey  <edward@fluendo.com>
29383
29384         * gst/gstpipeline.c: (gst_pipeline_send_event): 
29385         Wheen a seek was successful on a pipeline, set the stream_time to the
29386         seek offset in order to have a synchronized stream_time.
29387
29388 2005-06-28  Wim Taymans  <wim@fluendo.com>
29389
29390         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29391         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
29392         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
29393         (gst_proxy_pad_do_fixatecaps):
29394         Call wrapper function instead of just calling the function
29395         pointers. This takes care of any locking and whatmore.
29396
29397 2005-06-28  Wim Taymans  <wim@fluendo.com>
29398
29399         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
29400         (gst_pad_pull_range):
29401         * gst/gstpad.h:
29402         CONNECTED -> LINKED.
29403
29404 2005-06-28  Andy Wingo  <wingo@pobox.com>
29405
29406         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
29407         source-munging commit!!!
29408
29409         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
29410         (gst_object_sink): Take gpointer arguments, not GstObject --
29411         avoids casts. Like GLib.
29412
29413         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
29414         activate.
29415
29416 2005-06-27  Andy Wingo  <wingo@pobox.com>
29417
29418         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
29419         remaining buffer.
29420
29421         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
29422         returns a sorted copy of the trace list.
29423         (gst_alloc_trace_print_live): New API, only prints traces with
29424         live objects. Sort the list.
29425         (gst_alloc_trace_print_all): Sort the list.
29426         (gst_alloc_trace_print): Align columns.
29427
29428         * gst/elements/gstttypefindelement.c:
29429         * gst/elements/gsttee.c:
29430         * gst/base/gstbasesrc.c:
29431         * gst/base/gstbasesink.c:
29432         * gst/base/gstbasetransform.c:
29433         * gst/gstqueue.c: Adapt for pad activation changes.
29434
29435         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
29436         sched.
29437         (gst_pipeline_dispose): Drop ref on sched.
29438
29439         * gst/gstpad.c (gst_pad_init): Set the default activate func.
29440         (gst_pad_activate_default): Push mode by default.
29441         (pre_activate_switch, post_activate_switch): New stubs, things to
29442         do before and after switching activation modes on pads.
29443         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
29444         the pad's activate function to choose which mode to activate.
29445         Shortcut on deactivation and call the right function directly.
29446         (gst_pad_activate_pull): New API, (de)activates a pad in pull
29447         mode.
29448         (gst_pad_activate_push): New API, same for push mode.
29449         (gst_pad_set_activate_function) 
29450         (gst_pad_set_activatepull_function) 
29451         (gst_pad_set_activatepush_function): Setters for new API.
29452
29453         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
29454         Trace all miniobjects.
29455         (gst_mini_object_make_writable): Unref the arg if we copy, like
29456         gst_caps_make_writable.
29457
29458         * gst/gstmessage.c (_gst_message_initialize): No trace init.
29459
29460         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
29461         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
29462         Adapt for new pad API.
29463
29464         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
29465
29466         * gst/gstelement.h:
29467         * gst/gstelement.c (gst_element_iterate_src_pads) 
29468         (gst_element_iterate_sink_pads): New API functions.
29469         
29470         * gst/gstelement.c (iterator_fold_with_resync): New utility,
29471         should fold into gstiterator.c in some form.
29472         (gst_element_pads_activate): Simplified via use of fold and
29473         delegation of decisions to gstpad->activate.
29474
29475         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
29476         help in debugging.
29477
29478         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
29479         class once in init, like gstmessage. Didn't run into this issue
29480         but it seems correct. Don't initialize a trace, gstminiobject does
29481         that.
29482
29483         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
29484         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
29485         to the bus.
29486         (assert_live_count): New util function, uses alloc traces to check
29487         cleanup.
29488
29489         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
29490         To be modified when unlink drops the internal pad.
29491
29492 2005-06-27  Wim Taymans  <wim@fluendo.com>
29493
29494         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
29495         (gst_bin_change_state):
29496         Cleanup the get_state() function a little, make sure it
29497         iterates the same set of elements.
29498         Added stub iterate_state_order().
29499
29500 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
29501
29502         * docs/gst/gstreamer-docs.sgml:
29503         * docs/gst/gstreamer-sections.txt:
29504         * docs/gst/gstreamer.types:
29505         * docs/gst/tmpl/gstbasesink.sgml:
29506         * docs/gst/tmpl/gstbasesrc.sgml:
29507         * docs/gst/tmpl/gstbasetransform.sgml:
29508         * docs/gst/tmpl/gstelement.sgml:
29509         * docs/gst/tmpl/gstiterator.sgml:
29510         * gst/base/gstbasesrc.c:
29511         * gst/base/gstbasesrc.h:
29512         * gst/base/gstbasetransform.h:
29513         * gst/gstelement.c:
29514         * gst/gstiterator.h:
29515           adding basetransform and iterator docs
29516
29517 2005-06-27  Andy Wingo  <wingo@pobox.com>
29518
29519         * docs/design/part-activation.txt: Notes on how activation should
29520         work -- not quite implemented yet.
29521
29522 2005-06-25  Wim Taymans  <wim@fluendo.com>
29523
29524         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
29525         At least get the chain function correct, needs more
29526         fixing.
29527
29528 2005-06-25  Wim Taymans  <wim@fluendo.com>
29529
29530         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29531         (gst_basesink_handle_object), (gst_basesink_event),
29532         (gst_basesink_do_sync), (gst_basesink_handle_event),
29533         (gst_basesink_change_state):
29534         * gst/gsttask.h:
29535         Right, two problems here: ghostpads don't take locks and
29536         glib _rec_mutex_lock_full() with depth==0 still locks.
29537         Catch illegal locking and g_warn them.
29538
29539 2005-06-25  Wim Taymans  <wim@fluendo.com>
29540
29541         * check/states/sinks.c: (START_TEST), (gst_object_suite):
29542         Have to check for completion now...
29543
29544 2005-06-25  Wim Taymans  <wim@fluendo.com>
29545
29546         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29547         (gst_basesink_handle_object), (gst_basesink_event),
29548         (gst_basesink_do_sync), (gst_basesink_handle_event),
29549         (gst_basesink_change_state):
29550         * gst/gstpad.h:
29551         Unlock STREAM_LOCK whatever the recursion was.
29552
29553 2005-06-25  Wim Taymans  <wim@fluendo.com>
29554
29555         * gst/base/gstbasesink.c: (gst_basesink_set_property),
29556         (gst_basesink_preroll_queue_empty),
29557         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29558         (gst_basesink_event), (gst_basesink_do_sync),
29559         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29560         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29561         (gst_basesink_change_state):
29562         Reworked the base sink, handle event and buffer serialisation
29563         correctly and removed possible deadlock.
29564         Handle EOS correctly.
29565
29566 2005-06-25  Wim Taymans  <wim@fluendo.com>
29567
29568         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29569         (gst_pipeline_change_state):
29570         * tools/gst-launch.c: (check_intr), (event_loop), (main):
29571         Allow elements to post EOS in the state change function.
29572         Fix up -launch, make it exit the poll loop when the
29573         pipeline actually changed state.
29574         Fix up warning parsing in -launch.
29575
29576 2005-06-25  Wim Taymans  <wim@fluendo.com>
29577
29578         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29579         (gst_tee_sink_activate):
29580         Core takes STREAM_LOCK for us now.
29581
29582 2005-06-25  Wim Taymans  <wim@fluendo.com>
29583
29584         * gst/gstelement.c: (gst_element_get_state_func),
29585         (gst_element_set_state):
29586         * gst/gstelement.h:
29587         * gst/gstmessage.c: (gst_message_parse_error),
29588         (gst_message_parse_warning):
29589         Keep track of current target state while performing a state
29590         change so that subclasses can do something interesting.
29591         Fix parsing of warning/error messages when GError is NULL.
29592
29593 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
29594
29595         * docs/gst/Makefile.am:
29596         * docs/gst/gstreamer-docs.sgml:
29597         * docs/gst/gstreamer-sections.txt:
29598         * docs/gst/gstreamer.types:
29599         * docs/gst/tmpl/gstbasesink.sgml:
29600         * docs/gst/tmpl/gstbasesrc.sgml:
29601         * docs/gst/tmpl/gstbin.sgml:
29602         * docs/gst/tmpl/gstcompat.sgml:
29603         * docs/gst/tmpl/gstfakesink.sgml:
29604         * docs/gst/tmpl/gstfakesrc.sgml:
29605         * docs/gst/tmpl/gstfilesink.sgml:
29606         * docs/gst/tmpl/gstfilesrc.sgml:
29607         * docs/gst/tmpl/gstindex.sgml:
29608         * docs/manual/appendix-quotes.xml:
29609         * gst/base/gstbasesrc.h:
29610         * gst/elements/gstfakesrc.h:
29611         * gst/gstmessage.h:
29612           start pulling in base classes and elements in our docs
29613
29614 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
29615
29616         * docs/gst/Makefile.am:
29617         * docs/libs/Makefile.am:
29618           fixed make distcheck with gtk-doc 1.3
29619
29620 2005-06-23  Wim Taymans  <wim@fluendo.com>
29621
29622         * gst/gstelement.c: (gst_element_get_state_func),
29623         (gst_element_set_state), (gst_element_change_state):
29624         When the state did not change, also report NO_PREROLL
29625         when it matters.
29626
29627 2005-06-23  Wim Taymans  <wim@fluendo.com>
29628
29629         * gst/gstpad.c: (gst_pad_event_default):
29630         * gst/gstqueue.c: (gst_queue_loop):
29631         No unsafe task pausing please.
29632
29633 2005-06-23  Wim Taymans  <wim@fluendo.com>
29634
29635         * gst/schedulers/threadscheduler.c:
29636         (gst_thread_scheduler_task_start),
29637         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29638         Ref the task before pushing it on the threadpool. This
29639         makes sure that we have a ref when the threadfunction is
29640         actually called.
29641
29642 2005-06-23  Andy Wingo  <wingo@pobox.com>
29643
29644         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29645         offset is greater than the file's size.
29646
29647         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
29648         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29649         * gst/gstobject.c (gst_object_class_init): Make the class lock
29650         recursive. Wim won't let me drop deep_notify. Decodebin works
29651         again, whoopdy doo.
29652
29653         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29654         internal pad, and hacks accordingly. Doesn't do it on the target
29655         pad because we change its caps. Probably catches all cases of
29656         interest tho.
29657         (gst_ghost_pad_set_property): Connect to notify::caps as
29658         appropritate.
29659
29660         * tests/network-clock.scm (plot-simulation): Pipe data to the
29661         elite python skript.
29662
29663         * tests/network-clock-utils.scm (define-parameter): New macro,
29664         defines a parameter that can be set via the command line.
29665         (set-parameter!, parse-parameter-arguments): Command line args
29666         parser.
29667
29668         * tests/plot-data: Simple matplotlib-based plotter, takes input on
29669         stdin.
29670
29671 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
29672
29673         * gst/elements/gsttypefindelement.c:
29674         (gst_type_find_element_handle_event):
29675           Don't restart typefinding on a discont.
29676         * gst/gstelement.c: (gst_element_set_state):
29677           Debug spelling fix.
29678         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29679           Allow changing mode of an active pad.
29680           Debug output fixes.
29681         * gst/registries/gstlibxmlregistry.c: (load_feature):
29682           Don't cast a static pad template to a normal pad template.
29683
29684 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
29685
29686         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29687         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29688           remove gst_strtoll completely, since it didn't actually do
29689           anything more than what g_ascii_strtoull already does.
29690           check for range errors when deserializing
29691           do a cast for the unsigned cases; but further fixing needs
29692           a decision on what the interpretation of "(int)" and
29693           deserialization should be for values that fall outside the
29694           type's boundaries (ie, refuse, or interpret as casting)
29695
29696 2005-06-23  Wim Taymans  <wim@fluendo.com>
29697
29698         * check/Makefile.am:
29699         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29700         * docs/design/part-live-source.txt:
29701         * docs/design/part-states.txt:
29702         * gst/base/gstbasesrc.c: (gst_basesrc_init),
29703         (gst_basesrc_set_live), (gst_basesrc_is_live),
29704         (gst_basesrc_get_range), (gst_basesrc_activate),
29705         (gst_basesrc_change_state):
29706         * gst/base/gstbasesrc.h:
29707         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29708         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29709         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29710         * gst/gstelement.c: (gst_element_get_state_func),
29711         (gst_element_set_state):
29712         * gst/gstelement.h:
29713         * gst/gsttypes.h:
29714         * tools/gst-launch.c: (event_loop), (main):
29715         Added support for live sources and other elements that
29716         cannot do preroll.
29717         Updated design docs, added live-source design doc.
29718         Implemented live source functionality in basesrc
29719         Fix error condition in _bin_get_state()
29720         Implement live source handling in -launch.
29721         Added check for live sources.
29722         Fixed case in GstBin where elements were changed state
29723         multiple times.
29724
29725
29726 2005-06-23  Andy Wingo  <wingo@pobox.com>
29727
29728         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29729         borken refcounting.
29730
29731         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29732         gst_caps_replace takes care of this for us.
29733
29734         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29735         gst_pad_set_caps on the target, not just its setcaps() function.
29736
29737         * tests/network-clock.scm: 
29738         * tests/network-clock-utils.scm: A network clock simulator.
29739         Something of an algorithmic testbed before doing something in C.
29740
29741 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29742
29743         * check/Makefile.am:
29744         * check/gst/capslist.h:
29745           copy over from 0.8, and add two with bitmasks specified with
29746           (int) 0xFF...
29747         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29748           add test to parse everything from capslist.h
29749         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29750         (main):
29751           add test for structure deserialization
29752         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29753           add tests for deserialization of strings to int types
29754         * gst/gststructure.c: (gst_structure_nth_field_name):
29755         * gst/gststructure.h:
29756           add a way to get the name of a field referenced by index
29757         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29758           instead of checking if the resulting long long lies between
29759           min and max, we check if the long long would fit into
29760           a number of bytes for the final type.
29761           This fixes cases where a string represents 2^32 - 1, which
29762           when cast to int would be the (valid) -1, but is bigger than
29763           G_MAXINT
29764
29765 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29766
29767         * gst/parse/grammar.y:
29768           add a log line for type deserialization
29769
29770 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29771
29772         * check/gst/gstvalue.c: (START_TEST):
29773         * gst/gstvalue.c: (gst_value_deserialize):
29774           return long long, not int, so gint64 deserialization actually
29775           works.  Is there any flag that makes the compiler check this ?
29776           Fixes #308559
29777
29778 2005-06-22  Wim Taymans  <wim@fluendo.com>
29779
29780         * gst/gstbuffer.h:
29781         Added convenience macros for setting buffers in GValue.
29782
29783 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29784
29785         * check/gst/.cvsignore:
29786         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29787           add a test deserializing int64, and comment part out because
29788           it fails, yay !
29789
29790 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29791
29792         * check/Makefile.am:
29793         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29794         * testsuite/Makefile.am:
29795         * testsuite/caps/Makefile.am:
29796         * testsuite/caps/value_serialize.c:
29797         * testsuite/test_gst_init.c:
29798           move a value_serialize test over
29799
29800 2005-06-20  Wim Taymans  <wim@fluendo.com>
29801
29802         * gst/gstpad.c:
29803         Small doc updates.
29804         
29805         * gst/gstvalue.c: (gst_value_compare_buffer),
29806         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29807         (gst_value_compare_flags), (gst_value_serialize_flags),
29808         (gst_value_deserialize_flags), (_gst_value_initialize):
29809         Fix serialisation of buffers, they are not boxed types anymore
29810
29811 2005-06-20  Wim Taymans  <wim@fluendo.com>
29812
29813         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29814         Testcase to show error in buffer-on-caps serialisation.
29815
29816 2005-06-20  Andy Wingo  <wingo@pobox.com>
29817
29818         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29819         will be adding to later.
29820
29821         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29822         if its socks fill with rocks.
29823         (gst_system_clock_obtain): Set the name on object construction.
29824         Avoid double-checked locking.
29825
29826 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
29827
29828         * gst/gsturi.c: (gst_element_make_from_uri):
29829           Fix potential endless loop.
29830
29831 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29832
29833         * check/Makefile.am:
29834           add gsttag
29835         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29836         (main):
29837           move over from testsuite dir and clean up
29838         * configure.ac:
29839         * gst/gsttag.c:
29840         * testsuite/Makefile.am:
29841         * testsuite/tags/.cvsignore:
29842         * testsuite/tags/Makefile.am:
29843         * testsuite/tags/merge.c:
29844           remove testsuite/tags
29845
29846 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29847
29848         * docs/gst/gstreamer-sections.txt:
29849         * docs/gst/tmpl/gstenumtypes.sgml:
29850         * win32/gstenumtypes.c:
29851           clean up documentation build a little
29852
29853 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29854
29855         * check/gstcheck.h:
29856           add macros for checking refcounts on objects and caps
29857         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29858           add some more unit tests
29859         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29860         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29861           fix leaked refcounts (I hope :)) so unittest works
29862         * gst/gstpad.h:
29863           whitespace removal
29864
29865 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29866
29867         * configure.ac: back to HEAD
29868
29869 === release 0.9.1 ===
29870
29871 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
29872
29873         * NEWS:
29874         * RELEASE:
29875           updated
29876
29877 2005-06-17  Andy Wingo  <wingo@pobox.com>
29878
29879         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29880         assert; it's always possible that the pad gets deactivated in
29881         between the checks in gstpad.c and the implementation. Rely on
29882         finish_preroll() to return a FLUSHING or similar instead of on the
29883         assert.
29884         
29885         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29886         clock and post an EOS message if we come out of finish_preroll in
29887         the playing state.
29888
29889 2005-06-16  David Schleef  <ds@schleef.org>
29890
29891         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29892         (gst_capsfilter_set_property): Allow NULL as possible value
29893         for filter_caps property, indicating GST_CAPS_ANY.
29894
29895 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29896
29897         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29898           fix debug output
29899         * gst/schedulers/Makefile.am:
29900           use libgst prefix
29901         * gstreamer.spec.in:
29902           fix spec for it
29903
29904 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29905
29906         * gstreamer.spec.in:
29907           clean up
29908
29909 2005-06-08  Andy Wingo  <wingo@pobox.com>
29910
29911         * gst/gstutils.c: RPAD fixes all around.
29912         (gst_element_link_pads): Refcounting fixes.
29913
29914         * tools/gst-inspect.c:
29915         * tools/gst-xmlinspect.c:
29916         * parse/grammar.y:
29917         * gst/base/gsttypefindhelper.c:
29918         * gst/base/gstbasesink.c:
29919         * gst/gstqueue.c: RPAD fixes.
29920
29921         * gst/gstghostpad.h:
29922         * gst/gstghostpad.c: New ghost pad implementation as full proxy
29923         pads. The tricky thing is they provide both source and sink
29924         interfaces, since they proxy the internal pad for the external
29925         pad, and vice versa. Implement with lower-level ProxyPad objects,
29926         with the interior proxy pad as a child of the exterior ghost pad.
29927         Should write a doc on this.
29928         
29929         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29930         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29931         gst_object API.
29932         
29933         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29934         pads are real pads. No ghost pads in this file. Not documenting
29935         the myriad s/RPAD/PAD/ and REALIZE fixes.
29936         (gst_pad_class_init): Add properties for "direction" and
29937         "template". Both are construct-only, so they can't change during
29938         the life of the pad. Fixes properly deriving from GstPad.
29939         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29940         derived objects, just set properties when creating the objects via
29941         g_object_new.
29942         (gst_pad_get_parent): Implement as a function, return NULL if the
29943         parent is not an element.
29944         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29945         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29946         
29947         * gst/gstobject.c (gst_object_class_init): Make name a construct
29948         property. Don't set it in the object init.
29949
29950         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29951         with UNKNOWN direction.
29952         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29953         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29954         (gst_element_remove_pad): Remove ghost-pad special cases.
29955         (gst_element_pads_activate): Remove rpad cruft.
29956
29957         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29958         catch the pad's-parent-not-an-element case.
29959
29960         * gst/gst.h: Include gstghostpad.h.
29961
29962         * gst/gst.c (init_post): No more real, ghost pads.
29963
29964         * gst/Makefile.am: Add gstghostpad.[ch].
29965
29966         * check/Makefile.am:
29967         * check/gst/gstbin.c:
29968         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29969         into a bin creates ghost pads, and that the refcounts are right.
29970         Partly moved from gstbin.c.
29971
29972 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29973
29974         * check/gst-libs/.cvsignore:
29975         * check/gst/.cvsignore:
29976         * check/pipelines/.cvsignore:
29977           ignore more
29978         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29979         (START_TEST), (cleanup_suite), (main):
29980           add some tests related to cleanup after running pipelines
29981
29982 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29983
29984         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29985           add a testsuite for GstBuffer
29986
29987 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29988
29989         * gst/gstminiobject.h:
29990           add defines for accessing the refcount
29991
29992 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
29993
29994         * Makefile.am: added support for html unit test coverage reports
29995
29996 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
29997
29998         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29999           Free existing caps if the capsfilter changes. Add a FIXME about
30000           setting those caps on the pads.
30001
30002         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
30003           Before adding a ghost pad to a parent bin, check that there isn't
30004           already one for the element on the bin. Prevents infinite recursion
30005           when using decodebin in parse pipelines. Andy says he'll rewrite the
30006           way this works anyway, so ignore the hack.
30007
30008 2005-06-02  Andy Wingo  <wingo@pobox.com>
30009
30010         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
30011         file size, pass it on to the type find helper.
30012
30013         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
30014         segment_start and segment_end properly according to the seek
30015         method. Segment_end is still a bit flaky because offset can be
30016         negative for CUR and END cases, but it takes -1 as an "unset"
30017         value.
30018
30019 2005-06-02  Wim Taymans  <wim@fluendo.com>
30020
30021         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
30022         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
30023         (gst_basesink_activate):
30024         * gst/base/gstbasesink.h:
30025         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
30026         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
30027         (gst_pad_query), (gst_pad_start_task):
30028         * gst/gstpad.h:
30029         * gst/gstqueue.c: (gst_queue_bufferalloc),
30030         (gst_queue_handle_sink_event), (gst_queue_chain):
30031         Bufferalloc: return GstFlowReturn to more accuratly report
30032         why allocation failed.
30033
30034 2005-06-02  Wim Taymans  <wim@fluendo.com>
30035
30036         * gst/gstpipeline.c: (gst_pipeline_send_event):
30037         Take snapshot of state without blocking.
30038
30039 2005-06-02  Wim Taymans  <wim@fluendo.com>
30040
30041         * docs/design/part-TODO.txt:
30042         * docs/design/part-caps.txt:
30043         * docs/design/part-clocks.txt:
30044         * docs/design/part-negotiation.txt:
30045         * docs/design/part-preroll.txt:
30046         Small doc updates 
30047
30048 2005-05-30  Wim Taymans  <wim@fluendo.com>
30049
30050         * gst/elements/gstidentity.c: (gst_identity_event),
30051         (gst_identity_transform), (gst_identity_get_property):
30052         Protect last_message property as it is accessed from
30053         multiple threads.
30054
30055 2005-05-30  Wim Taymans  <wim@fluendo.com>
30056
30057         * gst/gstelement.c: (gst_element_init),
30058         (gst_element_pads_activate), (gst_element_change_state):
30059         Slicker pad activation code.
30060
30061 2005-05-30  Wim Taymans  <wim@fluendo.com>
30062
30063         * gst/Makefile.am:
30064         * gst/gstelement.h:
30065         * gst/gstelementfactory.h:
30066         * gst/gsttypes.h:
30067         Move elementfactory methods to separate .h file.
30068
30069 2005-05-30  Wim Taymans  <wim@fluendo.com>
30070
30071         * docs/design/part-overview.txt:
30072         * gst/gstsystemclock.h:
30073         Small typo fixes, doc updates.
30074
30075 2005-05-30  Wim Taymans  <wim@fluendo.com>
30076
30077         * gst/gst.c: (gst_init_get_popt_table), (init_post),
30078         (init_popt_callback):
30079         Remove cpu-opt flag.
30080
30081 2005-05-30  Wim Taymans  <wim@fluendo.com>
30082
30083         * gst/gstbuffer.c: (gst_subbuffer_finalize),
30084         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
30085         * gst/gstbuffer.h:
30086         Avoid typechecking in places where not needed.
30087         Added accessor for malloc_data.
30088
30089 2005-05-30  Wim Taymans  <wim@fluendo.com>
30090
30091         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
30092         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
30093         (gst_pad_configure_sink), (gst_pad_configure_src),
30094         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
30095         (gst_pad_start_task):
30096         Propagate errors from _set_caps() in configure_src/sink
30097         functions instead of returning TRUE.
30098         FLUSH events can travel up and downstream
30099
30100
30101 2005-05-30  Wim Taymans  <wim@fluendo.com>
30102
30103         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
30104         (gst_basesink_activate):
30105         Handle EOS in preroll.
30106
30107 2005-05-30  Wim Taymans  <wim@fluendo.com>
30108
30109         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
30110         (gst_queue_loop), (gst_queue_handle_src_event):
30111         Remove old pieces of code
30112         Flushing the queue in an upstream event is a very bad idea.
30113
30114 2005-05-26  Andy Wingo  <wingo@pobox.com>
30115
30116         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
30117         gst_value_set_mini_object so as to add a ref on the object (which
30118         will be removed when the value is unset).
30119
30120         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
30121         arg type in ::handoff.
30122
30123         * gst/gstelement.c (gst_element_change_state): Also deactivate
30124         pads in READY->NULL, just in case the element didn't make it to
30125         PAUSED. Wingo tested, Wim approved.
30126
30127 2005-05-26  Wim Taymans  <wim@fluendo.com>
30128
30129         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
30130         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
30131         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
30132         A flushing pad cannot be used to alloc_buffer from.
30133
30134 2005-05-26  Wim Taymans  <wim@fluendo.com>
30135
30136         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
30137         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
30138         (gst_bus_source_dispatch), (gst_bus_source_finalize),
30139         (gst_bus_create_watch), (gst_bus_add_watch_full):
30140         * gst/gstbus.h:
30141         Implement a real GSource and use g_main_context_wakeup() to
30142         signal new messages instead of the socketpair.
30143
30144 2005-05-25  Wim Taymans  <wim@fluendo.com>
30145
30146         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
30147         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
30148         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
30149         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
30150         (gst_pad_send_event), (gst_pad_start_task):
30151         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
30152         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
30153         (gst_queue_sink_activate), (gst_queue_src_activate),
30154         (gst_queue_change_state):
30155         * gst/gstqueue.h:
30156         Fix state changes for non sinks. We now change sinks, then elements
30157         with unconnected srcpads, then the rest.
30158         More efficient queue unlocking in flush and state changes.
30159         Set the pad activate mode even if it does not have an activate
30160         function.
30161
30162 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30163
30164         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
30165           Don't go in pull mode for non-seekable sources.
30166         * gst/elements/gsttypefindelement.h:
30167         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30168         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
30169         (free_entry), (stop_typefinding),
30170         (gst_type_find_element_handle_event), (find_peek),
30171         (gst_type_find_element_chain), (do_pull_typefind),
30172         (gst_type_find_element_change_state):
30173           Allow typefinding (w/o seeking) in push-mode, simplified version
30174           of what was in 0.8.
30175         * gst/gstutils.c: (gst_buffer_join):
30176         * gst/gstutils.h:
30177           gst_buffer_join() from 0.8.
30178
30179 2005-05-25  Wim Taymans  <wim@fluendo.com>
30180
30181         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
30182         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
30183         (gst_pad_send_event), (gst_pad_start_task):
30184         Disable attempt at mode switching until it is figured out.
30185
30186 2005-05-25  Wim Taymans  <wim@fluendo.com>
30187
30188         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
30189         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
30190         (gst_basesink_finish_preroll), (gst_basesink_chain),
30191         (gst_basesink_loop), (gst_basesink_activate),
30192         (gst_basesink_change_state):
30193         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
30194         (gst_basesrc_get_range), (gst_basesrc_loop),
30195         (gst_basesrc_activate):
30196         * gst/elements/gsttee.c: (gst_tee_sink_activate):
30197         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
30198         (gst_real_pad_init), (gst_real_pad_set_property),
30199         (gst_real_pad_get_property), (gst_pad_set_active),
30200         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
30201         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
30202         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
30203         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
30204         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30205         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
30206         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
30207         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
30208         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
30209         (gst_pad_stop_task):
30210         * gst/gstpad.h:
30211         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
30212         (gst_queue_loop), (gst_queue_src_activate):
30213         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
30214         (gst_task_get_state):
30215         * gst/gsttask.h:
30216         * gst/schedulers/threadscheduler.c:
30217         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
30218         Implement gst_pad_pause/start/stop_task(), take STREAM lock
30219         in task function.
30220         Remove ACTIVE pad flag, use FLUSHING everywhere
30221         Added _pad_chain(), _pad_get_range() to call chain/getrange 
30222         functions.
30223         Add locks around IS_FLUSHING when reading.
30224         Take STREAM lock in chain(), get_range() functions so plugins
30225         don't need to take it anymore.
30226         
30227
30228
30229 2005-05-25  Wim Taymans  <wim@fluendo.com>
30230
30231         * tools/gst-launch.c: (event_loop):
30232         Unref message after using its contents instead of
30233         before.
30234
30235 2005-05-24  Wim Taymans  <wim@fluendo.com>
30236
30237         * docs/design/draft-ghostpads.txt:
30238         * docs/design/draft-push-pull.txt:
30239         * docs/design/draft-query.txt:
30240         * docs/design/part-overview.txt:
30241         Docs updates, added general overview doc.
30242
30243 2005-05-21  David Schleef  <ds@schleef.org>
30244
30245         * docs/gst/tmpl/old/GstBin.sgml:
30246         * docs/gst/tmpl/old/GstBuffer.sgml:
30247         * docs/gst/tmpl/old/GstCaps.sgml:
30248         * docs/gst/tmpl/old/GstClock.sgml:
30249         * docs/gst/tmpl/old/GstCompat.sgml:
30250         * docs/gst/tmpl/old/GstData.sgml:
30251         * docs/gst/tmpl/old/GstElement.sgml:
30252         * docs/gst/tmpl/old/GstEvent.sgml:
30253         * docs/gst/tmpl/old/GstIndex.sgml:
30254         * docs/gst/tmpl/old/GstStructure.sgml:
30255         * docs/gst/tmpl/old/GstTag.sgml:
30256         * docs/gst/tmpl/old/cothreads.sgml:
30257         * docs/gst/tmpl/old/cothreads_compat.sgml:
30258         * docs/gst/tmpl/old/gettext.sgml:
30259         * docs/gst/tmpl/old/gobject2gtk.sgml:
30260         * docs/gst/tmpl/old/grammar.tab.sgml:
30261         * docs/gst/tmpl/old/gst-i18n-app.sgml:
30262         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
30263         * docs/gst/tmpl/old/gst_private.sgml:
30264         * docs/gst/tmpl/old/gstaggregator.sgml:
30265         * docs/gst/tmpl/old/gstarch.sgml:
30266         * docs/gst/tmpl/old/gstatomic_impl.sgml:
30267         * docs/gst/tmpl/old/gstbufferstore.sgml:
30268         * docs/gst/tmpl/old/gstdata_private.sgml:
30269         * docs/gst/tmpl/old/gstdisksink.sgml:
30270         * docs/gst/tmpl/old/gstdisksrc.sgml:
30271         * docs/gst/tmpl/old/gstelementfactory.sgml:
30272         * docs/gst/tmpl/old/gstextratypes.sgml:
30273         * docs/gst/tmpl/old/gstfakesink.sgml:
30274         * docs/gst/tmpl/old/gstfakesrc.sgml:
30275         * docs/gst/tmpl/old/gstfdsink.sgml:
30276         * docs/gst/tmpl/old/gstfdsrc.sgml:
30277         * docs/gst/tmpl/old/gstfilesink.sgml:
30278         * docs/gst/tmpl/old/gstfilesrc.sgml:
30279         * docs/gst/tmpl/old/gsthttpsrc.sgml:
30280         * docs/gst/tmpl/old/gstidentity.sgml:
30281         * docs/gst/tmpl/old/gstindexfactory.sgml:
30282         * docs/gst/tmpl/old/gstmarshal.sgml:
30283         * docs/gst/tmpl/old/gstmd5sink.sgml:
30284         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
30285         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
30286         * docs/gst/tmpl/old/gstpadtemplate.sgml:
30287         * docs/gst/tmpl/old/gstpipefilter.sgml:
30288         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
30289         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
30290         * docs/gst/tmpl/old/gstshaper.sgml:
30291         * docs/gst/tmpl/old/gstspider.sgml:
30292         * docs/gst/tmpl/old/gstspideridentity.sgml:
30293         * docs/gst/tmpl/old/gststatistics.sgml:
30294         * docs/gst/tmpl/old/gsttee.sgml:
30295         * docs/gst/tmpl/old/gsttimecache.sgml:
30296         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
30297         * docs/gst/tmpl/old/gstxmlregistry.sgml:
30298         * docs/gst/tmpl/old/gthread-cothreads.sgml:
30299         * docs/gst/tmpl/old/types.sgml:
30300           I didn't intend to add these or check them in.
30301
30302 2005-05-19  David Schleef  <ds@schleef.org>
30303
30304         * configure.ac: Use -no-common everywhere.  In a sane world, it
30305           would be the default in libtool, because without it, you can't
30306           build DLLs on Windows.
30307         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
30308         * docs/gst/gstreamer-sections.txt:
30309         * docs/gst/tmpl/gstcpu.sgml:
30310         * docs/gst/tmpl/gstdata.sgml:
30311         * docs/gst/tmpl/gstthread.sgml:
30312
30313 2005-05-19  David Schleef  <ds@schleef.org>
30314
30315         * gst/gstminiobject.c: (gst_value_set_mini_object),
30316         (gst_value_take_mini_object), (gst_value_get_mini_object):
30317         * gst/gstminiobject.h: Add GValue set/get functions.
30318
30319 2005-05-19  Wim Taymans  <wim@fluendo.com>
30320
30321         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
30322         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
30323         (gst_subbuffer_init), (gst_buffer_is_span_fast):
30324         * gst/gstbuffer.h:
30325         * gst/gstbus.c: (gst_bus_post):
30326         * gst/gstelement.c: (gst_element_get_random_pad):
30327         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
30328         Make subbufer unref the parent in finalize.
30329         some more debugging info.
30330
30331
30332 2005-05-19  Wim Taymans  <wim@fluendo.com>
30333
30334         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30335         (gst_basesink_init), (gst_basesink_finalize),
30336         (gst_basesink_activate), (gst_basesink_change_state):
30337         Don't free preroll queue too early.
30338
30339 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30340
30341         * gst/Makefile.am:
30342         * gst/ROADMAP:
30343           Hi, I'm outdated. Please shoot me.
30344
30345 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30346
30347         * gst/gstpipeline.c: (gst_pipeline_send_event):
30348           Do not access variables after they have been deleted.
30349
30350 2005-05-19  Wim Taymans  <wim@fluendo.com>
30351
30352         * tools/gst-inspect.c: (print_plugin_features):
30353         A plugin feature does unfortunatly not use the
30354         object name yet...
30355
30356 2005-05-18  Wim Taymans  <wim@fluendo.com>
30357
30358         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
30359         Port _span() functions to new subbuffers.
30360
30361 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30362
30363         * gst/gstbin.c: (gst_bin_add_func):
30364           Fix clock settery in bins when adding kids after the clock has
30365           been selected.
30366
30367 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30368
30369         * gst/elements/gstidentity.c: (gst_identity_class_init):
30370           Workaround until signals support GstMiniObject.
30371
30372 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
30373
30374         * gst/gstbuffer.c:
30375         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
30376
30377 2005-05-18  Wim Taymans  <wim@fluendo.com>
30378
30379         * gst/base/Makefile.am:
30380         * gst/base/gstadapter.c: (gst_adapter_base_init),
30381         (gst_adapter_class_init), (gst_adapter_init),
30382         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
30383         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
30384         (gst_adapter_flush), (gst_adapter_available),
30385         (gst_adapter_available_fast):
30386         * gst/base/gstadapter.h:
30387         Ported and added adapter to the base classes.
30388
30389 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30390
30391         * gst/gst.c:
30392         * gst/gstmessage.c:
30393           Make sure the class is reffed/unreffed once before threads can be
30394           used.  Fixes #304551.
30395
30396 2005-05-17  Wim Taymans  <wim@fluendo.com>
30397
30398         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
30399         (gst_basesink_chain_unlocked), (gst_basesink_activate):
30400         * gst/gstminiobject.c: (gst_mini_object_get_type),
30401         (gst_mini_object_free):
30402         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
30403         (gst_pad_push), (gst_pad_push_event):
30404         * gst/gstqueue.c: (gst_queue_change_state):
30405         Don't queue buffers in basesink when we are flushing.
30406         Unref buffer when flushing in basesink.
30407         Flush queue when going to READY
30408         Unref buffer when _push() returns an error.
30409         Don't free MiniObject instance when refcount is incremented
30410         in _finalize() so that we can recover objects.
30411
30412 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
30413
30414         * docs/manual/advanced-schedulers.xml:
30415         * docs/manual/appendix-checklist.xml:
30416         * docs/pwg/advanced-clock.xml:
30417         * docs/pwg/advanced-interfaces.xml:
30418         * docs/pwg/advanced-request.xml:
30419         * docs/pwg/advanced-types.xml:
30420         * docs/pwg/intro-preface.xml:
30421         * examples/plugins/example.c: (gst_example_get_type),
30422         (gst_example_class_init), (gst_example_chain),
30423         (gst_example_set_property), (gst_example_get_property),
30424         (gst_example_change_state), (plugin_init):
30425         * examples/plugins/example.h:
30426           small doc fixes
30427
30428 2005-05-17  Wim Taymans  <wim@fluendo.com>
30429
30430         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
30431         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
30432         * gst/gstqueue.c: (gst_queue_change_state):
30433         Clear queue when going to READY.
30434         Remove IN_SETCAPS flag too.
30435
30436 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
30437
30438         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
30439           Remove implicit cast from gboolean to GstElementStateReturn;
30440           make sure we still return failure in paused => ready case if
30441           the parent class fails to change state and our own stop 
30442           vfunc succeeds.
30443
30444 2005-05-17  Wim Taymans  <wim@fluendo.com>
30445
30446         * tools/gst-launch.c: (event_loop):
30447         Message was unreffed too soon.
30448
30449 2005-05-16  Andy Wingo  <wingo@pobox.com>
30450
30451         * gst/gstbin.c (sink_iterator_filter): Err... um...
30452
30453         * check/gst/gstbin.c (test_ghost_pads): New test for the
30454         ghosting-if-elements-not-in-same-bin behavior.
30455
30456 2005-05-16  David Schleef  <ds@schleef.org>
30457
30458         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
30459         accessing refcount directly.
30460
30461 2005-05-15  David Schleef  <ds@schleef.org>
30462
30463         * check/Makefile.am: remove GstData checks
30464         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
30465         * gst/Makefile.am: add miniobject, remove data
30466         * gst/gst.h: add miniobject, remove data
30467         * gst/gstdata.c: remove
30468         * gst/gstdata.h: remove
30469         * gst/gstdata_private.h: remove
30470         * gst/gsttypes.h: remove GstEvent and GstMessage
30471         * gst/gstelement.c: (gst_element_post_message): fix for API changes
30472         * gst/gstmarshal.list: change BOXED -> OBJECT
30473
30474         Implement GstMiniObject.
30475         * gst/gstminiobject.c:
30476         * gst/gstminiobject.h:
30477
30478         Modify to be subclasses of GstMiniObject.
30479         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
30480         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
30481         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
30482         (gst_subbuffer_get_type), (gst_subbuffer_init),
30483         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
30484         (gst_buffer_span):
30485         * gst/gstbuffer.h:
30486         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
30487         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
30488         (_gst_event_copy), (gst_event_new):
30489         * gst/gstevent.h:
30490         * gst/gstmessage.c: (_gst_message_initialize),
30491         (gst_message_get_type), (gst_message_class_init),
30492         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
30493         (gst_message_new), (gst_message_new_error),
30494         (gst_message_new_warning), (gst_message_new_tag),
30495         (gst_message_new_state_changed), (gst_message_new_application):
30496         * gst/gstmessage.h:
30497         * gst/gstprobe.c: (gst_probe_perform),
30498         (gst_probe_dispatcher_dispatch):
30499         * gst/gstprobe.h:
30500         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
30501         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
30502         (_gst_query_copy), (gst_query_new):
30503
30504         Update elements for GstData -> GstMiniObject changes
30505         * gst/gstquery.h:
30506         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
30507         (gst_queue_chain), (gst_queue_loop):
30508         * gst/elements/gstbufferstore.c:
30509         (gst_buffer_store_add_buffer_func),
30510         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
30511         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30512         (gst_fakesink_render):
30513         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30514         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
30515         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
30516         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
30517         (gst_filesrc_create_read):
30518         * gst/elements/gstidentity.c: (gst_identity_class_init):
30519         * gst/elements/gsttypefindelement.c:
30520         (gst_type_find_element_src_event), (free_entry_buffers),
30521         (gst_type_find_element_handle_event):
30522         * libs/gst/dataprotocol/dataprotocol.c:
30523         (gst_dp_header_from_buffer):
30524         * libs/gst/dataprotocol/dataprotocol.h:
30525         * libs/gst/dataprotocol/dp-private.h:
30526
30527 2005-05-15  David Schleef  <ds@schleef.org>
30528
30529         * gst/elements/gstelements.c: Don't include headers that were
30530         just removed.
30531
30532 2005-05-15  David Schleef  <ds@schleef.org>
30533
30534         * gst/elements/Makefile.am: Remove some elements that don't
30535         need to be in the core (or even exist at all).
30536         * gst/elements/gstaggregator.c:
30537         * gst/elements/gstaggregator.h:
30538         * gst/elements/gstmd5sink.c:
30539         * gst/elements/gstmd5sink.h:
30540         * gst/elements/gstmultifilesrc.c:
30541         * gst/elements/gstmultifilesrc.h:
30542         * gst/elements/gstpipefilter.c:
30543         * gst/elements/gstpipefilter.h:
30544         * gst/elements/gstshaper.c:
30545         * gst/elements/gstshaper.h:
30546         * gst/elements/gststatistics.c:
30547         * gst/elements/gststatistics.h:
30548         * po/POTFILES.in: Remove above files.
30549
30550 2005-05-14  Andy Wingo  <wingo@pobox.com>
30551
30552         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30553         so as to get the refs right.
30554         (sink_iterator_filter): New function, wraps bin_element_is_sink,
30555         unreffing objects that don't pass the filter.
30556
30557         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30558         gst_element_set_bus.
30559         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30560         normal cases, this will destroy the bus.
30561
30562         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30563         object.
30564
30565         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30566         has no sinks.
30567
30568 2005-05-13  Andy Wingo  <wingo@pobox.com>
30569
30570         * gst/gstutils.c (gst_element_link_pads): Instead of calling
30571         gst_pad_link, call pad_link_maybe_ghosting,
30572         (pad_link_maybe_ghosting): Links pads, making sure that the
30573         elements being linked are in the same bin.
30574         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30575         Helpers for pad_link_maybe_ghosting.
30576
30577 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30578
30579         * configure.ac:
30580           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30581
30582 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30583
30584         * docs/design/part-element-source.txt:
30585           Mention GstPushSrc
30586
30587 2005-05-12  Wim Taymans  <wim@fluendo.com>
30588
30589         * gst/base/gstbasesink.c: (gst_basesink_init),
30590         (gst_basesink_activate):
30591         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30592         (gst_basesrc_is_seekable):
30593         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30594         (bin_element_is_sink), (gst_bin_change_state):
30595         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30596         * gst/gstelement.h:
30597         Identify sinks by their flag to avoid overly complicated
30598         checks (fow now).
30599         Do state changes even for elements not reachable from the
30600         sinks.
30601         BaseSink is a sink now :)
30602         Some more debugging info in the basesrc.
30603
30604
30605 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30606
30607         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30608           Implement _query on a bin, similar to _send_event.
30609
30610 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
30611
30612         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30613           Discont event offset format should be GST_FORMAT_BYTES,
30614           not GST_FORMAT_TIME.
30615
30616 2005-05-12  Wim Taymans  <wim@fluendo.com>
30617
30618         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30619         Same fix as Ronald's but without the signal. 
30620
30621 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30622
30623         * gst/gstutils.c: (gst_element_query_position):
30624           No, an element is not a pad.
30625
30626 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30627
30628         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30629         (gst_bin_get_state):
30630           If a child is removed from a bin while we remove the child from
30631           the bin and while we're retrieving its state, signal this to the
30632           get_state function so we abort the wait (instead of waiting for
30633           a timeout) and can immediately re-iterate over all other elements.
30634
30635 2005-05-12  Wim Taymans  <wim@fluendo.com>
30636
30637         * gst/base/Makefile.am:
30638         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30639         (gst_basesrc_start):
30640         * gst/base/gstbasesrc.h:
30641         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30642         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30643         (gst_pushsrc_init), (gst_pushsrc_create):
30644         * gst/base/gstpushsrc.h:
30645         Added is_seekable to BaseSrc
30646         Added simple PushSrc.
30647
30648 2005-05-11  Wim Taymans  <wim@fluendo.com>
30649
30650         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30651         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30652         (gst_element_link_pads), (gst_element_query_position),
30653         (gst_element_query_convert), (intersect_caps_func),
30654         (gst_pad_query_position), (gst_pad_query_convert):
30655         Fix refcounting in utils function.
30656         No point in trying to activate a pad when it's added, it could
30657         be added from the state change function and then we deadlock, the
30658         element has to decide what to do.
30659
30660 2005-05-10  Andy Wingo  <wingo@pobox.com>
30661
30662         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30663         *all* the arguments.
30664
30665         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30666         stream lock if it's a FLUSH_DONE; normal flushes don't get the
30667         lock (according to the docs -- if this is wrong change the docs).
30668
30669         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30670         flush messages in the NULL state.
30671
30672         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30673         message immediately and return.
30674         (gst_bus_set_flushing): New function. If a bus is flushing, it
30675         flushes out any queued messages and immediately unrefs new
30676         messages. This is so when an element goes to NULL, all of the
30677         unhandled messages coming from it can be freed, and their
30678         references to the element dropped. In other words: message source
30679         ref considered harmful :P
30680
30681         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30682         we're finished with it.
30683
30684         * gst/gstmessage.c (gst_message_new_state_changed): 
30685
30686 2005-05-10  Wim Taymans  <wim@fluendo.com>
30687
30688         * gst/gstvalue.c: (gst_value_compare_flags),
30689         (gst_value_serialize_flags), (gst_value_deserialize_flags),
30690         (_gst_value_initialize):
30691         Added flags serialize/deserialize/compare code.
30692
30693 2005-05-09  Andy Wingo  <wingo@pobox.com>
30694
30695         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30696         Intersect the peer's caps with our caps.
30697
30698 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30699
30700         * gst/base/gsttypefindhelper.c: (helper_find_peek):
30701         * gst/elements/gsttypefindelement.c: (find_peek):
30702           Handle negative offsets better. Fixes decodebin.
30703
30704 2005-05-09  Wim Taymans  <wim@fluendo.com>
30705
30706         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30707         (gst_base_transform_event):
30708         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30709         Implement accept_caps.
30710         Fix silly lock/unlock mismatch in base class.
30711
30712 2005-05-09  Wim Taymans  <wim@fluendo.com>
30713
30714         * docs/design/draft-push-pull.txt:
30715         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30716         * gst/elements/gstfilesink.c: (gst_filesink_init),
30717         (gst_filesink_query):
30718         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30719         (gst_type_find_handle_src_query), (find_element_get_length):
30720         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30721         * gst/gstelement.h:
30722         * gst/gstmessage.c:
30723         * gst/gstmessage.h:
30724         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30725         (gst_real_pad_get_caps_unlocked),
30726         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30727         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30728         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30729         (gst_real_pad_dispose), (gst_real_pad_finalize),
30730         (gst_pad_load_and_link), (gst_pad_save_thyself),
30731         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30732         (gst_pad_check_pull_range), (gst_pad_pull_range),
30733         (gst_pad_template_get_type), (gst_pad_template_class_init),
30734         (gst_pad_template_init), (gst_pad_template_dispose),
30735         (name_is_valid), (gst_static_pad_template_get),
30736         (gst_pad_template_new), (gst_static_pad_template_get_caps),
30737         (gst_pad_template_get_caps), (gst_pad_set_element_private),
30738         (gst_pad_get_element_private), (gst_pad_start_task),
30739         (gst_pad_pause_task), (gst_pad_stop_task),
30740         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30741         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30742         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30743         (gst_ghost_pad_new):
30744         * gst/gstpad.h:
30745         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30746         (gst_query_new_position), (gst_query_set_position),
30747         (gst_query_parse_position), (gst_query_new_convert),
30748         (gst_query_set_convert), (gst_query_parse_convert):
30749         * gst/gstquery.h:
30750         * gst/gstqueryutils.c:
30751         * gst/gstqueryutils.h:
30752         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30753         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30754         (gst_queue_handle_src_query):
30755         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30756         (gst_element_query_position), (gst_element_query_convert),
30757         (intersect_caps_func), (gst_pad_query_position),
30758         (gst_pad_query_convert):
30759         * gst/gstutils.h:
30760         * tools/gst-inspect.c: (print_pad_info):
30761         * tools/gst-xmlinspect.c: (print_element_info):
30762         Remove old query functions. Ported old code.
30763         Added position/convert helper functions to gstutils.
30764         Reordered gstpad.c code, grouping relevant things.
30765         Remove gst_message_new(), always need to speficy a specific
30766         message.
30767
30768
30769 2005-05-09  Andy Wingo  <wingo@pobox.com>
30770
30771         * gst/gstiterator.h: Add some includes.
30772
30773         * gst/gstqueryutils.h: Include more headers.
30774
30775         * gst/gstpad.h:
30776         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30777         some uses of gst_pad_query.
30778
30779         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30780         NULL out parameters.
30781         (gst_query_new_position): New proc, allocates a new position
30782         query.
30783
30784         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30785         gstqueryutils.c to the build.
30786
30787         * gst/gststructure.c (gst_structure_set_valist): Implement with
30788         the generic G_VALUE_COLLECT.
30789         
30790 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
30791
30792         * gst/Makefile.am: (gst_headers):
30793         Added gstqueryutils.h to the list of headers to install, that was
30794         a 'nachty' move wingo :)
30795
30796 2005-05-06  Andy Wingo  <wingo@pobox.com>
30797
30798         * gst/gstquery.h
30799         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30800         GstData, init a memchunk.
30801         (standard_definitions): Add a few query types, deprecate a few.
30802         (gst_query_get_type): New proc.
30803         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30804         implementation.
30805         (gst_query_new_application, gst_query_get_structure): New public
30806         procs.
30807
30808         * docs/design/draft-query.txt: Removed LINKS from the query types,
30809         because all the rest can be dispatched to other pads -- seemed
30810         ugly to have a query that couldn't be dispatched. internal_links
30811         is fine as a pad method.
30812
30813         * gst/gstpad.h: Add query2 as a pad method, add the new functions
30814         in gstpad.c, but maintain binary compatibility for the moment.
30815         Will fix before 0.9 is out.
30816
30817         * gst/gstqueryutils.c: 
30818         * gst/gstqueryutils.h: New files, implement 3 methods for each
30819         query type: parse_query, parse_response, and set. Probably need an
30820         allocator as well.
30821
30822         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30823
30824         * gst/elements/gstfilesink.c (gst_filesink_query2):
30825         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30826         query_types, and formats methods.
30827
30828         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30829         (gst_pad_set_query2_function): New functions.
30830         (gst_real_pad_init): Set query2_default as the default query2
30831         function. Basically just dispatches to internally linked pads.
30832
30833         Needs review!
30834         
30835         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30836         without using the atomic operations. Only one thread can possibly
30837         be accessing the data at this point. Changed so as to avoid
30838         gst_atomic operations.
30839
30840 2005-05-06  Wim Taymans  <wim@fluendo.com>
30841
30842         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30843         Also set caps if we use the fallback buffer alloc.
30844
30845 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
30846
30847         * docs/gst/Makefile.am:
30848         * docs/gst/gstreamer-docs.sgml:
30849         * docs/gst/gstreamer-sections.txt:
30850         * docs/gst/tmpl/gstatomic.sgml:
30851         * docs/gst/tmpl/gstmemchunk.sgml:
30852         * testsuite/elements/struct_i386.h:
30853         * win32/GStreamer.vcproj:
30854         * win32/Makefile:
30855           Purge GstAtomic stuff from docs and win32 makefiles as well
30856
30857 2005-05-06  Wim Taymans  <wim@fluendo.com>
30858
30859         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30860         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30861         * gst/gstpad.c: (gst_pad_peer_get_caps):
30862         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30863         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30864         (gst_queue_src_activate), (gst_queue_change_state):
30865         * gst/gstqueue.h:
30866         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30867         (intersect_caps_func):
30868         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30869         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30870         Some fixes for the peer_get_caps() change.
30871
30872 2005-05-06  Wim Taymans  <wim@fluendo.com>
30873
30874         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30875         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30876         (gst_basesink_activate):
30877         Actually do something with error codes returned from the push
30878         functions.
30879
30880 2005-05-06  Wim Taymans  <wim@fluendo.com>
30881
30882         * docs/design/part-element-sink.txt:
30883         * docs/design/part-element-source.txt:
30884         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30885         (gst_basesink_event), (gst_basesink_activate):
30886         * gst/base/gstbasesink.h:
30887         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30888         (gst_basesrc_activate):
30889         * gst/base/gstbasesrc.h:
30890         * gst/gstelement.c: (gst_element_pads_activate):
30891         Some more documentation.
30892         Fixed scheduling decision in _pads_activate().
30893
30894 2005-05-05  Andy Wingo  <wingo@pobox.com>
30895
30896         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30897         the test suite.
30898
30899 2005-05-05  Wim Taymans  <wim@fluendo.com>
30900
30901         * gst/base/Makefile.am:
30902         * gst/base/gstbasesink.h:
30903         * gst/base/gstbasesrc.c: (gst_basesrc_init),
30904         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30905         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30906         (gst_collectpads_class_init), (gst_collectpads_init),
30907         (gst_collectpads_finalize), (gst_collectpads_new),
30908         (gst_collectpads_set_function), (gst_collectpads_add_pad),
30909         (find_pad), (gst_collectpads_remove_pad),
30910         (gst_collectpads_is_active), (gst_collectpads_collect),
30911         (gst_collectpads_collect_range), (gst_collectpads_start),
30912         (gst_collectpads_stop), (gst_collectpads_peek),
30913         (gst_collectpads_pop), (gst_collectpads_available),
30914         (gst_collectpads_read), (gst_collectpads_flush),
30915         (gst_collectpads_chain):
30916         * gst/base/gstcollectpads.h:
30917         * gst/elements/Makefile.am:
30918         * gst/elements/gstelements.c:
30919         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30920         (gst_fakesink_get_times), (gst_fakesink_event),
30921         (gst_fakesink_preroll), (gst_fakesink_render):
30922         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30923         (gst_filesink_init), (gst_filesink_set_location),
30924         (gst_filesink_open_file), (gst_filesink_close_file),
30925         (gst_filesink_pad_query), (gst_filesink_event),
30926         (gst_filesink_render), (gst_filesink_change_state):
30927         * gst/elements/gstfilesink.h:
30928         Added object to help in making collect pad based elements.
30929         Ported filesink.
30930         Make event function in sink baseclass return gboolean.
30931
30932 2005-05-05  Wim Taymans  <wim@fluendo.com>
30933
30934         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30935         (gst_bin_get_by_name):
30936         * gst/gstbuffer.h:
30937         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30938         (gst_clock_finalize):
30939         * gst/gstdata.c: (gst_data_replace):
30940         * gst/gstdata.h:
30941         * gst/gstelement.c: (gst_element_request_pad),
30942         (gst_element_pads_activate):
30943         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30944         (gst_object_unref):
30945         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30946         (gst_pad_set_checkgetrange_function),
30947         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30948         (gst_pad_check_pull_range), (gst_pad_pull_range),
30949         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30950         (gst_pad_pause_task), (gst_pad_stop_task):
30951         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30952         (gst_element_request_pad), (gst_pad_proxy_getcaps):
30953         Fix name lookup in GstBin.
30954         Added _data_replace() function and _buffer_replace()
30955         Use finalize method to clean up clock.
30956         Fix refcounting on request pads.
30957         Fix pad schedule mode error.
30958         Some more object refcounting debug info,
30959
30960
30961 2005-05-04  Andy Wingo <wingo@pobox.com>
30962
30963         * check/Makefile.am:
30964         * docs/gst/tmpl/gstatomic.sgml:
30965         * docs/gst/tmpl/gstplugin.sgml:
30966         * gst/base/gstbasesink.c: (gst_basesink_activate):
30967         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30968         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30969         (gst_basesrc_query), (gst_basesrc_set_property),
30970         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30971         (gst_basesrc_activate):
30972         * gst/base/gstbasesrc.h:
30973         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30974         (gst_base_transform_src_activate):
30975         * gst/elements/gstelements.c:
30976         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30977         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30978         * gst/elements/gsttee.c: (gst_tee_sink_activate):
30979         * gst/elements/gsttypefindelement.c: (find_element_get_length),
30980         (gst_type_find_element_checkgetrange),
30981         (gst_type_find_element_activate):
30982         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30983         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30984         (gst_caps_load_thyself):
30985         * gst/gstelement.c: (gst_element_pads_activate),
30986         (gst_element_save_thyself), (gst_element_restore_thyself):
30987         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30988         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30989         * gst/gstpad.h:
30990         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30991         (gst_xml_parse_file), (gst_xml_parse_memory),
30992         (gst_xml_get_element), (gst_xml_make_element):
30993         * gst/indexers/gstfileindex.c: (gst_file_index_load),
30994         (_file_index_id_save_xml), (gst_file_index_commit):
30995         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30996         (read_enum), (load_pad_template), (load_feature), (load_plugin),
30997         (load_paths):
30998         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30999         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
31000         * tools/gst-complete.c: (main):
31001         * tools/gst-compprep.c: (main):
31002         * tools/gst-inspect.c: (print_element_properties_info):
31003         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
31004         * tools/gst-xmlinspect.c: (print_element_properties):
31005         GCC 4 fixen.
31006         
31007 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
31008
31009         * gst/gstplugin.c: (gst_plugin_check_module),
31010         (gst_plugin_check_file), (gst_plugin_load_file):
31011             apply patch from #172526 to make register work on MacOSX
31012
31013 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
31014
31015         * docs/gst/tmpl/gstconfig.sgml:
31016         * gst/gstconfig.h.in:
31017           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
31018         * testsuite/debug/printf_extension.c: (main):
31019           Do not use GST_PTR_FORMAT on pointers to types with
31020           sizeof < sizeof(gpointer).  Fixes test on 64-bit
31021         * testsuite/elements/property.h:
31022           use correct printf format
31023
31024 2005-05-02  Wim Taymans  <wim@fluendo.com>
31025
31026         * docs/design/draft-push-pull.txt:
31027         * docs/design/draft-query.txt:
31028         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
31029         (gst_basesrc_start):
31030         Added draft for new query API.
31031         Added draft for better selecting scheduling methods.
31032         Make basesrc ignore length if the subclass does not support
31033         it.
31034
31035 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
31036
31037         * gst/Makefile.am:
31038           possible fixes for automake-1.5 - _LIBADD is reserved
31039
31040 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
31041
31042         * docs/faq/Makefile.am:
31043         * docs/manual/Makefile.am:
31044         * docs/manuals.mak:
31045         * docs/pwg/Makefile.am:
31046         * gst/Makefile.am:
31047           possible fixes for automake-1.5
31048
31049 2005-04-28  Wim Taymans  <wim@fluendo.com>
31050
31051         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31052         (gst_basesink_pad_getcaps), (gst_basesink_init),
31053         (gst_basesink_do_sync):
31054         * gst/gstclock.c: (gst_clock_entry_new):
31055         * gst/gstevent.c: (gst_event_discont_get_value):
31056         * gst/gstpipeline.c: (pipeline_bus_handler),
31057         (gst_pipeline_change_state):
31058         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
31059         Better debugging of clocking info.
31060         Allow NULL values when getting discont values.
31061
31062 2005-04-27  Wim Taymans  <wim@fluendo.com>
31063
31064         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31065         * check/gst/gstpad.c: (gst_pad_suite):
31066         Increase timeout for checks.
31067
31068 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
31069
31070         * check/Makefile.am:
31071           fix the broken rule for cleanup.  Apparently this rule is
31072           only needed on FC2, so maybe this warrants further autotool
31073           inspection.
31074
31075 2005-04-26  Wim Taymans  <wim@fluendo.com>
31076
31077         * gst/gsttrashstack.h:
31078         Ooohh. a nasty one! After having a failed pop() from the stack,
31079         it's possible that the stack is empty. In that case, don't
31080         follow the NULL pointer.
31081
31082 2005-04-25  Wim Taymans  <wim@fluendo.com>
31083
31084         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31085         (gst_pad_set_checkgetrange_function),
31086         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
31087         (gst_pad_check_pull_range), (gst_pad_pull_range),
31088         (gst_static_pad_template_get_caps), (gst_pad_start_task),
31089         (gst_pad_pause_task), (gst_pad_stop_task):
31090         * gst/gstplugin.c: (gst_plugin_load):
31091         * gst/gstplugin.h:
31092         Remove gst_library_load as it does more harm than good with
31093         the new g_module flags.
31094         Revert bogus caps template check in pad linking, pad caps
31095         are important when linking not the template, which is more
31096         general than the current caps.
31097
31098 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31099
31100         * gst/autoplug/.cvsignore:
31101         * gst/autoplug/Makefile.am:
31102         * gst/autoplug/gstsearchfuncs.c:
31103         * gst/autoplug/gstsearchfuncs.h:
31104         * gst/autoplug/gstspider.c:
31105         * gst/autoplug/gstspider.h:
31106         * gst/autoplug/gstspideridentity.c:
31107         * gst/autoplug/gstspideridentity.h:
31108         * gst/autoplug/spidertest.c:
31109           Die, spider, die.
31110
31111 2005-04-25  Wim Taymans  <wim@fluendo.com>
31112
31113         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31114         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
31115         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
31116         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
31117         * gst/gstpad.h:
31118         Added stubs for unimplemented functions. 
31119
31120 2005-04-24  David Schleef  <ds@schleef.org>
31121
31122         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
31123         please fix.
31124
31125 2005-04-24  David Schleef  <ds@schleef.org>
31126
31127         Convert everything from GstAtomicInt to g_atomic_int_*, and
31128         remove gstatomic.
31129         * gst/Makefile.am:
31130         * gst/gstatomic.c:
31131         * gst/gstatomic.h:
31132         * gst/gstatomic_impl.h:
31133         * gst/gstbuffer.c:
31134         * gst/gstcaps.c:
31135         * gst/gstcaps.h:
31136         * gst/gstclock.c:
31137         * gst/gstclock.h:
31138         * gst/gstdata.c:
31139         * gst/gstdata.h:
31140         * gst/gstdata_private.h:
31141         * gst/gstevent.c:
31142         * gst/gstinfo.c:
31143         * gst/gstinfo.h:
31144         * gst/gstmessage.c:
31145         * gst/gstobject.c:
31146         * gst/gstobject.h:
31147         * gst/gststructure.c:
31148         * gst/gststructure.h:
31149         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
31150         * gst/gstutils.h:
31151
31152 2005-04-24  David Schleef  <ds@schleef.org>
31153
31154         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
31155         make the regressions tests work.  Remove some code that is no
31156         longer true.
31157         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
31158         Disable warning for pads without templates.
31159
31160 2005-04-24  David Schleef  <ds@schleef.org>
31161
31162         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
31163         functions that handle filtered links.
31164         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
31165         removed functions.
31166         * gst/gstutils.c: Fix/remove utility functions that handle
31167         filtered caps.
31168         * gst/gstutils.h:
31169         * gst/gstvalue.c: Add serialization/deserialization of caps
31170         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
31171         requires fixing so that the filter caps notation creates
31172         a capsfilter element and sets the filter_caps property.  I
31173         think everyone probably wants to keep the shorthand notation.
31174         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
31175         * docs/gst/tmpl/gstpad.sgml:
31176
31177         * gst/elements/gstelements.c: Register capsfilter element.
31178         * gst/Makefile.am: fix spacing
31179         * docs/random/ds/0.9-suggested-changes: random
31180
31181 2005-04-23  David Schleef  <ds@schleef.org>
31182
31183         * gst/elements/Makefile.am:
31184         * gst/elements/gstcapsfilter.c: New element that acts like an
31185         identity, but filters caps.  Will eventually replace filtered
31186         caps in pad linking.
31187         * gst/gstutils.c: (gst_element_create_all_pads): New function
31188         to create all the ALWAYS pads that are registered with an
31189         element class.  This functionality should eventually be
31190         merged in with GstElement initialization.
31191         * gst/gstutils.h:
31192         * testsuite/trigger/README: part of trigger test code that should
31193         have been checked in a long time ago.
31194
31195 2005-04-23  David Schleef  <ds@schleef.org>
31196
31197         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
31198         needed with new versions of libtool (nobody will confirm this),
31199         and hard to carry around.
31200         * gst/autoplug/Makefile.am:
31201         * gst/base/Makefile.am:
31202         * gst/elements/Makefile.am:
31203         * gst/indexers/Makefile.am:
31204         * gst/schedulers/Makefile.am:
31205         * libs/gst/bytestream/Makefile.am:
31206         * libs/gst/control/Makefile.am:
31207         * libs/gst/dataprotocol/Makefile.am:
31208         * libs/gst/getbits/Makefile.am:
31209
31210 2005-04-21  Wim Taymans  <wim@fluendo.com>
31211
31212         * docs/design/draft-push-pull.txt:
31213         * docs/design/part-MT-refcounting.txt:
31214         * docs/design/part-TODO.txt:
31215         * docs/design/part-caps.txt:
31216         * docs/design/part-events.txt:
31217         * docs/design/part-gstbus.txt:
31218         * docs/design/part-gstpipeline.txt:
31219         * docs/design/part-messages.txt:
31220         * docs/design/part-push-pull.txt:
31221         * docs/design/part-query.txt:
31222         Some more docs.
31223
31224 2005-04-21  Wim Taymans  <wim@fluendo.com>
31225
31226         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
31227         (gst_message_new), (gst_message_new_error),
31228         (gst_message_new_warning), (gst_message_new_tag),
31229         (gst_message_new_state_changed), (gst_message_new_application),
31230         (gst_message_get_structure):
31231         * gst/gstmessage.h:
31232         * gst/gststructure.c: (gst_structure_set_parent_refcount),
31233         (gst_structure_copy_conditional):
31234         Use parent refcount in GstMessage to ensure GstStructure
31235         consistency.
31236         Cleaned up headers a bit.
31237         
31238
31239 2005-04-20  Wim Taymans  <wim@fluendo.com>
31240
31241         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31242         (gst_basesink_pad_getcaps), (gst_basesink_init),
31243         (gst_basesink_chain_unlocked):
31244         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
31245         (gst_type_find_helper):
31246         * gst/elements/gsttypefindelement.c:
31247         (gst_type_find_element_have_type), (gst_type_find_element_init),
31248         (stop_typefinding), (gst_type_find_element_handle_event),
31249         (find_suggest), (gst_type_find_element_chain),
31250         (gst_type_find_element_checkgetrange),
31251         (gst_type_find_element_getrange), (do_typefind),
31252         (gst_type_find_element_activate):
31253         * gst/gstbuffer.c: (_gst_buffer_sub_free),
31254         (gst_buffer_default_free), (gst_buffer_default_copy),
31255         (gst_buffer_set_caps):
31256         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
31257         (gst_caps_replace):
31258         * gst/gstmessage.c: (gst_message_new),
31259         (gst_message_new_state_changed):
31260         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31261         (gst_pad_set_checkgetrange_function),
31262         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
31263         (gst_pad_set_caps), (gst_pad_check_pull_range),
31264         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
31265         * gst/gstpad.h:
31266         * gst/gsttypefind.c: (gst_type_find_register):
31267         Make gst_caps_replace() work like other _replace() functions.
31268         Use _caps_replace() where possible.
31269         Make sure _message_new() initialises its field.
31270         Add gst_static_pad_template_get_caps()
31271
31272
31273 2005-04-18  Andy Wingo  <wingo@pobox.com>
31274
31275         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
31276         on the peer, not the pad. I think that was a typo. Pass an extra
31277         arg to see if random access is possible. Activate the pads as
31278         PULL_RANGE if possible.
31279
31280         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
31281
31282         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
31283         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
31284         to PROP_....
31285
31286 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31287
31288         * docs/faq/using.xml:
31289           Add note on gstreamer-properties (#154996).
31290
31291 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31292
31293         * docs/random/bbb/optional-properties:
31294           Some analysis on optional properties.
31295
31296 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31297
31298         * docs/gst/tmpl/gstelementfactory.sgml:
31299         * gst/gstelement.h:
31300         * gst/gstelementfactory.c: (gst_element_factory_init),
31301         (gst_element_factory_cleanup), (gst_element_register),
31302         (__gst_element_factory_add_static_pad_template),
31303         (gst_element_factory_get_static_pad_templates),
31304         (gst_element_factory_can_src_caps),
31305         (gst_element_factory_can_sink_caps):
31306         * gst/registries/Makefile.am:
31307         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
31308         (gst_xml_registry_class_init), (gst_xml_registry_init),
31309         (gst_xml_registry_new), (gst_xml_registry_set_property),
31310         (gst_xml_registry_get_property), (get_time), (make_dir),
31311         (gst_xml_registry_get_perms_func),
31312         (plugin_times_older_than_recurse), (plugin_times_older_than),
31313         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
31314         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
31315         (add_to_char_array), (read_string), (read_uint), (read_enum),
31316         (load_pad_template), (load_feature), (load_plugin), (load_paths),
31317         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
31318         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
31319         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
31320         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
31321         (gst_xml_registry_rebuild):
31322         * gst/registries/gstlibxmlregistry.h:
31323         * tools/gst-compprep.c: (main):
31324         * tools/gst-inspect.c: (print_pad_templates_info):
31325         * tools/gst-xmlinspect.c: (print_element_info):
31326           Use libxml2 for registry parsing, use staticpadtemplates in
31327           elementfactories. Makes gst_init() +/- 10x faster.
31328
31329 2005-04-12  Wim Taymans  <wim@fluendo.com>
31330
31331         * gst/base/Makefile.am:
31332         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31333         (gst_basesink_pad_getcaps), (gst_basesink_init),
31334         (gst_basesink_event), (gst_basesink_change_state):
31335         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31336         (gst_basesrc_init), (gst_basesrc_query),
31337         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31338         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31339         (gst_basesrc_check_get_range), (gst_basesrc_loop),
31340         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31341         (gst_basesrc_stop), (gst_basesrc_activate),
31342         (gst_basesrc_change_state):
31343         * gst/base/gsttypefindhelper.c: (helper_find_peek),
31344         (helper_find_suggest), (gst_type_find_helper):
31345         * gst/base/gsttypefindhelper.h:
31346         * gst/elements/Makefile.am:
31347         * gst/elements/gstelements.c:
31348         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
31349         (gst_fakesink_get_times), (gst_fakesink_event),
31350         (gst_fakesink_preroll), (gst_fakesink_render):
31351         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31352         (gst_fakesrc_init), (gst_fakesrc_event_handler),
31353         (gst_fakesrc_get_property), (gst_fakesrc_create),
31354         (gst_fakesrc_start), (gst_fakesrc_stop):
31355         * gst/elements/gstfakesrc.h:
31356         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
31357         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31358         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31359         (gst_filesrc_create_read), (gst_filesrc_create),
31360         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
31361         (gst_filesrc_start):
31362         * gst/elements/gsttypefindelement.c:
31363         (gst_type_find_element_have_type), (gst_type_find_element_init),
31364         (start_typefinding), (stop_typefinding), (push_buffer_store),
31365         (gst_type_find_element_handle_event),
31366         (gst_type_find_element_chain),
31367         (gst_type_find_element_checkgetrange),
31368         (gst_type_find_element_getrange), (do_typefind),
31369         (gst_type_find_element_activate),
31370         (gst_type_find_element_change_state):
31371         * gst/elements/gsttypefindelement.h:
31372         * gst/gstpipeline.c: (pipeline_bus_handler):
31373         Added typefind helper.
31374         Small preroll fix in the base sink.
31375         Disable typefind code in basesrc.
31376         Crude port of typefindelement.
31377         Fakesrc cleanups.
31378
31379
31380 2005-04-11  Wim Taymans  <wim@fluendo.com>
31381
31382         * check/gst/gstbus.c: (gstbus_suite):
31383         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
31384         * check/gstcheck.h:
31385           Fix up the timeout so that the test does not fail.
31386
31387 2005-04-06  Wim Taymans  <wim@fluendo.com>
31388
31389         * gst/base/README:
31390         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31391         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
31392         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31393         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31394         (gst_basesrc_check_get_range), (gst_basesrc_loop),
31395         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31396         (gst_basesrc_stop), (gst_basesrc_activate),
31397         (gst_basesrc_change_state), (basesrc_find_peek),
31398         (basesrc_find_suggest), (gst_basesrc_type_find):
31399         * gst/base/gstbasesrc.h:
31400         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
31401         (gst_filesrc_class_init), (gst_filesrc_init),
31402         (gst_filesrc_finalize), (gst_filesrc_set_location),
31403         (gst_filesrc_set_property), (gst_filesrc_get_property),
31404         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31405         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31406         (gst_filesrc_create_read), (gst_filesrc_create),
31407         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
31408         * gst/elements/gstfilesrc.h:
31409         * gst/gstelement.c: (gst_element_get_state_func),
31410         (gst_element_lost_state), (gst_element_pads_activate):
31411         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31412         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
31413         (gst_pad_pull_range):
31414         * gst/gstpad.h:
31415         More work on the generic source base class, implement seeking,
31416         query.
31417         Make filesrc extend the base source class.
31418         Added gst_pad_set_checkgetrange_function to GstPad.
31419
31420 2005-04-06  Andy Wingo  <wingo@pobox.com>
31421
31422         * pkgconfig/gstreamer-base.pc.in:
31423         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
31424
31425         * pkgconfig/Makefile.am:
31426         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
31427
31428 2005-04-04  Wim Taymans  <wim@fluendo.com>
31429
31430         * gst/base/Makefile.am:
31431         * gst/base/README:
31432         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31433         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31434         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31435         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
31436         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31437         (gst_basesrc_base_init), (gst_basesrc_class_init),
31438         (gst_basesrc_init), (gst_basesrc_get_formats),
31439         (gst_basesrc_get_query_types), (gst_basesrc_query),
31440         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
31441         (gst_basesrc_set_property), (gst_basesrc_get_property),
31442         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
31443         (gst_basesrc_loop), (gst_basesrc_activate),
31444         (gst_basesrc_change_state):
31445         * gst/base/gstbasesrc.h:
31446         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
31447         (gst_fakesrc_class_init), (gst_fakesrc_init),
31448         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
31449         (gst_fakesrc_get_property), (gst_fakesrc_create):
31450         * gst/elements/gstfakesrc.h:
31451         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
31452         (gst_filesrc_open_file), (gst_filesrc_loop),
31453         (gst_filesrc_activate), (filesrc_find_peek),
31454         (gst_filesrc_type_find):
31455         Made base source class, make fakesrc extend it.
31456         Add comments to basesink class.
31457         Some filesrc cleanup.
31458
31459 2005-03-31  David Schleef  <ds@schleef.org>
31460
31461         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
31462         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
31463         expected to link against libgstreamer.
31464         * gst/base/Makefile.am: link against libgstreamer
31465         * gst/elements/Makefile.am: same
31466
31467 2005-03-31  Andy Wingo  <wingo@pobox.com>
31468
31469         * tests/instantiate/Makefile.am:
31470         * tests/instantiate/caps.c: Add test to test speed of caps copy
31471         and free.
31472
31473         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
31474         GMemChunk to be fair.
31475
31476         * gst/gsttrashstack.h: Remove warning about using the fallback
31477         trash stack implementation, it's still faster than malloc.
31478
31479 2005-03-30  Andy Wingo  <wingo@pobox.com>
31480
31481         * tests/complexity.c: Add a copyright.
31482
31483 2005-03-31  Wim Taymans  <wim@fluendo.com>
31484
31485         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
31486         (gst_base_transform_class_init), (gst_base_transform_init),
31487         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
31488         (gst_base_transform_get_property),
31489         (gst_base_transform_sink_activate),
31490         (gst_base_transform_src_activate),
31491         (gst_base_transform_change_state):
31492         * gst/base/gstbasetransform.h:
31493         * gst/elements/gstidentity.c: (gst_identity_class_init),
31494         (gst_identity_event), (gst_identity_check_perfect),
31495         (gst_identity_transform), (gst_identity_start),
31496         (gst_identity_stop):
31497         Added start/stop methods to transform base class so subclasses 
31498         don't need to deal with state changes even.
31499
31500 2005-03-31  Wim Taymans  <wim@fluendo.com>
31501
31502         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
31503         (gst_event_new_discontinuous), (gst_event_discont_get_value):
31504         * gst/gstevent.h:
31505         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31506         (gst_pad_pull_range):
31507         Added rate to the discont event to prepare for variable speed
31508         and reverse playback.
31509
31510 2005-03-29  David Schleef  <ds@schleef.org>
31511
31512         * configure.ac:
31513         * testsuite/trigger/Makefile.am:
31514         * testsuite/trigger/trigger.c: A little example program to show
31515         how trigger-based elements can work.
31516
31517 2005-03-29  Wim Taymans  <wim@fluendo.com>
31518
31519         * gst/base/Makefile.am:
31520         * gst/base/README:
31521         * gst/base/gstbasesink.c: (gst_basesink_get_type),
31522         (gst_basesink_base_init), (gst_basesink_class_init),
31523         (gst_basesink_pad_getcaps), (gst_basesink_init),
31524         (gst_basesink_activate), (gst_basesink_change_state):
31525         * gst/base/gstbasesink.h:
31526         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
31527         (gst_base_transform_base_init), (gst_base_transform_finalize),
31528         (gst_base_transform_class_init), (gst_base_transform_init),
31529         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
31530         (gst_base_transform_event), (gst_base_transform_getrange),
31531         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
31532         (gst_base_transform_set_property),
31533         (gst_base_transform_get_property),
31534         (gst_base_transform_sink_activate),
31535         (gst_base_transform_src_activate),
31536         (gst_base_transform_change_state):
31537         * gst/base/gstbasetransform.h:
31538         * gst/elements/gstidentity.c: (gst_identity_finalize),
31539         (gst_identity_class_init), (gst_identity_init),
31540         (gst_identity_event), (gst_identity_check_perfect),
31541         (gst_identity_transform), (gst_identity_set_property),
31542         (gst_identity_get_property), (gst_identity_change_state):
31543         * gst/elements/gstidentity.h:
31544         * gst/gstelement.c: (gst_element_get_state_func),
31545         (gst_element_lost_state), (gst_element_pads_activate):
31546         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31547         (gst_pad_check_pull_range), (gst_pad_pull_range):
31548         * gst/gstpad.h:
31549         Simplify pad activation.
31550         Added function to check if pull_range can be performed.
31551         Error out when pulling inactive or flushing pads.
31552         Removed const from refcounted types as it does not make sense.
31553         Simplify pad templates in basesink
31554         Added base class for simple 1-to-1 transforms.
31555         Make identity subclass the base transform.
31556
31557 2005-03-29  Andy Wingo  <wingo@pobox.com>
31558
31559         * docs/libs/gstreamer-libs-overrides.txt: 
31560         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31561         really don't understand what's going on, but like whatever. I want
31562         green buildbot!
31563
31564         * docs/gst/Makefile.am:
31565         * docs/libs/Makefile.am: Dist the overrides files.
31566
31567         * check/Makefile.am (clean-local): Remove .libs directories.
31568
31569         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31570         elements to EXTRA_DIST, so po/ files are happy.
31571
31572         * po/POTFILES.in: Er, remove it here.
31573
31574         * po/POTFILES: Remove gstspider.c.
31575
31576         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31577
31578         * docs/libs/gstreamer-libs-docs.sgml: 
31579         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31580         bytestream.
31581
31582         * tests/complexity.c (main): Set the length of the preroll queue
31583         on the sinks to prevent a lockup.
31584
31585         * libs/gst/dataprotocol/Makefile.am: 
31586         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31587         the same as the one in check/gst-libs/gdp.c.
31588
31589         * po/, docs/gst/: Commit automatic changes to docs and po files.
31590
31591         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31592         the versioned libgstbase.
31593
31594         * check/Makefile.am: Depend on an unversioned gst-register, seems
31595         to make autoconf happier.
31596
31597         * gst/base/Makefile.am: Make libgstbase a versioned lib.
31598
31599 2005-03-28  Wim Taymans  <wim@fluendo.com>
31600
31601         * configure.ac:
31602         * docs/design/part-gstelement.txt:
31603         * docs/design/part-negotiation.txt:
31604         * docs/design/part-preroll.txt:
31605         * docs/design/part-scheduling.txt:
31606         * docs/design/part-states.txt:
31607         * gst/Makefile.am:
31608         * gst/base/Makefile.am:
31609         * gst/base/README:
31610         * gst/base/gstbasesink.c: (gst_basesink_get_template),
31611         (gst_basesink_base_init), (gst_basesink_class_init),
31612         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31613         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31614         (gst_basesink_set_pad_functions),
31615         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31616         (gst_basesink_set_property), (gst_basesink_get_property),
31617         (gst_base_sink_get_template), (gst_base_sink_get_caps),
31618         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31619         (gst_basesink_preroll_queue_push),
31620         (gst_basesink_preroll_queue_empty),
31621         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31622         (gst_basesink_event), (gst_basesink_get_times),
31623         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31624         (gst_basesink_chain_unlocked), (gst_basesink_chain),
31625         (gst_basesink_loop), (gst_basesink_activate),
31626         (gst_basesink_change_state):
31627         * gst/base/gstbasesink.h:
31628         * gst/elements/Makefile.am:
31629         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31630         (gst_fakesink_class_init), (gst_fakesink_init),
31631         (gst_fakesink_set_property), (gst_fakesink_get_property),
31632         (gst_fakesink_get_times), (gst_fakesink_event),
31633         (gst_fakesink_preroll), (gst_fakesink_render),
31634         (gst_fakesink_change_state):
31635         * gst/elements/gstfakesink.h:
31636         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31637         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31638         * gst/gstelement.c: (gst_element_add_pad),
31639         (gst_element_get_state_func), (gst_element_abort_state),
31640         (gst_element_commit_state), (gst_element_lost_state),
31641         (gst_element_set_state), (gst_element_pads_activate):
31642         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31643         * gst/gstpipeline.c: (gst_pipeline_send_event),
31644         (gst_pipeline_change_state):
31645         Added state change code.
31646         Added/updated docs.
31647         Added sink base class, make fakesink extend the base class.
31648         Small cleanups in GstPipeline.
31649
31650 2005-03-26  David Schleef  <ds@schleef.org>
31651
31652         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
31653         is broken and should be implemented in a different library.
31654         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31655         * gst/gst.h: remove gstcpu.h
31656         * gst/gstcpu.c: remove
31657         * gst/gstcpu.h: remove
31658         * gst/Makefile.am.future: Remove this file.  It's ancient.
31659
31660 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31661
31662         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31663         (gst_bin_send_event):
31664           Add default event/set_manager handlers. The set_manager handler
31665           takes care that the manager is distributed over kids that were
31666           already in the bin before the manager was set. The event handler
31667           is a utility virtual function that sends the event over all sinks,
31668           so that gst_element_send_event (bin, event); has the expected
31669           behaviour.
31670         * gst/gstpad.c: (gst_pad_event_default):
31671           Re-install default event handling for discontinuities, so that
31672           seeking works without requiring hacks in applications or extra
31673           code in sinks.
31674         * gst/gstpipeline.c: (gst_pipeline_class_init),
31675         (gst_pipeline_send_event):
31676           Half hack, half utility: set a pipeline to PAUSED for seek events,
31677           since that is the only way we can guarantee a/v sync. Means that
31678           you can do gst_element_seek (pipeline, method, pos); on a pipeline
31679           and it "just works".
31680
31681 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31682
31683         * gst/gstpipeline.c: (gst_pipeline_use_clock):
31684           Lock/unlock mismatch.
31685
31686 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
31687
31688         * docs/faq/gst-uninstalled:
31689           add gst-plugins-base
31690         * docs/gst/Makefile.am:
31691           don't error out until docs are fixed
31692         * docs/gst/gstreamer.types:
31693           remove thread
31694
31695 2005-03-22  Wim Taymans  <wim@fluendo.com>
31696
31697         * check/Makefile.am:
31698         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31699         * gst/gststructure.c: (gst_structure_set_valist),
31700         (gst_structure_copy_conditional):
31701         Activated more tests.
31702         Added message test.
31703         Added G_TYPE_POINTER to GstStructure.
31704         
31705
31706 2005-03-22  Wim Taymans  <wim@fluendo.com>
31707
31708         * docs/design/part-TODO.txt:
31709         * docs/design/part-events.txt:
31710         * docs/design/part-gstbin.txt:
31711         * docs/design/part-gstbus.txt:
31712         * docs/design/part-gstpipeline.txt:
31713         * docs/design/part-messages.txt:
31714         * gst/gstbus.c:
31715         * gst/gstmessage.c:
31716         Docs updates
31717
31718 2005-03-21  Wim Taymans  <wim@fluendo.com>
31719
31720         * gst/gstbus.c: (gst_bus_post):
31721         Fix copy-and-paste error.
31722
31723 2005-03-21  Wim Taymans  <wim@fluendo.com>
31724
31725         * check/Makefile.am:
31726         * gst/Makefile.am:
31727         * gst/elements/Makefile.am:
31728         * gst/elements/gstelements.c:
31729         * gst/elements/gstfakesink.c: (gst_fakesink_init),
31730         (gst_fakesink_event), (gst_fakesink_chain):
31731         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31732         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31733         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31734         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31735         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31736         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31737         (gst_fakesrc_loop), (gst_fakesrc_activate),
31738         (gst_fakesrc_change_state):
31739         * gst/elements/gstfakesrc.h:
31740         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31741         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31742         (gst_filesrc_open_file), (gst_filesrc_loop),
31743         (gst_filesrc_activate), (gst_filesrc_change_state),
31744         (filesrc_find_peek), (filesrc_find_suggest),
31745         (gst_filesrc_type_find):
31746         * gst/elements/gstidentity.c: (gst_identity_finalize),
31747         (gst_identity_class_init), (gst_identity_init),
31748         (gst_identity_proxy_getcaps), (identity_queue_push),
31749         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31750         (gst_identity_getrange), (gst_identity_chain),
31751         (gst_identity_sink_loop), (gst_identity_src_loop),
31752         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31753         (gst_identity_set_property), (gst_identity_get_property),
31754         (gst_identity_change_state):
31755         * gst/elements/gstidentity.h:
31756         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31757         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31758         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31759         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31760         (gst_tee_sink_activate):
31761         * gst/elements/gsttee.h:
31762         * gst/gst.c: (gst_register_core_elements), (init_post):
31763         * gst/gst.h:
31764         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31765         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31766         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31767         (gst_bin_change_state):
31768         * gst/gstbin.h:
31769         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31770         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31771         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31772         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31773         (gst_bus_set_sync_handler), (gst_bus_create_watch),
31774         (bus_watch_callback), (bus_watch_destroy),
31775         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31776         (poll_timeout), (gst_bus_poll):
31777         * gst/gstbus.h:
31778         * gst/gstcaps.h:
31779         * gst/gstdata.h:
31780         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31781         (gst_element_post_message), (gst_element_message_full),
31782         (gst_element_get_state_func), (gst_element_get_state),
31783         (gst_element_abort_state), (gst_element_commit_state),
31784         (gst_element_lost_state), (gst_element_set_state),
31785         (gst_element_pads_activate), (gst_element_change_state),
31786         (gst_element_dispose), (gst_element_set_manager_func),
31787         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31788         (gst_element_set_manager), (gst_element_get_manager),
31789         (gst_element_set_bus), (gst_element_get_bus),
31790         (gst_element_set_scheduler), (gst_element_get_scheduler):
31791         * gst/gstelement.h:
31792         * gst/gstevent.c: (gst_event_new_segment_seek),
31793         (gst_event_new_flush):
31794         * gst/gstevent.h:
31795         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31796         (_gst_message_free), (gst_message_get_type), (gst_message_new),
31797         (gst_message_new_eos), (gst_message_new_error),
31798         (gst_message_new_warning), (gst_message_new_tag),
31799         (gst_message_new_state_changed), (gst_message_new_application),
31800         (gst_message_get_structure), (gst_message_parse_tag),
31801         (gst_message_parse_state_changed), (gst_message_parse_error),
31802         (gst_message_parse_warning):
31803         * gst/gstmessage.h:
31804         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31805         (gst_real_pad_set_property), (gst_pad_set_active),
31806         (gst_pad_is_active), (gst_pad_set_blocked_async),
31807         (gst_pad_set_blocked), (gst_pad_is_blocked),
31808         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31809         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31810         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31811         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31812         (gst_pad_link_filtered), (gst_pad_relink_filtered),
31813         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31814         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31815         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31816         (gst_pad_set_caps), (gst_pad_configure_sink),
31817         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31818         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31819         (gst_real_pad_dispose), (gst_real_pad_finalize),
31820         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31821         (gst_pad_event_default_dispatch), (gst_pad_event_default),
31822         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31823         * gst/gstpad.h:
31824         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31825         (pipeline_bus_handler), (gst_pipeline_change_state),
31826         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31827         * gst/gstpipeline.h:
31828         * gst/gstprobe.h:
31829         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31830         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31831         (gst_queue_link_src), (gst_queue_bufferalloc),
31832         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31833         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31834         (gst_queue_loop), (gst_queue_handle_src_event),
31835         (gst_queue_handle_src_query), (gst_queue_src_activate),
31836         (gst_queue_change_state):
31837         * gst/gstqueue.h:
31838         * gst/gstscheduler.c: (gst_scheduler_init),
31839         (gst_scheduler_dispose), (gst_scheduler_create_task),
31840         (gst_scheduler_factory_create):
31841         * gst/gstscheduler.h:
31842         * gst/gststructure.c: (gst_structure_get_type),
31843         (gst_structure_copy_conditional):
31844         * gst/gststructure.h:
31845         * gst/gsttaginterface.h:
31846         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31847         (gst_task_init), (gst_task_dispose), (gst_task_create),
31848         (gst_task_get_state), (gst_task_start), (gst_task_stop),
31849         (gst_task_pause):
31850         * gst/gsttask.h:
31851         * gst/gstthread.c:
31852         * gst/gstthread.h:
31853         * gst/gsttypes.h:
31854         * gst/schedulers/Makefile.am:
31855         * gst/schedulers/cothreads_compat.h:
31856         * gst/schedulers/entryscheduler.c:
31857         * gst/schedulers/faircothreads.c:
31858         * gst/schedulers/faircothreads.h:
31859         * gst/schedulers/fairscheduler.c:
31860         * gst/schedulers/gstbasicscheduler.c:
31861         * gst/schedulers/gstoptimalscheduler.c:
31862         * gst/schedulers/gthread-cothreads.h:
31863         * gst/schedulers/threadscheduler.c:
31864         (gst_thread_scheduler_task_get_type),
31865         (gst_thread_scheduler_task_class_init),
31866         (gst_thread_scheduler_task_init),
31867         (gst_thread_scheduler_task_start),
31868         (gst_thread_scheduler_task_stop),
31869         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31870         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31871         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31872         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31873         (plugin_init):
31874         * libs/gst/Makefile.am:
31875         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31876         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31877         (gst_file_pad_parent_set):
31878         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31879         (gst_dp_event_from_packet):
31880         * tests/complexity.c: (main):
31881         * tests/mass_elements.c: (main):
31882         * testsuite/states/locked.c: (message_received), (main):
31883         * testsuite/states/parent.c: (main):
31884         * tools/gst-inspect.c: (print_element_flag_info),
31885         (print_implementation_info), (print_pad_info):
31886         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31887         (main):
31888         * tools/gst-md5sum.c: (event_loop), (main):
31889         * tools/gst-typefind.c: (main):
31890         * tools/gst-xmlinspect.c: (print_element_info):
31891         Next big merge.
31892         Added GstBus for mainloop integration.
31893         Added GstMessage for sending notifications on the bus.
31894         Added GstTask as an abstraction for pipeline entry points.
31895         Removed GstThread.
31896         Removed Schedulers.
31897         Simplified GstQueue for multithreaded core.
31898         Made _link threadsafe, removed old capsnego.
31899         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31900         Added pad blocking functions.
31901         Reworked scheduling functions in GstPad to prepare for
31902         scheduling updates soon.
31903         Moved events out of data stream.
31904         Simplified GstEvent types.
31905         Added return values to push/pull.
31906         Removed clocking from GstElement.
31907         Added prototypes for state change function for next merge.
31908         Removed iterate from bins and state change management.
31909         Fixed some elements, disabled others for now.
31910         Fixed -inspect and -launch.
31911         Added check for GstBus.
31912
31913 2005-03-10  Wim Taymans  <wim@fluendo.com>
31914
31915         * docs/design/part-MT-refcounting.txt:
31916         * docs/design/part-clocks.txt:
31917         * docs/design/part-gstelement.txt:
31918         * docs/design/part-gstobject.txt:
31919         * docs/design/part-standards.txt:
31920         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31921         (gst_bin_remove_func), (gst_bin_remove):
31922         * gst/gstbin.h:
31923         * gst/gstbuffer.c:
31924         * gst/gstcaps.h:
31925         * testsuite/clock/clock1.c: (main):
31926         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31927         (main):
31928         * testsuite/dlopen/loadgst.c: (do_test):
31929         * testsuite/refcounting/bin.c: (add_remove_test1),
31930         (add_remove_test2), (main):
31931         * testsuite/refcounting/element.c: (main):
31932         * testsuite/refcounting/element_pad.c: (main):
31933         * testsuite/refcounting/pad.c: (main):
31934         * tools/gst-launch.c: (sigint_handler_sighandler):
31935         * tools/gst-typefind.c: (main):
31936         Doc updates.
31937         Added doc about clock.
31938         removed gst_bin_iterate_recurse_up(), marked methods
31939         for removal.
31940         Fix more testsuites.
31941
31942 2005-03-09  Wim Taymans  <wim@fluendo.com>
31943
31944         * gst/gstpad.c: (gst_pad_get_direction),
31945         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31946         (gst_pad_collect_valist):
31947         * testsuite/bins/interface.c: (main):
31948         * testsuite/caps/audioscale.c: (test_caps):
31949         * testsuite/caps/caps.c: (test1), (test2), (test3):
31950         * testsuite/caps/deserialize.c: (main):
31951         * testsuite/caps/enumcaps.c: (main):
31952         * testsuite/caps/filtercaps.c: (main):
31953         * testsuite/caps/intersect2.c: (main):
31954         * testsuite/caps/random.c: (main):
31955         * testsuite/caps/renegotiate.c: (my_fixate), (main):
31956         * testsuite/caps/sets.c: (check_caps):
31957         * testsuite/caps/simplify.c: (check_caps), (main):
31958         * testsuite/caps/subtract.c: (check_caps):
31959         Fix _pad_get_direction wrt ghostpads.
31960         Fix caps testsuite.
31961
31962 2005-03-09  Wim Taymans  <wim@fluendo.com>
31963
31964         * check/Makefile.am:
31965         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31966         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31967         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31968         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31969         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31970         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31971         (gst_bin_remove), (gst_bin_iterate_recurse_up),
31972         (bin_element_is_sink), (gst_bin_iterate_sinks),
31973         (gst_bin_iterate_all_by_interface):
31974         * gst/gstbin.h:
31975         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31976         (gst_element_change_state), (gst_element_dispose),
31977         (gst_element_finalize), (gst_element_set_loop_function):
31978         * gst/gstelement.h:
31979         * gst/gstiterator.c: (find_custom_fold_func):
31980         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31981         (gst_pad_collectv), (gst_pad_collect_valist),
31982         (gst_pad_template_new):
31983         * gst/gstpipeline.c: (gst_pipeline_class_init),
31984         (gst_pipeline_dispose), (gst_pipeline_set_property),
31985         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31986         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31987         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31988         * gst/gstutils.h:
31989         * gst/schedulers/entryscheduler.c:
31990         * gst/schedulers/gstbasicscheduler.c:
31991         (gst_basic_scheduler_cothreaded_chain),
31992         (gst_basic_scheduler_chain_add_element):
31993         * testsuite/bins/interface.c: (main):
31994         Added GstBin test.
31995         Added GstSystemClock test.
31996         Implemented clock distribution code in GstBin.
31997         Implemented iterate sinks method for future use.
31998         Rearranged gstelement.h
31999         Fix GstIterator comparison bug.
32000         Moved some code to GstPipeline, mostly clocking related.
32001
32002 2005-03-09  Wim Taymans  <wim@fluendo.com>
32003
32004         * configure.ac:
32005         * gst/gst_private.h:
32006         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
32007         (gst_bin_remove_func), (gst_bin_remove),
32008         (gst_bin_get_by_name_recurse_up):
32009         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
32010         (gst_clock_id_compare_func), (gst_clock_id_wait),
32011         (gst_clock_id_wait_async), (gst_clock_init),
32012         (gst_clock_adjust_unlocked), (gst_clock_get_time):
32013         * gst/gstelement.h:
32014         * gst/gstinfo.c: (_gst_debug_init):
32015         * gst/gstobject.h:
32016         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
32017         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
32018         * gst/gstpad.h:
32019         Bump version number, we're now 0.9.0
32020         Add future debugging category.
32021         Fix NULL _unref() in _get_by_name_recurse_up
32022         Rearrange gstpad.h.
32023         Update some docs.
32024
32025 2005-03-08  Wim Taymans  <wim@fluendo.com>
32026
32027         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
32028         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
32029         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
32030         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
32031         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
32032         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
32033         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
32034         * gst/elements/gstidentity.c: (gst_identity_class_init):
32035         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
32036         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
32037         * gst/elements/gstshaper.c: (gst_shaper_class_init):
32038         * gst/elements/gststatistics.c: (gst_statistics_class_init):
32039         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
32040         (gst_tee_link):
32041         * gst/gstelement.c: (gst_element_class_init),
32042         (gst_element_base_class_init), (gst_element_init),
32043         (gst_element_get_random_pad), (gst_element_wait_state_change),
32044         (gst_element_change_state), (gst_element_dispose),
32045         (gst_element_finalize), (gst_element_set_loop_function):
32046         * gst/gstelement.h:
32047         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
32048         * gst/gstthread.c: (gst_thread_class_init),
32049         (gst_thread_release_children_locks), (gst_thread_change_state):
32050         * gst/schedulers/gstbasicscheduler.c:
32051         (gst_basic_scheduler_loopfunc_wrapper),
32052         (gst_basic_scheduler_chain_wrapper),
32053         (gst_basic_scheduler_src_wrapper),
32054         (gst_basic_scheduler_remove_element):
32055         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
32056         Remove threadsafe properties. Fix elements because GObject
32057         complains when installing a property before declaring a
32058         set/get_property handler.
32059         Rearrange gstelement.h file, use STATE macros for state locks.
32060         Free mutexes in the finalize method instead of dispose.
32061
32062 2005-03-08  Wim Taymans  <wim@fluendo.com>
32063
32064         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
32065         * gst/gstthread.c: (gst_thread_release_children_locks):
32066         Added parentage check.
32067         Fix build og GstThread again.
32068
32069 2005-03-08  Wim Taymans  <wim@fluendo.com>
32070
32071         * docs/design/part-MT-refcounting.txt:
32072         * docs/design/part-conventions.txt:
32073         * docs/design/part-gstobject.txt:
32074         * docs/design/part-relations.txt:
32075         * docs/design/part-standards.txt:
32076         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
32077         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
32078         (gst_bin_get_by_name), (gst_bin_get_by_interface),
32079         (gst_bin_iterate_all_by_interface):
32080         * gst/gstbuffer.h:
32081         * gst/gstclock.h:
32082         * gst/gstelement.c: (gst_element_class_init),
32083         (gst_element_change_state), (gst_element_set_loop_function):
32084         * gst/gstelement.h:
32085         * gst/gstiterator.c:
32086         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
32087         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
32088         (gst_object_dispatch_properties_changed), (gst_object_set_name),
32089         (gst_object_set_parent), (gst_object_unparent),
32090         (gst_object_check_uniqueness):
32091         * gst/gstobject.h:
32092         Docs updates, clean up some headers.
32093
32094 2005-03-07  Wim Taymans  <wim@fluendo.com>
32095
32096         * check/.cvsignore:
32097         * check/Makefile.am:
32098         * check/gst-libs/.cvsignore:
32099         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
32100         * check/gst/.cvsignore:
32101         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
32102         (START_TEST), (gstbus_suite), (main):
32103         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
32104         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
32105         (gst_data_suite), (main):
32106         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
32107         (add_fold_func), (gstiterator_suite), (main):
32108         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
32109         (thread_name_object), (thread_name_object_default),
32110         (gst_object_name_compare), (gst_object_suite), (main):
32111         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
32112         (gst_pad_suite), (main):
32113         * check/gstcheck.c: (gst_check_log_message_func),
32114         (gst_check_log_critical_func), (gst_check_init):
32115         * check/gstcheck.h:
32116         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
32117         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
32118         Added checks.
32119
32120 2005-03-07  Wim Taymans  <wim@fluendo.com>
32121
32122         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
32123         (gst_list_iterator_next), (gst_list_iterator_resync),
32124         (gst_list_iterator_free), (gst_iterator_new_list),
32125         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
32126         (gst_iterator_free), (gst_iterator_push), (filter_next),
32127         (filter_resync), (filter_uninit), (filter_free),
32128         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
32129         (gst_iterator_foreach), (find_custom_fold_func),
32130         (gst_iterator_find_custom):
32131         * gst/gstiterator.h:
32132         Added missing files.
32133
32134 2005-03-07  Wim Taymans  <wim@fluendo.com>
32135
32136         * Makefile.am:
32137         * configure.ac:
32138         * docs/design/part-MT-refcounting.txt:
32139         * docs/design/part-conventions.txt:
32140         * docs/design/part-gstobject.txt:
32141         * docs/design/part-relations.txt:
32142         * examples/mixer/mixer.c: (main):
32143         * examples/thread/thread.c: (eos), (main):
32144         * gst/Makefile.am:
32145         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
32146         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
32147         (gst_spider_plug_from_srcpad):
32148         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
32149         (gst_spider_identity_change_state),
32150         (gst_spider_identity_sink_loop_type_finding):
32151         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
32152         * gst/elements/gstidentity.c: (gst_identity_init):
32153         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
32154         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
32155         * gst/elements/gsttypefindelement.c: (free_entry):
32156         * gst/gst.c:
32157         * gst/gst.h:
32158         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
32159         (gst_bin_set_clock_func), (gst_bin_auto_clock),
32160         (gst_bin_set_index), (gst_bin_set_element_sched),
32161         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
32162         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
32163         (gst_bin_iterate_elements), (iterate_child_recurse),
32164         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
32165         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
32166         (compare_interface), (gst_bin_get_by_interface),
32167         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
32168         * gst/gstbin.h:
32169         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
32170         (gst_buffer_default_free), (gst_buffer_default_copy),
32171         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
32172         (gst_buffer_create_sub):
32173         * gst/gstbuffer.h:
32174         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
32175         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
32176         (gst_caps_unref), (gst_static_caps_get),
32177         (gst_caps_remove_and_get_structure), (gst_caps_append),
32178         (gst_caps_append_structure), (gst_caps_remove_structure),
32179         (gst_caps_copy_nth), (gst_caps_set_simple),
32180         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
32181         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
32182         (gst_caps_structure_intersect_field), (gst_caps_intersect),
32183         (gst_caps_structure_subtract_field), (gst_caps_subtract),
32184         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
32185         (gst_caps_structure_figure_out_union),
32186         (gst_caps_switch_structures), (gst_caps_do_simplify),
32187         (gst_caps_replace), (gst_caps_from_string),
32188         (gst_caps_copy_conditional):
32189         * gst/gstcaps.h:
32190         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
32191         (_gst_clock_id_free), (gst_clock_id_unref),
32192         (gst_clock_id_compare_func), (gst_clock_id_wait),
32193         (gst_clock_id_wait_async), (gst_clock_class_init),
32194         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
32195         (gst_clock_get_time), (gst_clock_set_time_adjust),
32196         (gst_clock_set_property), (gst_clock_get_property):
32197         * gst/gstclock.h:
32198         * gst/gstcompat.h:
32199         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
32200         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
32201         * gst/gstdata.h:
32202         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
32203         (gst_element_requires_clock), (gst_element_provides_clock),
32204         (gst_element_set_clock), (gst_element_clock_wait),
32205         (gst_element_wait), (gst_element_set_time_delay),
32206         (gst_element_is_indexable), (gst_element_add_pad),
32207         (gst_element_add_ghost_pad), (gst_element_remove_pad),
32208         (pad_compare_name), (gst_element_get_static_pad),
32209         (gst_element_request_pad), (gst_element_get_request_pad),
32210         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
32211         (gst_element_class_get_pad_template_list),
32212         (gst_element_class_get_pad_template), (gst_element_error_func),
32213         (gst_element_get_random_pad), (gst_element_get_event_masks),
32214         (gst_element_send_event), (gst_element_seek),
32215         (gst_element_get_query_types), (gst_element_query),
32216         (gst_element_get_formats), (gst_element_convert),
32217         (gst_element_is_locked_state), (gst_element_set_locked_state),
32218         (gst_element_sync_state_with_parent), (gst_element_change_state),
32219         (gst_element_finalize), (gst_element_yield),
32220         (gst_element_interrupt), (gst_element_set_scheduler),
32221         (gst_element_get_scheduler), (gst_element_set_loop_function):
32222         * gst/gstelement.h:
32223         * gst/gstevent.h:
32224         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
32225         (gst_format_get_by_nick), (gst_format_get_details),
32226         (gst_format_iterate_definitions):
32227         * gst/gstformat.h:
32228         * gst/gstindex.c: (gst_index_gtype_resolver):
32229         * gst/gstinfo.c:
32230         * gst/gstinfo.h:
32231         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
32232         (gst_mem_chunk_free):
32233         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
32234         (gst_object_ref), (gst_object_unref), (gst_object_sink),
32235         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
32236         (gst_object_dispatch_properties_changed),
32237         (gst_object_set_name_default), (gst_object_set_name),
32238         (gst_object_get_name), (gst_object_set_name_prefix),
32239         (gst_object_get_name_prefix), (gst_object_set_parent),
32240         (gst_object_get_parent), (gst_object_unparent),
32241         (gst_object_check_uniqueness), (gst_object_save_thyself),
32242         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
32243         (gst_object_set_property), (gst_object_get_property),
32244         (gst_object_get_path_string):
32245         * gst/gstobject.h:
32246         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
32247         (gst_real_pad_init), (gst_real_pad_get_property),
32248         (gst_pad_custom_new), (gst_pad_get_direction),
32249         (gst_pad_set_active), (gst_pad_is_active),
32250         (gst_pad_set_event_function), (gst_pad_is_linked),
32251         (gst_pad_link_free), (gst_pad_link_intersect),
32252         (gst_pad_link_fixate), (gst_pad_set_caps),
32253         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
32254         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
32255         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
32256         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
32257         (gst_pad_get_caps), (gst_pad_peer_get_caps),
32258         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
32259         (gst_pad_realize), (gst_pad_get_allowed_caps),
32260         (gst_real_pad_dispose), (gst_real_pad_finalize),
32261         (gst_pad_collectv), (gst_pad_collect_valist),
32262         (gst_pad_template_dispose), (gst_pad_template_new),
32263         (gst_pad_get_internal_links):
32264         * gst/gstpad.h:
32265         * gst/gstpipeline.c: (gst_pipeline_dispose),
32266         (gst_pipeline_change_state):
32267         * gst/gstpipeline.h:
32268         * gst/gstplugin.c:
32269         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
32270         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
32271         * gst/gstpluginfeature.h:
32272         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
32273         * gst/gstquery.c: (_gst_query_type_initialize),
32274         (gst_query_type_register), (gst_query_type_get_by_nick),
32275         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
32276         * gst/gstquery.h:
32277         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
32278         * gst/gstscheduler.c: (gst_scheduler_add_element),
32279         (gst_scheduler_factory_create):
32280         * gst/gststructure.c: (gst_structure_set_parent_refcount),
32281         (gst_structure_free), (gst_structure_set_name),
32282         (gst_structure_id_set_value), (gst_structure_set_value),
32283         (gst_structure_set_valist), (gst_structure_remove_field),
32284         (gst_structure_remove_fields),
32285         (gst_structure_remove_fields_valist),
32286         (gst_structure_remove_all_fields), (gst_structure_foreach),
32287         (gst_structure_map_in_place),
32288         (gst_caps_structure_fixate_field_nearest_int),
32289         (gst_caps_structure_fixate_field_nearest_double):
32290         * gst/gststructure.h:
32291         * gst/gstsystemclock.c: (gst_system_clock_class_init),
32292         (gst_system_clock_init), (gst_system_clock_dispose),
32293         (gst_system_clock_async_thread),
32294         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
32295         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
32296         * gst/gstsystemclock.h:
32297         * gst/gsttag.c: (gst_tag_list_add_value_internal),
32298         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
32299         * gst/gsttaginterface.c:
32300         * gst/gstthread.c: (gst_thread_dispose),
32301         (gst_thread_release_children_locks), (gst_thread_change_state),
32302         (gst_thread_main_loop):
32303         * gst/gsttrashstack.h:
32304         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
32305         * gst/gsttypes.h:
32306         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
32307         (gst_element_request_pad), (gst_element_get_pad_from_template),
32308         (gst_element_request_compatible_pad),
32309         (gst_element_get_compatible_pad_filtered),
32310         (gst_element_get_compatible_pad), (gst_element_state_get_name),
32311         (gst_element_link_pads_filtered), (gst_element_link_filtered),
32312         (gst_element_link_many), (gst_element_link),
32313         (gst_element_link_pads), (gst_element_unlink_pads),
32314         (gst_element_unlink_many), (gst_element_unlink),
32315         (gst_pad_can_link_filtered), (gst_pad_can_link),
32316         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
32317         (gst_object_default_error), (gst_bin_add_many),
32318         (gst_bin_remove_many), (gst_element_populate_std_props),
32319         (gst_element_class_install_std_props), (gst_buffer_merge),
32320         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
32321         (link_fold_func), (gst_pad_proxy_setcaps):
32322         * gst/gstutils.h:
32323         * gst/gstvalue.c: (gst_value_deserialize_string):
32324         * gst/parse/grammar.y:
32325         * gst/schedulers/gstbasicscheduler.c:
32326         (gst_basic_scheduler_cothreaded_chain),
32327         (gst_basic_scheduler_chain_recursive_add),
32328         (gst_basic_scheduler_pad_link):
32329         * gst/schedulers/gstoptimalscheduler.c:
32330         (get_group_schedule_function),
32331         (gst_opt_scheduler_state_transition),
32332         (gst_opt_scheduler_add_element), (element_get_reachables_func):
32333         * libs/gst/bytestream/bytestream.c:
32334         * libs/gst/dataprotocol/dataprotocol.c:
32335         (gst_dp_header_from_buffer):
32336         * po/nb.po:
32337         * po/ru.po:
32338         * tests/threadstate/threadstate2.c: (eos):
32339         * tools/gst-compprep.c: (main):
32340         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
32341         (print_pad_info), (print_children_info):
32342         * tools/gst-launch.c: (idle_func), (main):
32343         * tools/gst-md5sum.c: (idle_func), (main):
32344         * tools/gst-xmlinspect.c: (print_element_info):
32345         First THREADED backport attempt, focusing on adding locks and
32346         making sure the API is threadsafe. Needs more work. More docs
32347         follow this week.
32348
32349 2005-02-24  Andy Wingo  <wingo@pobox.com>
32350
32351         * tests/bench-complexity.scm:
32352         * tests/complexity.gnuplot: New files, good for running complexity
32353         benchmarks.
32354
32355         * tests/Makefile.am:
32356         * tests/complexity.c: New test, sets up N elements, at each level
32357         teeing into M streams per element. Eeeenteresting.
32358
32359         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
32360         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
32361         running bench-mass_elements.scm.
32362
32363         * tests/bench-mass_elements.scm: New script, runs mass_elements
32364         for various numbers of identities, outputting the results to a
32365         file. Requires guile 1.6. Just for testing.
32366
32367 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
32368
32369         * gst/schedulers/fairscheduler.c:
32370           compile with debug disabled
32371
32372 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
32373
32374         * configure.ac:
32375           hunting season on 0.9 is now OPEN