gst/gstutils.h: Initialize g_once_init* data with 0. Fixes bug #567225.
[platform/upstream/gstreamer.git] / ChangeLog
1 2009-01-11  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2
3         * gst/gstutils.h:
4         Initialize g_once_init* data with 0. Fixes bug #567225.
5
6 2009-01-09  Jan Schmidt  <jan.schmidt@sun.com>
7
8         * configure.ac:
9         pre-release 0.10.21.3
10
11 2009-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
12
13         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
14         (gst_base_sink_wait_clock):
15         * libs/gst/base/gstbasesink.h:
16         Fix documentation for the wait_clock method, rename basesink -> sink
17         for consistency.
18
19 2009-01-08  Stefan Kost  <ensonic@users.sf.net>
20
21         * gst/gst.c:
22           Create a registry if there is none also when the option for
23           gst-disable-registry-update has been selected. Fixes #567002
24
25 2009-01-06  Tim-Philipp Müller  <tim.muller at collabora co uk>
26
27         * gst/gst.c: (init_post):
28           Ref new enum type in gst_init.
29
30         * win32/common/libgstreamer.def:
31           Add recently-added API.
32
33 2009-01-06  Tim-Philipp Müller  <tim.muller at collabora co uk>
34
35         * docs/gst/gstreamer-sections.txt::
36         * gst/gst_private.h: (GstPluginDep), (_GstPluginPrivate):
37         * gst/gstplugin.c: (gst_plugin_init), (gst_plugin_finalize),
38           (gst_plugin_class_init), (gst_plugin_list_free),
39           (gst_plugin_ext_dep_get_env_vars_hash),
40           (_priv_plugin_deps_env_vars_changed),
41           (gst_plugin_ext_dep_extract_env_vars_paths),
42           (gst_plugin_ext_dep_get_hash_from_stat_entry),
43           (gst_plugin_ext_dep_direntry_matches),
44           (gst_plugin_ext_dep_scan_dir_and_match_names),
45           (gst_plugin_ext_dep_scan_path_with_filenames),
46           (gst_plugin_ext_dep_get_stat_hash),
47           (_priv_plugin_deps_files_changed), (gst_plugin_ext_dep_free),
48           (gst_plugin_ext_dep_strv_equal), (gst_plugin_ext_dep_equals),
49           (gst_plugin_add_dependency), (gst_plugin_add_dependency_simple):
50         * gst/gstplugin.h: (GstPluginPrivate), (GstPluginFlags),
51           (GST_PLUGIN_DEPENDENCY_FLAG_NONE),
52           (GST_PLUGIN_DEPENDENCY_FLAG_RECURSE),
53           (GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY),
54           (GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX),
55           (GstPluginDependencyFlags), (GstPluginFilter):
56         * gst/gstregistry.c: (gst_registry_scan_path_level):
57         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
58           (gst_registry_binary_save_plugin_dep),
59           (gst_registry_binary_save_plugin),
60           (gst_registry_binary_load_feature),
61           (gst_registry_binary_load_plugin_dep_strv),
62           (gst_registry_binary_load_plugin_dep),
63           (gst_registry_binary_load_plugin):
64         * gst/gstregistrybinary.h: (GST_MAGIC_BINARY_VERSION_STR),
65           (GstBinaryPluginElement), (_GstBinaryDep), (GstBinaryDep):
66         * gst/gstregistryxml.c: (gst_registry_xml_save_plugin):
67           Add API for making a GStreamer plugin 'dependent' on external files,
68           directories or environment variables, so that GStreamer knows when
69           it needs to re-load GStreamer plugins that wrap other plugin systems.
70           Fixes bug #350477.
71           API: add gst_plugin_add_dependency()
72           API: add gst_plugin_add_dependency_simple()
73
74 2009-01-06  Tim-Philipp Müller  <tim.muller at collabora co uk>
75
76         * docs/faq/gst-uninstalled:
77           Add libgstapp-0.10 from -base to search path and remove the old
78           lib from -bad from the search path.
79
80 2009-01-05  Wim Taymans  <wim.taymans@collabora.co.uk>
81
82         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position_last),
83         (gst_base_sink_get_position_paused), (gst_base_sink_get_position):
84         Release the object lock before calling the query convert pad functions
85         to avoid deadlocks.
86
87 2009-01-05  Wim Taymans  <wim.taymans@collabora.co.uk>
88
89         * gst/gstbus.c: (gst_bus_wakeup_main_context):
90         The lock order should be maincontext > OBJECT_LOCK so we need to release
91         the object lock when waking up the mainloop to avoid deadlocks.
92
93 2009-01-05  Wim Taymans  <wim.taymans@collabora.co.uk>
94
95         * gst/gstbin.c: (gst_bin_set_index_func), (gst_bin_set_clock_func),
96         (gst_bin_change_state_func):
97         Use an iterator to set the clock and the index so that we can release
98         the object lock appropriately. Fixes #566393.
99
100 2009-01-03  Edward Hervey  <edward.hervey@collabora.co.uk>
101
102         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_available):
103         Use the name of the pads instead of a pointer, helps in debugging.
104
105 2009-01-03  Edward Hervey  <edward.hervey@collabora.co.uk>
106
107         * gst/gstindex.c: (gst_index_get_type):
108         Add a debugging category for GstIndex, first little step in making
109         indexing top-notch.
110
111 2009-01-03  Edward Hervey  <edward.hervey@collabora.co.uk>
112
113         * gst/gstelement.c: (gst_element_message_full),
114         (gst_element_pads_activate):
115         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
116         * gst/gstutils.c: (gst_pad_proxy_getcaps), (gst_pad_proxy_setcaps),
117         (gst_pad_add_data_probe_full), (gst_pad_add_event_probe_full),
118         (gst_pad_add_buffer_probe_full), (gst_pad_remove_data_probe),
119         (gst_pad_remove_event_probe), (gst_pad_remove_buffer_probe):
120         Assign debug statements to relevant categories instead of the 'default'
121         category so they don't get lost in debugging.
122
123 2009-01-01  Stefan Kost  <ensonic@users.sf.net>
124
125         * gst/gstdebugutils.c:
126           Add some ideas, how to make the graph smaller.
127
128         * gst/gstutils.c:
129           Add a comment from a debug session.
130
131         * libs/gst/base/gstbasetransform.c:
132           Log more context.
133
134         * libs/gst/controller/gstinterpolationcontrolsource.c:
135           Indet.
136
137         * plugins/elements/gstcapsfilter.c:
138           Fix typo in docs.
139
140 2008-12-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
141
142         * gst/gstbus.c: (gst_bus_dispose), (gst_bus_get_property),
143           (gst_bus_wakeup_main_context), (gst_bus_set_main_context),
144           (gst_bus_post), (gst_bus_source_prepare), (gst_bus_source_finalize),
145           (gst_bus_create_watch):
146           Make GstBusSource work with non-default main contexts (#562170).
147
148         * tests/check/gst/gstbus.c: (message_func_eos), (message_func_app),
149           (test_watch), (test_watch_with_custom_context), (gst_bus_suite):
150           Add test case for GstBusSource with a non-default main context.
151
152         * tests/check/libs/.cvsignore:
153           Ignore more.
154
155 2008-12-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
156
157         * gst/gstregistrybinary.c: (unpack_element), (unpack_const_string),
158           (unpack_string)::
159           Wrap multi-line macros in G_STMT_{START|END}.
160
161 2008-12-20  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
162
163         * docs/gst/gstreamer-sections.txt:
164         * gst/gstquark.c:
165         * gst/gstquark.h:
166         * gst/gstquery.c: (gst_query_new_uri), (gst_query_set_uri),
167         (gst_query_parse_uri):
168         * gst/gstquery.h:
169         API: Add URI query type. This is useful to query the URI
170         of a sink/source element and can be used by demuxers that
171         need to get data from other files.
172         This query should go upstream by default.
173         Fixes bug #562949.
174         * plugins/elements/gstfdsink.c: (gst_fd_sink_query):
175         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
176         (gst_fd_src_query):
177         * plugins/elements/gstfilesink.c: (gst_file_sink_query):
178         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
179         (gst_file_src_query):
180         Implement URI query.
181
182 2008-12-19  Alessandro Decina <alessandro.decina@collabora.co.uk>
183
184         * gst/gstghostpad.c:
185         * tests/check/gst/gstghostpad.c:
186         Don't forward gst_pad_set_caps() on a source ghostpad to its target.
187         That would cause the ghostpad to emit notify::caps two times (fist
188         from gst_pad_set_caps() and after from on_src_target_notify()).
189
190 2008-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
191
192         * tests/check/gst/gstghostpad.c: (ghost_notify_caps),
193         (GST_START_TEST):
194         Add some more unit-tests for the ghostpad notify signal, one of which
195         currently fails.
196
197 2008-12-19  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
198
199         * win32/common/libgstreamer.def:
200         Add gst_tag_setter_reset_tags to the list of exported symbols.
201
202 2008-12-17  Alessandro Decina  <alessandro.decina@collabora.co.uk>
203
204         * gst/gstghostpad.c:
205         * tests/check/gst/gstghostpad.c:
206         In a source ghostpad, when caps are changed in the target pad, the
207         change needs to be reflected in the ghostpad.
208         Fixes #564863.
209
210 2008-12-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
211
212         * gst/gstutils.c: (gst_element_found_tags_for_pad):
213         Add FIXME for 0.11 to set the pad as message source and not
214         the element. Otherwise it's impossible to detect for which
215         pad the tags were found without adding an event probe
216         or something similar to the pad.
217
218 2008-12-16  Wim Taymans  <wim.taymans@collabora.co.uk>
219
220         * docs/faq/general.xml:
221         Update the faq.
222
223 2008-12-16  Stefan Kost  <ensonic@users.sf.net>
224
225         * docs/gst/gstreamer-sections.txt:
226         * gst/gsttagsetter.c:
227         * gst/gsttagsetter.h:
228           Rename api added in previous commit and add since tag to docs.
229           API: gst_tag_setter_reset_tags()
230
231 2008-12-16  Stefan Kost  <ensonic@users.sf.net>
232
233         * docs/gst/gstreamer-sections.txt:
234         * gst/gsttagsetter.c:
235         * gst/gsttagsetter.h:
236           Add function to reset tagsetter for element reuse.
237
238 2008-12-16  Stefan Kost  <ensonic@users.sf.net>
239
240         * gst/gsttaglist.c:
241           Avoid copy of empty taglist.
242
243 2008-12-16  Stefan Kost  <ensonic@users.sf.net>
244
245         * gst/gsttaglist.c:
246         * tests/check/gst/gsttag.c:
247           More complete unit tests. Fix handling of empty taglists (they were
248           not merged before).
249
250 2008-12-15  Stefan Kost  <ensonic@users.sf.net>
251
252         * gst/gsttaglist.h:
253         * gst/gsttagsetter.c:
254           Update GstTagSetter and GstTagMergeMode documentation. Mention
255           that tags can come from events and from application. Fix example.
256
257 2008-12-15  Wim Taymans  <wim.taymans@collabora.co.uk>
258
259         * docs/design/part-TODO.txt:
260         Remove the seqnum entry that we implemented in 0.10 already.
261         Add entry about removing the format return value for queries.
262
263 2008-12-15  Wim Taymans  <wim.taymans@collabora.co.uk>
264
265         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
266         (gst_base_sink_init), (gst_base_sink_set_property),
267         (gst_base_sink_get_property):
268         Expose the render-delay as a property so things like appsink can use it
269         to tweak the synchronisation.
270
271 2008-12-10  Peter Kjellerstedt  <pkj@axis.com>
272
273         * libs/gst/check/gstcheck.h: Allow check tests to use
274         MAIN_START_THREADS()/MAIN_STOP_THREADS() multiple times. Also allows
275         CK_FORK=no to be used with multiple check test that use threads.
276
277 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
278
279         * gst/gstutils.c: (gst_element_get_compatible_pad):
280         Fix a caps memory leak introduced by the last change.
281
282 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
283
284         * gst/gstutils.c: (gst_element_get_compatible_pad):
285         Check if the caps of the pads are compatible before returning
286         a pad and claiming it is compatible. This, among other things,
287         fixes a bug with gst-launch where an incompatible pad is chosen
288         and linking fails. Fixes bug #544003.
289
290 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
291
292         * libs/gst/check/gstcheck.c: (gst_check_init):
293         Revert accidentially commited patch for bug #404631 which
294         tries to print a backtrace if a testcase is terminated by
295         a signal. This code was never activated as the corresponding
296         configure.ac change wasn't committed.
297
298 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
299
300         * tests/check/libs/controller.c: (GST_START_TEST):
301         This test should return TRUE now as syncing an uncontrolled
302         object will succeed now (there's nothing to sync).
303
304 2008-12-09  Stefan Kost  <ensonic@users.sf.net>
305
306         * libs/gst/controller/gstcontroller.c:
307           Aggregate return value for gst_controller_sync_values(). More info in
308           logging. Always set values on first sync-call.
309
310         * libs/gst/controller/gstcontrolsource.c:
311           Microoptimizations.
312
313         * libs/gst/controller/gsthelper.c:
314           Fix return code and comment.
315
316 2008-12-09  Stefan Kost  <ensonic@users.sf.net>
317
318         * tools/gst-launch.1.in:
319           Fix description of how to specify a type in caps. Fixes #553873.
320           Also ranges and list contain values and not property-assignments.
321
322 2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>
323
324         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
325         Check for changed pads-list before checking the last returned
326         GstFlowReturn because the pad could have been removed and we
327         need to ignore the value in that case.
328
329 2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>
330
331         * libs/gst/base/gstbasetransform.c:
332         (gst_base_transform_prepare_output_buffer),
333         (gst_base_transform_getrange), (gst_base_transform_chain):
334         * libs/gst/base/gstbasetransform.h:
335         Add vmethod that is called before we start the transform and which can
336         be used to configure the transform, such as dynamic properties.
337
338 2008-12-05  David Schleef  <ds@schleef.org>
339
340         * gst/gst.c:
341         Search for plugins on win32 based on the location of the
342         gstreamer DLL.  Fixes #548786
343
344 2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
345
346         * configure.ac:
347         Apparently AC_CONFIG_MACRO_DIR breaks when using more
348         than one macro directory, reverting last change.
349
350 2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
351
352         * configure.ac:
353         Set AC_CONFIG_MACRO_DIR to common/m4 to point autoconf to
354         our M4 macros.
355
356 2008-11-29  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
357
358         Patch by: Cygwin Ports maintainer
359                   <yselkowitz at users dot sourceforge dot net>
360
361         * autogen.sh:
362         * configure.ac:
363         Require gettext 0.17 because older versions don't mix with libtool
364         2.2. At build time an older gettext version will still work.
365         Fixes bug #556091.
366
367 2008-11-27  Wim Taymans  <wim.taymans@collabora.co.uk>
368
369         Patch by: 이문형 <iwings at gmail dot com>
370
371         * gst/gstpoll.c: (gst_poll_fd_ctl_write), (gst_poll_fd_has_error):
372         Adds support for FD_CONNECT event (win32). See #562258.
373
374 2008-11-24  Stefan Kost  <ensonic@users.sf.net>
375
376         * libs/gst/base/gstbasesink.c:
377           Turn comment into gtk-doc comment.
378
379 2008-11-24  Wim Taymans  <wim.taymans@collabora.co.uk>
380
381         * libs/gst/base/gstbasetransform.c:
382         (gst_base_transform_acceptcaps):
383         Revert quick accepcaps attempt, it's not fully equivalent to the old
384         behaviour and thus causes regressions.
385
386 2008-11-24  Edward Hervey  <edward.hervey@collabora.co.uk>
387
388         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
389         Fix memory leak.
390
391 2008-11-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
392
393         Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>
394
395         * gst/gstregistry.c: (gst_registry_scan_path_level):
396         Reduce the number of stat() calls for every file from three times
397         to one time. Fixes bug #560360.
398
399 2008-11-22  Wim Taymans  <wim.taymans@collabora.co.uk>
400
401         * libs/gst/base/gstbasetransform.c:
402         (gst_base_transform_acceptcaps):
403         Rename a variable to make the code clearer.
404
405 2008-11-21  Stefan Kost  <ensonic@users.sf.net>
406
407         * plugins/elements/gstidentity.c:
408         Don't warning on offset==-1. Taken from _check_imperfect_offset().
409
410 2008-11-21  Michael Smith <msmith@songbirdnest.com>
411
412         * plugins/elements/gstfilesrc.c:
413           Check for localhost in URI was backwards, fix it. Fixes unit test.
414
415 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
416
417         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
418         (gst_base_transform_getcaps), (gst_base_transform_find_transform),
419         (gst_base_transform_acceptcaps), (gst_base_transform_getrange):
420         Add beginnings of a more optimized acceptcaps function than the default
421         core one.
422
423 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
424
425         * gst/gstpad.c: (gst_pad_accept_caps):
426         Avoid getting the acceptcaps function too early.
427
428 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
429
430         * tools/gst-launch.c: (event_loop):
431         Make gst-launch handle LATENCY messages and make it recalculate the
432         latency.
433
434 2008-11-20  Michael Smith <msmith@songbirdnest.com>
435
436         * plugins/elements/gstfilesrc.c:
437           Use g_filename_from_uri() for URI parsing in filesrc rather than rolling
438           out own slightly incorrect version. Fixes use of some paths on
439           win32.
440
441 2008-11-20  Michael Smith <msmith@songbirdnest.com>
442
443         * gst/gstregistrybinary.c:
444           In win32 codepath, if we fail to write the registry, create the
445           directory for it and try again, matching the behaviour in non-win32
446           codepaths.
447
448 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
449
450         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay):
451         Changing the render delay changes the latency and so we must post a
452         latency message.
453
454 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
455
456         * gst/gstquery.c:
457         * gst/gstquery.h:
458         Add GstQueryType for custom queries instead of having to use the
459         not-so-very-convenient registration infrastructure to register new
460         types.
461
462 2008-11-19  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
463
464         Patch by: Andrew Feren <acferen at yahoo dot com>
465
466         * gst/gstobject.c: (gst_object_default_deep_notify):
467         Unref the GEnumClass after usage again. Fixes bug #561501.
468
469 2008-11-19  Wim Taymans  <wim.taymans@collabora.co.uk>
470
471         * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
472         (gst_bin_recalculate_latency), (gst_bin_do_latency_func),
473         (gst_bin_change_state_func):
474         * gst/gstbin.h:
475         Add do-latency signal with the old default fallback implementation. This
476         allows for custom latency calculations for when the default is not
477         sufficient.
478         API: GstBin::do-latency signal.
479
480 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
481
482         * win32/common/libgstreamer.def:
483         Add new symbols to .def file.
484
485 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
486
487         * docs/gst/gstreamer-sections.txt:
488         * gst/gstbin.c: (gst_bin_recalculate_latency),
489         (gst_bin_change_state_func):
490         * gst/gstbin.h:
491         Add method to recalculate and redistribute the latency on a bin.
492         API: gst_bin_recalculate_latency().
493
494 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
495
496         * gst/gstbuffer.h:
497         Document the free_func.
498
499 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
500
501         * libs/gst/controller/gstinterpolation.c:
502         * libs/gst/controller/gstlfocontrolsource.c:
503         Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
504         as it is mapped to a cast on non-win32 platforms.
505
506 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
507
508         * libs/gst/controller/gstcontroller.c:
509         * libs/gst/controller/gstcontrollerprivate.h:
510           Keep last-value and only call set_property if value has changed. This
511           supresses all the g_object_notifies we would trigger otherwise. It
512           also allows the user to chage the value while there is no controller
513           change.
514
515 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
516
517         * gst/gstvalue.c:
518           Don't crash if either of the string GValues is empty.
519
520 2008-11-17  Andy Wingo  <wingo@pobox.com>
521
522         * tools/gst-inspect.c (print_all_uri_handlers): New function,
523         prints a summary of what URI schemes are supported by what
524         elements.
525         (main): Plumb in support for --uri-handlers or -u, and fix the
526         argc check for -a and -u.
527
528 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
529
530         * gst/gstutils.h:
531         Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
532         conversion functions.
533
534 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
535
536         * gst/gstbuffer.c: (gst_buffer_finalize):
537         Avoid costly typechecking for trivially correct pointers.
538
539         * gst/gstpoll.c: (gst_poll_wait):
540         Add some G_LIKELY here and there.
541
542         * libs/gst/base/gstadapter.c: (gst_adapter_push):
543         Add some debug info.
544
545 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
546
547         * docs/random/wtay/poll-timeout:
548         Small tweaks.
549
550 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
551
552         * tests/old/testsuite/caps/intersection.c: (main):
553         * tests/old/testsuite/plugin/loading.c: (main):
554         Remove references to deprecated API g_mem_chunk*.
555         Fixes #560442.
556
557 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
558
559         * tools/gst-inspect.c: (main):
560         Add --plugin option. Fixes #560301.
561
562 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
563
564         * docs/random/wtay/poll-timeout:
565         Quick braindump for a possible (not totally verified) atomic case.
566
567 2008-11-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
568
569         * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
570         (gst_registry_binary_initialize_magic),
571         (gst_registry_binary_write_cache),
572         (gst_registry_binary_check_magic):
573         * gst/gstregistrybinary.h:
574         Don't write and check a CRC for the binary registry file. It's
575         guaranteed that the registry is completely written (it's first written
576         to a temporary file and then moved) and if the registry was corrupted
577         by some hardware failure we would have bigger problems.
578
579         Bump binary registry version to 0.10.21.1 for this as it's an
580         incompatible change and to ensure that the registry gets rebuild
581         after the update.
582
583         This saves some milliseconds for reading/writing the registry.
584         Fixes bug #560399.
585
586 2008-11-11  Wim Taymans  <wim.taymans@collabora.co.uk>
587
588         * docs/random/wtay/poll-timeout:
589         Some pseudo code for how we could implement clock timeouts with GstPoll.
590
591 2008-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
592
593         * plugins/elements/gstfilesink.c:
594           Update Author string to match others.
595
596 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
597
598         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
599         Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
600         being fixed and inline the trivial check.
601
602 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
603
604         * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
605         (gst_caps_merge_structure), (gst_caps_get_structure),
606         (gst_caps_copy_nth), (gst_caps_set_simple),
607         (gst_caps_set_simple_valist), (gst_caps_is_fixed),
608         (gst_caps_is_equal_fixed), (gst_caps_intersect),
609         (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
610         (gst_caps_to_string):
611         Callgrind micro optimisations.
612         Avoid array bounds checks and force inline of trivial function.
613
614         * gst/gstobject.c: (gst_object_set_name_default):
615         -1 is equivalent to letting glib to the strlen but then there is more
616         room for optimisations and it's not our fault.
617
618         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
619         no need to clear the array, we're cool.
620
621         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
622         The most common _is_fixed() check is done on fundamental glib base
623         types so we check this first instead of doing a huge amount of
624         useless GST_TYPE_ARRAY calls.
625
626 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
627
628         * gst/gstevent.h:
629         Add a SKIP seek flag for use with advanced trickmodes.
630         API: GstSeekFlags::GST_SEEK_FLAG_SKIP
631
632 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
633
634         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
635         No need to memset, we can clear the value ourselves.
636
637         * gst/gstvalue.c: (gst_type_is_fixed),
638         (gst_value_get_compare_func):
639         Some optimisations from a few callgrind sessions:
640         When checking if a type is fixed, check for trivial fundamental types
641         first before checking types for which we need to get the type followed
642         by the heavy duty type checks, this reduces the amount of
643         g_type_fundamental() calls a lot.
644         When getting the compare function, first check for our registered types.
645         If that fails, do the heavy duty g_type_is_a() checks, reduces the
646         amount of g_type_is_a() considerably.
647
648 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
649
650         * docs/design/part-TODO.txt:
651         Mumble something about removing GstXML.
652
653 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
654
655         * gst/gstbin.c: (gst_bin_handle_message_func):
656         Get the seqnum before we dispose the message.
657
658 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
659
660         * docs/design/part-TODO.txt:
661         Refer to the framestepping document.
662
663 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
664
665         * gst/gstbin.c: (bin_handle_async_start),
666         (gst_bin_handle_message_func), (gst_bin_query):
667         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
668         (gst_base_sink_event), (gst_base_sink_change_state):
669         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
670         (gst_base_src_loop), (gst_base_src_change_state):
671         Copy seqnums from events to messages so that they can all be related
672         back to eachother.
673
674 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
675
676         * tools/gst-launch.c: (event_loop):
677         Print the message seqnums.
678
679 2008-11-04  Andy Wingo  <wingo@pobox.com>
680
681         * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
682
683 2008-11-04  Andy Wingo  <wingo@pobox.com>
684
685         Add sequence numbers to events and messages. See #559250.
686
687         * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
688         API: New functions.
689
690         * gst/gstevent.h:
691         * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
692         events with a new sequence number, and copy it when copying.
693         (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
694         an event's sequence number.
695
696         * gst/gstmessage.h:
697         * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
698         (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
699         so with messages.
700
701         * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
702
703 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
704
705         * docs/manual/advanced-position.xml:
706         * docs/manual/basics-bins.xml:
707         * docs/manual/basics-bus.xml:
708         * docs/manual/basics-pads.xml:
709         * docs/manual/intro-gstreamer.xml:
710         * docs/manual/intro-preface.xml:
711         Some Application Development Manual fixes thanks to
712         Andrew Feren. Fixes #558459.
713
714 2008-11-03  Stefan Kost  <ensonic@users.sf.net>
715
716         * gst/gstregistrybinary.c:
717           Don't bother with the GTimer if we don't output the results.
718
719 2008-11-03  Wim Taymans  <wim.taymans@collabora.co.uk>
720
721         Patch by: David Schleef  <ds@schleef.org>
722
723         * libs/gst/net/Makefile.am:
724         Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
725
726 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
727
728         * gst/gstregistrybinary.c:
729           Oh my, studip, stupid me. Remove double stat() call.
730
731 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
732
733         * gst/gstpreset.c:
734           Use g_unlink instead of unlink.
735
736         * gst/gststructure.c:
737           Use glib type.
738
739         * gst/gstutils.c:
740           Add a FIXME:.
741
742         * gst/gsttaglist.c:
743         * gst/gsttypefind.c:
744         * gst/gstvalue.c:
745           Formatting & whitespaces.
746
747 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
748
749         * plugins/elements/gstidentity.c:
750           Doc typo. Use return value of parent_class->event.
751   
752         * plugins/elements/gsttypefindelement.c:
753           Chain up at the end for consistency.
754   
755 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
756
757         * docs/Makefile.am:
758         * docs/gst/gstreamer-docs.sgml:
759         * docs/gst/gstreamer-sections.txt:
760         * docs/gst/running.xml:
761         * docs/libs/gstreamer-libs-docs.sgml:
762           Change to xinclude based build - its faster and easier to maintain.
763
764 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
765
766         * gst/gstregistrybinary.c:
767         * gst/gstregistryxml.c:
768           Use g_unlink() as none of these are directories.
769
770 2008-10-29  Wim Taymans  <wim.taymans@collabora.co.uk>
771
772         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
773         Some more comments.
774
775 2008-10-27  Wim Taymans  <wim.taymans@collabora.co.uk>
776
777         * libs/gst/base/gstbasetransform.c:
778         (gst_base_transform_find_transform), (gst_base_transform_getrange):
779         If we have a fixate function, call it even if we already have fixed caps
780         because the subclass might add some caps. Makes audioconvert add a
781         default channel layout.
782
783 2008-10-24  Wim Taymans  <wim.taymans@collabora.co.uk>
784
785         * libs/gst/base/gstbasetransform.c:
786         (gst_base_transform_prepare_output_buffer),
787         (gst_base_transform_getrange):
788         Clear the output buffer variable.
789         Cleanups to the error path in the getrange function.
790         Fixes #557649.
791
792 2008-10-23  Sebastian Dröge  <slomo@circular-chaos.org>
793
794         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
795         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
796         Use gst_buffer_try_new_and_alloc() and handle errors instead of
797         using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
798         be allocated.
799
800 2008-10-23  Wim Taymans  <wim.taymans@collabora.co.uk>
801
802         * gst/gstsegment.c: (gst_segment_set_newsegment_full):
803         Set the last_stop to a more meaningful position when configuring the
804         segment. ie. the start/stop of the segment or clipped against the
805         updated segment boundaries.
806
807         * tests/check/gst/gstsegment.c: (GST_START_TEST):
808         Add some unit tests for the last_stop.
809
810 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
811
812         * libs/gst/base/gstbytereader.c:
813         Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
814         copies of them.
815
816 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
817
818         * docs/gst/gstreamer-sections.txt:
819         * gst/gstutils.h:
820         API: Move float endianness conversion macros from libgstfloatcast
821         to core as it's useful in general, even in core. Fixes bug #555196.
822         This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
823         GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
824         GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
825
826         Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
827         GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
828         GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
829         GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
830
831 2008-10-22  Sebastian Dröge  <slomo@circular-chaos.org>
832
833         * docs/libs/gstreamer-libs-sections.txt:
834         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
835         (gst_byte_reader_peek_data):
836         * libs/gst/base/gstbytereader.h:
837         * win32/common/libgstbase.def:
838         API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
839         to get a pointer to the data at the current position and have
840         a guaranteed size.
841
842 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
843
844         * configure.ac:
845         Fix a bug in the output of the configure script summary
846         when --gst-disable-registry is supplied
847
848 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
849
850         * libs/gst/base/gstbitreader.c:
851         * libs/gst/base/gstbytereader.c:
852         Fix the names of 2 functions in the docs strings.
853
854 2008-10-21  Wim Taymans  <wim.taymans@collabora.co.uk>
855
856         * libs/gst/base/gstbasetransform.c:
857         (gst_base_transform_prepare_output_buffer),
858         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
859         Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
860         refcount problems as seen in banshee and maybe also in farsight2.
861         Remove atomic int now that we need to take the lock anyways.
862
863 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
864
865         * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
866         (gst_base_sink_default_prepare_seek_segment),
867         (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
868         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
869         (gst_base_sink_query):
870         Implement more seeking in pull mode.
871         Use pad convert functions to convert position to the requested format.
872         Fix position/duration reporting in pull mode.
873         Implement position and duration reporting in other formats than time.
874
875         * libs/gst/base/gstbasesink.h:
876         Add member to keep track of when the segment is playing.
877
878 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
879
880         * gst/gstpad.c: (gst_pad_configure_src):
881         When we use gst_pad_alloc_buffer() without wanting to set the caps we
882         also don't need to check if the caps are compatible because the caller
883         presumably is going to perform its own custom checks. Fixes some cases
884         where basetransform elements would error out when it was not needed.
885
886 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
887
888         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
889         Update comment.
890
891         * libs/gst/base/gstbasetransform.c:
892         (gst_base_transform_handle_buffer),
893         (gst_base_transform_reconfigure):
894         Add some debug info.
895
896         * win32/common/libgstbase.def:
897         Add new method.
898
899 2008-10-19  Stefan Kost  <ensonic@users.sf.net>
900
901         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
902           Remove duplicated assignment and log a message in failure case.
903
904 2008-10-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
905
906         Patch by: Dig Ge <dig.ge.cn at gmail com>
907
908         * tests/examples/helloworld/helloworld.c: (main):
909           Fix copy'n'paste bug in hello world example (#556900).
910
911 2008-10-17  Wim Taymans  <wim.taymans@collabora.co.uk>
912
913         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
914         (gst_base_sink_query):
915         Query the total number of bytes when activating the pad in pull mode.
916         Implement duration query in pull mode by using the installed pad convert
917         function to convert from bytes to the requested format.
918
919 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
920
921         * docs/libs/gstreamer-libs-sections.txt:
922         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
923         (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
924         (gst_base_sink_event), (gst_base_sink_perform_seek),
925         (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
926         (gst_base_sink_send_event), (gst_base_sink_change_state):
927         * libs/gst/base/gstbasesink.h:
928         Add method to commit the state in subclasses.
929         Refactor the flush_start and flush_stop code because we need it for
930         flushing while seeking too.
931         Implement the beginnings of seeking in pull mode.
932         Use the segment last_stop field for the pulling offset.
933         Fix the pause method in pull mode.
934         Configure the segment to BYTES for pull mode.
935         API: GstBaseSink::gst_base_sink_do_preroll()
936
937 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
938
939         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
940         Update some docs.
941
942 2008-10-14  Tim-Philipp Müller  <tim.muller at collabora co uk>
943
944         * gst/gstquark.c: (_priv_gst_quarks_initialize):
945           Fix printf format warning.
946
947 2008-10-14  Sebastian Dröge  <slomo@circular-chaos.org>
948
949         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
950         Fix flow aggregation of tee. Error out immediately for all flow returns
951         except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
952         and return OK if at least one pad is linked.
953
954         Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
955         and otherwise returned the flow return of the last pad, which is wrong.
956         
957         * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
958         (GST_START_TEST), (tee_suite):
959         Add unit tests for the flow aggregation.
960
961 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
962
963         * docs/design/part-TODO.txt:
964         Remove item from the todo list because it was fixed with the latency
965         state change rewrites.
966
967         * docs/design/part-seeking.txt:
968         * docs/design/part-segments.txt:
969         Update some docs.
970
971         * gst/gstevent.c: (gst_event_new_new_segment_full),
972         (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
973         (gst_event_parse_buffer_size), (gst_event_new_qos),
974         (gst_event_parse_qos), (gst_event_new_seek),
975         (gst_event_parse_seek), (gst_event_new_latency),
976         (gst_event_parse_latency):
977         Use quarks to construct and parse events.
978
979         * gst/gstquark.c: (_priv_gst_quarks_initialize):
980         * gst/gstquark.h:
981         Add some more quarks to the table.
982         Emit a warning when the quark tables are not in sync.
983
984         * tests/check/gst/gstbus.c: (GST_START_TEST):
985         Add an assert.
986
987 2008-10-13  Stefan Kost  <ensonic@users.sf.net>
988
989         * plugins/elements/Makefile.am:
990         * plugins/indexers/Makefile.am:
991           Don't install static libs for plugins. Fixes #550851 for core.
992
993 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
994
995         * gst/gstbus.c: (gst_bus_source_finalize),
996         (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
997         (gst_bus_enable_sync_message_emission),
998         (gst_bus_disable_sync_message_emission),
999         (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
1000         Fix deadlock, g_source_get_id() cannot be called in finalize.
1001         Keep track of the watch source by keeping a pointer to the source object
1002         instead.
1003         Use the bus lock to protect access to the pointer to the current
1004         watch source.
1005
1006 2008-10-13  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1007
1008         Base on Patch by: Olivier Crete <tester at tester dot ca>
1009
1010         * gst/gstbus.c: (gst_bus_source_finalize),
1011         (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
1012         Only allow one bus watch to be set at a time. This is necessary
1013         because the dispatcher pops the message from the bus and the second
1014         watcher will then get NULL or the next message (and the first won't
1015         get this next message then, etc). If more than one "watcher" is
1016         required signal watches should be used. Fixes bug #526044.
1017
1018 2008-10-12  Jan Schmidt  <jan.schmidt@sun.com>
1019
1020         * tools/gst-launch.c:
1021         Change the printing of the 'buffering...' output to avoid putting
1022         a \r in a translateable string (flagged by the TP).
1023
1024 2008-10-10  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1025
1026         * gst/gstxml.c:
1027         Clarify that the save_thyself() and restore_thyself() virtual
1028         functions of GstObject need to be overriden, not
1029         gst_object_(save|restore)_thyself() which is impossible.
1030         Fixes bug #555700.
1031
1032 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
1033
1034         * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
1035         Revert a patch from 21 months ago that broke caps negotiation in pull
1036         mode. Basically, having a buffer pass over a pad will trigger the
1037         setcaps function when caps change, just like in push mode.
1038
1039 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
1040
1041         * docs/design/part-negotiation.txt:
1042         Update the docs some more.
1043
1044         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
1045         If we pull a buffer with non-trivial caps, suggest those caps with the
1046         max probability.
1047
1048 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
1049
1050         * docs/design/part-TODO.txt:
1051         Add another limitation of pad-blocking with segment seeks not pushing
1052         EOS events.
1053
1054 2008-10-10  Jan Schmidt  <jan.schmidt@sun.com>
1055
1056         * win32/common/libgstbase.def:
1057         * win32/common/libgstreamer.def:
1058         Add new symbols to the win32 defs files
1059
1060 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
1061
1062         * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
1063         (gst_bin_handle_message_func):
1064         The message src can be NULL, don't try to print the object names in that
1065         case.
1066
1067         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
1068         Add some more debug info.
1069
1070         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
1071         (GST_START_TEST):
1072         Add some debug.
1073         Fix the test, pull based sinks go ASYNC to PAUSED, just like other
1074         scheduling modes.
1075
1076 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
1077
1078         * docs/design/part-negotiation.txt:
1079         Small doc update.
1080
1081         * docs/libs/gstreamer-libs-sections.txt:
1082         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1083         (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
1084         (gst_base_sink_init), (gst_base_sink_set_blocksize),
1085         (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
1086         (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
1087         (gst_base_sink_loop), (gst_base_sink_pad_activate),
1088         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1089         (gst_base_sink_change_state):
1090         * libs/gst/base/gstbasesink.h:
1091         Add blocksize property and methods to control the amount of data
1092         to pull.
1093         Negotiate first before activating upstream in pull mode so that they can
1094         negotiate themselves.
1095         When we operate in pull mode, we only accept the caps that we
1096         negotiated.
1097         Make the sink go ASYNC to PAUSED, like all other sinks.
1098         API: GstBaseSink::gst_base_sink_set_blocksize()
1099         API: GstBaseSink::gst_base_sink_get_blocksize()
1100         API: GstBaseSink::blocksize
1101
1102         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
1103         (gst_base_src_set_live), (gst_base_src_is_live),
1104         (gst_base_src_set_format), (gst_base_src_query_latency),
1105         (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
1106         (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
1107         (gst_base_src_set_property), (gst_base_src_get_property):
1108         * libs/gst/base/gstbasesrc.h:
1109         Add typechecking in public API functions.
1110         Add methods to control the blocksize in subclasses.
1111         API: GstBaseSrc::gst_base_src_set_blocksize()
1112         API: GstBaseSrc::gst_base_src_get_blocksize()
1113
1114 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
1115
1116         * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
1117         (buffer_probe), (event_probe), (GST_START_TEST):
1118         We now see 3 events go through our pad, since basesink now sends
1119         upstream latency events.
1120
1121 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1122
1123         * gst/gstpipeline.c: (gst_pipeline_change_state):
1124         Release the object lock before trying to flush the bus.
1125
1126 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1127
1128         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
1129         Forward LATENCY events upstreams so that elements know about the total
1130         pipeline latency. Fixes #555307.
1131
1132 2008-10-08  Jan Schmidt  <jan.schmidt@sun.com>
1133
1134         * plugins/elements/gstqueue.c:
1135         Allow through queries when we don't know how
1136         to adjust them (not TIME or BYTES), as otherwise it's
1137         not possible to query the current position in order
1138         to seek in other formats at all.
1139
1140 2008-10-08  Andy Wingo  <wingo@pobox.com>
1141
1142         * docs/gst/gstreamer-sections.txt: Placate doc pendants.
1143
1144 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1145
1146         * gst/gstghostpad.c:
1147         * gst/gstghostpad.h:
1148         Unbreak -good build, private is a reserved c++ keyword.
1149
1150 2008-10-08  Andy Wingo  <wingo@pobox.com>
1151
1152         * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
1153         * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
1154         removal: re-add GST_GHOST_PAD_CAST to the header.
1155
1156         * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
1157         (GstGhostPadClass): Publically expose these structures so as to
1158         allow easy subclassing from C. Hide the member data behind a
1159         private opaque data pointer.
1160
1161         * gst/gstghostpad.c: Adapt to store instance data in the type
1162         instance's private data region, not in the public struct.
1163
1164 2008-10-08  Andy Wingo  <wingo@pobox.com>
1165
1166         * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
1167         template via g_object_get(), be sure to unref it.
1168
1169         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
1170
1171 2008-10-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1172
1173         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
1174         If we can't get a cache file don't try to save something to it.
1175         Dereferencing NULL pointers usually isn't a good idea.
1176
1177 2008-10-07  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
1178
1179         * tests/check/Makefile.am:
1180         * tests/check/gst/gstabi.c:
1181         * tests/check/gst/struct_sparc.h:
1182         * tests/check/libs/libsabi.c:
1183         * tests/check/libs/struct_sparc.h:
1184         Add Sparc ABI checks
1185
1186         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1187         Cast signed integer to unsigned to avoid a compiler warning.
1188
1189 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1190
1191         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
1192         (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
1193         (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
1194         (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
1195         (gst_byte_reader_peek_int24_be):
1196         Use new GST_READ_UINT24_(LE|BE) macros.
1197
1198 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1199
1200         * docs/gst/gstreamer-sections.txt:
1201         * gst/gstutils.h:
1202         Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
1203         as it's too easy to break the ISO C strict aliasing rules with simple
1204         casts to the corresponding type and this would introduce hard to debug
1205         bugs. Fixes bug #545714.
1206
1207         API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
1208
1209 2008-10-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
1210
1211         * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
1212         * gst/gstghostpad.c: (gst_ghost_pad_construct):
1213           Add 'Since' bits to gtk-doc chunks for new API.
1214
1215 2008-10-06  Thijs Vermeir  <thijsvermeir@gmail.com>
1216
1217         * docs/gst/gstreamer-sections.txt:
1218         Fix documentation
1219
1220 2008-10-06  Andy Wingo  <wingo@pobox.com>
1221
1222         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
1223         that will be called on the malloc_data to free it. Basically a way
1224         to avoid subclassing when all you need is a different free
1225         function, i.e. free() instead of g_free().
1226
1227         * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
1228         calling the free function.
1229         (gst_buffer_init): Initialize the free function to g_free.
1230
1231 2008-10-06  Andy Wingo  <wingo@pobox.com>
1232
1233         * gst/gstghostpad.h:
1234         * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
1235         finishes the initialization of ghost pad. Useful for language
1236         bindings and subclassers of GstGhostPad. Fixes #539108.
1237         (gst_ghost_pad_new_full): Use the new constructor.
1238
1239 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1240
1241         Base on Patch by: Olivier Crete <tester at tester dot ca>
1242
1243         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
1244         (gst_bin_remove_func), (update_degree),
1245         (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
1246         Keep track of pads that are being linked/unlinked and resync the state
1247         changes.
1248
1249         * gst/gstpad.c: (gst_pad_get_direction),
1250         (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
1251         (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
1252         (gst_pad_link_prepare), (gst_pad_link),
1253         (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
1254         (gst_pad_check_pull_range), (gst_pad_get_range),
1255         (gst_pad_pull_range):
1256         Some code cleanups, use macros to check pad direction.
1257         Don't need to take the lock on the pad direction.
1258         Post structure change when pads are linked/unlinked.
1259         Change some checks into _return_if_fail().
1260
1261         * tests/check/gst/gstbin.c:
1262         (test_link_structure_change_state_changed_sync_cb),
1263         (GST_START_TEST), (gst_bin_suite):
1264         Add testcase for pad link/unlinke resync during a state change.
1265         Fixes #510354.
1266
1267 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1268
1269         * docs/gst/gstreamer-sections.txt:
1270         * gst/gstmessage.c: (gst_message_new_structure_change),
1271         (gst_message_parse_structure_change):
1272         * gst/gstmessage.h:
1273         Implement STRUCTURE_CHANGED messages. These messages will be used to
1274         signal the parent bin of link/unlink operations that could require a
1275         resync when doing a state change. See ##510354.
1276         API: gst_message_new_structure_change()
1277         API: gst_message_parse_structure_change()
1278
1279 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1280
1281         * gst/gstquark.c:
1282         * gst/gstquark.h:
1283         Add some more quarks for new message. See #510354.
1284
1285 2008-10-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1286
1287         * docs/libs/gstreamer-libs-docs.sgml:
1288         * docs/libs/gstreamer-libs-sections.txt:
1289         * libs/gst/base/Makefile.am:
1290         * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
1291         (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
1292         (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
1293         (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
1294         (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
1295         (gst_bit_reader_skip_to_byte):
1296         * libs/gst/base/gstbitreader.h:
1297         * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
1298         (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
1299         (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
1300         (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
1301         (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
1302         (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
1303         (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
1304         (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
1305         (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
1306         (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
1307         (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
1308         (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
1309         * libs/gst/base/gstbytereader.h:
1310         * tests/check/Makefile.am:
1311         * tests/check/libs/bitreader.c: (GST_START_TEST),
1312         (gst_bit_reader_suite):
1313         * tests/check/libs/bytereader.c: (GST_START_TEST),
1314         (gst_byte_reader_suite):
1315         API: Add bit reader and byte reader classes, including documentation
1316         and an extensive unit test suite. Fixes bug #553554.
1317
1318 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1319
1320         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
1321         (gst_base_sink_query):
1322         Improve position reporting while flushing and other intermediate state
1323         changes. Fixes #553874.
1324
1325 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1326
1327         Patch by: Antoine Tremblay <hexa00 at gmail dot com>
1328
1329         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1330         Original patch by : Simon Descaries
1331         Fix small refount leak in caps compatibility check.
1332         Fixes #551676.
1333
1334 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
1335
1336         * docs/pwg/advanced-request.xml:
1337           Fix 0.8 api usage in example. Fixes #554561
1338
1339         * docs/pwg/appendix-porting.xml:
1340           Change 0.9 to 0.10 here.
1341
1342 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
1343
1344         * docs/manual/basics-data.xml:
1345           Change "event-event interaction" to "element-element interaction".
1346           Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
1347           updates.
1348
1349 2008-10-05  Jan Schmidt  <jan.schmidt@sun.com>
1350
1351         * configure.ac:
1352         Back to development -> 0.10.21.1
1353
1354 === release 0.10.21 ===
1355
1356 2008-10-02  Jan Schmidt <jan.schmidt@sun.com>
1357
1358         * configure.ac:
1359           releasing 0.10.21, "Take These Things From Me"
1360
1361 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
1362
1363         * configure.ac:
1364         0.10.20.4 pre-release
1365
1366 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
1367
1368         * libs/gst/base/gstbasetransform.c:
1369         * plugins/elements/gstcapsfilter.c:
1370         * tests/check/Makefile.am:
1371         * tests/check/elements/.cvsignore:
1372         * tests/check/elements/capsfilter.c:
1373         Fix assertion in basetransform when the subclass chooses not to
1374         allocate a buffer in prepare_buffer(), and make capsfilter error out
1375         cleanly if requested to apply caps that don't completely specify the
1376         buffer. Fixes #551509
1377
1378 2008-09-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1379
1380         * libs/gst/base/gstbasetransform.c:
1381         (gst_base_transform_prepare_output_buffer):
1382         Take new caps ref because our old one might have been gone when the
1383         subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
1384
1385 2008-09-15  Stefan Kost  <ensonic@users.sf.net>
1386
1387         * configure.ac:
1388           Do not probe availability of check unit test library when cross
1389           compiling, as test would not work anyway. Also cleanup verbose output
1390           of the check test. Fixes #551952.
1391
1392 2008-09-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1393
1394         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
1395
1396         * gst/gstelement.c: (gst_element_sync_state_with_parent):
1397         Avoid leaking the parent ref when we fail changing the state of the
1398         element using gst_element_sync_state_with_parent(). Fixes #551978.
1399
1400 2008-09-11  Tim-Philipp Müller  <tim.muller at collabora co uk>
1401
1402         * docs/manual/intro-motivation.xml::
1403           Remove some bits that no longer apply, update others (#551642).
1404
1405 2008-09-10  Jan Schmidt  <jan.schmidt@sun.com>
1406
1407         * configure.ac:
1408         0.10.20.2 pre-release
1409
1410         * po/LINGUAS:
1411         * po/id.po:
1412         * po/pt_BR.po:
1413
1414         New translations.
1415
1416 2008-09-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
1417
1418         * win32/common/config.h.in:
1419           Add GST_DATADIR, hard-code cpu to x86.
1420
1421         * win32/common/libgstreamer.def:
1422           Spaces to tabs.
1423
1424 2008-09-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1425
1426         * gst/gsttaglist.h:
1427           Fix Since: markers for new geo tags.
1428
1429 2008-09-02  Stefan Kost  <ensonic@users.sf.net>
1430
1431         * gst/gsttaglist.h:
1432           Fix actual tag name define after renaming from altitude to elevation.
1433
1434 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1435
1436         * gst/gstpad.c: (add_unref_pad_to_list),
1437         (gst_pad_get_internal_links_default):
1438         Add fallback when calling the deprecated function on an element that
1439         implements the new internal_link handler.
1440
1441 2008-09-01  Stefan Kost  <ensonic@users.sf.net>
1442
1443         * docs/gst/gstreamer-sections.txt:
1444         * gst/gsttaglist.c:
1445         * gst/gsttaglist.h:
1446           Add new tags for geo location and clarify purpose of existing location
1447           tag. Fixes #481169
1448
1449 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1450
1451         Patch by: Olivier Crete <tester at tester dot ca>
1452
1453         * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
1454         (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
1455         Use thread-safe internal links iterator. Fixes #549504.
1456
1457 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1458
1459         Based on patch by: Olivier Crete <tester at tester dot ca>
1460
1461         * docs/gst/gstreamer-sections.txt:
1462         * win32/common/libgstreamer.def:
1463         * gst/gstpad.c: (gst_pad_init),
1464         (gst_pad_set_iterate_internal_links_function),
1465         (int_link_iter_data_free), (iterate_pad),
1466         (gst_pad_iterate_internal_links_default),
1467         (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
1468         * gst/gstpad.h:
1469         Add threadsafe replacement functions for getting internal links of an
1470         element. Deprecate the old internal links functions.
1471         API:GstPad::gst_pad_set_iterate_internal_links_function()
1472         API:GstPad::GstPadIterIntLinkFunction
1473         API:GstPad::gst_pad_iterate_internal_links()
1474         API:GstPad::gst_pad_iterate_internal_links_default()
1475
1476         * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
1477         (gst_proxy_pad_init):
1478         Implement threadsafe internal links.
1479
1480         * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
1481         Unit test for internal links on tee. See #549504.
1482
1483 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1484
1485         * tests/check/Makefile.am:
1486         libs/transform1 test requires libs/test_transform.c
1487
1488 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1489
1490         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1491         Die evil deadlock, die !
1492
1493 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1494
1495         * gst/gstutils.c: (gst_element_get_compatible_pad):
1496         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1497         * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
1498         Fix all leaks due to the bug in gst_pad_template_new() by which it does
1499         not steal the refcount of the given caps as stated.
1500
1501         REVERT THIS COMMIT ONCE FIXED !
1502         REVERT THIS COMMIT ONCE FIXED !
1503         REVERT THIS COMMIT ONCE FIXED !
1504         REVERT THIS COMMIT ONCE FIXED !
1505         REVERT THIS COMMIT ONCE FIXED !
1506         REVERT THIS COMMIT ONCE FIXED !
1507
1508 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1509
1510         * gst/gstiterator.c:
1511         * gst/gstiterator.h:
1512         After 3 years it's about time to revise the documentation of the
1513         iterator objects.
1514
1515 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1516
1517         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1518         Make the internal links function less thread-unsafe and add some
1519         comments, dunno why.
1520
1521 2008-08-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1522
1523         * gst/gst_private.h:
1524           Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
1525           build with --disable-gst-debug.
1526
1527 2008-08-28  David Schleef  <ds@schleef.org>
1528
1529         * gst/gstpadtemplate.c: Revert last change, since it breaks
1530           a few plugins, ffmpeg, alaw, and mulaw.  Code is correct,
1531           but shouldn't be enabled until we've released fixed versions
1532           of -good and -ffmpeg.
1533
1534 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1535
1536         * gst/gstobject.c:
1537           Put the gst_object_get_name() back in.
1538
1539 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1540
1541         * gst/gstpadtemplate.c:
1542           The old behaviour was that gst_pad_template_new() takes ownership of
1543           the caps. As we now call g_object_new() which calls g_object_set() and
1544           which copies the caps, we have to unref them to not leak them. Fixes
1545           make valgrid for me.
1546
1547 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1548
1549         * gst/gsturi.c:
1550           Don't segfault on input like "tel:+1-123-555-1234".
1551
1552 2008-08-27  Stefan Kost  <ensonic@users.sf.net>
1553
1554         * gst/gstobject.c:
1555           Due to popular request also include ObjectType in
1556           gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1557
1558 2008-08-26  David Schleef  <ds@schleef.org>
1559
1560         * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1561           src_val must be positive, because that's not a requirement.
1562           This causes problems with converting negative granulepos
1563           values for Dirac.
1564         * gst/gstquery.c: Same, gst_query_new_convert().
1565
1566 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1567
1568         * gst/gstclock.c: (gst_clock_add_observation):
1569         Add some more debugging to the clock slaving code.
1570
1571         * win32/common/libgstbase.def:
1572         Add new basetransform method.
1573
1574 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1575
1576         * gst/gstbin.c: (gst_bin_element_set_state):
1577         Take the (recursive) state lock between getting the locked state of an
1578         element and changing the element state. This allows the application to
1579         lock an element's state and then change its state without races.
1580
1581 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1582
1583         * gst/gstbin.c: (gst_bin_element_set_state):
1584         When an element is in the locked state we still want to update the
1585         base_time of the element.
1586
1587 2008-08-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1588
1589         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1590         Use the result from gst_pad_set_caps() instead of assuming the element
1591         always accepted the caps computed by the default negotiate function.
1592
1593 2008-08-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1594
1595         * docs/libs/gstreamer-libs-sections.txt:
1596         * libs/gst/base/gstbasetransform.c:
1597         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1598         (gst_base_transform_chain), (gst_base_transform_suggest),
1599         (gst_base_transform_reconfigure):
1600         * libs/gst/base/gstbasetransform.h:
1601         Implement method for reconfiguring basetransform.
1602         API: GstBaseTransform::gst_base_transform_reconfigure()
1603
1604 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1605
1606         patch by: Murray Cumming <murrayc@murrayc.com>
1607
1608         * gst/gstutils.c:
1609           Mention that this is just like gst_buffer_merge() but with extra
1610           unreffing for C coders. Advise language bindings not to wrap it.
1611           Fixes Bug #533856.
1612           
1613           Also fix file comment.
1614
1615 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1616
1617         reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1618
1619         * plugins/elements/gstfakesink.c:
1620         * plugins/elements/gstfakesrc.c:
1621           Call super::event() when not handling it. Fixes #544855.
1622
1623 2008-08-19  Michael Smith <msmith@songbirdnest.com>
1624
1625         Patch by: Alessandro Decina <alessandro@nnva.org>
1626         * plugins/elements/gstfilesrc.c:
1627           Use 64 bit variants of stat functions on win32, to enable support
1628           of large files there.
1629           Fixes #547277.
1630
1631 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1632
1633         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1634         (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1635         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1636         (gst_base_sink_get_position), (gst_base_sink_change_state):
1637         Improve position reporting in the flushing state.
1638         Also report the position when we are not yet prerolled but we
1639         have a newsegment event. Fixes #543444.
1640         Improve the pull-based negotiation code.
1641
1642         * tests/check/elements/fakesink.c: (GST_START_TEST),
1643         (fakesink_suite):
1644         Add testcase for position reporting while flushing in PAUSED and
1645         PLAYING.
1646
1647         * tests/check/generic/sinks.c: (GST_START_TEST):
1648         Update unit-test, we can now query the position as soon as we receive a
1649         NEWSEGMENT event.
1650
1651 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1652
1653         Based on patch by: Jason Zhao <e3423c at motorola dot com>
1654
1655         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1656         When the subclass event handler releases the PREROLL_LOCK, we could be
1657         in the flushing state and we have to ignore the event. Fixes #548394.
1658
1659 2008-08-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1660
1661         * tools/gst-launch.1.in:
1662           Document GST_REGISTRY_UPDATE environment variable.
1663
1664 2008-08-18  Wim Taymans  <wim.taymans@collabora.co.uk>
1665
1666         * libs/gst/base/gstbasetransform.c:
1667         (gst_base_transform_prepare_output_buffer):
1668         If the element is configured in passthrough mode but the
1669         prepare_output_buffer gave us a new output buffer, discard that buffer
1670         and reuse the input buffer.
1671
1672 2008-08-15  Wim Taymans  <wim.taymans@collabora.co.uk>
1673
1674         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1675
1676         * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1677         (gst_tee_request_new_pad), (gst_tee_release_pad),
1678         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1679         * plugins/elements/gsttee.h:
1680         Protect pad_alloc with a new lock so that we can be sure that nothing is
1681         performing a pad_alloc when removing the pad. Fixes #547835.
1682
1683         * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1684         (buffer_alloc_harness_teardown), (app_thread_func),
1685         (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1686         Added testcase for shutdown race.
1687
1688 2008-08-14  Thijs Vermeir  <thijsvermeir@gmail.com>
1689
1690         * gst/gstpad.h:
1691         Add doc
1692
1693 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1694
1695         * libs/gst/base/gstbasetransform.c:
1696         (gst_base_transform_prepare_output_buffer),
1697         (gst_base_transform_buffer_alloc):
1698         Go over the buffer_alloc function again and make sure we always end up
1699         allocating a buffer.
1700         Add some more docs.
1701         Avoid doing pad alloc when we have a pending suggestion because we
1702         cannot yet deal with changing caps in that case. Fixes #547728
1703
1704 2008-08-14  Stefan Kost  <ensonic@users.sf.net>
1705
1706         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1707
1708         * docs/manual/advanced-clocks.xml:
1709         * docs/manual/clocks.png:
1710         * docs/manual/diagrams-clocks.svg:
1711           Add one more image showing different times together with a describing
1712           paragraph. Fixes #547729.
1713
1714 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1715
1716         * win32/common/libgstbase.def:
1717         Add new method.
1718
1719 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1720
1721         * libs/gst/base/gstbasetransform.c:
1722         (gst_base_transform_transform_caps),
1723         (gst_base_transform_prepare_output_buffer),
1724         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1725         Don't overwrite the outsize when calculating the expected size of a new
1726         buffer because we still need it in case we cannot process the new
1727         buffer.
1728         When converting the size of the new buffer to an upstream size, actually
1729         use the expected size of the buffer, not some other random value.
1730         Use an atomic int to signal that a new upstream caps suggestion is
1731         available.
1732         When we can convert the current buffer to a new format, check if the
1733         buffer size is of the expected size and allocate a new buffer of the
1734         expected size when this is not the case. Fixes #546883.
1735
1736         * tests/check/libs/transform1.c: (GST_START_TEST):
1737         remove ifdeffed code from the unit test.
1738
1739 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1740
1741         * pkgconfig/gstreamer-uninstalled.pc.in:
1742         * pkgconfig/gstreamer.pc.in:
1743           Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1744           called gstcontroller-0.10.
1745
1746 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1747
1748         * gst/gstchildproxy.h:
1749         * gst/gstpreset.h:
1750           Remove double interface from doc-string.        
1751
1752 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1753
1754         * libs/gst/base/gstbasesrc.c:
1755         * libs/gst/base/gstbasetransform.c:
1756           Fix headings in docs and gtk-doc warnings.
1757
1758 2008-08-11  Michael Smith <msmith@songbirdnest.com>
1759
1760         * gst/gstregistrybinary.c:
1761           Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1762           libc.
1763           Fixes #544776.
1764
1765 2008-08-11  Edward Hervey  <edward.hervey@collabora.co.uk>
1766
1767         * libs/gst/base/gstbasetransform.c:
1768         (gst_base_transform_buffer_alloc):
1769         Fix a "may be used unitialized" warning.
1770
1771 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1772
1773         * docs/gst/gstreamer-sections.txt:
1774         * gst/gstpreset.h:
1775           Document preset-iface vmethods.
1776
1777 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1778
1779         * docs/manual/advanced-interfaces.xml:
1780           Turn thoughts about HAL into a note-tag. Remove mentioning that is
1781           only used to discover devices.
1782
1783 2008-08-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
1784
1785         Patch by: Frederic Crozat <fcrozat@mandriva.org>
1786
1787         * gst/gst.c: (init_pre):
1788         Make sure gettext returns translations in UTF-8 encoding rather
1789         than in the current locale encoding (#546822).
1790
1791 2008-08-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1792
1793         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1794         Fix subset test.
1795
1796         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1797         Improve unit test subset tests and add a testcase for the subset failure
1798         cases.
1799
1800         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1801         Improve subtraction unit test.
1802
1803 2008-08-07  Stefan Kost  <ensonic@users.sf.net>
1804
1805         * plugins/elements/gsttee.c:
1806           Unlock, instead of locking again.
1807
1808 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1809
1810         * gst/gstpad.h:
1811         Clarify the docs a bit more.
1812
1813 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1814
1815         * tests/examples/metadata/read-metadata.c:
1816           Don't leak old taglist.
1817
1818 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1819
1820         Patch by: Olivier Crete <tester at tester dot ca>
1821
1822         * gst/gststructure.c:
1823         (gst_structure_fixate_field_nearest_fraction):
1824         Avoid overflows in fixation code when dealing with MAXINT values, which
1825         v4l2src seems to do.
1826         Fixes #546328.
1827
1828         * tests/check/gst/gststructure.c: (GST_START_TEST):
1829         Make a unit test to check the fix. 
1830
1831 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1832
1833         * plugins/elements/gstcapsfilter.c: (copy_func),
1834         (gst_capsfilter_set_property):
1835         Use new caps suggestion feature of basetransform to request a caps
1836         negotiation upstream.
1837
1838 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1839
1840         * docs/libs/gstreamer-libs-sections.txt:
1841         Add new function:
1842         API: GstBaseTransform::gst_base_transform_suggest()
1843
1844         * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1845         (gst_base_transform_init), (gst_base_transform_transform_caps),
1846         (gst_base_transform_transform_size),
1847         (gst_base_transform_configure_caps),
1848         (gst_base_transform_can_transform),
1849         (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1850         (gst_base_transform_prepare_output_buffer),
1851         (gst_base_transform_buffer_alloc),
1852         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1853         (gst_base_transform_chain), (gst_base_transform_activate),
1854         (gst_base_transform_set_passthrough),
1855         (gst_base_transform_is_passthrough),
1856         (gst_base_transform_set_in_place),
1857         (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1858         (gst_base_transform_set_qos_enabled),
1859         (gst_base_transform_is_qos_enabled),
1860         (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1861         (gst_base_transform_reconfigure):
1862         * libs/gst/base/gstbasetransform.h:
1863         Rewrite of basetransform to perform negotiation outside of the
1864         buffer_alloc functions.  Fixes #545853.
1865
1866         * tests/check/libs/transform1.c: (GST_START_TEST),
1867         (buffer_alloc_ct2):
1868         Update unit test.
1869
1870 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1871
1872         * tests/check/gst/gstpreset.c:
1873           Only run preset tests when $HOME is writable. Preliminary fix for
1874           #545433.
1875
1876 2008-08-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1877
1878         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1879         (gst_bin_change_state_func), (bin_handle_async_done),
1880         (gst_bin_handle_message_func):
1881         Fix race for bins that simulate ASYNC state changes by inserting
1882         ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1883         pending ASYNC messages even when the bin does not have ASYNC children.
1884         We note detect this behaviour because we will receive an ASYNC message
1885         that is originating from the bin itself. 
1886         Fixes races with decodebin2 state changes.
1887
1888         * tests/check/gst/gstbin.c: (GST_START_TEST):
1889         Add some more debug.
1890
1891 2008-08-04  Tim-Philipp Müller  <tim.muller at collabora co uk>
1892
1893         * gst/gsttaglist.c: (_gst_tag_initialize):
1894           Fix typo.
1895
1896 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1897
1898         * gst/gsttaglist.c:
1899           Argh. actually save the text before committing. Now adds
1900           gst_tag_merge_strings_with_comma() to gst_tag_register().
1901
1902 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1903
1904         * gst/gsttaglist.c:
1905         * gst/gsttaglist.h:
1906           Do as tim pointed out and actually register the new tag. Also improve
1907           te docs and use gst_tag_merge_strings_with_comma() method to allow
1908           retriving all keywords merged in one list.
1909
1910 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1911
1912         * configure.ac:
1913         * docs/gst/gstreamer.types:
1914           Revert 'accidential' change of the configure option removal. We still
1915           need to generate the types file in configure --disable-load-save.
1916
1917 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1918
1919         * docs/gst/gstreamer-sections.txt:
1920         * gst/gsttaglist.h:
1921           Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1922
1923 2008-08-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1924
1925         * gst/gstpadtemplate.c:
1926           (gst_pad_template_class_init), (gst_static_pad_template_get),
1927           (gst_pad_template_new), (gst_pad_template_pad_created),
1928           (gst_pad_template_set_property), (gst_pad_template_get_property):
1929           Add "name-template", "direction", "presence" and "caps" properties,
1930           so that gst_pad_template_new() is just a thin wrapper around
1931           g_object_new(), which is better for bindings. (Fixes: #539772)
1932
1933 2008-07-31  Michael Smith <msmith@songbirdnest.com>
1934
1935         * gst/gsturi.c:
1936           Be more liberal in what URIs we accept.
1937           Do not unescape bits of the URI for no apparent reason before passing to
1938           the element. Fixes #545352.
1939
1940 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1941
1942         Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1943
1944         * gst/gst.c:
1945         Include gstconfig.h as macros from it are used. Fixes bug #545607.
1946
1947 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1948
1949         * configure.ac:
1950         * docs/gst/gstreamer-sections.txt:
1951         * docs/gst/gstreamer.types:
1952         * docs/gst/gstreamer.types.in:
1953         * gst/Makefile.am:
1954         * gst/gst.c:
1955         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1956         * gst/gstconfig.h.in:
1957         * gst/gstelement.c: (gst_element_get_index):
1958         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1959         (gst_registry_binary_load_feature),
1960         (gst_registry_binary_read_cache):
1961         * gst/gstregistryxml.c: (load_feature),
1962         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1963         * plugins/Makefile.am:
1964         * tools/gst-indent:
1965         * tools/gst-inspect.c: (print_index_info), (print_element_list),
1966         (print_plugin_features), (print_element_features):
1967         * tools/gst-xmlinspect.c: (print_event_masks),
1968         (print_element_info):
1969         * win32/common/gstconfig.h:
1970         Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1971
1972         Disabling the indexers and URI handler code will only reduce the
1973         required amount of memory by a very small amount but on the other hand
1974         requires much more maintaince work. Apart from that many places of
1975         code are broken when disabling them.
1976
1977         Disabling the enum types doesn't reduce the required amount of memory
1978         by more than a few bytes and makes it hard to fix bugs like #539772,
1979         i.e. use the enums as GObject properties.
1980
1981 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1982
1983         * docs/design/part-TODO.txt:
1984         Add some thoughts and problems with upstream renegotiation.
1985
1986 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1987
1988         * gst/gstpad.c: (gst_pad_acceptcaps_default),
1989         (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1990         Remove silly redundant debug.
1991         Add some more debug info.
1992         Clarify the docs regarding new caps received from pad_alloc.
1993
1994 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1995
1996         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1997         (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1998         Make setting the caps more threadsafe.
1999
2000 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
2001
2002         * docs/design/part-element-transform.txt:
2003         Update docs.
2004
2005 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
2006
2007         * plugins/elements/gstqueue.c: (gst_queue_init),
2008         (gst_queue_acceptcaps):
2009         Add and use a custom acceptcaps function instead of falling back to the
2010         potentially less optimized default implementation.
2011
2012 2008-07-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
2013
2014         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2015           Only sanity-check the buffer size if requested_caps == buffer_caps
2016           (ie. don't take pad caps into account, they're not relevant here)
2017
2018 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
2019
2020         * plugins/elements/gsttee.c:
2021         * plugins/elements/gsttee.h:
2022           Reverting as not everything is clear yet. Needs some general design
2023           work.
2024
2025 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
2026
2027         * ChangeLog:
2028           ChangeLog surgery for tee commit.
2029
2030 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
2031
2032         * docs/gst/gstreamer-sections.txt:
2033           Cleanup section-file.
2034
2035 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
2036
2037         * plugins/elements/gsttee.c:
2038         * plugins/elements/gsttee.h:
2039           Relay tag events in tee. Fixes parts of #474016.
2040           Downgrades 3 reoccurring debugs to log.
2041
2042 2008-07-28  Michael Smith <msmith@songbirdnest.com>
2043
2044         * configure.ac:
2045         * libs/gst/Makefile.am:
2046           Build the net library if we have winsock2.
2047
2048 2008-07-26  Stefan Kost  <ensonic@users.sf.net>
2049
2050         patch by: Luc Pionchon <luc.pionchon@nokia.com>
2051
2052         * docs/manual/advanced-threads.xml:
2053         * docs/manual/diagrams-pipelines.svg:
2054         * docs/manual/hello-world.png:
2055         * docs/manual/linked-elements.png:
2056         * docs/manual/mime-world.png:
2057         * docs/manual/queue.png:
2058         * docs/manual/thread-buffering.png:
2059         * docs/manual/thread-synchronizing.png:
2060           Replace one diagram with two separate ones and updates others.
2061           Fixes #542401.
2062
2063 2008-07-25  Thijs Vermeir  <thijsvermeir@gmail.com>
2064
2065         * gst/gstelement.h:
2066         Fix link in documentation.
2067
2068 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
2069
2070         * gst/gstmessage.c:
2071         Fix confusing documentation.
2072
2073 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
2074
2075         * libs/gst/base/gstbasesrc.h:
2076         revert the changes to the header file for the ABI.
2077
2078 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
2079
2080         * libs/gst/base/gstbasesrc.c:
2081         * libs/gst/base/gstbasesrc.h:
2082         Don't cache the seekable status.
2083         Fixes bug #544174
2084
2085 2008-07-24  Rene Stadler  <mail@renestadler.de>
2086
2087         * docs/manual/advanced-autoplugging.xml: Add fakesink to example
2088         code to close the pipeline graph.  This prevents the program from
2089         printing internal data flow errors.
2090
2091 2008-07-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2092
2093         * docs/manual/basics-bus.xml:
2094         Correct typo. Fixes bug #544320.
2095
2096 2008-07-22  Michael Smith <msmith@songbirdnest.com>
2097
2098         * configure.ac:
2099           Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
2100           Add check (taken from -base) for winsock, adds WIN32_LIBS
2101         * gst/Makefile.am:
2102           Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
2103           winsock.
2104           Define GST_EXPORTS when building libgstreamer (only used on win32)
2105         * gst/gst_private.h:
2106         * gst/gstinfo.h:
2107           Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
2108           for symbols that we need to export in both these files.
2109         * gst/gstpoll.c:
2110           Include gst_private.h higher up to avoid some compile problems on win32.
2111
2112 2008-07-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2113
2114         * gst/gstvalue.c:
2115         Fix typos.
2116
2117 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2118
2119         * gst/gstcaps.c:
2120         Previous commit was wrong NULL caps does not exist
2121         and indicate an error, so also add a FIXME to
2122         gst_caps_is_equal where NULL caps are accepted.
2123
2124 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2125
2126         * gst/gstcaps.c:
2127         Allow passing of NULL to gst_caps_union
2128
2129 2008-07-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2130
2131         * gst/gstghostpad.c:
2132         Add in doc that gst_ghost_pad_set_target can accept
2133         NULL to clear target
2134
2135 2008-07-15  Michael Smith <msmith@songbirdnest.com>
2136
2137         * gst/gstplugin.c:
2138         * gst/gstregistry.c:
2139           GstRegistryPool doesn't exist; don't refer to it in docs.
2140           Don't refer to functions that don't exist in docs, it's
2141           unhelpful.
2142
2143 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2144
2145         * gst/gst.c:
2146         Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
2147
2148 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2149
2150         Patch by: Tristan Matthews <le dot businessman at gmail dot com>
2151
2152         * docs/pwg/building-testapp.xml:
2153         Don't use an undeclared variable in the example program.
2154         Fixes bug #542573.
2155
2156 2008-07-12  Stefan Kost  <ensonic@users.sf.net>
2157
2158         * gst/gstdebugutils.c:
2159           Squeeze ghost-pad links and remove <> from classname labels to save
2160           more horizontal space.
2161
2162 2008-07-11  Stefan Kost  <ensonic@users.sf.net>
2163
2164         * gst/gstdebugutils.c:
2165           Give request and sometimes pads a different shpe style. Condense the
2166           graphs a little more.
2167
2168 2008-07-09  Michael Smith <msmith@songbirdnest.com>
2169
2170         * configure.ac:
2171           Don't require flex and bison if the parser is disabled.
2172
2173 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2174
2175         * libs/gst/controller/gstinterpolationcontrolsource.c:
2176         (_list_find_sorted_custom):
2177         Don't use declarations after statements.
2178
2179 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2180
2181         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
2182         Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
2183         of the the child-added / -removed signals as GstChildProxy
2184         only supports GstObjects.
2185
2186 2008-07-07  Thijs Vermeir  <thijsvermeir@gmail.com>
2187
2188         * gst/gstdebugutils.c:
2189         Fix memleak
2190
2191 2008-07-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2192
2193         Patch by: Alessandro Decina <alessandro at nnva dot org>
2194
2195         * gst/gstpoll.c:
2196         Fix "ignored return value" compiler warning with newer glibc.
2197
2198 2008-07-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2199
2200         * gst/gstchildproxy.c:
2201         Fix copy&paste error in gst_child_proxy_removed() documentation.
2202
2203 2008-07-02  Tim-Philipp Müller  <tim.muller at collabora co uk>
2204
2205         * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
2206           Print error debug message if plugin description fields that should
2207           be set are NULL.
2208
2209         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
2210           Don't crash if the string to serialise is NULL (it really should
2211           not be, but apparently this used to work with the xml registry ...).
2212
2213 2008-07-02  Thijs Vermeir  <thijsvermeir@gmail.com>
2214
2215         * tools/gst-plot-timeline.py:
2216         Fix parsing of log messages
2217
2218 2008-07-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
2219
2220         * win32/common/libgstbase.def::
2221           Sort alphabetically so make check-exports doesn't barf.
2222
2223 2008-07-01  Stefan Kost  <ensonic@users.sf.net>
2224
2225         * gst/gstevent.c:
2226           Use gst_format_get_name() to improve debug output.
2227
2228         * gst/gstpreset.c:
2229           Remove #ifdef'ed code. Add TODO comment.
2230
2231         * gst/gstsegment.c:
2232           Add debug output to ease spotting format != segment.format assertions.
2233
2234 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2235
2236         * tests/check/libs/gdp.c: (gst_dp_suite):
2237         Also enable the GDP unit test again on PPC now that the bug
2238         is fixed.
2239
2240 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2241
2242         * libs/gst/dataprotocol/dataprotocol.c:
2243         Don't write to the same region of memory as a uint64 and uint16
2244         as this breaks strict aliasing rules and apparantly breaks on PPC
2245         and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
2246
2247 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
2248
2249         * libs/gst/controller/gstinterpolationcontrolsource.c:
2250           Optimize list handling. Use own find function. Exploit that fact that
2251           the list is sorted. Also pass back the node before, so that we can
2252           insert quickly. Have a fast path for append.
2253
2254 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
2255
2256         * docs/design/draft-framestep.txt:
2257         * docs/design/part-negotiation.txt:
2258           Fix two typos.
2259
2260 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
2261
2262         * configure.ac:
2263           Show configuration sumary after configure run. Based on patch by
2264           Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
2265
2266 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
2267
2268         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2269
2270         * docs/manual/advanced-autoplugging.xml:
2271         * docs/manual/advanced-threads.xml:
2272         * docs/manual/basics-bins.xml:
2273         * docs/manual/basics-elements.xml:
2274         * docs/manual/basics-helloworld.xml:
2275         * docs/manual/basics-pads.xml:
2276           Add scale factor for pdf output.
2277
2278         * docs/manual/intro-basics.xml:
2279           Switched sections "pads" and "bins" and added a pipeline diagram.
2280
2281         * docs/manual/intro-gstreamer.xml:
2282           Added more info on gstreamer.
2283
2284         * docs/manual/intro-motivation.xml:
2285           Commented out the whole section "current problem", which sounds
2286           historical and somehow osolete; it could be turned in a positive
2287           way and reused to improve the design principles.
2288
2289         * docs/manual/intro-preface.xml:
2290           - Update URLs to library.gnome.org. 
2291           - Do not mention GTK+ in preliminary reading (irrelevant). 
2292           - Mention Plugin Writer's Manual and further reading only in the
2293             previous section.
2294           - Added a list of most relevant GObject/glib topics.
2295
2296         * docs/manual/Makefile.am:
2297         * docs/manual/bin-element-ghost.fig:
2298         * docs/manual/bin-element-ghost.png:
2299         * docs/manual/bin-element-noghost.fig:
2300         * docs/manual/bin-element-noghost.png:
2301         * docs/manual/bin-element.fig:
2302         * docs/manual/bin-element.png:
2303         * docs/manual/filter-element-multi.fig:
2304         * docs/manual/filter-element-multi.png:
2305         * docs/manual/filter-element.fig:
2306         * docs/manual/filter-element.png:
2307         * docs/manual/gstreamer-overview.png:
2308         * docs/manual/hello-world.fig:
2309         * docs/manual/hello-world.png:
2310         * docs/manual/linked-elements.fig:
2311         * docs/manual/linked-elements.png:
2312         * docs/manual/mime-world.fig:
2313         * docs/manual/mime-world.png:
2314         * docs/manual/queue.fig:
2315         * docs/manual/queue.png:
2316         * docs/manual/simple-player.png:
2317         * docs/manual/sink-element.fig:
2318         * docs/manual/sink-element.png:
2319         * docs/manual/src-element.fig:
2320         * docs/manual/src-element.png:
2321         * docs/manual/diagrams-general.svg:
2322         * docs/manual/diagrams-pipelines.svg:
2323           Removed .fig, added .png counterpart.
2324           
2325           Fixes: #539137
2326
2327 2008-06-26  Thijs Vermeir  <thijsvermeir@gmail.com>
2328
2329         * plugins/elements/gstmultiqueue.c:
2330         * plugins/elements/gstmultiqueue.h:
2331         revert extra-size-buffers stuff, caused some race conditions
2332         and extra-size-buffers is not used anymore. Docs needs some updates
2333
2334 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
2335
2336         * win32/common/config.h:
2337         * win32/common/gstenumtypes.c:
2338         * win32/common/gstenumtypes.h:
2339         * win32/common/gstversion.h:
2340           Update win32 files.
2341
2342 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
2343
2344         * gst/gstdebugutils.h: (GstDebugGraphDetails),
2345           (GST_DEBUG_BIN_TO_DOT_FILE):
2346           Add missing Since' markers to gtk-doc blurbs.
2347
2348 2008-06-26  Wim Taymans  <wim.taymans@collabora.co.uk>
2349
2350         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2351         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2352         (set_caps_1), (set_caps_ct1), (transform_ct1),
2353         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2354         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2355         (transform_size_ct2), (buffer_alloc_ct2):
2356         Add some more tests with switching caps in buffer_alloc.
2357
2358 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2359
2360         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2361         (gst_test_trans_class_init), (result_sink_chain),
2362         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2363         (gst_test_trans_push), (gst_test_trans_pop):
2364         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2365         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2366         (set_caps_1), (set_caps_ct1), (transform_ct1),
2367         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2368         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2369         (transform_size_ct2), (buffer_alloc_ct2),
2370         (gst_basetransform_suite):
2371         More tests, prepare for tests with switching caps in buffer_alloc.
2372
2373 2008-06-25  Thijs Vermeir  <thijsvermeir@gmail.com>
2374
2375         * plugins/elements/gstmultiqueue.c:
2376         * plugins/elements/gstmultiqueue.h:
2377         Fix dead-lock in underrun_cb
2378
2379 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2380
2381         * docs/design/part-states.txt:
2382         Fix device open/close docs.
2383
2384 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2385
2386         * ChangeLog:
2387           Mention bugnumber for last commit.
2388
2389 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2390
2391         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2392
2393         * docs/manual/manual.xml:
2394         - Reorganised the previous "introduction" bundle into Foreword,
2395         Introduction, and About GStreamer. The two first are <preface>
2396         docbook elements. The later is the first part of the book.
2397         - added intro-gstreamer.xml (content partially from
2398         intro-preface.xml)
2399         - moved appendix-win32.xml into appendix-integration.xml
2400
2401         * docs/manual/intro-preface.xml: gstreamer section moved...
2402         * docs/manual/intro-gstreamer.xml: ...here. new file.
2403
2404         * docs/manual/appendix-win32.xml: removed file. Content moved...
2405         * docs/manual/appendix-integration.xml: ...here.
2406         
2407         * docs/manual/highlevel-components.xml: section about GstEditor moved...
2408         * docs/manual/appendix-checklist.xml: ...here.
2409         
2410         Fixes: 538764
2411
2412 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2413
2414         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2415
2416         * docs/manual/basics-helloworld.xml:
2417         * docs/manual/hello-world.fig:
2418           - Explicitely include glib.h.
2419           - Do not use global variables.
2420           - Use g_printerr() instead of g_print().
2421           - Minor formating/renaming to increase readibility.
2422           - Renamed new_pad() to on_pad_added()
2423           - Improved explenatory comments.
2424           - renamed ogg parser to ogg demuxer
2425           - Use "autoaudiosink" instead of "alsasink".
2426           Fixes: #538619
2427
2428 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2429
2430         * ChangeLog:
2431           Remove cvs conflict marker.
2432
2433 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2434
2435         * docs/README:
2436           Document that for plgin-docs we extraxt he short-desc from the element
2437           details.
2438
2439         * docs/design/part-states.txt:
2440           Tell that devices should be closed in PAUSED -> READY.
2441
2442         * docs/manual/README:
2443           Document how tests in the manual are handled.
2444
2445         * docs/manuals.mak:
2446           Typo in comment.
2447
2448 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2449
2450         * gst/gstbin.c: (bin_query_latency_fold):
2451         Only care about latency min and max when the sink is actually a live
2452         sink.
2453
2454 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2455
2456         * docs/design/part-block.txt:
2457         Fix typo.
2458
2459         * docs/design/part-element-transform.txt:
2460         Add notes about why transform needs to know input/output sizes.
2461         Add some issues that need to be solved.
2462         Add some more use cases.
2463
2464         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2465         (gst_test_trans_class_init), (result_sink_chain),
2466         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2467         (gst_test_trans_push), (gst_test_trans_pop):
2468         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2469         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2470         (set_caps_1), (set_caps_ct1), (transform_ct1),
2471         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2472         (gst_basetransform_suite):
2473         Add suport for different pad templates and buffer-alloc.
2474         Add more checks for caps and buffer-alloc.
2475         Add checks for proxy buffer alloc.
2476         Add unit test for copy transform.
2477
2478 2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2479
2480         Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2481
2482         * docs/manual/appendix-integration.xml:
2483         * docs/manual/appendix-licensing.xml:
2484         * docs/manual/basics-elements.xml:
2485         * docs/manual/basics-helloworld.xml:
2486         * docs/manual/basics-pads.xml:
2487         * docs/manual/highlevel-components.xml:
2488         * docs/manual/highlevel-xml.xml:
2489         * docs/manual/intro-basics.xml:
2490         * docs/manual/intro-preface.xml:
2491           Typo and formatting fixes (#538594).
2492
2493 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2494
2495         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2496         Fix some memory leaks and uses of object instances that we don't
2497         actually own.
2498
2499 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2500
2501         * plugins/elements/gstmultiqueue.c:
2502         Add functionality to extra-size-buffers property.
2503
2504 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2505
2506         * plugins/elements/gstmultiqueue.c:
2507         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
2508         activate the pads if they are added in STATE_NULL.
2509
2510 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2511
2512         * docs/libs/gstreamer-libs-sections.txt:
2513         Add new API to doc
2514         * libs/gst/check/gstcheck.c:
2515         * libs/gst/check/gstcheck.h:
2516         API: gst_check_teardown_pad_by_name
2517
2518 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2519
2520         * libs/gst/check/gstcheck.c:
2521         * libs/gst/check/gstcheck.h:
2522         Also setup request pads and allow setup pads by name (#537812)
2523         API: gst_check_setup_src_pad_by_name
2524         API: gst_check_setup_sink_pad_by_name
2525
2526 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2527
2528         * tests/check/gst/gstbuffer.c:
2529         * tests/check/pipelines/parse-launch.c:
2530           Use HAVE_VALGRIND_H some more.
2531
2532 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2533
2534         * scripts/cvs-update.sh:
2535           Pass arguments to make.
2536           Run autoregen.sh if Makefile is not there.
2537
2538 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2539
2540         * configure.ac:
2541         * gst/gstinfo.c:
2542           Don't assume that <valgrind/valgrind.h> exists just because
2543           the binary is there.
2544
2545 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2546
2547         * tests/check/Makefile.am:
2548         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2549         (gst_test_trans_class_init), (gst_test_trans_init),
2550         (gst_test_trans_set_data), (result_sink_chain),
2551         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
2552         (gst_test_trans_pop):
2553         * tests/check/libs/transform1.c: (GST_START_TEST),
2554         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
2555         Add some test basetransform element and the beginnings of various
2556         unit tests for it.
2557
2558 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2559
2560         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2561         Increase code readability.
2562         Don't try to compare buffer offsets when ther are invalid.
2563
2564 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2565
2566         * docs/design/Makefile.am:
2567           Dist some more design docs.
2568
2569         * docs/random/moving-plugins:
2570           Small addition: good plugins mustn't have functional code
2571           within assertion macros.
2572
2573 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2574
2575         * docs/design/draft-framestep.txt:
2576         Some ideas about a framestep API
2577
2578         * docs/design/part-element-transform.txt:
2579         Start design and use cases for basetransform in order to get it
2580         fixed soon.
2581
2582 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2583
2584         * gst/gsttaglist.h:
2585           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2586           be in UTF-8 encoding.
2587
2588 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2589
2590         * gst/gstbus.c:
2591           Make it known that gst_bus_poll() is pure evil (fixes #538810).
2592
2593 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2594
2595         * plugins/elements/gstcapsfilter.c:
2596         * plugins/elements/gstfakesink.c:
2597         * plugins/elements/gstfakesrc.c:
2598         * plugins/elements/gstfdsink.c:
2599         * plugins/elements/gstfdsrc.c:
2600         * plugins/elements/gstfilesink.c:
2601         * plugins/elements/gstfilesrc.c:
2602         * plugins/elements/gstidentity.c:
2603         * plugins/elements/gstmultiqueue.c:
2604         * plugins/elements/gstqueue.c:
2605         * plugins/elements/gsttee.c:
2606         * plugins/elements/gsttypefindelement.c:
2607           Remove short_description. Add basic docs for gsttypefindelement.
2608           Simplify markup for fakesrc/fdsrc.
2609
2610 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2611
2612         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2613         Added Since doc.
2614
2615 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2616
2617         Patch by: Joel Larsson <tilljoel at gmail dot com>
2618
2619         * docs/plugins/gstreamer-plugins.args:
2620         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2621         (gst_fd_src_init), (gst_fd_src_update_fd),
2622         (gst_fd_src_set_property), (gst_fd_src_get_property),
2623         (gst_fd_src_create):
2624         * plugins/elements/gstfdsrc.h:
2625         Add timeout property like udpsrc. Fixes #538628.
2626         Add some more docs and example pipelines.
2627
2628 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2629
2630         * docs/libs/gstreamer-libs-sections.txt:
2631         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2632         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2633         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2634         (gst_base_sink_do_sync):
2635         * libs/gst/base/gstbasesink.h:
2636         * win32/common/libgstbase.def:
2637         Add method to allow sinks to specify additional delay between the sync
2638         times and the actual rendering of the data.
2639         API: gst_base_sink_set_render_delay()
2640         API: gst_base_sink_get_render_delay()
2641
2642 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
2643
2644         * configure.ac:
2645         Bump version number back to dev -> 0.10.20.1
2646
2647 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
2648
2649         * docs/gst/gstreamer-sections.txt:
2650         * gst/gsttaglist.c: (_gst_tag_initialize):
2651         * gst/gsttaglist.h:
2652         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2653         Fixes bug #538568.
2654
2655 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2656
2657         * libs/gst/controller/gstcontroller.c:
2658           Revert one change, that make ret value possible uninitialized.
2659
2660 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2661
2662         * libs/gst/controller/gstcontroller.c:
2663           Use freeze/thaw notify to sync notify emission a bit (its also more
2664           efficient). Move debug output to LOG (is called a lot in a loop).
2665           Always unset g_values if the have been initialized.
2666
2667 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2668
2669         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2670         (gst_base_sink_wait_eos), (gst_base_sink_event):
2671         If we have not seen a buffer before EOS, use the segment values to
2672         report the current position instead of invalid positions.
2673
2674 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2675
2676         * docs/plugins/tmpl/.cvsignore:
2677         * tests/check/gst/.cvsignore:
2678           Ignore more.
2679
2680 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2681
2682         * libs/gst/controller/gstinterpolation.c:
2683         * libs/gst/controller/gstinterpolationcontrolsource.c:
2684         * tests/check/libs/controller.c:
2685           Rewrite handling of default values. Fix overflow with unsigned types
2686           in linear interpolation. Remove now obsolete _first_value() function.
2687           Add more tests. Fixes #538201.
2688
2689 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2690
2691         * libs/gst/base/gstbasetransform.c:
2692         (gst_base_transform_class_init), (gst_base_transform_init),
2693         (gst_base_transform_transform_caps),
2694         (gst_base_transform_prepare_output_buffer):
2695         Add debug info.
2696         When a buffer is writable, its metadata is also writable so we don't
2697         need to subbuffer (which then makes the buffer not-writable anymore).
2698
2699 === release 0.10.20 ===
2700
2701 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
2702
2703         * configure.ac:
2704           releasing 0.10.20, "You Crazy Diamond"
2705
2706 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2707
2708         * configure.ac:
2709         0.10.19.3 pre-release
2710
2711 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2712
2713         * configure.ac:
2714         * gst/gstpreset.c:
2715         Rename DATADIR to GST_DATADIR to avoid build problems
2716         on win32. Patch By: David Schleef <ds@schleef.org>
2717         Fixes: #536857
2718
2719 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
2720
2721         * configure.ac:
2722         Explicitely link with -ldl if dladdr() is found there. Before it was
2723         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2724         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2725
2726 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2727
2728         * gst/gsterror.c: (_gst_stream_errors_init):
2729           Fix typo (spotted by Fabricio Godoy, #536723).
2730
2731 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
2732
2733         * configure.ac:
2734         0.10.19.2 pre-release
2735
2736 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2737
2738         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2739         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2740         Add some debug.
2741         Make sure we don't generate invalid QoS messages.
2742
2743 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2744
2745         * gst/gstevent.c: (gst_event_new_qos):
2746         Add some assert and docs for invalid input to the qos function.
2747
2748 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
2749
2750         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2751         (gst_base_sink_get_position):
2752         The reported position must always be smaller than the last seen
2753         timestamps (or timestamp + duration for reverse).
2754
2755 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
2756
2757         Patch by: Rob Bradford <rob at robster dot org dot uk>
2758
2759         * gst/gstregistry.c: (gst_registry_scan_path_level):
2760         Don't recurse into .debug directories as some distros install
2761         the debugging symbols next to the plugins in .debug directories
2762         and dlopen() crashes on them sometimes. Fixes bug #508070.
2763
2764         Add FIXME for 0.11 to not recurse into directories at all because
2765         it's very inconsistent to the behaviour of other PATH environment
2766         variables.
2767
2768 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2769
2770         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2771         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2772         Fix position query range checks in reverse playback.
2773
2774 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
2775
2776         * gst/gstelement.c:
2777         * gst/gstelement.h:
2778         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2779         clear of the reference to the resulting pad must be released later
2780         or not, resulting in possible leaks. Fixes bug #533865.
2781
2782 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2783
2784         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2785
2786         * gst/gstelementfactory.c:
2787         Small doc fix. Fixes #535285.
2788
2789 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2790
2791         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2792
2793         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2794         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2795         (gst_base_src_loop), (gst_base_src_set_flushing),
2796         (gst_base_src_change_state):
2797         Make sending an EOS event to the basesrc non-blocking even if the
2798         implementation does blocking waits in the create function. This is done
2799         by unlocking the create function when EOS is sent.
2800         Fixes #535218.
2801
2802 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2803
2804         * tools/gst-inspect.c: (print_element_properties_info):
2805         If possible print the element type of GValueArray properties.
2806
2807 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2808
2809         * gst/gstiterator.c:
2810         Remove an unused field from the private GstListIterator struct.
2811
2812 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2813
2814         * libs/gst/controller/gstcontroller.c:
2815           Add parameter guards.
2816
2817 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2818
2819         * tests/check/gst/gstpipeline.c:
2820           Revert test change and add comment why it should not work.
2821
2822 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2823
2824         * tests/check/gst/gstpipeline.c:
2825           Extending the test a little to verify that we also get the NULL state-
2826           change message.
2827
2828 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2829
2830         * gst/gstpreset.c: (gst_preset_default_get_meta),
2831           (gst_preset_get_preset_names), (gst_preset_get_property_names),
2832           (gst_preset_load_preset), (gst_preset_save_preset),
2833           (gst_preset_rename_preset), (gst_preset_delete_preset),
2834           (gst_preset_set_meta):
2835           Add Since: markers to docs blurbs.
2836
2837         * win32/common/libgstreamer.def:
2838           Add recently-added API.
2839
2840 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2841
2842         Patch by: Stefan Kost  <ensonic@users.sf.net>
2843
2844         * configure.ac:
2845         Add DATADIR for storing presets.
2846
2847         * docs/gst/gstreamer-docs.sgml:
2848         * docs/gst/gstreamer-sections.txt:
2849         * docs/gst/gstreamer.types.in:
2850         Add GstPreset to docs.
2851
2852         * gst/Makefile.am:
2853         * gst/gst.h:
2854         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2855         (preset_open_and_parse_header), (preset_parse_version),
2856         (preset_merge), (preset_get_keyfile),
2857         (gst_preset_default_get_preset_names),
2858         (gst_preset_default_get_property_names),
2859         (gst_preset_default_load_preset),
2860         (gst_preset_default_save_presets_file),
2861         (gst_preset_default_save_preset),
2862         (gst_preset_default_rename_preset),
2863         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2864         (gst_preset_default_get_meta), (gst_preset_default_randomize),
2865         (gst_preset_default_reset), (gst_preset_get_preset_names),
2866         (gst_preset_get_property_names), (gst_preset_load_preset),
2867         (gst_preset_save_preset), (gst_preset_rename_preset),
2868         (gst_preset_delete_preset), (gst_preset_set_meta),
2869         (gst_preset_get_meta), (gst_preset_class_init),
2870         (gst_preset_base_init), (gst_preset_get_type):
2871         * gst/gstpreset.h:
2872         Add GstPreset to core. Fixes #396779
2873
2874         * tests/check/Makefile.am:
2875         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2876         (gst_preset_test_set_property), (gst_preset_test_class_init),
2877         (gst_preset_test_base_init), (gst_preset_test_get_type),
2878         (gst_preset_test_plugin_init), (GST_START_TEST),
2879         (remove_preset_file), (test_setup), (test_teardown),
2880         (gst_preset_suite):
2881         Add GstPreset unit tests.
2882
2883 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2884
2885         * gst/gstpad.c: (gst_pad_event_default_dispatch):
2886         The default event function on a sinkpad should return TRUE when
2887         there are no internal links but should collect the return values from
2888         the internal links otherwise.
2889
2890 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2891
2892         * plugins/elements/gsttypefindelement.c:
2893         (gst_type_find_element_src_event),
2894         (gst_type_find_element_handle_event):
2895         Use faster and safer _pad_push_event().
2896
2897 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2898
2899         * docs/gst/gstreamer-sections.txt:
2900         * gst/gstutils.c: (element_find_unlinked_pad),
2901           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2902         * gst/gstutils.h:
2903           API: add gst_bin_find_unlinked_pad()
2904           API: deprecate gst_bin_find_unconnected_pad() (#401456)
2905
2906 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
2907
2908         * gst/gstclock.c:
2909         * gst/gstclock.h:
2910         * gst/gsttask.c:
2911         * gst/gsttask.h:
2912         Fixed a bunch of typos.
2913
2914 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2915
2916         * gst/gstpad.h:
2917         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2918           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2919           (gst_parse_bin_from_description_full):
2920         * gst/gstutils.h:
2921           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2922
2923 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2924
2925         * docs/pwg/advanced-tagging.xml:
2926           Small docs update, can't be bothered to rewrite the nonsensical
2927           examples right now.
2928
2929 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2930
2931         * gst/gstevent.h:
2932           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2933
2934 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2935
2936         * gst/parse/grammar.y:
2937           Remove unneeded casts.
2938
2939 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2940
2941         * gst/parse/grammar.y:
2942         * tests/check/pipelines/parse-launch.c:
2943           Get all missing elements from a parse launch string if possible
2944           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2945
2946 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2947
2948         * tests/check/Makefile.am:
2949         * tests/check/pipelines/parse-launch.c:
2950           Add some unit tests for the new gst_parse_launch*_full() API.
2951           (Exposes a previously-existing memory leak in the error code
2952           path, so adding to VALGRIND_TO_FIX for now).
2953
2954 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2955
2956         * docs/gst/gstreamer-sections.txt:
2957         * gst/gst.c: (init_post):
2958         * gst/gst_private.h: (_GstParseContext):
2959         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2960           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2961           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2962           (gst_parse_launch_full):
2963         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2964           (GstParseFlags), (GstParseContext):
2965         * gst/gstutils.c: (gst_parse_bin_from_description),
2966           (gst_parse_bin_from_description_full):
2967         * gst/gstutils.h:
2968         * gst/parse/grammar.y:
2969         * gst/parse/types.h:
2970         * win32/common/libgstreamer.def:
2971           Add new gst_parse_*_full API (#528178):
2972           API: gst_parse_launch_full()
2973           API: gst_parse_launchv_full()
2974           API: gst_parse_bin_from_description_full()
2975           API: gst_parse_context_new()
2976           API: gst_parse_context_free()
2977           API: gst_parse_context_get_missing_elements()
2978
2979 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
2980
2981         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2982
2983         * docs/faq/gst-uninstalled:
2984           Also support ffmpeg in gst-uninstalled.
2985
2986 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2987
2988         * configure.ac:
2989         After discussion on IRC use the binary registry as default
2990         but allow to disable it with --disable-binary-registry.
2991
2992         * win32/common/libgstreamer.def:
2993         Add the two new symbols for the binary registry.
2994
2995 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
2996
2997         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2998         * gst/gstutils.c: (gst_parse_bin_from_description):
2999         * gst/parse/grammar.y: (graph):
3000           More guards against bad input; typo fix; some minor clean-ups.
3001
3002 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
3003
3004         Patch by: Sjoerd Simons <sjoerd at luon dot net>
3005
3006         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3007         If nothing else can be used, use the last buffer's start time as
3008         the segment's last stop. Fixes bug #534258.
3009
3010 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
3011
3012         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
3013           Move size sanity check to the right place: downstream may return
3014           a buffer with a smaller size if the buffer caps are different than
3015           the requested ones, as may happen when doing reverse negotiation.
3016
3017 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3018
3019         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
3020         (gst_file_sink_render):
3021         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
3022         (gst_file_src_start):
3023         Small cleanups. Add note adbout g_fopen() on windows and why we don't
3024         use it yet.
3025
3026 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3027
3028         * gst/gstpad.c: (gst_pad_load_and_link):
3029         * gst/gstutils.c: (gst_element_link_pads),
3030         (gst_element_unlink_pads):
3031         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
3032         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
3033         (gst_check_teardown_sink_pad),
3034         (gst_check_element_push_buffer_list):
3035         * tests/check/elements/fakesink.c: (GST_START_TEST):
3036         * tests/check/elements/filesink.c:
3037         * tests/check/elements/filesrc.c: (GST_START_TEST):
3038         * tests/check/elements/multiqueue.c: (setup_multiqueue),
3039         (mq_sinkpad_to_srcpad):
3040         * tests/check/elements/tee.c: (GST_START_TEST):
3041         * tests/check/generic/sinks.c: (GST_START_TEST):
3042         * tests/check/gst/gstbin.c: (GST_START_TEST):
3043         * tests/check/gst/gstevent.c: (GST_START_TEST):
3044         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3045         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
3046         * tests/check/gst/gstquery.c: (GST_START_TEST):
3047         * tests/check/gst/gstutils.c: (GST_START_TEST):
3048         * tests/check/libs/basesrc.c: (GST_START_TEST):
3049         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
3050         (gst_parse_test_element_change_state):
3051         Don't use gst_element_get_pad().
3052
3053 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
3054
3055         * docs/Makefile.am:
3056         Fix installing plugin documentation when gtk-doc is disabled.
3057
3058 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3059
3060         * docs/manual/advanced-autoplugging.xml:
3061         * docs/manual/basics-helloworld.xml:
3062         * docs/manual/basics-pads.xml:
3063         * docs/manual/highlevel-components.xml:
3064         Avoid using a bad function in the example code.
3065
3066 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3067
3068         * gst/gstclock.c: (gst_clock_set_calibration):
3069         Fix debug of the new clock rate.
3070
3071 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
3072
3073         * win32/common/libgstbase.def:
3074         Add gst_base_sink_wait_clock() to the exported symbols.
3075
3076 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
3077
3078         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
3079
3080         * libs/gst/base/gstbasetransform.c:
3081         (gst_base_transform_sink_event):
3082         Unref events that the GstBaseTransform::event vfunc didn't want to
3083         have forwarded by the base class. Closes a leak in identity.
3084         Fixes bug #446763.
3085
3086 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
3087
3088         * docs/libs/gstreamer-libs-sections.txt:
3089         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
3090         * libs/gst/base/gstbasesink.h:
3091         Expose a method that was previously used internally to synchronize
3092         against the clock because it can be useful for subclasses too.
3093         API: GstBaseSink::gst_base_sink_wait_clock()
3094
3095 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
3096
3097         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
3098           Add sanity check to make sure we don't get smaller buffers
3099           than requested (and fallback to normal buffer alloc if we do).
3100
3101 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
3102
3103         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
3104         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
3105         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
3106         Refactor adjusting the running_time with latency and offset into a
3107         separate method.
3108         When doing clipping, we still want to use the subclass get_times method,
3109         just in case the DURATION or TIMESTAMP are not set.
3110
3111 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
3112
3113         * docs/gst/gstreamer-sections.txt:
3114         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
3115         * gst/gsttypefind.h:
3116         * win32/common/libgstreamer.def:
3117           API: add gst_type_find_suggest_simple(), #533740.
3118
3119 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
3120
3121         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
3122           Use right error code when typefinding fails, so we can use
3123           the default (translated) error messages.
3124
3125 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
3126
3127         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
3128         (gst_base_src_start):
3129         When the subclass did not set caps on outgoing buffers, configure the
3130         caps we negotiated on the source pad.
3131         When the typefind helper does not find caps, error out properly instead
3132         of doing things with NULL caps.
3133
3134 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
3135
3136         * gst/gsttypefind.h:
3137           Tabs to spaces, oh yes!
3138
3139 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
3140
3141         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
3142           Add David's and Benjamin's tests for array intersection to the
3143           unit test suite (#147931).
3144
3145 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
3146
3147         * gst/gstevent.c:
3148           Document that gst_event_new_tag() and gst_event_new_navigation()
3149           take ownership of the taglist/structure passed to them. (#533635).
3150
3151 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
3152
3153         * docs/Makefile.am:
3154         Don't descend into the plugins dir if plugin docs building
3155         is disabled.
3156
3157         * docs/README:
3158         Add a note about the new type:GTypeName syntax for the plugin
3159         documentation .types file.
3160
3161 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
3162
3163         * gst/gstmessage.c: (gst_message_new_error),
3164         (gst_message_new_warning), (gst_message_new_info):
3165         * gst/gstmessage.h:
3166         Mark the debug string parameters as const. Fixes bug #533490.
3167
3168 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
3169
3170         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
3171         Sort buffer cache list by end offsets. This makes sure that we don't
3172         stop to search for a cached buffer that contains the requested data
3173         too early.
3174         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
3175         more efficient. Fixes bug #459862.
3176
3177 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
3178
3179         * gst/gstinfo.c:
3180           Explain why we copy the list.
3181
3182         * gst/gstpipeline.c:
3183           Improve docs.
3184
3185         * gst/gstutils.c:
3186           Add one debug-log statement to help tracing probelms with linking pads.
3187
3188 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
3189
3190         * tests/check/gst/gstinfo.c:
3191         Add a test for removing the default log handler. Seems to fail under
3192         windows.
3193
3194 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
3195
3196         * gst/gstpad.c: (gst_pad_peer_accept_caps):
3197         Release pad lock before calling out to avoid a possible deadlock.
3198
3199 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
3200
3201         * gst/parse/grammar.y:
3202         Remove unneeded value unset.
3203
3204         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3205         Add unit test for de/serialization of caps.
3206
3207 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
3208
3209         * plugins/elements/gstfakesink.c:
3210         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
3211         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
3212         (gst_fake_src_class_init):
3213         Use custom marshalers that take GstMiniObject as first parameter.
3214         Using OBJECT as parameter while a GstMiniObject is given will lead
3215         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
3216
3217 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
3218
3219         * plugins/elements/gsttypefindelement.c:
3220         (gst_type_find_element_handle_event),
3221         (gst_type_find_element_send_cached_events),
3222         (gst_type_find_element_change_state):
3223         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
3224         immediately.
3225
3226 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
3227
3228         * plugins/elements/gsttypefindelement.c:
3229         (gst_type_find_handle_src_query), (stop_typefinding),
3230         (gst_type_find_element_handle_event),
3231         (gst_type_find_element_send_cached_events),
3232         (gst_type_find_element_change_state):
3233         Forward FLUSH_START events immediately and clean up instead of
3234         caching them.
3235
3236 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
3237
3238         Patch by: Sjoerd Simons <sjoerd at luon dot net>
3239
3240         * libs/gst/base/gstbasetransform.c:
3241         (gst_base_transform_buffer_alloc):
3242         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
3243         fall back to default negotiation in the chain function if the caps
3244         are different from what was requested. Fixes bug #526768.
3245
3246 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
3247
3248         * gst/gstsegment.c:
3249         * tests/check/gst/gstsegment.c:
3250           No, let's not use g_slice_{dup|copy} here, since they only exist
3251           since GLib 2.14 and we still depend only on >= 2.12. Also add
3252           unit test for gst_segment_copy().
3253
3254 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
3255
3256         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
3257           Try to fix 'dereferencing type-punned pointer will break strict
3258           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
3259           changed the default GType typedef from gulong to gsize at some point,
3260           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
3261           g_once_* functions all take a gsize * though, so work around the type
3262           mismatch for C++ by doing everything in gsize and casting to GType
3263           later.
3264
3265 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
3266
3267         * plugins/elements/gstmultiqueue.c:
3268         Add documentation for the signals to push our core plugin docs
3269         coverage back up to 100%.
3270
3271 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3272
3273         * gst/gstinfo.h (GST_FUNCTION):
3274           Reverted GST_FUNCTION to the old version as we don't want the
3275           full signature in C++ code. Also added support for MSVC.
3276
3277 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3278
3279         * gst/gstutils.h:
3280         Intern the type name string, similar to what G_DEFINE_TYPE does.
3281
3282 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3283
3284         * gst/gstutils.h:
3285         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
3286
3287 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3288
3289         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
3290
3291         * libs/gst/base/gstbasetransform.c:
3292         (gst_base_transform_buffer_alloc):
3293         Don't passthrough buffer allocation too easily if the caps change.
3294         This breaks when working in passthrough mode and upstream changes
3295         it's caps. Fixes bug #526768.
3296
3297 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3298
3299         * gst/gstinfo.c (gst_debug_log_valist):
3300           Improved the __FILE__ part of debug output for MSVC.
3301
3302 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3303
3304         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
3305           Declaration after statement fix for compilers like MSVC.
3306
3307 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3308
3309         * win32/common/config.h.in:
3310           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
3311           use the real thing than having "???" unconditionally.
3312
3313 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3314
3315         * gst/gstinfo.h (GST_FUNCTION):
3316           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
3317
3318 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3319
3320         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
3321         Small code cleanup.
3322
3323         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3324         (gst_base_sink_set_flushing):
3325         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3326         Fix some comments.
3327
3328 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3329
3330         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3331         (gst_fake_src_init), (gst_fake_src_set_property),
3332         (gst_fake_src_get_property), (gst_fake_src_start):
3333         * plugins/elements/gstfakesrc.h:
3334         Added format property to control the format of the newsegment events.
3335         API: GstFakeSrc:format
3336
3337 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
3338
3339         * win32/common/libgstreamer.def:
3340         Add gst_pad_has_name() to the exported symbols.
3341
3342 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
3343
3344         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
3345         * libs/gst/base/gstbasetransform.c:
3346         (gst_base_transform_prepare_output_buffer):
3347         Don't allow negative sizes when allocating new buffers.
3348         Fixes bug #461253.
3349
3350 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
3351
3352         Patch by: Sjoerd Simons <sjoerd at luon net>
3353
3354         * gst/gstbus.c: (gst_bus_source_dispatch):
3355           Don't print a warning if the queue is empty when we try to pop
3356           here. That could happen if another thread or callback set the
3357           bus to flushing between the source's check/prepare and the
3358           dispatch being called (#531538).
3359
3360 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
3361
3362         * plugins/elements/gstmultiqueue.c:
3363           Small docs fix.
3364         
3365 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
3366
3367         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3368         Add unit test for deserializing uint64s and check some really large
3369         numbers in the int64 test.
3370
3371 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
3372
3373         * tools/gst-inspect.c: (n_print), (print_hierarchy),
3374         (print_interfaces), (print_element_properties_info),
3375         (print_signal_info):
3376         Use "%s" as format string instead of printing strings directly.
3377
3378 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
3379
3380         * gst/gstclock.c: (gst_clock_set_calibration):
3381         Make some checks actually useful.
3382
3383         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3384         Remove some unused code. Unsigned integers tend to be >= 0.
3385
3386 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3387
3388         * gst/gstminiobject.c: (gst_value_get_mini_object):
3389           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
3390           function was not in the unscheduled 0.10.19 release.
3391
3392 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3393
3394         * gst/gstregistry.c: (gst_registry_scan_path_level):
3395           Only print one log message per non-plugin file.
3396
3397 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3398
3399         * gst/gstinfo.c: (gst_debug_log_default):
3400           Fix alignment of debug log columns on 64-bit.
3401
3402 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3403
3404         * docs/libs/Makefile.am:
3405         * docs/libs/gstreamer-libs-sections.txt:
3406           Ignore private controller headers for docs.
3407
3408 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
3409
3410         * libs/gst/controller/gstcontrollerprivate.h:
3411         * libs/gst/controller/gsthelper.c:
3412         * libs/gst/controller/gstinterpolation.c:
3413         * libs/gst/controller/gstinterpolationcontrolsource.c:
3414         (gst_interpolation_control_source_set_interpolation_mode):
3415         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
3416         * libs/gst/controller/lib.c:
3417         Move some private declarations into private headers.
3418
3419 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
3420
3421         * gst/gstdebugutils.c: (debug_dump_element_pad):
3422         Remove some code that is unused after Stefan's refactoring and uses
3423         uninitialized variables now, resulting in a compiler warning.
3424
3425 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
3426
3427         * gst/gstregistry.c: (gst_registry_scan_path_level):
3428           Run g_str_has_suffix() only on the file name, not the
3429           entire file path.
3430
3431 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
3432
3433         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
3434           Since we're not called only from the chain function any longer,
3435           we can't assume that there's always data in the queue, so move
3436           the is_full check to the beginning of the loop (otherwise we'd
3437           hit the assert when changing the limit properties while the
3438           queue is empty or not running yet).
3439           Also, only set a discont if items were actually removed from
3440           the queue.
3441
3442         * tests/check/elements/queue.c: (test_leaky_downstream):
3443           Test case for the above.
3444
3445 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
3446
3447         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
3448
3449         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
3450         (gst_queue_chain), (queue_capacity_change),
3451         (gst_queue_set_property):
3452         When changing thr max capacity of a leaky queue, immediatly drop buffers
3453         instead of waiting for a push on the sinkpad. Fixes #530637.
3454
3455 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
3456
3457         * gst/gstdebugutils.c:
3458           Refactor code and fix handling of ghostpads and their proxypads.
3459
3460 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3461
3462         * docs/gst/gstreamer-sections.txt:
3463         * gst/gstevent.c: (gst_event_has_name):
3464         * gst/gstevent.h:
3465         * tests/check/gst/gstevent.c: (GST_START_TEST):
3466         Add method to conveniently check the name of a custom event with
3467         gst_event_has_name().
3468         Reformat the event docs so that related methods are put together instead
3469         of the default alphabetical sort.
3470         Update unit test with new method.
3471         API: GstEvent::gst_event_has_name()
3472
3473 2008-04-28  Michael Smith <msmith@songbirdnest.com>
3474
3475         * libs/gst/check/Makefile.am:
3476           Don't add an explicit link to libgstreamer-0.10.la; it's already
3477           included in GST_OBJ_LIBS.
3478
3479 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
3480
3481         * gst/gst.c:
3482         Register GstClock type from a type-safe context. Fixes bug #530317.
3483
3484 2008-04-25  Michael Smith <msmith@songbirdnest.com>
3485
3486         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
3487         * tools/gst-run.c:
3488           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
3489
3490 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3491
3492         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3493         (gst_bin_dispose):
3494         Use the GLib stuff to create a private structure.
3495         Add some locking around some dispose methods to make them a little
3496         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
3497
3498 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3499
3500         * libs/gst/base/gstbasesink.h:
3501         * libs/gst/base/gstbasesrc.h:
3502         * libs/gst/base/gstbasetransform.h:
3503         * libs/gst/base/gstcollectpads.h:
3504           Fix doc typos and unify caps a bit.
3505
3506 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3507
3508         * tools/gst-launch.1.in:
3509           Forgot to also add the envvar docs here.
3510
3511 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
3512
3513         * gst/gst.c: (init_post), (gst_deinit):
3514         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
3515           (test_concurrent_create), (gst_pipeline_suite):
3516           Ref some more classes in gst_init() to work around thread-safety
3517           issues in pre-2.16 GLibs, and add basic unit test.
3518
3519 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3520
3521         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3522         (gst_base_sink_send_event):
3523         Rearrange the latency query code. We always want to do the upstream
3524         query, even if we are not live so that the upstream elements can get the
3525         latency results too. If we fail doing the query and we are live, we
3526         return TRUE afterwards.
3527
3528 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3529
3530         patch by: Jason Zhao <e3423c@motorola.com>
3531
3532         * docs/gst/running.xml:
3533         * gst/gst.c:
3534           Enable/disable scan_and_update_registry() based on commandline switch
3535           or environment variable. Fixes #520468.
3536           
3537         * ChangeLog:
3538           Fix typo in my previous commit.
3539
3540 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3541
3542         * gst/gstregistrybinary.c:
3543           Add a warning if we hit unhandled factories when saving.
3544           More debug logging detail, but move to LOG category.
3545
3546 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3547
3548         * gst/gstregistry.c:
3549           Tell the *truth* when improving the documentation.
3550
3551 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
3552
3553         * gst/gstelementfactory.c: (gst_element_factory_make):
3554         Unref the factory after it was used the last time, not before.
3555
3556         * gst/gstindexfactory.c: (gst_index_factory_make):
3557         Improve debugging a bit and don't leak a ref to the index factory with
3558         each call.
3559
3560 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3561
3562         * gst/gstregistry.c:
3563           Improve the documentation.
3564
3565 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3566
3567         * gst/gstsegment.c:
3568           The glib macro seems to be borked. Use g_slice_copy directly and cast
3569           in the hope that this fixes the warning on 64bit.
3570
3571 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3572
3573         * gst/gstsegment.c:
3574           Document the new function. Use g_slice_dup() (no need for
3575           gst_segment_init()).    
3576
3577 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3578
3579         * docs/gst/gstreamer-sections.txt:
3580           Move GParamSepc macros to standart section.
3581   
3582         * gst/gstbin.c:
3583           Dn't document _get_type - its in private section in docs anyway and
3584           this doc-blob was incomplete.
3585
3586         * gst/gstclock.h:
3587           Fix wrong symbol names in docs.
3588
3589         * gst/gstmacros.h:
3590           Add once doc sentence.
3591
3592         * tests/check/gst/.cvsignore:
3593           Ignore more.
3594
3595 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3596
3597         * docs/gst/Makefile.am:
3598           And remove those libs here.
3599
3600 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
3601
3602         * docs/libs/Makefile.am:
3603           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3604
3605 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3606
3607         Patch by: Olivier Crete <tester at tester dot ca>
3608
3609         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3610         Add the min-threshold to the min latency if possible. Fixes #529148.
3611
3612 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3613
3614         * docs/gst/gstreamer.types.in:
3615           Stupid editor, I removed that line as it should go in yet.
3616
3617 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3618
3619         * docs/gst/gstreamer.types.in:
3620         * docs/libs/gstreamer-libs.types:
3621           Remove library types fro core docs and have them in libs docs.
3622           Reformat and cleanup. Add comment for miniobject types.
3623
3624 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
3625
3626         * gst/gsturi.c: (gst_uri_get_protocol):
3627           Fix leak: g_strdown operates on the string in place, while
3628           g_ascii_strdown() returns a newly-allocated string.
3629
3630 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
3631
3632         * tools/gst-inspect.c: (print_uri_handler_info),
3633         (print_element_info):
3634         Print the URI protocols and the URI type supported by the element.
3635
3636 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3637
3638         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3639         Use g_value_take_string() instead of the deprecated
3640         g_value_set_string_take_ownership().
3641
3642 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3643
3644         * gst/gstregistrybinary.c: (_gst_crc32):
3645         Return the old CRC instead of 0 if we give a NULL buffer
3646         or a buffer with a length of 0.
3647
3648 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3649
3650         * gst/gsturi.c: (gst_uri_protocol_check_internal),
3651         (gst_uri_get_protocol), (gst_uri_has_protocol),
3652         (gst_uri_construct), (gst_uri_handler_set_uri):
3653         A valid URI scheme can also include '+', '-' and '.' additional
3654         to alphanumeric characters as per RFC 3986 Section 3.1.
3655
3656         Handle URI schemes case insensitive in all places and convert
3657         to lower-case when constructing an URI or setting an URI with
3658         the GstURIHandler interface. Fixes bug #528868.
3659         All elements can still assume (as before) that they will
3660         get passed URIs with a lower-case URI scheme by the GstURIHandler
3661         interface.
3662
3663 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
3664
3665         * gst/gstcaps.c: (gst_static_caps_get):
3666         * gst/gstclock.c: (gst_clock_entry_new):
3667           Don't use g_atomic_set_int where it's not needed.
3668
3669 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
3670
3671         * gst/gstvalue.c: (gst_value_deserialize_caps):
3672         * gst/parse/grammar.y:
3673         Fix 2 caps leaks.
3674
3675 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3676
3677         * gst/gstutils.c: (gst_atomic_int_set):
3678         Use g_atomic_int_set() here too instead of assignment +
3679         g_atomic_int_get().
3680
3681 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3682         
3683         * gst/gstutils.c:
3684         * gst/gstutils.h:
3685         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3686         now that we depend on new enough GLib.
3687
3688         * gst/gstcaps.c: (gst_static_caps_get):
3689         * gst/gstclock.c: (gst_clock_entry_new):
3690         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3691         (gst_debug_set_default_threshold), (_gst_debug_category_new),
3692         (gst_debug_category_set_threshold):
3693         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3694         (gst_base_sink_set_qos_enabled):
3695         * libs/gst/net/gstnettimeprovider.c:
3696         (gst_net_time_provider_set_property):
3697         Use g_atomic_int_set() instead of gst_atomic_int_set().
3698
3699 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3700
3701         * gst/gstquery.c:
3702           Also use G_GINT64_CONSTANT for the queries.
3703
3704 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3705
3706         * gst/gstmessage.c:
3707           Use G_GINT64_CONSTANT in varargs function.
3708
3709 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3710
3711         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3712         Initialize the registry magic with zeroes.
3713
3714 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3715
3716         * gst/gstregistrybinary.c: (_gst_crc32),
3717         (gst_registry_binary_write),
3718         (gst_registry_binary_initialize_magic),
3719         (gst_registry_binary_write_cache),
3720         (gst_registry_binary_check_magic),
3721         (gst_registry_binary_read_cache):
3722         * gst/gstregistrybinary.h:
3723         Add crc32 checksum to the binary registry file and check this before
3724         accepting a registry file.
3725
3726         Also free the data list when writing to the registry file fails.
3727
3728 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3729
3730         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3731         (gst_registry_binary_load_feature),
3732         (gst_registry_binary_load_plugin):
3733         If an element supports the Uri interface, returns a valid pointer
3734         to the supported URI protocols but this pointer contains nothing
3735         don't try to save that as it will corrupt the registry.
3736
3737         Don't unref the plugin if we added it to the registry already but
3738         fail to load a feature as gst_registry_add_plugin() takes ownership
3739         of the plugin.
3740
3741         Improve debugging a bit.
3742
3743 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3744
3745         * gst/gsttaglist.h:
3746           Clarify some tag item docs after discussion on irc.
3747
3748 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3749
3750         * docs/gst/gstreamer-docs.sgml:
3751           Remove commented out plugins (they have their own docs). Update
3752           comments.
3753
3754 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3755
3756         * docs/gst/gstreamer-docs.sgml:
3757         * docs/gst/gstreamer-sections.txt:
3758         * gst/gstparamspecs.c:
3759         * gst/gstparamspecs.h:
3760           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3761           docs to own section.
3762
3763         * gst/gstvalue.c:
3764           This now only documents GValue.
3765           
3766         * docs/libs/gstreamer-libs-sections.txt:
3767         * libs/gst/controller/gstcontroller.h:
3768           Remove GST_PARAM_CONTROLLABLE.
3769
3770 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3771
3772         * docs/README:
3773           Correct file path. Tell about how to use -overrides.txt.
3774         * docs/design/draft-tagreading.txt:
3775           Small design update.
3776
3777 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
3778
3779         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3780         (gst_registry_binary_load_plugin):
3781         Fix a typo in a debug message and revert change from yesterday as
3782         gst_registry_add_plugin() will only fail if something is really wrong
3783         already and we can't survive it anyway.
3784
3785 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
3786
3787         * gst/gst.c: (init_post), (gst_deinit):
3788           Pre-register GstGError GType from a thread-safe context
3789           (fixes #527967); unref enum type classes in deinit.
3790
3791 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3792
3793         Patch by: Rene Stadler <mail at renestadler de>
3794
3795         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3796           Merging an empty list with another list in KEEP_ALL mode should
3797           yield an empty list as result and not the second list (#512578).
3798
3799         * tests/check/gst/gsttagsetter.c:
3800           Add unit test for tag merge modes and the aforementioned bug.
3801
3802 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3803
3804         Patch by: Rene Stadler <mail at renestadler de>
3805
3806         * gst/gsttaglist.h:
3807           Fix description to match the order in the table (#512577).
3808   
3809 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3810
3811         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
3812
3813         * libs/gst/net/gstnettimepacket.h:
3814         * docs/libs/gstreamer-libs-sections.txt:
3815           Define socklen_t as int if it's not defined yet. Fixes compilation
3816           with MSVC6 and other versions where socklen_t is not defined in
3817           the windows headers (#518022).
3818
3819 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
3820
3821         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3822         If gst_registry_add_plugin() fails our reference to the plugin is
3823         invalid so don't try to use it anymore and instead error out.
3824
3825 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3826
3827         * tools/gst-xmlinspect.c: (print_element_info), (main):
3828           De-cruft a bit. If no argument is specified, print all elements in
3829           XML syntax rather than a freestyle list of elements like gst-inspect.
3830           Also, don't print XML header chunk unless we actually have something
3831           to print (ie. don't print it before an error message); print error
3832           message to stderr not stdout. Remove support for printing plugin
3833           info (it would just output something freestyle along the lines of
3834           gst-inspect so far), which fixes #514507. Also add license header.
3835
3836 2008-04-11  Julien Moutte  <julien@fluendo.com>
3837
3838         Mac OS X love...
3839         * configure.ac: Merge platform specific defines, introduce a new
3840         define on OS X to remember that forking when updating registry is
3841         unsafe.
3842         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3843         module.
3844         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3845         is defined.
3846         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3847         condition that leads to absolutely no plugins being registered on
3848         OS X.
3849
3850 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3851
3852         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3853
3854         * gst/gstutils.c: (gst_pad_add_data_probe),
3855           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3856           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3857           (gst_pad_add_buffer_probe_full):
3858         * gst/gstutils.h:
3859         * docs/gst/gstreamer-sections.txt:
3860         * win32/common/libgstreamer.def:
3861           Add gst_pad_add_*_probe_full() functions with a notify callback that
3862           lets the caller free the data it passes to the probe functions. This
3863           is useful for bindings such as gst-python or gstreamermm (#526814).
3864           API: gst_pad_add_data_probe_full
3865           API: gst_pad_add_buffer_probe_full
3866           API: gst_pad_add_event_probe_full
3867
3868         * tests/check/gst/gstutils.c:
3869           Add minimal unit test to make sure freeing the data actually works
3870           as expected.
3871
3872         * tests/benchmarks/.cvsignore:
3873           Random cvsignore addendum.
3874
3875 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3876
3877         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3878           (GST_DEBUG_BIN_TO_DOT_FILE):
3879           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3880           to it in the docs (since these are macros the types of the arguments
3881           won't be shown in the docs otherwise).
3882
3883 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3884
3885         * gst/gstpad.c:
3886           Do not abort on out of memory for pad_alloc_buffer.
3887
3888 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3889
3890         * libs/gst/check/gstcheck.c:
3891           Remove blank line between symbol name ad parameters to fix gtkdoc
3892           warning.
3893
3894 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3895
3896         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3897
3898         * docs/gst/gstreamer-sections.txt:
3899         * gst/gstsegment.c:
3900         * gst/gstsegment.h:
3901         * win32/common/libgstreamer.def:
3902           Expose gst_segment_copy() to make things easier for the c++ bindings.
3903           Fixes #518932.
3904           API: gst_segment_copy()
3905
3906 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3907
3908         * gst/gst.c: (gst_init_get_option_group), (init_post):
3909           Fix const position; ref GType classes for enum types to work
3910           around thread-safety issues in GLib versions < 2.16.
3911
3912 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3913
3914         * docs/design/part-buffering.txt:
3915         Fix some typos and set the estimated total for push mode to -1.
3916
3917         * gst/gstquery.c: (gst_query_new_buffering):
3918         Set buffering-left to 0 as we're not buffering by default.
3919
3920         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3921         Implement BUFFERING query.
3922
3923 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3924
3925         Based on patch by: Milosz Derezynski <internalerror gmail com>
3926
3927         * gst/gsterror.c: (_gst_stream_errors_init):
3928         * gst/gsterror.h:
3929           Add two new error codes for encrypted content. Fixes #524659.
3930           API: GST_STREAM_ERROR_DECRYPT
3931           API: GST_STREAM_ERROR_DECRYPT_NOKEY
3932
3933 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3934
3935         * gst/gstquery.h:
3936           Fix typo.
3937
3938         * win32/common/libgstreamer.def:
3939           Add new functions.
3940
3941 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
3942
3943         * plugins/elements/gstidentity.c: (gst_identity_event),
3944         (gst_identity_start):
3945         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3946         event after processing some data. Fixes bug #526042.
3947
3948 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3949
3950         * docs/gst/gstreamer-sections.txt:
3951         * gst/gstquery.c: (gst_query_parse_latency),
3952         (gst_query_set_buffering_percent),
3953         (gst_query_parse_buffering_percent),
3954         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3955         * gst/gstquery.h:
3956         Rename _avail -> _range
3957         API: gst_query_set_buffering_range
3958         API: gst_query_parse_buffering_range
3959
3960 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3961
3962         * docs/design/part-buffering.txt:
3963         * gst/gstquark.c:
3964         * gst/gstquark.h:
3965         * gst/gstquery.c: (gst_query_parse_latency),
3966         (gst_query_new_buffering), (gst_query_set_buffering_percent),
3967         (gst_query_parse_buffering_percent):
3968         * gst/gstquery.h:
3969         Add busy field and quark for the buffering query so that the app can
3970         only use the query to see if buffering is in progress.
3971
3972 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3973
3974         * docs/gst/gstreamer-sections.txt:
3975         * gst/gstmessage.c: (gst_message_set_buffering_stats),
3976         (gst_message_parse_buffering_stats):
3977         * gst/gstmessage.h:
3978         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3979         (gst_query_parse_latency), (gst_query_new_buffering),
3980         (gst_query_set_buffering_percent),
3981         (gst_query_parse_buffering_percent),
3982         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3983         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3984         * gst/gstquery.h:
3985         Reorder the message docs and headers for clarity.
3986         Add aditional buffering stats API for messages.
3987         Add buffering query.
3988         Convert some leftover queries to use GstQuark.
3989         API: gst_message_set_buffering_stats
3990         API: gst_message_parse_buffering_stats
3991         API: GST_QUERY_BUFFERING
3992         API: GstBufferingMode
3993         API: gst_query_new_buffering
3994         API: gst_query_set_buffering_percent
3995         API: gst_query_parse_buffering_percent
3996         API: gst_query_set_buffering_stats
3997         API: gst_query_parse_buffering_stats
3998
3999 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
4000
4001         * gst/gstmessage.c: (gst_message_new_error),
4002         (gst_message_new_warning), (gst_message_new_info),
4003         (gst_message_new_buffering), (gst_message_new_state_changed),
4004         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
4005         (gst_message_new_new_clock), (gst_message_new_segment_start),
4006         (gst_message_new_segment_done), (gst_message_new_duration),
4007         (gst_message_new_async_start), (gst_message_parse_buffering),
4008         (gst_message_parse_state_changed),
4009         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4010         (gst_message_parse_new_clock), (gst_message_parse_error),
4011         (gst_message_parse_warning), (gst_message_parse_info),
4012         (gst_message_parse_segment_start),
4013         (gst_message_parse_segment_done), (gst_message_parse_duration),
4014         (gst_message_parse_async_start):
4015         Use GstQuark for messages.
4016
4017 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
4018
4019         * gst/gstquark.c: (_priv_gst_quarks_initialize):
4020         * gst/gstquark.h:
4021         Add some more quarks needed for messages and queries.
4022
4023 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
4024
4025         * docs/design/part-buffering.txt:
4026         Remove the "none" buffering mode, STREAM is a good default.
4027         Move estimated-time to the avail query, that's when it will be needed.
4028         Other small typo fixes and updates.
4029
4030 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
4031
4032         * gst/gstindex.c: (gst_index_resolver_get_type):
4033           Don't put descriptions into the nick field of a GEnumValue: it's not
4034           meant for that and some language bindings rely on the nick field to
4035           construct constants and the like. Fixes #526705.
4036
4037 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
4038
4039         * NEWS:
4040         * RELEASE:
4041         * gstreamer.doap:
4042           Merge other changes from 0.10.19 release branch.
4043
4044 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
4045
4046         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
4047
4048         * configure.ac:
4049         Actually build dlls when cross-compiling with mingw32.
4050         Fixes bug #526247.
4051
4052 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
4053
4054         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
4055
4056         * gst/gstpoll.c:
4057         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
4058
4059 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
4060
4061         * docs/design/draft-latency.txt:
4062         Fix typo.
4063
4064         * docs/design/part-buffering.txt:
4065         Update design docs with more buffering ideas.
4066
4067 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
4068
4069         * configure.ac:
4070           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
4071
4072 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
4073
4074         * configure.ac:
4075           Revert part that belongs to the preset patch.
4076
4077 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
4078
4079         * configure.ac:
4080           Add qoutes to the define. Fixes # 525961.
4081
4082 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
4083
4084         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
4085         (gst_file_index_load), (gst_file_index_add_id),
4086         (gst_file_index_get_assoc_entry):
4087         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
4088         (gst_mem_index_free_id), (gst_mem_index_add_id),
4089         (gst_mem_index_index_format):
4090         Use GSlice when possible.
4091
4092 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
4093
4094         * libs/gst/controller/gstinterpolationcontrolsource.c:
4095         (gst_control_point_free),
4096         (gst_interpolation_control_source_set_internal):
4097         Use GSlice for allocating the control points.
4098
4099 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
4100
4101         * plugins/elements/gsttypefindelement.c:
4102         (gst_type_find_element_class_init),
4103         (gst_type_find_element_set_property),
4104         (gst_type_find_element_get_property),
4105         (gst_type_find_element_activate):
4106         * plugins/elements/gsttypefindelement.h:
4107         Cleanup properties.
4108         Fix pad leak when peer query fails.
4109         We can still typefind when the peer returns -1.
4110         Add property to force caps and bypass typefinding. This will be used in
4111         uridecodebin.
4112         API::force-caps
4113
4114 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
4115
4116         * configure.ac:
4117         Require GLib 2.12.
4118
4119         * gst/glib-compat-private.h:
4120         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
4121         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
4122         Unconditionally use GSlice for allocation.
4123
4124         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
4125         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
4126         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
4127         (gst_structure_free):
4128         Use GSlice for allocation.
4129
4130 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
4131
4132         * gst/parse/Makefile.am:
4133         * gst/parse/grammar.tab.pre.c:
4134         * gst/parse/grammar.tab.pre.h:
4135         * gst/parse/lex._gst_parse_yy.pre.c:
4136         Require a new enough flex and bison and remove the parser hacks to use
4137         a pre-regenerated version.
4138
4139 2008-04-01  Julien Moutte  <julien@fluendo.com>
4140
4141         patch by: Jason Zhao <E3423C@motorola.com>
4142
4143         * configure.ac: Add a configure switch to disable option parsing
4144         in gst_init.
4145         Fixes #522882.
4146
4147 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
4148
4149         * configure.ac:
4150         * gst/gstregistry.c:
4151           MacOS has plugins under .so or under .dylib. Add detection for MacOS
4152           and handle this case.
4153
4154         * gst/gst.c:
4155           Add a comment here describing, why we stat each plugin and not try to
4156           be smart.
4157
4158 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
4159
4160         * libs/gst/base/gstbasetransform.c:
4161         (gst_base_transform_prepare_output_buffer):
4162         Also unset the GAP flag on buffers if we're working inplace but
4163         the element is not GAP-aware.
4164
4165         Mark a comment as FIXME 0.11.
4166
4167 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
4168
4169         * gst/gst.c:
4170           Fix type in log message and add one to ease seeing how long registry
4171           cache verification takes.
4172
4173         * gst/gstregistry.c:
4174           Only test plugin filenames against G_MODULE_SUFFIX.
4175
4176 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
4177
4178         * gst/gstdebugutils.c:
4179           Improve handling ghost/proxy pads.
4180
4181 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
4182
4183         * docs/gst/gstreamer-sections.txt:
4184         * gst/gstpad.c:
4185         * gst/gstpad.h:
4186           Expose macro to docs and fix link to it.
4187
4188 2008-03-27  Michael Smith <msmith@fluendo.com>
4189
4190         * libs/gst/dataprotocol/dataprotocol.c:
4191         (gst_dp_packet_from_event_1_0):
4192           When calculating GDP body CRC, use the correct pointer. 
4193           Fixes part of #522401.
4194
4195 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4196
4197         Patch by: Mark Nauwelaerts <manauw at skynet be>
4198
4199         * plugins/elements/gstidentity.c: (gst_identity_class_init),
4200         (gst_identity_init), (gst_identity_prepare_output_buffer):
4201         Identity is not always a passthrough element, it can modify the buffer
4202         timestamps when it has a datarate and operates in single-segment mode.
4203         We therefore make it an in_place filter with a custom buffer prepare
4204         function that conditionally makes the input buffer metadata writable
4205         when needed.  Fixes #523985.
4206
4207 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4208
4209         Patch by: Mark Nauwelaerts <manauw at skynet be>
4210
4211         * gst/gstclock.h:
4212         * libs/gst/base/gstbasesrc.h:
4213         * libs/gst/base/gstbasetransform.c:
4214         * libs/gst/check/gstcheck.c:
4215         Small documentation fixes. Fixes #523978.
4216
4217 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4218
4219         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
4220         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
4221         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
4222
4223 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4224
4225         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
4226         (single_queue_underrun_cb):
4227         When trying to make room in the queue, bump the max allowed buffers
4228         bigger than the current amount of buffers in the queue. this fixes some
4229         nasty deadlocks in multiqueue when dynamically changing the limits of
4230         the queue.
4231
4232 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4233
4234         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
4235
4236         * gst/gstcaps.c: (gst_caps_set_simple),
4237         (gst_caps_set_simple_valist), (gst_caps_intersect):
4238         * gst/gstcaps.h:
4239         Constify the field gchar * params in set_simple and friends.
4240         Fixes #522326.
4241
4242 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4243
4244         * gst/gstvalue.c: (gst_value_transform_object_string):
4245         Transform a GstObject to a more meaningfull string that includes the
4246         object type in addition to its name.
4247
4248 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
4249
4250         * ChangeLog:
4251           ChangeLog surgery to add bugnumber to commit.
4252
4253 2008-03-23  Rene Stadler  <mail@renestadler.de>
4254
4255         * libs/gst/base/gstbasetransform.c:
4256         (gst_base_transform_set_gap_aware): Fix confusing documentation.
4257
4258 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
4259
4260         * gst/gstregistrybinary.c: (gst_registry_binary_write):
4261         Rename constant everywhere and don't forget one occurence.
4262
4263 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
4264
4265         * gst/gstregistrybinary.c: (gst_registry_binary_write):
4266         Align memory to the pointer size even if the architecture allows
4267         unaligned memory access. Unaligned memory access usually comes with
4268         performance penality.
4269
4270 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
4271
4272         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4273         (gst_registry_binary_check_magic),
4274         (gst_registry_binary_load_pad_template),
4275         (gst_registry_binary_load_feature),
4276         (gst_registry_binary_load_plugin):
4277         Align memory to the pointer size instead of always 32 bit. Fixes
4278         unaligned memory accesses on ia64 and friends.
4279
4280         * gst/gstregistrybinary.h:
4281         Bump binary registry format version for this as it changes the
4282         format on those architectures that don't have unaligned access
4283         and 64 bit pointers.
4284
4285 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
4286
4287         * docs/pwg/advanced-dparams.xml:
4288         * docs/pwg/building-props.xml:
4289         * docs/pwg/other-source.xml:
4290         * gst/glib-compat.h:
4291         * gst/gstbin.c: (gst_bin_class_init):
4292         * gst/gstclock.c: (gst_clock_class_init):
4293         * gst/gstindex.c: (gst_index_class_init):
4294         * gst/gstobject.c: (gst_object_class_init):
4295         * gst/gstpad.c: (gst_pad_class_init):
4296         * gst/gstpipeline.c: (gst_pipeline_class_init):
4297         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4298         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
4299         * libs/gst/base/gstbasetransform.c:
4300         (gst_base_transform_class_init):
4301         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
4302         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
4303         (_gst_check_fault_handler_sighandler),
4304         (_gst_check_fault_handler_setup), (gst_check_init):
4305         * libs/gst/controller/gstcontroller.c:
4306         (_gst_controller_class_init):
4307         * libs/gst/controller/gstlfocontrolsource.c:
4308         (gst_lfo_control_source_class_init):
4309         * libs/gst/net/gstnetclientclock.c:
4310         (gst_net_client_clock_class_init):
4311         * libs/gst/net/gstnettimeprovider.c:
4312         (gst_net_time_provider_class_init):
4313         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
4314         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
4315         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
4316         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
4317         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
4318         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
4319         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4320         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4321         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
4322         * plugins/elements/gstqueue.c: (gst_queue_class_init):
4323         * plugins/elements/gsttee.c: (gst_tee_class_init):
4324         * plugins/elements/gsttypefindelement.c:
4325         (gst_type_find_element_class_init):
4326         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
4327         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
4328         use it everywhere for GParamSpecs that use static strings (i.e. all).
4329         This gives us less memory usage, fewer allocations and thus less
4330         memory defragmentation. Fixes bug #523806.
4331
4332 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
4333
4334         * gst/gstminiobject.c: (gst_value_dup_mini_object),
4335         (gst_param_spec_mini_object):
4336         * gst/gstminiobject.h:
4337         * win32/common/libgstreamer.def:
4338         * docs/gst/gstreamer-sections.txt:
4339         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
4340         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
4341         GstParamSpecMiniObject into a public header for this.
4342
4343         This make GstMiniObject a bit more consistent with GObject and makes
4344         it possible to extend the param specs.
4345
4346         gst_value_dup_mini_object is mainly useful for set_property methods.
4347
4348         Fixes bug #523798.
4349
4350         * tools/gst-inspect.c: (print_element_properties_info):
4351         Print something useful for GstMiniObject properties and not just
4352         "unknown type".
4353
4354 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
4355
4356         * docs/gst/gstreamer-sections.txt:
4357         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4358         (gst_registry_binary_check_magic):
4359         * gst/gstregistrybinary.h:
4360         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
4361         and add it to the (private part) of the docs to fix the build.
4362
4363 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
4364
4365         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4366         (gst_registry_binary_check_magic),
4367         (gst_registry_binary_read_cache):
4368         * gst/gstregistrybinary.h:
4369         Don't use GST_MAJORMINOR for the binary registry version. Instead
4370         hardcode a value that must be changed whenever the format changes
4371         in an incompatible way.
4372         Also don't GST_ERROR when there is a version mismatch, just
4373         regenerate the registry silently.
4374
4375 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
4376
4377         * configure.ac:
4378         Back to development - 0.10.18.1
4379
4380 === release 0.10.18 ===
4381
4382 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
4383
4384         * configure.ac:
4385           releasing 0.10.18, "So far away"
4386
4387 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
4388
4389         * configure.ac:
4390         * win32/common/config.h:
4391         0.10.17.4 pre-release
4392
4393 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
4394
4395         Patch by: Ole André Vadla Ravnås
4396             <ole dot andre dot ravnas at tandberg dot com>
4397
4398         * docs/gst/gstreamer-sections.txt:
4399         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
4400         (gst_poll_update_winsock_event_mask),
4401         (gst_poll_prepare_winsock_active_sets),
4402         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
4403         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
4404         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
4405         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4406         (gst_poll_check_ctrl_commands), (gst_poll_wait):
4407         * gst/gstpoll.h:
4408         * win32/common/libgstreamer.def:
4409         Add new function gst_poll_fd_ignored() for improved Windows
4410         compatibility.
4411         Various minor fixes and cleanups. See #520808.
4412
4413 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
4414
4415         * gst/gstindex.c: (gst_index_entry_free):
4416         * gst/gstindex.h:
4417           Don't free key strings which we don't own. Fixes crash in
4418           gst_index_entry_free() (#522741).
4419
4420         * tests/check/Makefile.am:
4421         * tests/check/gst/.cvsignore:
4422         * tests/check/gst/gstindex.c: (test_index_entries),
4423           (gst_index_suite), (gst_index):
4424           Add unit test for the above.
4425
4426 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
4427
4428         * win32/common/libgstreamer.def:
4429         Remove symbols that were removed recently. Fixes bug #521740.
4430
4431 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
4432
4433         * configure.ac:
4434         * win32/common/config.h:
4435         0.10.17.3 pre-release
4436
4437 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
4438
4439         Patch by: Ole André Vadla Ravnås
4440             <ole dot andre dot ravnas at tandberg dot com>
4441
4442         * docs/gst/gstreamer-sections.txt:
4443         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
4444         (gst_poll_update_winsock_event_mask), (gst_poll_new),
4445         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
4446         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4447         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
4448         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4449         (gst_poll_fd_can_write), (gst_poll_wait),
4450         (gst_poll_set_controllable), (gst_poll_restart),
4451         (gst_poll_set_flushing):
4452         * gst/gstpoll.h:
4453         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4454         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
4455         (gst_net_time_provider_new):
4456         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4457         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
4458         * tests/benchmarks/gstpollstress.c: (main):
4459         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
4460         Remove GstPollMode from the API, it does not make sense to let the
4461         application control this.
4462         Add support for Win32.
4463         Fix the testsuite. Fixes #520671.
4464
4465 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
4466
4467         Patch by: Ole André Vadla Ravnås
4468             <ole dot andre dot ravnas at tandberg dot com>
4469
4470         * gst/gstregistrybinary.c:
4471         Include io.h for write() and close() when building with MSVC. Fixes
4472         bug #520877.
4473
4474 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
4475
4476         * configure.ac:
4477         * gst/gst_private.h:
4478         * gst/gstconfig.h.in:
4479         * gst/gstregistry.h:
4480         * gst/gstregistrybinary.c:
4481         * win32/common/gstconfig.h:
4482           Move registry backend API to private headers where we can. Add
4483           fixme-0.11 comments for the others. Add stubs for the xml backend when
4484           using the binary to ensure they functions exists (they should not be
4485           used though). Fixes #520756.
4486
4487 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
4488
4489         * configure.ac:
4490         * win32/common/config.h:
4491         0.10.17.2 prelease
4492
4493 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4494
4495         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4496         (gst_registry_binary_read_cache):
4497         * gst/gstregistryxml.c: (gst_registry_save):
4498         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
4499         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
4500         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4501         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
4502         Switch to using portabl gsize/gssize instead of size_t/ssize_t
4503         Fixes #520152
4504
4505 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4506
4507         * gst/gstminiobject.c:
4508         Import gst_private.h before any other header that might include other
4509         glib headers. This fixes the build on windows using native compilers.
4510
4511 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4512
4513         * win32/common/gstconfig.h:
4514           Add here too, just for completeness.
4515
4516 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4517
4518         * configure.ac:
4519         * gst/gstconfig.h.in:
4520         * gst/gstregistry.h:
4521           Fix broken use of config.h-defined preprocessor directive in a public
4522           header file. Add a corresponding define to gstconfig.h, since we can't
4523           really remove those function declarations from the header file now
4524           (or can we? and why are they there in the first place?).
4525
4526 2008-03-03  Andy Wingo  <wingo@pobox.com>
4527
4528         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
4529         the new warning.
4530
4531         * gst/gststructure.c (gst_structure_from_string): Warn if
4532         structure_from_string didn't consume the whole string, but the
4533         caller did not provide an end pointer.
4534
4535 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
4536
4537         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
4538
4539         * gst/gstregistryxml.c: (read_string), (load_feature):
4540           Strings allocated by libxml2 should be freed with xmlFree(), not
4541           with g_free(). Fixes issues on windows in certain contexts (#519698).
4542
4543 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
4544
4545         * gst/gstinterface.c: (gst_element_implements_interface):
4546           Don't crash if the element supports the interface queried, but does
4547           not implement GstImplementsInterface. Fixes #519584.
4548
4549         * tests/check/Makefile.am:
4550         * tests/check/gst/.cvsignore:
4551         * tests/check/gst/gstinterface.c:
4552           Add unit test for the above.
4553
4554 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4555
4556         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4557         Small doc update.
4558
4559 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4560
4561         * gst/gstsegment.c: (gst_segment_set_seek),
4562         (gst_segment_to_stream_time):
4563         Improve some comment.
4564         Update variables where it makes more sense.
4565
4566 2008-02-29  Rene Stadler  <mail@renestadler.de>
4567
4568         * gst/gsturi.c: (gst_uri_handler_get_protocols):
4569         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
4570         URIHandlers implemented using language bindings.
4571
4572 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4573
4574         * gst/gstelementfactory.h:
4575         * tests/check/elements/fakesink.c:
4576         * tests/check/elements/fakesrc.c: (setup_fakesrc):
4577         * tests/check/elements/fdsrc.c: (setup_fdsrc):
4578         * tests/check/elements/filesink.c: (setup_filesink):
4579         * tests/check/elements/filesrc.c: (setup_filesrc):
4580         * tests/check/elements/identity.c: (setup_identity):
4581         * tests/check/elements/tee.c:
4582         * tests/check/generic/sinks.c:
4583         * tests/check/generic/states.c: (setup), (teardown):
4584         * tests/check/gst/gst.c:
4585         * tests/check/gst/gstabi.c:
4586         * tests/check/gst/gstbin.c:
4587         * tests/check/gst/gstbus.c: (pull_messages):
4588         * tests/check/gst/gstcaps.c:
4589         * tests/check/gst/gstelement.c:
4590         * tests/check/gst/gstevent.c:
4591         * tests/check/gst/gstghostpad.c:
4592         * tests/check/gst/gstiterator.c:
4593         * tests/check/gst/gstmessage.c:
4594         * tests/check/gst/gstminiobject.c: (my_foo_init):
4595         * tests/check/gst/gstobject.c: (thread_name_object),
4596         (gst_object_suite):
4597         * tests/check/gst/gstpad.c:
4598         * tests/check/gst/gstplugin.c:
4599         * tests/check/gst/gstpoll.c:
4600         * tests/check/gst/gstquery.c:
4601         * tests/check/gst/gstsegment.c:
4602         * tests/check/gst/gststructure.c:
4603         * tests/check/gst/gstsystemclock.c:
4604         * tests/check/gst/gsttask.c:
4605         * tests/check/gst/gstutils.c:
4606         * tests/check/gst/gstvalue.c:
4607         * tests/check/gst/struct_hppa.h:
4608         * tests/check/gst/struct_i386.h:
4609         * tests/check/gst/struct_ppc32.h:
4610         * tests/check/gst/struct_ppc64.h:
4611         * tests/check/gst/struct_x86_64.h:
4612         * tests/check/libs/adapter.c: (create_and_fill_adapter):
4613         * tests/check/libs/basesrc.c:
4614         * tests/check/libs/controller.c: (GST_START_TEST):
4615         * tests/check/libs/gdp.c:
4616         * tests/check/libs/gstnetclientclock.c:
4617         * tests/check/libs/gstnettimeprovider.c:
4618         * tests/check/libs/libsabi.c:
4619         * tests/check/libs/struct_hppa.h:
4620         * tests/check/libs/struct_i386.h:
4621         * tests/check/libs/struct_ppc32.h:
4622         * tests/check/libs/struct_ppc64.h:
4623         * tests/check/libs/struct_x86_64.h:
4624         * tests/check/pipelines/cleanup.c:
4625         * tests/check/pipelines/simple-launch-lines.c:
4626         * tests/check/pipelines/stress.c:
4627         And correct even more valid sparse warnings.
4628
4629         * win32/common/libgstreamer.def:
4630         Add gst_poll_fd_init to the list of symbols.
4631
4632 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4633
4634         * gst/gstconfig.h.in:
4635         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4636         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4637         (gst_check_log_critical_func), (gst_check_drop_buffers),
4638         (gst_check_element_push_buffer_list):
4639         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4640         (gst_controller_get_type):
4641         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4642         (gst_object_get_controller), (gst_object_get_control_source):
4643         * libs/gst/controller/gstinterpolationcontrolsource.c:
4644         (gst_interpolation_control_source_new):
4645         * libs/gst/controller/gstlfocontrolsource.c:
4646         (gst_lfo_control_source_new):
4647         * libs/gst/dataprotocol/dataprotocol.c:
4648         (gst_dp_event_from_packet_0_2):
4649         * plugins/elements/gstfdsrc.c:
4650         * plugins/elements/gstmultiqueue.c:
4651         * plugins/elements/gsttee.c:
4652         * plugins/elements/gsttypefindelement.c:
4653         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4654         (gst_file_index_add_association):
4655         * plugins/indexers/gstmemindex.c:
4656         * tests/benchmarks/gstpollstress.c: (mess_some_more):
4657         * tests/check/elements/queue.c: (setup_queue):
4658         * tests/check/gst/gstpipeline.c:
4659         * tests/check/libs/collectpads.c: (setup), (teardown),
4660         (gst_collect_pads_suite):
4661         * tests/examples/adapter/adapter_test.c:
4662         * tests/examples/metadata/read-metadata.c: (make_pipeline):
4663         * tests/examples/xml/createxml.c:
4664         * tests/examples/xml/runxml.c:
4665         * tools/gst-inspect.c:
4666         * tools/gst-run.c:
4667         Correct all relevant warnings found by the sparse semantic code
4668         analyzer. This include marking several symbols static, using
4669         NULL instead of 0 for pointers, not using variable sized arrays
4670         on the stack, moving variable declarations to the beginning of
4671         a block and using "foo (void)" instead of "foo ()" for declarations.
4672
4673 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4674
4675         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4676         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4677         Don't reset GstPollFDs, this is not necessary at all.
4678
4679         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4680         (delayed_restart), (delayed_control):
4681         Use GST_POLL_FD_INIT.
4682
4683 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4684
4685         * gst/gstpoll.c: (gst_poll_fd_init):
4686         * gst/gstpoll.h:
4687         Added Since tags.
4688
4689         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4690         Use some more init macros.
4691
4692 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4693
4694         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4695         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4696         Use init macros and functions.
4697
4698 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4699
4700         * docs/gst/gstreamer-sections.txt:
4701         * gst/gstpoll.c: (gst_poll_fd_init):
4702         * gst/gstpoll.h:
4703         Add INIT macro and _init method for initializing the GstPollFD.
4704
4705 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
4706
4707         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4708         (gst_fd_sink_update_fd):
4709         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4710         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4711         (delayed_restart), (delayed_control):
4712         Initialize some uninitialized variables as spotted by valgrind.
4713
4714 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4715
4716         * tests/benchmarks/Makefile.am:
4717         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4718         (main):
4719         Add poll stress test.
4720
4721 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4722
4723         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4724
4725         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4726         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4727         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4728         * plugins/elements/gstfdsink.h:
4729         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4730         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4731         (gst_fd_src_unlock_stop), (gst_fd_src_create),
4732         (gst_fd_src_uri_set_uri):
4733         * plugins/elements/gstfdsrc.h:
4734         Port to GstPoll. See #505417.
4735
4736 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
4737
4738         * win32/common/libgstreamer.def:
4739         Add new gst_poll_ symbols to win32 defs.
4740
4741 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4742
4743         * docs/libs/gstreamer-libs-sections.txt:
4744         * libs/gst/net/gstnetclientclock.c:
4745         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4746         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4747         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4748         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4749         * libs/gst/net/gstnetclientclock.h:
4750         * libs/gst/net/gstnettimeprovider.c:
4751         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4752         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4753         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4754         (gst_net_time_provider_new):
4755         * libs/gst/net/gstnettimeprovider.h:
4756         Use a private stuct to not break ABI.
4757
4758 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4759
4760         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4761
4762         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4763         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4764         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4765         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4766         * libs/gst/net/gstnetclientclock.h:
4767         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4768         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4769         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4770         (gst_net_time_provider_new):
4771         * libs/gst/net/gstnettimeprovider.h:
4772         Massive code removal and cleanups because of GstPoll.
4773         Fixes #505417.
4774
4775 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4776
4777         * configure.ac:
4778         Add checks for poll, ppoll and pselect.
4779
4780         * docs/gst/gstreamer-docs.sgml:
4781         * docs/gst/gstreamer-sections.txt:
4782         Add docs for GstPoll.
4783
4784         * gst/Makefile.am:
4785         * gst/gst.h:
4786         * gst/gstpoll.c: (find_index), (selectable_fds),
4787         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4788         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4789         (gst_poll_set_mode), (gst_poll_get_mode),
4790         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4791         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4792         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4793         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4794         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4795         (gst_poll_fd_can_write), (gst_poll_wait),
4796         (gst_poll_set_controllable), (gst_poll_restart),
4797         (gst_poll_set_flushing):
4798         * gst/gstpoll.h:
4799         Add generic poll abstraction. We ideally don't want to have this in core
4800         here but in glib intead...
4801         This code will be used in various network elements and ultimately for
4802         the nanosecond precision monotonic clock (that's why it's here in core).
4803         It'll allow us to implement cancelable socket operations for windows too.
4804
4805         * tests/check/Makefile.am:
4806         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4807         (delayed_stop), (delayed_restart), (delayed_flush),
4808         (delayed_control), (gst_poll_suite):
4809         Add GstPoll unit test.
4810
4811 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
4812
4813         * gst/gstfilter.c:
4814           Improve documentation of gst_filter_run(). Fixes #518627.
4815
4816 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4817
4818         * docs/README:
4819           Add a few lines about the new 'check-inspected-versions' target.
4820
4821 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4822
4823         * tests/check/gst/gstevent.c:
4824           Add qos to the event test. Rename tcase/tsuite; is not only about
4825           custom events.
4826
4827 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4828
4829         * plugins/elements/gstqueue.c:
4830           Ensure that buffer metadata is writeable, before modifying. Spotted by
4831           Mike.
4832
4833 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
4834
4835         * plugins/elements/gstqueue.c:
4836         * plugins/elements/gstqueue.h:
4837           When dropping buffers in leaky modes, mark next buffers we sent as
4838           DISCONT.
4839
4840 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4841
4842         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4843           Also, if mmap() fails that would be a READ error, not OPEN_READ.
4844
4845 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4846
4847         * plugins/elements/Makefile.am:
4848         * plugins/elements/gstbufferstore.c:
4849         * plugins/elements/gstbufferstore.h:
4850         * plugins/elements/gsttypefindelement.h:
4851           Remove GstBufferStore, no idea why we were still building it.
4852           It's not used anywhere and superseded by GstAdapter.
4853
4854         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4855           (gst_file_src_create_mmap):
4856         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4857           Printf format fixes for 64-bit integers.
4858
4859 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4860
4861         * configure.ac:
4862         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4863         We're not in 0.8 times anymore.
4864
4865 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
4866
4867         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4868         (gst_check_element_push_buffer_list):
4869         * libs/gst/check/gstcheck.h:
4870         Make the declaration in the header for
4871         gst_check_element_push_buffer_list match the implementation.
4872
4873         Fix up spelling, grammar and wording of the documentation in a few
4874         places, and add the Since keyword to new API functions.
4875         Use g_list_delete_link instead of g_list_remove in
4876         gst_check_drop_buffers, since it's immeasurably more efficient.
4877
4878         * tests/check/elements/fakesrc.c: (GST_START_TEST):
4879         Use new gst_check_drop_buffers function where appropriate.
4880
4881         * win32/common/libgstbase.def:
4882         * win32/common/libgstreamer.def:
4883         Add new symbols gst_collect_pads_take_buffer, 
4884         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4885         exports
4886
4887         Changelog surgery to add API keyword to new gst_check API.
4888
4889 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4890
4891         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4892         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4893         Update pre-generated flex files with flex 2.3.34.
4894
4895 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4896
4897         * gst/gstminiobject.c:
4898           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4899           friendly to subclasses and not require them to know all internals
4900           of their parent class.
4901
4902 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4903
4904         * docs/libs/gstreamer-libs-sections.txt:
4905         * libs/gst/base/gstcollectpads.c:
4906         * libs/gst/base/gstcollectpads.h:
4907           Add sub-buffer functions to collectpads. Fixes #516187.
4908           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4909
4910 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4911
4912         * gst/gstbuffer.c:
4913           Copy selected buffer-flags when creating subbuffers.
4914           Fixes #516395.
4915
4916 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
4917
4918         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4919         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4920         * gst/gstmessage.c: (gst_message_class_init),
4921         (gst_message_finalize):
4922         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4923         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4924         (gst_mmap_buffer_finalize):
4925         Properly chain up finalize functions to the parent class.
4926
4927 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
4928
4929         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4930
4931         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4932         (gst_index_set_resolver_full):
4933         * gst/gstindex.h:
4934         Add new function with option to dispose of user_data in resolver.
4935         Actually call the dispose function when finalizing the object and not
4936         just when changing the resolver/filter.
4937         API: GstIndex::gst_index_set_resolver_full()
4938
4939         * docs/gst/gstreamer-sections.txt:
4940         Add new function to docs. Fixes #515469.
4941
4942 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
4943
4944         * gst/gstindex.c: (gst_index_finalize):
4945         Chain up finalize to the parent class. Fixes leaking the GstObject
4946         name and other things.
4947
4948 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
4949
4950         * configure.ac:
4951         Make DISABLE_DEPRECATED defined *only* during CVS, not during
4952         pre-releases or releases.
4953
4954         * docs/faq/gst-uninstalled:
4955         Add gst-plugins-gl
4956
4957         * docs/random/release:
4958         Change one of the steps - we only upload core & base to Gnome FTP
4959
4960 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
4961
4962         * gst/gstconfig.h.in:
4963           Add 'id' for example.
4964
4965         * gst/gstpad.c:
4966         * gst/gstutils.c:
4967         * plugins/elements/gstfdsink.c:
4968           Link to signals. Doc and comment fixes.
4969
4970 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
4971
4972         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4973         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4974           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4975           unused and unimplemented; finally, it is plugin features, not
4976           plugins, that have ranks.
4977           
4978 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4979
4980         * gst/gstpluginfeature.h:
4981           Clarify GstRank range docs.
4982
4983 2008-02-05  David Schleef  <ds@schleef.org>
4984
4985         * gst/gst.c: Add a separate gst_deinitialized that prevents
4986           gst_init() from being called after gst_deinit().  Fixes #509559
4987
4988 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4989
4990         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4991         (gst_bin_class_init):
4992         * gst/gstelement.c: (gst_element_base_class_init),
4993         (gst_element_class_add_pad_template):
4994         * gst/gstpadtemplate.c: (gst_pad_template_init):
4995         * gst/gstpipeline.c: (gst_pipeline_get_type),
4996         (gst_pipeline_base_init), (gst_pipeline_class_init):
4997         * libs/gst/base/gstbasesink.c:
4998         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4999         (gst_base_src_base_init), (gst_base_src_class_init):
5000         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
5001         (gst_capsfilter_class_init):
5002         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
5003         (gst_fake_sink_class_init):
5004         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
5005         (gst_fake_src_class_init):
5006         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
5007         (gst_fd_sink_class_init):
5008         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
5009         (gst_fd_src_class_init):
5010         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
5011         (gst_file_sink_class_init):
5012         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
5013         (gst_file_src_class_init):
5014         * plugins/elements/gstidentity.c: (gst_identity_base_init),
5015         (gst_identity_class_init):
5016         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
5017         (gst_multi_queue_class_init):
5018         * plugins/elements/gstqueue.c: (gst_queue_base_init),
5019         (gst_queue_class_init):
5020         * plugins/elements/gsttee.c: (gst_tee_base_init),
5021         (gst_tee_class_init):
5022         * plugins/elements/gsttypefindelement.c:
5023         (gst_type_find_element_base_init),
5024         (gst_type_find_element_class_init):
5025         * tests/check/gst/gstelement.c: (gst_element_suite):
5026         Revert previous changes to the behaviour of GstPadTemplates, etc
5027         and the possiblity to call them in class_init as it breaks too
5028         many elements. Reopens bug #491501.
5029
5030         Should be applied again for 0.11, thus added a few FIXME 0.11 at
5031         several places.
5032
5033 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
5034
5035         * tools/gst-launch.c:
5036         Dump one graph per pipeline state-change and state change name
5037         (if GST_DEBUG_DUMP_DOT_DIR is set).
5038
5039 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
5040
5041         * gst/gstpad.c:
5042         * tests/check/gst/gstpad.c:
5043         Be sure that we have a new copy of the caps and not
5044         reffed caps from a template
5045
5046 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
5047
5048         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
5049         * gst/gstpipeline.c: (gst_pipeline_get_type),
5050         (gst_pipeline_class_init):
5051         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
5052         (gst_base_sink_class_init):
5053         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
5054         (gst_base_src_class_init):
5055         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
5056         (gst_base_transform_class_init):
5057         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
5058         (gst_collect_pads_class_init):
5059         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
5060         * libs/gst/net/gstnettimeprovider.c:
5061         (gst_net_time_provider_base_init),
5062         (gst_net_time_provider_class_init):
5063         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
5064         (gst_capsfilter_class_init):
5065         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
5066         (gst_fake_sink_class_init):
5067         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
5068         (gst_fake_src_class_init):
5069         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
5070         (gst_fd_sink_class_init):
5071         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
5072         (gst_fd_src_class_init):
5073         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
5074         (gst_file_sink_class_init):
5075         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
5076         (gst_file_src_class_init):
5077         * plugins/elements/gstidentity.c: (gst_identity_base_init),
5078         (gst_identity_class_init):
5079         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
5080         (gst_multi_queue_class_init):
5081         * plugins/elements/gstqueue.c: (gst_queue_base_init),
5082         (gst_queue_class_init):
5083         * plugins/elements/gsttee.c: (gst_tee_base_init),
5084         (gst_tee_class_init):
5085         * plugins/elements/gsttypefindelement.c:
5086         (gst_type_find_element_base_init),
5087         (gst_type_find_element_class_init):
5088         Don't use base_init where not absolutely necessary. For example it's
5089         not necessary anymore for adding pad templates or setting element
5090         details.
5091
5092         Leave empty base_init functions in several places as GST_BOILERPLATE
5093         still defines and uses them.
5094
5095 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
5096
5097         * gst/gstelement.c: (gst_element_base_class_init),
5098         (gst_element_class_add_pad_template):
5099         * gst/gstpadtemplate.c:
5100         Make it possible (and recommended) to set element details and add
5101         pad templates in the class_init functions by copying the details/pad
5102         templates in GstElement's base_init.
5103
5104         Also make it possible to replace existing pad templates by adding
5105         a new one with the same name. This was done in a hackish fashion
5106         in same elements before already.
5107
5108         Don't reference pad templates that are added a second time. A
5109         new pad template has a refcount of one and is not floating anymore
5110         and to be owned by the element's class. Make this more explicit by
5111         mentioning it in the docs of gst_element_class_add_pad_template().
5112
5113         These changes are backwards compatible. Fixes bug #491501.
5114
5115         * tests/check/gst/gstelement.c:
5116         Add unit test for setting element details, adding pad templates and
5117         replacing them in a subclass.
5118
5119 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
5120
5121         * tools/gst-inspect.c: (print_interfaces),
5122         (print_element_properties_info), (print_pad_info),
5123         (print_signal_info), (print_element_info):
5124         Fix a few memory leaks.
5125
5126 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
5127
5128         * docs/libs/gstreamer-libs-sections.txt:
5129         * libs/gst/check/gstcheck.c:
5130         * libs/gst/check/gstcheck.h:
5131         Add more functions for unit testing: gst_check_drop_buffers,
5132         gst_check_caps_equal, gst_check_element_push_buffer_list,
5133         gst_check_element_push_buffer
5134         API: gst_check_drop_buffers
5135         API: gst_check_caps_equal
5136         API: gst_check_element_push_buffer_list
5137         API: gst_check_element_push_buffer
5138
5139 2008-02-01  Julien Moutte  <julien@fluendo.com>
5140
5141         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
5142         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
5143         (gst_index_finalize), (gst_index_entry_free),
5144         (gst_index_add_association): Fix memory leaks.
5145         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
5146         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
5147         (gst_mem_index_free_format), (gst_mem_index_free_id),
5148         (gst_mem_index_finalize): Fix memory leaks.
5149         * win32/common/config.h: Updated to CVS HEAD.
5150
5151 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
5152
5153         * docs/README:
5154           Some more details about how the plugin docs works.
5155
5156         * docs/plugins/gstreamer-plugins-sections.txt:
5157           Whitespace cleanup.
5158
5159 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
5160
5161         * gst/parse/grammar.tab.pre.c:
5162         * gst/parse/grammar.tab.pre.h:
5163         * gst/parse/grammar.y:
5164         * gst/parse/lex._gst_parse_yy.pre.c:
5165           Add delayed set-property. This allows to set properties on dynamicaly
5166           created objects (pads in videomxer). Fixes #509391.
5167
5168 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
5169
5170         * gst/gstutils.c:
5171         Check if caps are not NULL (fix bug #510194)
5172
5173 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
5174
5175         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
5176         (gst_base_sink_get_position_paused):
5177         Add fixme regarding EOS in pull mode.
5178         Fix position reporting in PAUSED for negative rates.
5179
5180 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
5181
5182         * gst/gstminiobject.c: (gst_mini_object_replace):
5183         When replacing a miniobject, do a quick equality check first so that we
5184         can avoid a ref/unref pair.
5185
5186 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
5187
5188         * docs/design/part-synchronisation.txt:
5189         Update some docs.
5190
5191         * docs/plugins/Makefile.am:
5192         * docs/plugins/gstreamer-plugins-docs.sgml:
5193         * docs/plugins/gstreamer-plugins-sections.txt:
5194         * plugins/elements/gstmultiqueue.c:
5195         Add multiqueue to the docs.
5196
5197 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
5198
5199         * configure.ac:
5200           Back to CVS
5201
5202 === release 0.10.17 ===
5203
5204 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
5205
5206         * configure.ac:
5207           releasing 0.10.17, "Due Negligence"
5208
5209 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
5210
5211         * gst/gstutils.c:
5212         Revert caps != NULL check temporarily for 0.10.17 release.
5213
5214 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
5215
5216         * gst/gstutils.c:
5217         Check if caps are not NULL (fix bug #510194)
5218
5219 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
5220
5221         * gst/gstutils.c:
5222         Fix compilation on systems that have posix timers but no
5223         monotonic clock.
5224         Fixes: #512715
5225         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
5226         dot net>
5227
5228 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
5229
5230         * tools/gst-inspect.c:
5231         Revert previous commit in preparation for an impromptu 0.10.17 release
5232
5233 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
5234
5235         * tools/gst-inspect.c: (print_interfaces),
5236         (print_element_properties_info), (print_pad_info),
5237         (print_signal_info), (print_element_info):
5238         Fix a few memory leaks.
5239
5240 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
5241
5242         * configure.ac:
5243         Back to CVS
5244
5245 === release 0.10.16 ===
5246
5247 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
5248
5249         * configure.ac:
5250           releasing 0.10.16, "Special Dispensation"
5251
5252 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
5253
5254         * configure.ac:
5255           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
5256           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
5257           not fail when trying to crosscompile on OpenEmbedded (#511750).
5258
5259 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
5260
5261         * docs/manuals.mak:
5262         Use $(MAKE) instead of make to fix the build if GNU make is
5263         called different. Fixes bug #510747.
5264
5265 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
5266
5267         * gst/gstplugin.c: (_gst_plugin_initialize):
5268           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
5269           again, which I broke two commits ago when changing the API
5270           of gst_plugin_register_static(): the g_list_foreach() in
5271           _gst_plugin_register_static still assumed the old function
5272           signature and would therefore fail (re-fixes #510187).
5273
5274         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
5275           (_gst_plugin_register_static), (gst_plugin_register_static):
5276           Revert the (technically correct) change to call g_thread_init() from
5277           the pre-main() constructor. This will break programs which call
5278           g_thread_init() without an if (!g_thread_supported()) guard in their
5279           main function. We could just blame it on GLib or the application, but
5280           it's probably best to just avoid this altogether and simply not use
5281           any GLib functions here and use plain old malloc() with a simple
5282           array to store the plugins to register later when gst_init() is
5283           finally called (re-fixes #510187).
5284
5285         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
5286           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
5287           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
5288           (GST_START_TEST), (gst_plugin_suite):
5289           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
5290           works.
5291
5292 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
5293
5294         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5295           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
5296           This makes gtk-doc complain, but results in slightly better
5297           compiler errors. The old _gst_plugin_register_static() is
5298           still guarded, so there'll be a compiler warning about that
5299           instead. Fixes #510187 too.
5300
5301 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
5302
5303         * gst/gst.c: (init_post):
5304         * gst/gstplugin.c: (_gst_plugin_register_static),
5305           (gst_plugin_register_static), (_gst_plugin_initialize):
5306         * gst/gstplugin.h: (GstPluginFilter):
5307           Change API of gst_plugin_register_static() to not take
5308           a GstPluginDesc, but rather just take all the arguments
5309           in a GstPluginDesc directly. This is more intuitive and
5310           avoids certain mistakes when porting code from
5311           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
5312           Fixes #510187.
5313
5314         * tests/check/gst/gstplugin.c:
5315           Fix up for changed API.
5316
5317 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5318
5319         * docs/faq/legal.xml:
5320           Update FAQ, Totem actually has an exception these days.
5321
5322 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
5323
5324         * win32/common/libgstreamer.def:
5325         Add new API declarations
5326
5327 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
5328
5329         * gst/gstminiobject.c:
5330           Spelling fixes for the API docs.
5331
5332 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
5333
5334         * libs/gst/base/gstbasetransform.c:
5335           Fix long property description for QoS.
5336
5337 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
5338
5339         * gst/gst.c:
5340         _gst_trace_on is already provided by gsttrace.h, no need to declare
5341         it ourselves.
5342
5343         * docs/libs/gstreamer-libs-sections.txt:
5344         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
5345         and remove strange tcase_add_test which is outputting a warning.
5346
5347         * libs/gst/check/gstcheck.c:
5348         * libs/gst/check/gstcheck.h:
5349         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
5350         and define them in gstcheck.c instead of having every .c file whcih
5351         includes gstcheck.h be defining its own copy and relying on symbol
5352         interposing to marry them all, which doesn't work on Solaris.
5353
5354         * tests/check/elements/identity.c: (GST_START_TEST):
5355         Don't define 'buffers' locally, it comes from libgstcheck.
5356
5357         * tests/check/generic/sinks.c: (send_buffer):
5358         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
5359
5360         * tests/check/gst/gststructure.c: (GST_START_TEST):
5361         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
5362         * tests/check/gst/gstutils.c: (GST_START_TEST):
5363         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5364         Add a bunch of casts to make various constants fit the types
5365         they're being assigned to.
5366
5367 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
5368
5369         * gst/gstchildproxy.c:
5370           Improve docs and add some ideas for making this more general-purpose.
5371
5372 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
5373
5374         * gst/gst_private.h: (GST_CAT_TYPES):
5375           Add GST_CAT_TYPES, for consistency, and so that the other
5376           debug categories don't make fun of it. Spotted by Saur on IRC.
5377
5378 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
5379
5380         * gst/parse/Makefile.am:
5381           Move types.h from EXTRA_DIST to noinst_HEADERS.
5382
5383 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
5384
5385         * autogen.sh:
5386           Add -Wno-portability to the automake parameters to stop warnings
5387           about GNU make extensions being used. We require GNU make in almost
5388           every Makefile anyway.
5389
5390         * configure.ac:
5391           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
5392           at the same time is required for per target flags.
5393
5394 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5395
5396         * gst/gstmacros.h:
5397           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
5398           __GNUC__ is defined before using it.
5399
5400 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5401
5402         * docs/gst/gstreamer-sections.txt:
5403         * gst/gst.c: (init_post):
5404         * gst/gstplugin.c: (_gst_plugin_register_static),
5405           (gst_plugin_register_static), (_gst_plugin_initialize),
5406           (gst_plugin_register_func):
5407         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5408           API: add gst_plugin_register_static() and deprecate
5409           GST_PLUGIN_DEFINE_STATIC, since it's not portable
5410           (#498924).
5411           Also, in _gst_plugin_register_static(), make sure to call
5412           g_thread_init() before calling GLib functions such as
5413           g_list_append() if we're not initialised yet, since that
5414           may lead to random crashes with older GSlice/GLib versions.
5415
5416         * tests/check/gst/gstplugin.c:
5417           Adapt unit test to above changes.
5418
5419 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5420
5421         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
5422         * gst/gstcaps.c: (gst_caps_to_string):
5423         * gst/gststructure.c: (GST_ASCII_IS_STRING),
5424           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
5425           Yet another gratuitous GString micro-optimisation: add a (private)
5426           function that serialises a structure appending to an existing
5427           GString, so that when we serialise caps we don't need to alloc+free
5428           a throwaway GString for each structure (each of which also entailing
5429           multiple reallocs on the way); also use g_string_sized_new() in
5430           various places with an approximate string length to avoid reallocs
5431           within GString. See #500143.
5432
5433 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5434
5435         * gst/gststructure.c: (gst_structure_id_set_value):
5436           Always check UTF-8 conformance of structure strings and not only
5437           if the debugging system is enabled; reasoning: the behaviour of
5438           the actual code shouldn't really change depending on whether the
5439           debugging system is enabled or not (#508291).
5440
5441 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
5442
5443         * Makefile.am:
5444           Remove old coverage target in favour of "make lcov".
5445
5446 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5447
5448         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5449         (gst_base_src_loop):
5450         The start segment for reverse playback goes from start to last_stop.
5451
5452 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5453
5454         Patch by: Peter Kjellerstedt <pkj axis com>
5455
5456         * gst/gstclock.h:
5457         Cast the results from the timeval/spec_to_time macros to what the
5458         docs say it casts to, a GstClockTime. fixes #508175.
5459
5460 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5461
5462         * gst/gstbuffer.c:
5463         Update some comments.
5464
5465         * tools/gst-inspect.c: (print_element_properties_info):
5466         Improve printing of flags.
5467
5468 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
5469
5470         * libs/gst/base/gstbasetransform.c:
5471           (gst_base_transform_transform_size):
5472           Print element name with g_warning() if there's a problem
5473           with the unit size.
5474
5475 2008-01-07  David Schleef  <ds@schleef.org>
5476
5477         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
5478
5479         * libs/gst/controller/gstcontroller.h:
5480         * libs/gst/controller/gstcontrolsource.h:
5481         * libs/gst/controller/gstinterpolationcontrolsource.h:
5482         * libs/gst/controller/gstlfocontrolsource.h:
5483         * libs/gst/dataprotocol/dataprotocol.h:
5484           Fix empty prototypes.  Fixes bug #507957.
5485
5486 2008-01-07  David Schleef  <ds@schleef.org>
5487
5488         * docs/faq/dependencies.xml: Fix typo.
5489
5490 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
5491
5492         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
5493         (gst_base_src_loop):
5494         Don't update the last_stop position in do_seek, that's the position we
5495         did a seek to.
5496         Read backwards when we have a negative rate.
5497
5498         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
5499         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
5500         (filesrc_suite):
5501         Add check for reverse reading.
5502
5503 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
5504
5505         Patch by: Alexis Ballier <aballier at gentoo org>
5506
5507         * tests/check/gst/gstabi.c:
5508         * tests/check/gst/struct_ppc64.h:
5509         * tests/check/libs/libsabi.c:
5510         * tests/check/libs/struct_ppc64.h:
5511           Decide which header to include based on the userland ABI target
5512           and not the kernel/cpu. Fix up structure sizes of ppc64 header
5513           for 64-bit userland (#503590).  Might need something similar for
5514           x86 too.
5515
5516 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5517
5518         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
5519           Log the reason why fopen fails in addition to the fact that it failed.
5520           
5521 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
5522
5523         * gst/parse/parse.l:
5524         Use "%option never-interactive" to prevent useless calls to isatty()
5525         on every input when parsing. Also use "%option noinput" to not define
5526         the static input/yyinput functions which we don't use anyway. This
5527         removes a compiler warning with gcc 4.3 and saves some bytes in the
5528         library.
5529         
5530         * gst/parse/lex._gst_parse_yy.pre.c:
5531         Regenerated for the above change.
5532
5533 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
5534
5535         * gst/gstpad.c: (fixate_value):
5536         Don't crash when trying to fixate and empty list.
5537         Fixes #506643.
5538
5539 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
5540
5541         * docs/faq/gst-uninstalled:
5542         Clarify the comments to make the usage of this script and what it
5543         does easier to understand.
5544
5545 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
5546
5547         * tools/gst-plot-timeline.py:
5548         Add more options to gst-plot-timeline
5549
5550 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
5551
5552         * docs/design/part-synchronisation.txt:
5553         Some more info on how the stream_time in GstBaseSink is done.
5554
5555 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
5556
5557         * tests/check/generic/sinks.c: (gst_sinks_suite):
5558           Put back the tcase_set_timeout(), apparently it's needed after
5559           all; fix it up in a way that makes things work with valgrind too.
5560
5561 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
5562
5563         * gst/gstdebugutils.c:
5564           Add warning when failed to open file for writing.
5565
5566 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5567
5568         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
5569
5570         * gst/gstvalue.c: (gst_value_is_fixed):
5571           Optimisation: bail out of the loop as early as possible (#500143).
5572
5573 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5574
5575         * gst/gstcaps.c: (gst_caps_to_string):
5576         * gst/gstinfo.c: (gst_debug_construct_term_color):
5577         * gst/gstparse.c: (gst_parse_launchv):
5578         * gst/gstutils.c: (gst_util_dump_mem):
5579         * gst/gstvalue.c: (gst_value_serialize_any_list),
5580           (gst_value_transform_any_list_string):
5581           Bunch of gratuitous nano-optimisations.
5582
5583 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5584
5585         * tests/check/generic/sinks.c: (async_done_func),
5586           (async_done_eos_func):
5587           Fix leak in unit test (bus sync handler must unref the message
5588           if it returns GST_BUS_DROP). Don't fiddle with the default test
5589           timeout, this is smaller than the current preconfigured value
5590           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5591           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5592
5593 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5594
5595         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5596
5597         * configure.ac:
5598         Check for stdio_ext.h for the filesink changes.
5599
5600         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5601         (gst_file_sink_class_init), (gst_file_sink_init),
5602         (gst_file_sink_dispose), (gst_file_sink_set_property),
5603         (gst_file_sink_get_property), (gst_file_sink_open_file),
5604         (gst_file_sink_close_file):
5605         * plugins/elements/gstfilesink.h:
5606         Add two properties to control the buffering mode and size.
5607         API: GstFileSink::buffer-mode
5608         API: GstFileSink::buffer-size
5609         Fixes #500150.
5610
5611 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5612
5613         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5614         Add some more docs to explain why a FIXME was wrongly added. 
5615
5616 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
5617
5618         * gst/gstobject.c:
5619           Fix typo in the gst_object_{ref,unref} documentation.
5620
5621 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5622
5623         * tests/check/libs/controller.c:
5624         * tests/check/libs/typefindhelper.c:
5625         * tests/check/pipelines/parse-launch.c:
5626           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5627           going to be deprecated (see #498924).
5628
5629 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5630
5631         * gst/gsttypefind.c: (gst_type_find_register):
5632           Make gst_type_find_register work for static typefind functions,
5633           ie. allow passing plugin == NULL (prerequisite for #498924).
5634
5635         * gst/gstelementfactory.c: (gst_element_register):
5636           Small docs addition.
5637
5638 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
5639
5640         * gst/gstpad.c: (gst_pad_dispose):
5641         Really unlink the peer pad instead of setting the peer pointer to NULL
5642         when we dispose the pad.
5643         This correctly calls the unlink functions and makes sure that the peer
5644         does not have a handle to invalid memory. See #504671.
5645
5646         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5647         Add testsuite for above case.
5648
5649 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
5650
5651         Patch by: Peter Kjellerstedt <pkj axis com>
5652
5653         * libs/gst/check/gstcheck.h:
5654           Fix detection of the check version we're compiling against (would
5655           otherwise break if check goes v0.10.0); correctly report the
5656           name of the failed test again in case of failure, instead of
5657           just 'tf' (fixes #504499).
5658
5659 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5660
5661         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5662         (gst_base_src_get_range), (gst_base_src_pad_get_range),
5663         (gst_base_src_loop), (gst_base_src_set_flushing),
5664         (gst_base_src_change_state):
5665         Allow sending EOS to the source to make it send out an EOS event from
5666         the streaming thread.
5667         Update docs and deprecate the old NULL/READY shutdown method.
5668
5669         * tests/check/libs/basesrc.c: (GST_START_TEST),
5670         (gst_basesrc_suite):
5671         Add unit test for controlled shutdown.
5672
5673 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5674
5675         * docs/design/part-synchronisation.txt:
5676         Small updates.
5677
5678         * gst/gstsegment.c: (gst_segment_set_seek),
5679         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5680         (gst_segment_to_running_time):
5681         The seek format can be different from the segment format when the start
5682         and stop values are not to be updated, when we only do a rate change for
5683         example.
5684
5685         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5686         (gst_segment_suite):
5687         Add a testcase for the rate-only seeks, checking that the format is
5688         correctly ignored when start and stop are not updated.
5689
5690 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
5691
5692         Patch by: Matthias Bolte <photon at mail dot upb dot de>
5693
5694         * win32/vs8/grammar.vcproj:
5695         * win32/vs8/libgstcontroller.vcproj:
5696         * win32/vs8/libgstreamer.vcproj:
5697         Fix compilation with VS8 and include some missing files.
5698
5699 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
5700
5701         * gst/gsttaglist.c:
5702           Small docs addition: mention that the strings returned by
5703           gst_tag_list_get_string*() are in UTF-8 encoding.
5704
5705 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
5706
5707         * Makefile.am:
5708           The check-exports stuff moved to common/win32.mak, so include that.
5709
5710 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
5711
5712         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5713         (gst_base_src_perform_seek), (gst_base_src_get_range),
5714         (gst_base_src_set_playing), (gst_base_src_change_state):
5715         Make _wait_playing() not check any variables so that we can call this
5716         function from subclasses. Move the checks elsewhere similar to
5717         _wait_preroll() in basesink.
5718         Add some debugging.
5719         Only signal the LIVE cond when we are going back to PLAYING.
5720
5721 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5722
5723         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5724           Use g_remove() and g_rename(). Check result of g_rename(), and
5725           don't leak the open file descriptor if we error out when writing.
5726
5727         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5728           Must check the return value of close() after writing out the new
5729           registry file.  Sometimes write problems such as out-of-diskspace
5730           are only reported when the file is closed and not already during
5731           the write.  This may have caused partial/broken registry files in
5732           some rare circumstances. Should fix #503675.
5733
5734 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
5735
5736         * docs/gst/.cvsignore:
5737         * docs/libs/.cvsignore:
5738         * docs/plugins/.cvsignore:
5739         Ignore files generated by new common/* modifications
5740
5741 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5742
5743         * win32/common/libgstbase.def:
5744           Yes, you can also have a <TAB> if you want.
5745
5746 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5747
5748         * win32/common/libgstbase.def:
5749           Add new basetransform API to win export file.
5750
5751 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5752
5753         * tests/check/gst/gstbin.c:
5754           Adjust the test to the refcount change two days ago.
5755
5756 2007-12-14  David Schleef  <ds@schleef.org>
5757
5758         * docs/faq/getting.xml: Fix typo.
5759
5760 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
5761
5762         * docs/libs/gstreamer-libs-sections.txt:
5763         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5764           (gst_base_transform_prepare_output_buffer),
5765           (gst_base_transform_set_gap_aware):
5766         * libs/gst/base/gstbasetransform.h:
5767           API: Add gst_base_transform_set_gap_aware() to control whether
5768           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5769           get buffers with this flag at all. Fixes #503231.
5770
5771 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
5772
5773         * libs/gst/base/gstbasesink.c:
5774         * libs/gst/base/gstbasesrc.c:
5775         * libs/gst/base/gstbasetransform.c:
5776           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5777           thread. Correct log message in gstbasesrc.c.
5778
5779 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5780
5781         * gst/gstutils.c: (element_find_unconnected_pad):
5782           Fix possible compiler warning (#503417).
5783
5784 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5785
5786         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5787           Don't use GST_CAT_EVENT here for logging, it makes no sense.
5788
5789 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
5790
5791         * tools/gst-inspect.c: (print_element_properties_info):
5792           Add support for GstFraction properties.
5793
5794 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5795
5796         * Makefile.am:
5797           Add check-exports target and run it as part of 'make check'
5798           (see #499140 and #493983).
5799
5800         * gst/gst_private.h:
5801         * gst/gstelementfactory.h:
5802         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5803         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5804           (_priv_gst_in_valgrind):
5805         * gst/gstinfo.h: (GstLogFunction):
5806         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5807           (gst_type_find_register):
5808         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5809           (gst_type_find_factory_get_type):
5810         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5811           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5812           (gst_controller_new_valist), (gst_controller_new_list),
5813           (_gst_controller_dispose), (_gst_controller_class_init):
5814         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5815         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5816           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5817           (gst_object_get_controller), (gst_object_set_controller),
5818           (gst_object_suggest_next_sync), (gst_object_sync_values),
5819           (gst_object_set_control_source), (gst_object_get_control_source),
5820           (gst_object_get_value_arrays), (gst_object_get_value_array),
5821           (gst_object_get_control_rate), (gst_object_set_control_rate):
5822         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5823         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5824           Make some functions that should be static static; rename some
5825           private symbols so that they don't get exported; add some FIXME
5826           comments so we can move accidentally exported functions into
5827           our private section in 0.11.
5828
5829         * win32/common/libgstreamer.def:
5830           Add gst_utils_get_timestamp().
5831
5832 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5833
5834         * gst/gstvalue.c:
5835         * gst/gstvalue.h:
5836           Add more missing "Since:" tags to docs.
5837
5838 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5839
5840         * gst/gstutils.c:
5841           Add mising "Since:" to docs.
5842
5843 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5844
5845         * gst/gstplugin.c:
5846           Include "glib-compat-private.h" to fix the build on system with
5847           glib < 2.10. Fixes #503131.
5848
5849 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5850
5851         * gst/gstutils.c:
5852         * gst/gstutils.h:
5853           Actually its not PURE as it gets the time from elsewhere.
5854
5855 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5856
5857         * docs/gst/gstreamer-sections.txt:
5858         * gst/gstclock.h:
5859         * gst/gstdebugutils.c:
5860         * gst/gstinfo.c:
5861         * gst/gstutils.c:
5862         * gst/gstutils.h:
5863         * libs/gst/base/gstbasesink.c:
5864         * tools/gst-launch.c:
5865           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5866           uses as we don't have HAVE_POSIX_TIMERS in public headers.
5867           Thanks Tim for spotting.
5868           API: gst_util_get_timestamp
5869
5870 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
5871
5872         * configure.ac:
5873           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5874
5875 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
5876
5877         * gst/gststructure.c: (gst_structure_validate_name),
5878           (gst_structure_new_valist), (gst_structure_parse_value),
5879           (gst_structure_from_string):
5880           Don't crash in _from_string() if the structure name is not valid
5881           (fixes #501560).  Allow structure names to start with a number
5882           again (this apparently broke the ubuntu codec installer).
5883
5884         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5885           (GST_START_TEST):
5886           Add unit test for the crash; update unit tests for new behaviour.
5887
5888 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
5889
5890         * gst/gstutils.c:
5891         Clarify gst_element_get_compatible_pad() documentation.
5892         Fixes #500919.
5893
5894 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
5895
5896         * tests/check/Makefile.am:
5897           Don't forget to dist {gst,libs}/struct_hppa.h.
5898
5899 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5900
5901         * libs/gst/base/gstbasesink.c:
5902           Use new API to get elapsed time.
5903
5904 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5905
5906         * gst/gstdebugutils.c:
5907         * gst/gstinfo.c:
5908           Fix wrong order of args in GST_CLOCK_DIFF() usage.
5909
5910         * tools/gst-launch.c:
5911           Use new API to get elapsed time.
5912
5913 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5914
5915         * docs/gst/gstreamer-sections.txt:
5916         * gst/gstclock.h:
5917         * gst/gstdebugutils.c:
5918         * gst/gstinfo.c:
5919           Rename new API + ChangeLog surgery to remove old name from last entry..
5920
5921 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5922
5923         * docs/gst/gstreamer-sections.txt:
5924         * gst/gstclock.h:
5925         * gst/gstdebugutils.c:
5926         * gst/gstinfo.c:
5927           Now hide the different clock stuff behind a macro.
5928
5929 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5930
5931         * configure.ac:
5932         * gst/gstdebugutils.c:
5933         * gst/gstinfo.c:
5934           Apply the posix-timer check from #361155. Conditionally use the posix
5935           timer for logging. This gives better timestamp precission, less
5936           overhead and no ntp jitter.
5937
5938 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
5939
5940         * gst/gstminiobject.c: (gst_mini_object_get_type),
5941         (gst_mini_object_class_init), (gst_mini_object_copy_default),
5942         (gst_mini_object_finalize), (gst_mini_object_copy),
5943         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5944         (gst_mini_object_replace), (param_mini_object_validate),
5945         (gst_param_spec_mini_object_get_type):
5946         Some cleanup and checking against invalid function parameters.
5947
5948 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
5949
5950         * docs/gst/gstreamer-sections.txt:
5951         * gst/gstclock.h:
5952         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5953         (gst_systemclock_suite):
5954         Start merging in the easy bits of #361155, the monotonic clock patch.
5955         This one adds a few handy macros with docs and a testsuite.
5956
5957 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
5958
5959         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5960         Be a bit smarter when seeking, like, don't try to do a seek when it's
5961         not needed. This avoids errors when the file is not seekable.
5962         Fixes #499771.
5963
5964 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
5965
5966         * docs/gst/gstreamer-docs.sgml:
5967         * docs/gst/gstreamer-sections.txt:
5968         * docs/gst/gstreamer.types.in:
5969         * gst/Makefile.am:
5970         * gst/gst.h:
5971         * gst/gstpreset.c:
5972         * gst/gstpreset.h:
5973         * plugins/elements/gstqueue.c:
5974           Due to popular request remove preset interface again. :-(.
5975
5976 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5977
5978         * tools/gst-inspect.c:
5979           Print 'default value' for enums and flags too.
5980
5981 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5982
5983         * docs/random/ensonic/profiling.txt:
5984           More ideas.
5985
5986         * gst/gstbin.c:
5987           Fix typo and give better log output.
5988
5989         * gst/gstdebugutils.c:
5990         * gst/gstdebugutils.h:
5991           More ideas, make graphs a bit smaller and fix param name in macro.
5992
5993 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5994
5995         * gst/gstpreset.c:
5996           Try harder to use the return value from fgets().
5997
5998 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
5999
6000         * gst/gstpreset.c:
6001           For theses two fgets we handle the error below.
6002
6003 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
6004
6005         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
6006         Only send upstream events upstream. Fixes #498746.
6007
6008 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
6009
6010         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
6011
6012         * plugins/elements/gstidentity.c: (gst_identity_class_init),
6013         (gst_identity_init), (gst_identity_transform_ip),
6014         (gst_identity_set_property), (gst_identity_get_property):
6015         * plugins/elements/gstidentity.h:
6016         Add property to disable handoff signal emission. Fixes #498694.
6017         API: GstIdentity::signal-handoffs
6018
6019 2007-11-21  Julien Moutte  <julien@fluendo.com>
6020
6021         * docs/faq/gst-uninstalled: Yet another missing library for the
6022         uninstalled script (fft)
6023
6024 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
6025
6026         * docs/faq/developing.xml:
6027         Add a question about how to submit new translations.
6028
6029         * docs/random/release:
6030         Update the contact email address for the Translation Project
6031
6032         * plugins/elements/gstfdsrc.c:
6033         The parent_class for fdsrc is pushsrc, not GstElement.
6034
6035 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
6036
6037         * gst/gstpreset.c:
6038           Plug a leak and fix saving.
6039
6040 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
6041
6042         * docs/gst/gstreamer-sections.txt:
6043         Add new gst_preset__get_property_names() function to the docs
6044         to fix the build.
6045
6046 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
6047
6048         * gst/gstpreset.c:
6049         * gst/gstpreset.h:
6050           Change _get_preset_names API to return a strv with copies. Add
6051           _get_property_names to allow implementations to filter and provide
6052           good default implementation.
6053
6054 2007-11-20  Julien MOUTTE  <julien@moutte.net>
6055
6056         * docs/faq/gst-uninstalled: Add another library to the uninstalled
6057         script (sdp).
6058
6059 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
6060
6061         * gst/gstpreset.c:
6062           More cleanups, docs, and TODOs from comments that now slowly come in.
6063
6064 2007-11-19  Julien MOUTTE  <julien@moutte.net>
6065
6066         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
6067         search path.
6068
6069 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
6070
6071         * gst/gstpreset.c:
6072           Fix bogus warning and make the property type specific code more
6073           similar.
6074
6075 2007-11-19  Julien MOUTTE  <julien@moutte.net>
6076
6077         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
6078         it build on OS X.
6079
6080 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
6081
6082         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
6083         (gst_bin_add_func), (gst_bin_remove_func),
6084         (gst_bin_change_state_func), (gst_bin_continue_func):
6085         Change email, cleanups add some more debug and comments.
6086         Also set bus and clock on new elements when the pipeline was in error.
6087
6088 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
6089
6090         * gst/gstbin.c:
6091         * gst/gstdebugutils.c:
6092           Fix build with --disable-gst-debug. Fixes #497859.
6093           Spotted by Sameer Naik.
6094
6095 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
6096
6097         * gst/gstevent.c:
6098           Little documentation improvment.
6099
6100         * gst/gstpreset.c:
6101           More TODO cleanups. Remove c++ comments.
6102
6103         * libs/gst/controller/gstcontroller.c:
6104           Add TODO and use quark from static string.
6105
6106         * tests/check/gst/gstmessage.c:
6107         * tests/check/gst/gststructure.c:
6108           Use quark from static string.
6109
6110 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
6111
6112         * gst/gstpreset.c:
6113           Add some comments and TODOs.
6114
6115         * gst/gstpreset.h:
6116           Add padding for future changes.
6117
6118         * plugins/elements/gstqueue.c:
6119           Implement the iface.    
6120
6121 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
6122
6123         * docs/gst/gstreamer-docs.sgml:
6124         * docs/gst/gstreamer-sections.txt:
6125         * docs/gst/gstreamer.types.in:
6126         * gst/Makefile.am:
6127         * gst/gst.h:
6128         * gst/gstpreset.c:
6129         * gst/gstpreset.h:
6130           Add the preset interface (Fixes #396779). Do some doc cleanups along.
6131
6132 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
6133
6134         * configure.ac:
6135
6136         Back to CVS
6137
6138 === release 0.10.15 ===
6139
6140 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
6141
6142         * configure.ac:
6143           releasing 0.10.15, "October"
6144
6145 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
6146
6147         * win32/vs6/libgstreamer.dsp:
6148         Convert line endings back to DOS.
6149
6150 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
6151
6152         * docs/design/draft-tagreading.txt:
6153         * docs/random/ensonic/profiling.txt:
6154         Update fast tagreading draft and performance profiling ideas.
6155
6156 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
6157
6158         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
6159         Don't hold the object lock when unreffing a buffer because it could
6160         cause a deadlock when the finalize function wants to grab the object
6161         lock too. Fixes #495133.
6162
6163 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
6164
6165         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
6166         (gst_segment_to_stream_time), (gst_segment_to_running_time):
6167         Also accumulate time correctly when doing reverse playback. Fixes
6168         #488201,
6169         When converting to running and stream time, use default values for
6170         start/stop/time/accum when comparing different formats. Fixes #494245.
6171
6172         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6173         Do running/stream time in TIME format.
6174
6175         * tests/check/gst/gstsegment.c: (GST_START_TEST),
6176         (gst_segment_suite):
6177         2 new unit tests for segment accumulation.
6178
6179 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
6180
6181         * gst/gst.c: (init_pre):
6182         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
6183           (_gst_debug_bin_to_dot_file):
6184           Move getenv() back into gst_init, so everyone can live happily
6185           ever after. Make sure the symbol isn't exported though.
6186
6187 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6188
6189         Patch by: Sebastien Moutte  <sebastien moutte net>
6190
6191         * win32/common/gstenumtypes.c:
6192         * win32/common/gstenumtypes.h:
6193           Update enum types.
6194
6195         * win32/vs6/libgstreamer.dsp:
6196           Update vs6 project files (#494343).
6197
6198 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6199
6200         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
6201         (gst_base_src_perform_seek), (gst_base_src_default_event),
6202         (gst_base_src_set_flushing), (gst_base_src_activate_push),
6203         (gst_base_src_activate_pull):
6204         Unify flushing code, remove some old unlock code that is no longer used.
6205         Take the streaming lock when seeking to avoid races. Fixes #492729.
6206         Added some more comments.
6207
6208 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6209
6210         * gst/gst.c: (_gst_disable_segtrap):
6211           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
6212           we can use gst_segtrap_is_enabled() there now that we have that API.
6213           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
6214           to do the getenv here (and export the variable).
6215
6216         * gst/gstdebugutils.c: (debug_dump_element),
6217           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
6218           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
6219
6220         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
6221           (gst_debug_log_default):
6222           Rename _gst_info_start_time to priv_gst_info_start_time so it
6223           doesn't get exported (was never in any header).
6224
6225         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
6226           (gst_plugin_loading_mutex):
6227           Make static mutex gst_plugin_loading_mutex really static (was never
6228           in any header), and use gst_segtrap_is_enabled() instead of
6229           _gst_disable_segtrap.
6230
6231         * gst/gsttrace.c: (_gst_trace_default):
6232           Make local _gst_trace_default static (was never in any header).
6233
6234 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6235
6236         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
6237
6238         * win32/common/libgstbase.def:
6239         * win32/common/libgstcontroller.def:
6240         * win32/common/libgstdataprotocol.def:
6241         * win32/common/libgstnet.def:
6242         * win32/common/libgstreamer.def:
6243           Add more missing symbols, remove some duplicates, and sort
6244           as the 'sort' command sorts it (partially fixes #493983).
6245
6246 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6247
6248         * gst/gstelement.c: (gst_element_set_state_func):
6249         Only change the state cookie if a different state was set on the
6250         element. See #492729.
6251
6252 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6253
6254         * gst/gstvalue.c:
6255           Remove unused and uninitialised type variables that were still
6256           exported for some reason (they were never in any header files
6257           though).
6258
6259 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6260
6261         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6262         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
6263         (gst_base_sink_event), (gst_base_sink_get_position_last),
6264         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
6265         (gst_base_sink_change_state):
6266         Don't try to report a 0 position when we don't know, return -1 and FALSE
6267         instead. This mostly happens when we are prerolling.
6268         Make sure we can report the right position before we post the ASYNC_DONE
6269         message so that a message handler can query position without races.
6270
6271         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6272         (async_done_handoff), (async_done_func), (send_buffer),
6273         (async_done_eos_func), (gst_sinks_suite):
6274         Add two tests for the above.
6275
6276 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6277
6278         * MAINTAINERS:
6279         Update with new email address.
6280
6281         * docs/design/part-TODO.txt:
6282         Add some more info about future pad-block and negotiation changes.
6283
6284         * docs/design/part-buffering.txt:
6285         Add some ideas about buffering reporting.
6286
6287 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
6288
6289         * tests/check/gst/gstobject.c:
6290         Disable silly racy test that always fails on this combination of CPU
6291         and kernel.
6292
6293 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6294
6295         Patch by: Murray Cumming  <murrayc@murrayc.com>
6296
6297         * gst/gstobject.c:
6298           Corrected the registration of the parent-set and parent-unset
6299           signals: The parameter is a GstObject, not a GObject (#493134).
6300
6301 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6302
6303         * gst/gst_private.h:
6304         * gst/gstbuffer.h:
6305         * gst/gstevent.h:
6306         * gst/gstformat.h:
6307         * gst/gstmessage.h:
6308         * gst/gstplugin.h:
6309         * gst/gstquery.h:
6310         * gst/gsttaglist.h:
6311         * gst/gstvalue.h:
6312           Move declaration of private _gst_foo_initialize() functions into
6313           our private header file where they should have been all along.
6314
6315 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6316
6317         * docs/plugins/gstreamer-plugins-sections.txt:
6318         * gst/gstdebugutils.h:
6319         * gst/gstxml.h:
6320         * plugins/elements/gstqueue.c:
6321           gtk-doc fixes; trailing-comma-in-enum fix.
6322
6323 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6324
6325         * gst/gst.c: (gst_deinit):
6326           Clean up on deinit (not the external ones though, doesn't seem to be
6327           needed for some reason).
6328
6329 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6330
6331         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
6332           Remove __declspec(dllimport) for MSVC that was copied over into core
6333           from a plugin, obviously without ever having been tested (note the
6334           single underscore in _declspec in the initial commit), and that doesn't
6335           really make sense.  See #492077.
6336
6337 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6338
6339         * gst/gst.c: (init_post):
6340         * gst/gstevent.c: (_gst_event_initialize):
6341         * gst/gstquery.c: (_gst_query_initialize):
6342         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
6343           g_type_class_ref() other types as well, see #349410 and #64764.
6344
6345         * gst/gstbuffer.c: (_gst_buffer_initialize):
6346         * gst/gstmessage.c: (_gst_message_initialize):
6347           Simplify existing g_type_class_ref().
6348
6349 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6350
6351         * gst/gstformat.c: (_gst_format_initialize):
6352           g_type_class_ref() our GstFormat type to make sure we avoid the
6353           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
6354           bug #64764. Should fix intermittent tee unit test failures (#474823).
6355
6356 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6357
6358         * tests/check/elements/tee.c: (test_num_buffers):
6359           Simplify, simplify, simplify - or not.  Rewrite unit test
6360           not to use gst_parse_launch(); allow N sub-streams. Increasing
6361           the number of sub-streams seems to reproduce #474823 more easily.
6362
6363 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
6364
6365         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
6366
6367         * gst/gsttrace.c:
6368         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
6369         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6370         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
6371           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
6372           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
6373           so use _pipe() directly (#492077).
6374
6375         * win32/common/dirent.c: (_treaddir):
6376           Add a couple of casts to make it build without warnings with MSVC.
6377
6378         * win32/common/libgstreamer.def:
6379           Add some more symbols that need to be exported.
6380
6381 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
6382
6383         * tests/examples/metadata/read-metadata.c: (message_loop):
6384           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
6385           arriving in a second or third tag message are added to
6386           the tag list as well.
6387
6388 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
6389
6390         * libs/gst/base/gstbasesrc.c:
6391           Its "Since:" and not "@Since:". And remove an superflous cast.
6392
6393 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
6394
6395         * docs/libs/gstreamer-libs-sections.txt:
6396         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6397         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
6398         (gst_base_sink_get_property), (gst_base_sink_render_object),
6399         (gst_base_sink_preroll_object),
6400         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
6401         (gst_base_sink_change_state):
6402         * libs/gst/base/gstbasesink.h:
6403         Add a new last-buffer property that contains the last buffer used in
6404         basesink for preroll or rendering. useful for making snapshots.
6405         API: gst_base_sink_get_last_buffer()
6406         API: GstBaseSink::last-buffer
6407
6408 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6409
6410         * docs/gst/running.xml:
6411         * gst/gst.c:
6412         * gst/gstdebugutils.c:
6413         * gst/gstdebugutils.h:
6414         * tools/gst-launch.c:
6415           Improve bin graph dumping, by using the envvar to specify a path.
6416           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
6417
6418 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
6419
6420         * plugins/elements/gsttypefindelement.c:
6421           (gst_type_find_element_handle_event),
6422           (gst_type_find_element_activate):
6423           Post special error message if we can't determine the type of a stream
6424           because it's empty.
6425
6426 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6427
6428         * docs/gst/running.xml:
6429         * gst/gstdebugutils.c:
6430           Document new env-var. Add one log-line after dumpng a graph.
6431
6432 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
6433
6434         * configure.ac:
6435           Ugly hack to put the (recently removed and non-portable, apparently)
6436           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
6437           GNU ld, because without that 'make check' fails miserably on my debian
6438           stable box.  Someone with more knowledge of linker intricacies and
6439           portability issues than me fix this properly please.
6440
6441 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
6442
6443         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6444         Reset last seen position after flushing so that we don't report the old
6445         position anymore.
6446
6447 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6448
6449         * gst/gstelementfactory.c: (gst_element_register):
6450         * gst/gsturi.h:
6451         Patch from Alessandro Decina adding get_type_full and
6452         get_protocols_full private vfuncs to the URIHandler interface
6453         to allow bindings to support creating URI handlers. 
6454         Partially fixes: #339279
6455         API: GstURIHandlerInterface::get_type_full
6456         API: GstURIHandlerInterface::get_protocols_full
6457
6458 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6459
6460         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6461         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
6462         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
6463         Make it so that pads are considered linked until a buffer is pushed
6464         and discovered otherwise. This avoids problems with decodebin2 hanging
6465         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
6466         case.
6467
6468         Make sure we lock the multiqueue when updating the max-size properties.
6469         
6470         Fix a crash on Solaris in a debug statement in get_request_pad that
6471         passes a NULL string to GST_DEBUG. 
6472
6473         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6474         (run_output_order_test):
6475         Fix the test to allow the first buffer on not-linked pads to come out
6476         of sequence while multiqueue discovers that they are not-linked.
6477
6478 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6479
6480         * configure.ac:
6481         * libs/gst/check/Makefile.am:
6482         Use a custom export symbol regex for libgstcheck, as it needs
6483         to export symbols that don't match the standard GStreamer gst_*
6484         pattern, and  --export-dynamic is not portable (only works on 
6485         GNU ld)
6486
6487         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6488         (gst_check_setup_sink_pad):
6489         Make sure to pass a message parameter to the fail_* macros.
6490
6491         * tests/check/gst/gstinfo.c: (GST_START_TEST):
6492         Fix some compiler warnings.
6493
6494 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
6495
6496         * tests/check/gst/gststructure.c: (test_to_string):
6497           Disable test that checks that white spaces are not allowed
6498           in structure names or field names, since we need to
6499           support that for now for backwards compatibility reasons.
6500
6501 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6502
6503         * docs/gst/gstreamer-sections.txt:
6504         * gst/gsttaglist.c:
6505         * gst/gsttaglist.h:
6506           API: add GST_TAG_ARTIST_SORTNAME
6507           API: add GST_TAG_ALBUM_SORTNAME
6508           API: add GST_TAG_TITLE_SORTNAME
6509           Add tag variants for sorting (#414539).
6510
6511 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6512
6513         * gst/gststructure.c:
6514           Also allow white space for names so we don't break
6515           backwards compatibility.
6516
6517 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
6518
6519         * docs/design/part-TODO.txt:
6520         * docs/design/part-segments.txt:
6521         * docs/design/part-streams.txt:
6522         Small updates.
6523
6524 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6525
6526         * docs/gst/gstreamer-sections.txt:
6527          Fixed documentation from my previous commit (added new API add
6528          gst_value_set_structure(), add gst_value_get_structure() and
6529          GST_VALUE_HOLDS_STRUCTURE).
6530
6531 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
6532
6533         * gst/gstdebugutils.c:
6534           Reflow code to fix uninitialized variable warning.
6535
6536 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6537
6538         * gst/gstcaps.c: (gst_caps_to_string),
6539         (gst_caps_from_string_inplace):
6540         * gst/gststructure.c: (gst_structure_get_abbrs),
6541         (gst_structure_to_string), (gst_structure_from_string):
6542         * gst/gstvalue.c: (gst_value_set_structure),
6543         (gst_value_get_structure), (gst_value_serialize_structure),
6544         (gst_value_deserialize_structure), (_gst_value_initialize):
6545         * gst/gstvalue.h:
6546         * tests/check/gst/gststructure.c: (GST_START_TEST),
6547         (gst_structure_suite):
6548         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6549          Added GstStructure to gst_value_table and its related functions.
6550          Changed gst_structure_to_string to print ';' in the end.
6551          Changed gst_caps_to_string to not print ';' beteween its
6552          fields (structures) anymore and remove the lastes ';' from latest
6553          structure. Now it is possible to have nested structures.
6554          In addition, backward compatibilty is assured by accepting '\0' as
6555          end delimiter. Fixes: #487969.
6556          API: add gst_value_set_structure()
6557          API: add gst_value_get_structure()
6558          API: add GST_VALUE_HOLDS_STRUCTURE
6559
6560 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
6561
6562         * gst/gstbus.c:
6563           When no GSource callback has been set up, tell developer
6564           to use a function that actually exists.
6565
6566 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
6567
6568         * docs/gst/gstreamer-sections.txt:
6569         * gst/Makefile.am:
6570         * gst/gst.c:
6571         * gst/gst.h:
6572         * gst/gstdebugutils.c:
6573         * gst/gstdebugutils.h:
6574         * gst/gstinfo.c:
6575         * gst/gstinfo.h:
6576         * tools/gst-launch.c:
6577           Allow dumping pipelines as dot graphs. Fixes #456573.
6578
6579 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6580
6581         * gst/gststructure.c:
6582           Allow '+' as well, it can be part of media or mime types
6583           such as image/svg+xml.
6584
6585 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6586
6587         * docs/gst/gstreamer-sections.txt:
6588         * gst/gstbus.c:
6589         * gst/gstbus.h:
6590           API: add gst_bus_pop_filtered
6591           API: add gst_bus_timed_pop_filtered
6592           Two new functions for waiting for specific message types on the
6593           bus for a specified amount of time without iterating any main
6594           loops or main contexts.
6595
6596         * tests/check/gst/gstbus.c:
6597           Some tests for the new functions.
6598
6599 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6600
6601         * docs/libs/gstreamer-libs-sections.txt:
6602           Make gtk-doc ignore stuff it should ignore.
6603
6604 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6605
6606         * libs/gst/check/gstcheck.c:
6607         * libs/gst/check/gstcheck.h:
6608           Allow runtime selection of unit tests to run via the GST_CHECKS
6609           environment variable (test case function names, comma-separated).
6610
6611 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6612
6613         * gst/gststructure.c:
6614         * tests/check/gst/gststructure.c:
6615           Revert serialisation change and constrain structure-names after
6616           consensus on irc. Update api documentation to reflect the change.
6617
6618 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6619
6620         * gst/gststructure.c:
6621           Improve serialization and fix tests.
6622
6623         * tests/check/gst/gststructure.c:
6624           Add another test that covers why I actually did the previous structure
6625           change.
6626
6627 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6628
6629         * tools/gst-inspect.c: (print_element_info):
6630         Don't crash when inspecting an element.
6631
6632 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6633
6634         * tests/check/gst/gststructure.c:
6635           Add unit test for escaping of structure name when serialising
6636           and deserialising to/from strings.
6637
6638 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6639
6640         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6641         (gst_single_queue_new):
6642         * plugins/elements/gstqueue.c: (gst_queue_init),
6643         (gst_queue_push_one):
6644         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6645         upstream is tricked into thinking it can suggest a format downstream
6646         while downstream does not support that format. The real problem is that
6647         core calls acceptcaps when pushing a buffer with new caps, for which we
6648         do a little workaround by setting the caps on the srcpad ourselves
6649         before pushing the buffer (until this is figured out). Fixes #486758.
6650
6651 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6652
6653         * gst/gststructure.c:
6654         * gst/gstvalue.c:
6655           Add some more comments and debug output. Quote structure name to fix
6656           deserialisation of some strings.
6657
6658 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6659
6660         * gst/gstbuffer.h:
6661           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6662           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6663
6664 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6665
6666         * tools/gst-inspect.c:
6667           Save approx. 400 1 byte allocs when printing. Use API to acces element
6668           details.
6669
6670         * tools/gst-run.c:
6671           Avoid a strdup.
6672
6673         * tools/gst-xmlinspect.c:
6674           Use API to acces element details.
6675
6676 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6677
6678         * gst/gstinfo.c:
6679           Fix some spelling errors.
6680
6681 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
6682
6683         * gst/gstbin.c: (bin_handle_async_done):
6684         Correctly set the next state if all of our async children commited their
6685         state. This makes sure we can actually cancel the state change in
6686         progress. Fixes a regression in Rhythmbox when seeking.
6687
6688 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6689
6690         * gst/gstbin.c:
6691           Don't shadow local variable.
6692
6693         * gst/gstinfo.c:
6694           Don't shadow global function name.
6695
6696 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6697
6698         * gst/gstelementfactory.c:
6699         * gst/gstpluginfeature.c:
6700         * gst/gstpluginfeature.h:
6701         * gst/gstregistrybinary.c:
6702         * gst/gstregistryxml.c:
6703         * gst/gsttypefind.c:
6704           Use already-interned string for the private GstPluginFeature
6705           plugin_name field.
6706
6707 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6708
6709         * docs/libs/gstreamer-libs-sections.txt:
6710           Add new API to docs; fixes the build.
6711
6712 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
6713         
6714         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6715
6716         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6717         (gst_base_sink_event):
6718         * libs/gst/base/gstbasesink.h:
6719         Add function to wait for EOS, subclasses can use this to correctly wait
6720         for devices to drain before performing the EOS logic. Fixes #485343.
6721         API: gst_base_sink_wait_eos()
6722
6723 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6724
6725         * gst/gstplugin.h:
6726           Cast description string constants in GST_PLUGIN_DEFINE macros
6727           to a (gchar*) to make C++ code using these macros compile
6728           without warning with g++-4.2 (see #462737).  Even if slightly
6729           ugly, this seems preferable to putting the description strings
6730           into the GLib quark table or making the structure member a
6731           const gchar * and doing casts in core code that allocs and
6732           frees these strings, or requiring a cast in the C++ code.
6733
6734 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6735
6736         * gst/gstinfo.h:
6737           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6738           to print the entire class/function signature into the log
6739           file for C++ code.  This only affects C++ code, for C code
6740           everything remains the same.
6741
6742 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
6743
6744         * gst/gstbin.c: (remove_from_queue):
6745         Work around a problem with pipelines containing (semi)loops until a
6746         proper, more complicated solution is ready. See #475455.
6747
6748 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6749
6750         * gst/gstplugin.c:
6751         * gst/gstplugin.h:
6752         * gst/gstregistrybinary.c:
6753         * gst/gstregistryxml.c:
6754           Put more strings into the GLib quark table. No need to keep
6755           a hundred-something copies of identical version strings,
6756           license strings, package name strings and package origin
6757           strings around. 
6758
6759 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6760
6761         * docs/manual/advanced-dataaccess.xml:
6762           Don't imply that it's okay to unconditionally change
6763           buffer data or buffer metadata in a pad probe callback,
6764           and a bunch of other comments. Fixes #430031.
6765
6766 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6767
6768         * win32/common/gstenumtypes.c:
6769         * win32/common/gstenumtypes.h:
6770         * win32/common/gstversion.h:
6771           Update generated files.
6772
6773 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6774
6775         * docs/manual/advanced-autoplugging.xml:
6776           Prefix section with broken code with a warning (see #342432).
6777
6778 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6779
6780         * docs/manual/appendix-integration.xml:
6781         * docs/manual/basics-init.xml:
6782           Call g_thread_init() before g_option_context_new() to
6783           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6784
6785 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6786
6787         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6788         (gst_base_sink_queue_object_unlocked),
6789         (gst_base_sink_queue_object), (gst_base_sink_event),
6790         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6791         When we received EOS and are waiting for when to post the EOS message,
6792         our state is prerolled and we should not return ASYNC.
6793         Reorganize some code paths to implement this behavior.
6794
6795         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6796         (gst_sinks_suite):
6797         Add unit test to verify above EOS fix.
6798
6799 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6800
6801         * plugins/elements/gsttypefindelement.c:
6802         (gst_type_find_element_have_type), (gst_type_find_element_init),
6803         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6804         Move detecting the input caps of the sinkpad to the setcaps function.
6805         This allows us to update the output caps when we receive new input caps
6806         instead of always using the first detected caps.
6807
6808 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6809
6810         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6811         (gst_base_sink_get_position):
6812         Don't try to preroll non-async elements after a flush.
6813         Subtract latency form clock times when reporting position.
6814
6815 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6816
6817         * gst/gstpad.c: (gst_pad_pause_task):
6818         * gst/gstutils.c:
6819         Small comment and documentation update.
6820
6821 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6822
6823         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6824         (gst_base_src_set_live), (gst_base_src_is_live),
6825         (gst_base_src_query_latency), (gst_base_src_perform_seek),
6826         (gst_base_src_default_event), (gst_base_src_wait),
6827         (gst_base_src_do_sync), (gst_base_src_get_range),
6828         (gst_base_src_pad_get_range), (gst_base_src_loop),
6829         (gst_base_src_unlock), (gst_base_src_unlock_stop),
6830         (gst_base_src_set_flushing), (gst_base_src_set_playing),
6831         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6832         (gst_base_src_change_state):
6833         Rework the locking of basesrc in a similar fashion to basesink. We
6834         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6835         us to handle live sources and semi live ones much better.
6836         Simplify flushing.
6837         Fix unlocking when seeking, shutting down and pausing in live sources.
6838
6839 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6840
6841         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6842         Fix compilation again.
6843
6844 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6845
6846         * gst/gstelement.c:
6847           Use meaningful categories for the logs to clean the default one.
6848
6849 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6850
6851         * tests/check/pipelines/cleanup.c:
6852           Print message name and not just number.
6853
6854 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6855
6856         * docs/design/draft-tagreading.txt:
6857           Add some more thoughts.
6858
6859 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6860
6861         * tests/check/pipelines/simple-launch-lines.c:
6862           Print message name and not just number.
6863
6864 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6865
6866         * libs/gst/base/gsttypefindhelper.c:
6867           Speedup typefinding. This is work in progress (see #459862).
6868
6869 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6870
6871         * gst/gstplugin.c:
6872           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6873           Spotted by Josep Torra Valles <josep@fluendo.com>.
6874
6875 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
6876
6877         * gst/gstclock.h:
6878           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6879           field has moved to GstObject.
6880
6881 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
6882
6883         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6884         (gst_base_src_get_range), (gst_base_src_change_state):
6885         Call unlock for live sources so that they can't get stuck in _create and
6886         produce a buffer before they are set back to PLAYING.
6887
6888 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
6889
6890         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6891         (gst_queue_locked_dequeue):
6892         Comment the segment-related code... in the PROPER function.
6893         See #482147 and my commit from yesterday.
6894
6895 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
6896
6897         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6898         Also initialize the counter that calculates the first timestamp on a
6899         buffer correctly for non-live sources.
6900
6901 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
6902
6903         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6904         Disable code that's breaking the current-time-level reporting.
6905         See #482147
6906
6907 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
6908
6909         * docs/gst/gstreamer-sections.txt:
6910         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6911         as they shouldn't show up. Fixes the docs build.
6912
6913 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
6914         
6915         * gst/gstinfo.h:
6916         Add an explicit variable importation needed on VS6 (only for MSC_VER)
6917         Define M_PI which is used in files which are including gstinfo.h. 
6918         VS6 includes doesn't define it.
6919         * win32/common/libgstbase.def:
6920         * win32/common/libgstcontroller.def:
6921         * win32/common/libgstreamer.def:
6922         Add new exported functions and variables.
6923         * win32/vs6/libgstcontroller.dsp:
6924         * win32/vs6/libgstreamer.dsp:
6925         Update the list of files to build.
6926         
6927 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6928
6929         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6930
6931         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6932         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6933         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6934         Improve debugging. Fixes #480858.
6935
6936 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6937
6938         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6939
6940         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6941         First patch of code cleanups, use the macros and right arguments in the
6942         macros to signal and lock the queue. See #480858.
6943
6944 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
6945
6946         * gst/gstbus.c: (poll_func):
6947         Improve debugging when dealing with _poll().
6948
6949 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6950
6951         * gst/gstregistryxml.c:
6952           Fix memory leak I introduced a few days ago.
6953
6954 2007-09-26  Michael Smith <msmith@fluendo.com>
6955
6956         * gst/gstbuffer.c: (gst_buffer_finalize):
6957           Make it once again possible to free GstBuffers in the default
6958           build.
6959           The poisoning scribbles on parts of the miniobject we need in
6960           order to free it.
6961           Fixes #480341
6962
6963 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6964
6965         * docs/gst/gstreamer-sections.txt:
6966         * gst/gsttaglist.c:
6967         * gst/gsttaglist.h:
6968         API: add GST_TAG_COMPOSER, fixes #459809.
6969
6970 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
6971
6972         * gst/gstplugin.c:
6973         * gst/gstplugin.h:
6974         Add the 3-clause BSD license and the MIT/X11 license to the license
6975         list. Fixes #479784.
6976
6977 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6978
6979         * docs/faq/getting.xml:
6980           Add Q+A about different GStreamer versions (#364056).
6981
6982 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6983
6984         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6985         (gst_base_sink_event), (gst_base_sink_change_state):
6986         Return correct gboolean from query function.
6987
6988 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6989
6990         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6991         (gst_base_sink_event), (gst_base_sink_query),
6992         (gst_base_sink_change_state):
6993         Simplify latency query.
6994         When not synchronizing, we can report latency without querying the peer
6995         element.
6996
6997 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6998
6999         * gst/gstobject.h:
7000         * gst/gstvalue.c:
7001         Fix small typos in the docs.
7002
7003 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
7004
7005         * docs/design/draft-latency.txt:
7006         * docs/design/draft-push-pull.txt:
7007         * docs/design/draft-tagreading.txt:
7008         * docs/design/part-MT-refcounting.txt:
7009         * docs/design/part-activation.txt:
7010         * docs/design/part-block.txt:
7011         * docs/design/part-element-source.txt:
7012         * docs/design/part-events.txt:
7013         * docs/design/part-gstbin.txt:
7014         * docs/design/part-gstelement.txt:
7015         * docs/design/part-gstobject.txt:
7016         * docs/design/part-gstpipeline.txt:
7017         * docs/design/part-messages.txt:
7018         * docs/design/part-preroll.txt:
7019         * docs/design/part-push-pull.txt:
7020         * docs/design/part-qos.txt:
7021         * docs/design/part-query.txt:
7022         * docs/design/part-scheduling.txt:
7023         * docs/design/part-seeking.txt:
7024         * docs/design/part-segments.txt:
7025         * docs/design/part-states.txt:
7026         Documentation updates and typo fixes.
7027
7028 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
7029
7030         * plugins/elements/gstfakesink.c:
7031           Add some debug text to error message to indicate that
7032           we errored out on request.
7033
7034         * tools/gst-launch.c:
7035           When the state change to PLAYING fails, check for an
7036           error message on the bus and print it.
7037
7038 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7039
7040         translated by: Jorge González González <aloriel@gmail.com>
7041
7042         * po/LINGUAS:
7043         * po/es.po:
7044           Added Spanish translation.
7045
7046 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
7047
7048         * plugins/elements/gstqueue.c: (gst_queue_push_one):
7049         Fix printf arguments.
7050
7051 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
7052
7053         * tests/check/generic/states.c:
7054           Improved state change unit test.
7055
7056 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
7057
7058         * gst/gstbin.h:
7059           Move priv to the right place.
7060
7061         * gst/gstsystemclock.c:
7062           Add FIXME: and improve log.
7063
7064         * tests/check/Makefile.am:
7065         * tests/examples/manual/Makefile.am:
7066           Work with all types of registries.
7067
7068 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
7069
7070         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
7071         Don't unref the event after pushing it. Fixes #478401.
7072
7073 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
7074
7075         * .cvsignore:
7076         * tests/examples/manual/.cvsignore:
7077           Ignore registries in any format.
7078
7079 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
7080
7081         * gst/glib-compat-private.h:
7082           Add compatibility macro for g_intern_string() for
7083           GLib-2.8 (any reason we can't just bump the
7084           requirement to at least 2.10?)
7085
7086         * gst/gstpadtemplate.h:
7087         * gst/gstelementfactory.c:
7088         * gst/gstregistryxml.c:
7089         * gst/gstregistrybinary.c:
7090           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
7091           up the internal code accordingly.  This shouldn't be a problem, since
7092           there is no reason external code could ever assume the string in such
7093           a structure is dynamically allocated unless it did that itself;  the
7094           use of g_strdup() is private to element factories.  The new code also
7095           saves some memory by putting pad template name strings into the GLib
7096           quark table instead of allocating them dynamically.
7097           Declaring this field constant fixes warnings with g++-4.2 when using
7098           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
7099
7100 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
7101
7102         * gst/gstelementfactory.c:
7103           Release static caps. Fixes #475723.
7104
7105 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
7106
7107         * gst/gstinfo.c:
7108         * gst/gstinfo.h:
7109           Make some internal API take const gchar * instead of just
7110           gchar * to avoid compiler warnings with g++-4.2.2 when
7111           passing string constants (partially fixes #478092).
7112
7113 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
7114
7115         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
7116         A latency query fails when one of the sinks fail.
7117
7118         * gst/gstelement.c: (gst_element_set_base_time):
7119         Improve debugging.
7120
7121 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
7122
7123         * gst/gstbin.c: (gst_bin_continue_func):
7124         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
7125         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
7126         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
7127
7128         Fix minor compilation warnings shown with Forte.
7129
7130 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
7131
7132         * plugins/elements/gstqueue.c: (apply_buffer),
7133         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
7134         Measure queue level based on the diff between head and tail timestamps
7135         even when pushing the first buffer.
7136
7137 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
7138
7139         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
7140         (gst_base_sink_event), (gst_base_sink_change_state):
7141         Sinks that don't preroll can always be queried for the latency.
7142         Don't post ASYNC start when we are not async.
7143
7144 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
7145
7146         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
7147         (gst_queue_handle_sink_event), (gst_queue_chain),
7148         (gst_queue_push_one), (gst_queue_handle_src_query),
7149         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
7150         * plugins/elements/gstqueue.h:
7151         When downstream returns UNEXPECTED from pushing a buffer, don't try to
7152         push more buffers but allow pushing of EOS and NEWSEGMENT.
7153         Add some more debug info here and there. Fixes #476514.
7154
7155 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
7156
7157         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7158         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
7159         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
7160         (gst_base_sink_set_flushing), (gst_base_sink_query),
7161         (gst_base_sink_change_state):
7162         Latency query is allowed after we are prerolled. Introduce a new flag
7163         for this and stop abusing other variables.
7164
7165 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
7166
7167         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
7168         Push OOB events downstream when we get them in send_event. This allows
7169         the application to insert events in the pipeline.
7170         Add some more comments.
7171
7172 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
7173
7174         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
7175         (do_bin_latency), (gst_bin_change_state_func):
7176         * gst/gstpipeline.c: (gst_pipeline_change_state):
7177         Move latency query from GstPipeline to GstBin so that we can also
7178         use it when async-handling is enabled on bins.
7179
7180 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
7181
7182         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7183         (gst_base_src_do_sync), (gst_base_src_change_state):
7184         Update docs.
7185         Clean up the timestamping and syncing code for pseudo live sources.
7186
7187 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
7188
7189         Patch by: Steve Fink  <sphink gmail com>
7190
7191         * docs/manual/appendix-checklist.xml:
7192           Mention less -R switch in the section about debug output (#474055).
7193
7194 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
7195
7196         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
7197         Queue can latency to the pipeline up to the configured max size in time.
7198         Report this fact in the latency query.
7199
7200 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
7201
7202         Patch by: Sebastien Moutte <sebastien at moutte dot net>
7203
7204         * libs/gst/controller/gstinterpolation.c:
7205         * libs/gst/controller/gstlfocontrolsource.c:
7206         Use gst_guint64_to_gdouble() when converting from a uint64 or
7207         GstClockTime to double to fix the build on win32. Fixes #474371.
7208
7209 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
7210
7211         * gst/gstbuffer.c: (gst_buffer_finalize):
7212         Implement poisoning for GstBuffer if --enable-poisoning is specified.
7213         When finalizing a buffer the complete struct is filled with 0xff,
7214         thus making a use of the buffer after the final unref impossible.
7215
7216 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
7217
7218         * tests/check/libs/controller.c: (GST_START_TEST):
7219         Use fail_unless_equals_int(a, b) instead of
7220         fail_unless_equals (a == b) to get better output on failures.
7221
7222 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
7223
7224         * tests/check/gst/gsturi.c:
7225           Also check for the other file URI variant on win32.
7226
7227 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
7228
7229         * gst/gsturi.c: (gst_uri_get_location):
7230           If there's no hostname, we want to return 'c:/foo/bar.txt'
7231           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
7232
7233         * tests/check/gst/gsturi.c:
7234           Unit test for the above and a few more things.
7235
7236 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
7237
7238         * docs/design/part-live-source.txt:
7239         Add docs on how live sources should timestamp.
7240
7241         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
7242         Add some more debug info.
7243         For subclasses that are live and like to sync, add aditional startup
7244         latency to sync time and timestamps so that we timstamp according to the
7245         design doc.
7246
7247 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
7248
7249         * gst/gstbuffer.c:
7250           Also do a g_type_class_ref() for the subbuffer type in
7251           the init function.
7252
7253 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
7254
7255         * docs/gst/gstreamer-sections.txt:
7256         * gst/gstpad.c: (gst_pad_peer_query):
7257         * gst/gstpad.h:
7258         Add function to perform a query on the peer of a pad.
7259         API: gst_pad_peer_query()
7260
7261 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
7262
7263         * tests/check/gst/gstsystemclock.c:
7264           Cleanup the test a little (use gst-logging and not g_message). Improve
7265           test to check if a wait reached the target.
7266
7267 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
7268
7269         * docs/libs/gstreamer-libs-sections.txt:
7270           Add new API to docs and fix the build.
7271
7272 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
7273
7274         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7275         (gst_base_src_init), (gst_base_src_set_do_timestamp),
7276         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
7277         (gst_base_src_get_property), (gst_base_src_do_sync):
7278         * libs/gst/base/gstbasesrc.h:
7279         Add property to make the basesrc timestamp buffers based on the current
7280         running time.
7281         API: GstBaseSrc::do-timestamp
7282         API: gst_base_src_set_do_timestamp()
7283         API: gst_base_src_get_do_timestamp()
7284
7285 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
7286
7287         * docs/random/release:
7288           Really make sure translations are up-to-date before
7289           a release (#465010).
7290
7291 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
7292
7293         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7294         Always destroy the timer, also in error cases.
7295
7296 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
7297
7298         * docs/manual/highlevel-xml.xml:
7299         Fix XML example code. Fixes #472714.
7300
7301 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
7302
7303         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
7304         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
7305         (gst_base_sink_query):
7306         Protect eos and have_preroll with the OBJECT lock so we don't need to
7307         take the PREROLL lock when querying the latency. Fixes #473846.
7308
7309 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
7310
7311         * gst/gstelement.c:
7312           Give some log-messages a category.
7313
7314 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
7315
7316         * gst/gststructure.c:
7317         (gst_structure_fixate_field_nearest_fraction):
7318         Fix fraction list fixation code. Take the fraction with the smallest
7319         difference with the target instead of the first one in the list.
7320
7321         * tests/check/gst/gststructure.c: (GST_START_TEST),
7322         (gst_structure_suite):
7323         Added test to verify correct fraction list fixation behaviour.
7324
7325 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
7326
7327         * win32/common/libgstreamer.def:
7328           Export gst_bus_add_signal_watch too.
7329
7330 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
7331
7332         * docs/libs/gstreamer-libs-sections.txt:
7333         Add new methods to docs.
7334
7335         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7336         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
7337         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
7338         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
7339         * libs/gst/base/gstbasesink.h:
7340         Add ts-offset property to fine-tune the synchronisation.
7341         API: GstBaseSink::ts-offset property
7342         API: gst_base_sink_set_ts_offset()
7343         API: gst_base_sink_get_ts_offset()
7344
7345 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
7346
7347         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7348         (gst_base_sink_init), (gst_base_sink_set_sync),
7349         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7350         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
7351         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
7352         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
7353         (gst_base_sink_get_property), (gst_base_sink_change_state):
7354         * libs/gst/base/gstbasesink.h:
7355         Add async property to instruct the sink never to inform the parent about
7356         ASYNC state changes, update docs.
7357         Check argument with g_return_* for the public functions.
7358         API: GstBaseSink::async property
7359         API: gst_base_sink_set_async_enabled()
7360         API: gst_base_sink_is_async_enabled()
7361
7362 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
7363
7364         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
7365         Improve debugging.
7366
7367         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7368         (gst_base_src_default_query), (gst_base_src_wait),
7369         (gst_base_src_do_sync), (gst_base_src_change_state):
7370         Rearrange some code so that we can add support for measuring the 
7371         startup latency.
7372
7373 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
7374
7375         * docs/random/ensonic/dynlink.txt:
7376           More thoughs on this.
7377
7378         * plugins/elements/gstcapsfilter.c:
7379           Add bugzilla ticket number to FIXME comment.
7380
7381 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
7382
7383         * docs/design/part-TODO.txt:
7384         * docs/design/part-block.txt:
7385         Update some docs.
7386
7387 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7388
7389         * gst/Makefile.am:
7390           Revert patch which uses $(gst_headers) instead of $^ because it
7391           breaks make dist.
7392
7393 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7394
7395         * tests/check/gst/gstbin.c: (GST_START_TEST):
7396           Fix leaks in the new unit test.
7397
7398 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
7399
7400         * gst/gst.c:
7401           Don't use GST_INFO before the debug system is actually initialised
7402           (shouldn't do any harm, but won't print anything either, so we can
7403           just as well remove it).
7404
7405         * gst/gstinfo.h:
7406           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
7407           compilers that don't support variadic macros (such as MSVC), should
7408           check for debug_level <= __gst_debug_min as well, since that's the
7409           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
7410           inline helper functions. Should improve performance a bit, but also
7411           makes sure uses of GST_INFO et.al are ignored if the debugging
7412           system isn't initialised yet (instead of printing an assertion
7413           failure).
7414
7415 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
7416
7417         patch by: David Nečas <yeti@physics.muni.cz>
7418
7419         * gst/Makefile.am:
7420           Replace some non portable makefile constructs.
7421
7422 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
7423
7424         * common/gtk-doc-plugins.mak:
7425           Grrrrr. Don't remove the types file on make clean.
7426
7427 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
7428
7429         * tools/gst-launch.1.in:
7430         Add colorspace to example pipeline. Fixes #458274.
7431
7432 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
7433
7434         * docs/random/release:
7435           The release manager should run 'make download-po' before making a
7436           release to make sure translations are up-to-date.
7437
7438         * po/LINGUAS:
7439         * po/be.po:
7440         * po/pl.po:
7441         * po/rw.po:
7442           Add some new translations.
7443
7444 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
7445
7446         * tools/gst-launch.c: (event_loop), (main):
7447         Don´t try to do any state management when a live pipeline posts
7448         buffering messages.
7449         Also make the buffering string translatable.
7450
7451 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7452
7453         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
7454         (bin_handle_async_start), (gst_bin_handle_message_func):
7455         Improve debugging.
7456         When adding elements, insert messages into the bus of the newly added
7457         element and make sure the element is the source of the message. This
7458         allows the parent bin to intercept the message and do the
7459         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
7460         messages to the app (which is not allowed).
7461         Update some docs.
7462
7463         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7464         Fix testsuite so that is does not work around messages that should not
7465         have been posted in the first place.
7466
7467 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7468
7469         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
7470         (update_degree), (gst_bin_sort_iterator_next):
7471         Fix annoying bug in the sorted iterator where a sink that is not really
7472         a sink (when it has downstream links) screwed up the iterator.
7473
7474         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7475         Unit test to verify the fix.
7476
7477 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7478
7479         * gst/gstmessage.h:
7480         Add some more docs for the messages.
7481
7482         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7483         (gst_base_sink_query):
7484         Add some more debugging.
7485
7486         * tools/gst-launch.c: (event_loop):
7487         When interrupting, don't try to set pipeline to PAUSED twice.
7488
7489 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7490
7491         
7492         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
7493         (bin_handle_async_start), (gst_bin_handle_message_func):
7494         Move ASYNC_START message posting to where it belongs, similar to
7495         async_done. 
7496         Don't post ASYNC_START when we are in error. 
7497         Post ASYNC_START when we added an async element to a bin.
7498
7499 2007-08-14  Julien MOUTTE  <julien@moutte.net>
7500
7501         * gst/gstindex.c: (gst_index_add_association): Fix index entry
7502         generation from vargs. Fixes #466595.
7503
7504 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7505
7506         * gst/gstbin.c: (gst_bin_element_set_state):
7507         Always change the state of a NO_PREROLL element even if it has ASYNC
7508         elements inside (in case of a bin).
7509
7510         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
7511         Unit test for this case.
7512
7513 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
7514
7515         * libs/gst/check/gstbufferstraw.c:
7516         * libs/gst/check/gstcheck.h:
7517         * libs/gst/controller/gstcontroller.c:
7518         * libs/gst/controller/gstcontrolsource.h:
7519         * libs/gst/controller/gstlfocontrolsource.h:
7520         * plugins/elements/gstcapsfilter.h:
7521         * plugins/elements/gstfdsink.h:
7522         * plugins/elements/gstfdsrc.h:
7523           Add more missing docs.
7524
7525 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7526
7527         * gst/gststructure.c:
7528         Add Since tag to docs.
7529
7530 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7531
7532         * docs/gst/gstreamer-sections.txt:
7533         * gst/gststructure.c: (gst_structure_get_uint):
7534         * gst/gststructure.h:
7535         Add function to get uint from a structure.
7536         API: gst_structure_get_uint()
7537
7538 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7539
7540         * gst/gstcaps.c: (gst_caps_set_simple_valist),
7541         (gst_caps_intersect):
7542         Fix proper check for simple caps.
7543
7544 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
7545
7546         * docs/gst/Makefile.am:
7547         * docs/libs/Makefile.am:
7548           Remove cruft and do some cleanups.
7549
7550         * docs/gst/gstreamer-docs.sgml:
7551         * docs/libs/gstreamer-libs-docs.sgml:
7552           Prepare for comming gtkdoc features (rebase against online docs).
7553
7554 2007-08-10  Michael Smith <msmith@fluendo.com>
7555
7556         * docs/gst/gstreamer-sections.txt:
7557           Add gst_registry_add_path to docs.
7558
7559 2007-08-10  Michael Smith <msmith@fluendo.com>
7560
7561         * gst/gstregistry.h:
7562           Add gst_registry_add_path, which was missing from this header.
7563
7564 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7565
7566         * libs/gst/controller/gstlfocontrolsource.c:
7567           Printf format fix.
7568
7569 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7570
7571         * libs/gst/base/gstbasesink.c:
7572           Don't send an async_start message during downwards state change if 
7573           target state is less than READY
7574
7575 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7576
7577         translated by: Gabor Kelemen <kelemeng@gnome.hu>
7578
7579         * po/LINGUAS:
7580         * po/hu.po:
7581           Added Hungarian translation.
7582
7583 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7584
7585         * po/fi.po:
7586         * po/it.po:
7587         * po/nl.po:
7588         * po/sv.po:
7589         * po/uk.po:
7590           Updated translations.
7591
7592 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7593
7594         * libs/gst/controller/Makefile.am:
7595         Dist gstlfocontrolsourceprivate.h
7596
7597 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7598
7599         * docs/libs/gstreamer-libs.types:
7600         Don't register the enum type gst_lfo_waveform_get_type() in the
7601         .types file - only GObject derived types belong.
7602
7603 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7604
7605         Patch by: <arenevier at fdn dot fr>
7606
7607         * gst/gstbuffer.h:
7608         Remove comma from last element in enum to avoid compile errors when
7609         using -pendantic. Fixes #464366.
7610
7611 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7612
7613         * docs/design/part-TODO.txt:
7614         Add some more TODO items
7615
7616         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7617         Improve debugging.
7618
7619         * gst/gstcaps.c: (gst_caps_intersect):
7620         Optimize trivial intersection case between identical caps pointers.
7621
7622         * gst/gstelement.c: (gst_element_continue_state),
7623         (gst_element_set_state_func):
7624         * gst/gstpad.c:
7625         Fix spelling and grammar mistakes.
7626
7627 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
7628
7629         * po/POTFILES.in:
7630         * po/POTFILES.skip:
7631           Update POTFILES. Fixes #461599.
7632
7633 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7634
7635         * gst/gst.c:
7636         Fix confusing typo in debug output.
7637
7638 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7639
7640         reviewed by: Stefan Kost <ensonic@users.sf.net>
7641
7642         * libs/gst/controller/Makefile.am:
7643         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7644         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7645         (gst_lfo_control_source_new),
7646         (gst_lfo_control_source_set_waveform),
7647         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7648         (gst_lfo_control_source_finalize),
7649         (gst_lfo_control_source_dispose),
7650         (gst_lfo_control_source_set_property),
7651         (gst_lfo_control_source_get_property),
7652         (gst_lfo_control_source_class_init):
7653         * libs/gst/controller/gstlfocontrolsource.h:
7654         * libs/gst/controller/gstlfocontrolsourceprivate.h:
7655         API: Add GstLFOControlSource, a control source that gives values
7656         for specific timestamps based on several periodic waveforms.
7657         Fixes #459717.
7658
7659         * tests/check/libs/controller.c: (GST_START_TEST),
7660         (gst_controller_suite):
7661         * docs/libs/gstreamer-libs-docs.sgml:
7662         * docs/libs/gstreamer-libs-sections.txt:
7663         * docs/libs/gstreamer-libs.types:
7664         Add documentation and unit tests for GstLFOControlSource.
7665
7666 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
7667
7668         * configure.ac:
7669         Back to CVS
7670
7671 === release 0.10.14 ===
7672
7673 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
7674
7675         * configure.ac:
7676           releasing 0.10.14, "Breathing Vacuum"
7677
7678 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
7679
7680         * gst/gstelement.c: (gst_element_class_set_details_simple):
7681         * gst/gstelement.h:
7682           Make strings passed to gst_element_class_set_details_simple()
7683           constant, as they should be (#462752).
7684
7685 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
7686
7687         * gst/gstbin.c: (gst_bin_change_state_func),
7688         (bin_handle_async_done), (gst_bin_handle_message_func):
7689         Don't forget about the fact that some element went ASYNC even after a
7690         resync. This makes us post the ASYNC_DONE message correctly.
7691         Fixes #462558.
7692
7693 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7694
7695         * gst/gstregistry.c: (gst_registry_add_feature):
7696         When replacing an existing feature in the registry, make sure to
7697         continue holding a reference until we've replaced the name string
7698         within our feature hash table. Make sure to use g_hash_table_replace
7699         instead of g_hash_table_insert to ensure the new name string is used
7700         as a key instead of the old one that we're about to free.
7701         Fixes: #462085
7702
7703 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7704
7705         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7706         (gst_plugin_feature_set_name):
7707         Revert patch from #459466 until after the release and we can work
7708         out exactly what the problem is (if any).
7709
7710 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7711
7712         * docs/gst/gstreamer-sections.txt:
7713         * gst/gsttaglist.c:
7714         * gst/gsttaglist.h:
7715           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7716
7717 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7718
7719         * docs/libs/Makefile.am:
7720         Include our build-prefix libs and includes before the generic ones to
7721         avoid linking against the installed libs when we want the build-tree
7722         ones.
7723
7724 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7725
7726         Patch by: Steve Fink  <sphink gmail com>
7727
7728         * docs/pwg/building-testapp.xml:
7729           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7730           if people try to build or install the example from the plugin
7731           template against a GStreamer from package using the configure
7732           defaults.
7733
7734 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
7735
7736         Patch by: Steve Fink  <sphink gmail com>
7737
7738         * tools/gst-inspect.1.in:
7739           Document --print-all and --print-plugin-auto-install-info command
7740           line options in man page.
7741
7742 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7743
7744         * docs/gst/gstreamer-sections.txt:
7745         Add docs for new api function.
7746
7747 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7748
7749         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7750         * gst/gstelementfactory.h:
7751         API: gst_element_factory_has_interface()
7752         Added method to check if an element factory implements a named
7753         interface.
7754
7755 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
7756
7757         * configure.ac:
7758         * docs/gst/gstreamer.types.in:
7759           Another conditional doc check.
7760
7761         * gst/gstmessage.c:
7762         * gst/gstparamspecs.h:
7763         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7764         * gst/gstvalue.c:
7765         * gst/gstxml.h:
7766           API-doc fixes.
7767
7768 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7769
7770         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7771         (gst_registry_binary_load_feature),
7772         (gst_registry_binary_load_plugin),
7773         (gst_registry_binary_read_cache):
7774           Print error just once and with additional info.
7775
7776 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7777
7778         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7779         (helper_find_suggest), (helper_find_get_length),
7780         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7781         (gst_type_find_helper_for_buffer):
7782           Cleanup the typefindhelper code and add private doc comments.
7783
7784 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
7785
7786         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7787         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7788         Fix capsfilter for cases where the caps set on capsfilter will provide
7789         additional information.
7790         Fixes #449197
7791
7792 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7793
7794         * gst/gsttypefindfactory.c:
7795           Fix docs that recommened wrong function to use.
7796
7797 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7798
7799         * tools/gst-inspect.c: (print_plugin_features):
7800           Also give media-type for typefinders in element output.
7801
7802 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7803
7804         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7805         (gst_registry_remove_features_for_plugin_unlocked),
7806         (gst_registry_add_feature), (gst_registry_remove_feature),
7807         (gst_registry_lookup_feature_locked):
7808         * gst/gstregistry.h:
7809           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7810           Fixes #459501.
7811
7812 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7813
7814         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7815         (gst_plugin_feature_set_name):
7816           Avoid double memory usage for pluginfeature names. Fixes #459466.
7817
7818 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7819
7820         * gst/gstpad.h:
7821           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7822           driving the pipeline may need to explicitly check for NOT_LINKED as
7823           well, since IS_FATAL doesn't cover that.
7824
7825 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7826
7827         * docs/pwg/advanced-types.xml:
7828           Fix typo and duplicate entry in video formats list.
7829
7830 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
7831
7832         * libs/gst/controller/gstinterpolation.c:
7833         Also round to the nearest int when using cubic interpolation.
7834
7835 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
7836
7837         * libs/gst/controller/gstinterpolation.c:
7838         When linearly interpolating integer types, round to the nearest int
7839         by adding 0.5. Don't do it for float/double types.
7840         Fixes the failing controller test on my machine, which is somehow
7841         rounding differently than on the buildbots.
7842
7843 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7844
7845         * tools/gst-plot-timeline.py:
7846           Better log parsing (categories can have -). Adjust text vs. lines, so
7847           that they span the same y-range.        
7848
7849 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7850
7851         * docs/random/ensonic/audiobaseclasses.txt:
7852         * docs/random/ensonic/dynlink.txt:
7853         * docs/random/ensonic/profiling.txt:
7854           Save my thoughts.
7855
7856         * docs/random/moving-plugins:
7857           Add note to use g_assert type macros.
7858
7859 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7860
7861         * configure.ac:
7862         * libs/gst/check/Makefile.am:
7863           Add libm check as we use in for plugins.
7864
7865 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
7866
7867         * gst/gstbin.c: (gst_bin_continue_func):
7868         Check that the state_cookie hasn't changed since the continue_func
7869         was scheduled. Avoids problems where the state changes back to
7870         something it shouldn't be because it was changed in the meantime.
7871
7872 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
7873
7874         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7875         (gst_registry_binary_save_string),
7876         (gst_registry_binary_save_pad_template),
7877         (gst_registry_binary_save_feature),
7878         (gst_registry_binary_save_plugin),
7879         (gst_registry_binary_load_feature),
7880         (gst_registry_binary_load_plugin),
7881         (gst_registry_binary_read_cache):
7882           Fix memory leak. Be less verbose in the log.
7883
7884 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7885
7886         * tests/check/elements/.cvsignore:
7887         Add file to cvsignore as commanded.
7888
7889 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7890
7891         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7892         (mq_dummypad_event), (run_output_order_test):
7893         Use a GStaticMutex to protect all cases where libcheck
7894         fail_if/fail_unless macros might be called from multiple threads
7895         simultaneously to avoid errors like:
7896           "check_pack.c:107: :-1081725400:Bad message type arg"
7897
7898 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7899
7900         * tests/check/pipelines/stress.c: (GST_START_TEST):
7901         Make sure we set the pipeline back to the NULL state before
7902         dropping our final reference.
7903
7904 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7905
7906         * tests/check/elements/tee.c: (GST_START_TEST):
7907         Make the tee stress-test a little less stressful so it doesn't just
7908         time out on slow-machines, and remove a small race when it's starting 
7909         up by adding a get_state() call.
7910
7911 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
7912
7913         * gst/gst.c:
7914           Avoid reading registry twice on startup. Fixes #457322.
7915
7916 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7917
7918         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7919         * pkgconfig/gstreamer-check.pc.in:
7920         Substitute the CFLAGS for libcheck into our .pc file too so that
7921         dependent modules will pick it up properly if libcheck is installed
7922         into some other prefix.
7923
7924 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7925
7926         * configure.ac:
7927         Revert the pkg-config check for libcheck, since it pulls in the
7928         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7929         a proper solution, either from the check project, or something else.
7930
7931 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
7932
7933         * configure.ac:
7934           Use pkg-config to locate check.
7935
7936 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
7937
7938         * gst/gsttaglist.c:
7939           Fix doc syntax.
7940
7941         * gst/gstutils.c:
7942         * gst/gstutils.h:
7943           Add deprecation guards.
7944
7945         * libs/gst/base/gstcollectpads.h:
7946           Don't document object (this is implicitly private).
7947
7948 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
7949
7950         * gst/gststructure.c: (gst_structure_parse_value):
7951           When deserialising foo=bar without a type cast, check if it's a
7952           boolean before falling back to a string type, otherwise things like
7953           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7954           because the filtercaps end up having a signed=(string)true field,
7955           which causes problems later when intersection caps.
7956
7957         * tests/check/gst/gststructure.c: (GST_START_TEST):
7958           Add a unit test for this.
7959
7960 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
7961
7962         Reviewed by: Stefan Kost <ensonic@users.sf.net>
7963
7964         * libs/gst/controller/Makefile.am:
7965         * libs/gst/controller/gstcontroller.c:
7966         (gst_controlled_property_add_interpolation_control_source),
7967         (gst_controlled_property_new), (gst_controlled_property_free),
7968         (gst_controller_find_controlled_property),
7969         (gst_controller_new_valist), (gst_controller_new_list),
7970         (gst_controller_new), (gst_controller_remove_properties_valist),
7971         (gst_controller_remove_properties_list),
7972         (gst_controller_remove_properties),
7973         (gst_controller_set_property_disabled),
7974         (gst_controller_set_disabled), (gst_controller_set_control_source),
7975         (gst_controller_get_control_source), (gst_controller_get),
7976         (gst_controller_sync_values), (gst_controller_get_value_array),
7977         (_gst_controller_dispose), (gst_controller_get_type),
7978         (gst_controlled_property_set_interpolation_mode),
7979         (gst_controller_set), (gst_controller_set_from_list),
7980         (gst_controller_unset), (gst_controller_unset_all),
7981         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7982         * libs/gst/controller/gstcontroller.h:
7983         * libs/gst/controller/gstcontrollerprivate.h:
7984         * libs/gst/controller/gstcontrolsource.c:
7985         (gst_control_source_class_init), (gst_control_source_init),
7986         (gst_control_source_get_value),
7987         (gst_control_source_get_value_array), (gst_control_source_bind):
7988         * libs/gst/controller/gstcontrolsource.h:
7989         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7990         (gst_object_get_control_source):
7991         * libs/gst/controller/gstinterpolation.c:
7992         (gst_interpolation_control_source_find_control_point_node),
7993         (gst_interpolation_control_source_get_first_value),
7994         (_interpolate_none_get), (interpolate_none_get),
7995         (interpolate_none_get_boolean_value_array),
7996         (interpolate_none_get_enum_value_array),
7997         (interpolate_none_get_string_value_array),
7998         (_interpolate_trigger_get), (interpolate_trigger_get),
7999         (interpolate_trigger_get_boolean_value_array),
8000         (interpolate_trigger_get_enum_value_array),
8001         (interpolate_trigger_get_string_value_array):
8002         * libs/gst/controller/gstinterpolationcontrolsource.c:
8003         (gst_control_point_free), (gst_interpolation_control_source_reset),
8004         (gst_interpolation_control_source_new),
8005         (gst_interpolation_control_source_set_interpolation_mode),
8006         (gst_interpolation_control_source_bind),
8007         (gst_control_point_compare), (gst_control_point_find),
8008         (gst_interpolation_control_source_set_internal),
8009         (gst_interpolation_control_source_set),
8010         (gst_interpolation_control_source_set_from_list),
8011         (gst_interpolation_control_source_unset),
8012         (gst_interpolation_control_source_unset_all),
8013         (gst_interpolation_control_source_get_all),
8014         (gst_interpolation_control_source_get_count),
8015         (gst_interpolation_control_source_init),
8016         (gst_interpolation_control_source_finalize),
8017         (gst_interpolation_control_source_dispose),
8018         (gst_interpolation_control_source_class_init):
8019         * libs/gst/controller/gstinterpolationcontrolsource.h:
8020         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
8021         API: Refactor GstController into the core controller which can take
8022         a GstControlSource for providing actual values for timestamps.
8023         Implement a interpolation control source and use this for backward
8024         compatibility, deprecate a bunch of functions that are now handled
8025         by GstControlSource or GstInterpolationControlSource.
8026         Make it possible to disable the controller completely or only for
8027         specific properties. Fixes #450711.
8028         * docs/libs/gstreamer-libs-docs.sgml:
8029         * docs/libs/gstreamer-libs-sections.txt:
8030         * docs/libs/gstreamer-libs.types:
8031         Add new functions and classes to the docs.
8032         * tests/check/libs/controller.c: (GST_START_TEST),
8033         (gst_controller_suite):
8034         * tests/examples/controller/audio-example.c: (main):
8035         Port unit test and example to the new API and add some new
8036         unit tests.
8037
8038 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
8039
8040         Patch by: Mark Nauwelaerts <manauw at skynet be>
8041
8042         * plugins/elements/gstmultiqueue.c:
8043         (gst_multi_queue_get_internal_links), (apply_buffer),
8044         (single_queue_overrun_cb), (gst_single_queue_new):
8045         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
8046         the pipeline layout can be tracked correctly. Fixes #453732.
8047
8048 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
8049
8050         * docs/gst/Makefile.am:
8051         * docs/libs/Makefile.am:
8052         * docs/plugins/Makefile.am:
8053           Simplify --extra-dir as gtkdoc scans recursively.
8054
8055 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
8056
8057         * tools/gst-launch.c: (main):
8058         When we got an error, there is no point in waiting for preroll when
8059         shutting down.
8060
8061 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
8062
8063         * plugins/elements/gsttee.c: (gst_tee_base_init),
8064         (gst_tee_request_new_pad), (gst_tee_release_pad),
8065         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
8066         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
8067         (gst_tee_chain):
8068         Be a lot smarter when deciding what srcpad to use for proxying
8069         the buffer_alloc. Also handle pad added/removed when doing so.
8070         Fixes #357959.
8071         Keep track of what pads we already pushed on in case we have pads
8072         added/removed while pushing. Fixes #374639 
8073
8074         * tests/check/Makefile.am:
8075         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
8076         (tee_suite):
8077         Added unit test for pad resync.
8078
8079 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8080
8081         * po/nl.po:
8082         * po/sv.po:
8083           Updated translations.
8084
8085 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8086
8087         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
8088
8089         * po/LINGUAS:
8090         * po/fi.po:
8091           Added new Finnish translation.
8092
8093 2007-06-28  Wim Taymans  <wim@fluendo.com>
8094
8095         * plugins/elements/gstmultiqueue.c: (apply_buffer),
8096         (single_queue_overrun_cb):
8097         When figuring out when a queue is filled, use our internal time estimate
8098         based on segments, just like check_full does.
8099
8100 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
8101
8102         * gst/gstminiobject.c: (gst_mini_object_get_type):
8103           Remove 3 do-nothing methods.
8104
8105 2007-06-27  Wim Taymans  <wim@fluendo.com>
8106
8107         Patch by: Tim Angus <tim at ngus dot net>
8108
8109         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
8110         (gst_capsfilter_set_property):
8111         Take a reference instead of a copy when setting "caps".
8112         Fix documentation to clarify this behaviour. Fixes #449414.
8113
8114 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
8115
8116         * gst/gstindexfactory.c: (gst_index_factory_get_type):
8117         * gst/gstplugin.c: (gst_plugin_init):
8118         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
8119         * gst/gstquery.c: (gst_query_get_type):
8120         * gst/gstregistry.c: (gst_registry_init):
8121         * gst/gsturi.c: (gst_uri_handler_base_init):
8122           Remove empty instance_init() functions to save relocs and lessen the
8123           noise. Remove some of the function prototypes that are doubled by
8124           G_DEFINE_TYPE.
8125           
8126 2007-06-27  Wim Taymans  <wim@fluendo.com>
8127
8128         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
8129
8130         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
8131         Add peer and direction in the XML serialisation of ghostpads.
8132         Fixes #449226.
8133
8134 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
8135
8136         * configure.ac:
8137           Preserve useful information, thanks Tim.
8138
8139 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
8140
8141         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
8142         (gst_single_queue_flush), (apply_segment), (apply_buffer),
8143         (gst_single_queue_push_one), (gst_multi_queue_loop),
8144         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8145         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
8146         (compute_high_id), (gst_single_queue_new):
8147         * plugins/elements/gstmultiqueue.h:
8148         Take the multiqueue lock when updating the fill level so we don't get
8149         confused. 
8150
8151         After applying a buffer or event on the src pad segment, make sure to
8152         call gst_data_queue_limits_changed() to get the data queue to unblock
8153         and check the filled state again.
8154         
8155         Rework the not-linked pad handling so the logic is that not-linked 
8156         pads can push as fast as they like, but only so they never get 
8157         ahead of any linked pads.
8158
8159         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
8160         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
8161         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
8162
8163         Add a test to check that not-linked pads always stay behind
8164         linked pads.
8165
8166         Fixes: #430682
8167
8168 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
8169
8170         * docs/random/release:
8171           Some updates to the release procedure.
8172
8173 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
8174
8175         * gst/gstelementfactory.c: (__gst_element_details_clear):
8176           Microoptimization that saves stunning 80 bytes.
8177
8178 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
8179
8180         * docs/plugins/gstreamer-plugins.args:
8181         * docs/plugins/inspect/plugin-coreelements.xml:
8182         * docs/plugins/inspect/plugin-coreindexers.xml:
8183           Update docs with caps info.
8184
8185 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8186
8187         * po/it.po:
8188           Updated Italian translation.
8189
8190 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8191
8192         * ChangeLog:
8193         * po/vi.po:
8194           Update Vietnamese translations.
8195
8196 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8197
8198         * libs/gst/base/gstbasesink.c:
8199           Remove unused signal enum.
8200
8201 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
8202
8203         * docs/gst/gstreamer-sections.txt:
8204         * gst/gstelement.c:
8205         * gst/gstutils.c: (gst_type_register_static_full):
8206         Beef up and include the docs for gst_type_register_static_full and
8207         gst_element_class_set_details_simple and add the API keyword
8208         in the ChangeLog.
8209
8210 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
8211
8212         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
8213         (update_time_level), (gst_single_queue_push_one),
8214         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
8215         (single_queue_overrun_cb), (single_queue_underrun_cb),
8216         (single_queue_check_full):
8217         Fix setting max-* properties after adding queues.
8218         Use IS_FILLED for checking visible items.
8219         Signal overrun if multiple queues overrun.
8220         Add extra debug output.
8221         Patch by: Wim Taymans <wim@fluendo.com>
8222
8223 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
8224
8225         * gst/gstelement.c: (gst_element_class_set_details_simple):
8226         * gst/gstelement.h:
8227         * gst/gstutils.c: (gst_type_register_static_full):
8228         * gst/gstutils.h:
8229         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
8230         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
8231         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
8232         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
8233         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
8234         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
8235         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
8236         * plugins/elements/gstidentity.c: (gst_identity_base_init):
8237         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
8238         * plugins/elements/gstqueue.c: (gst_queue_base_init),
8239         (apply_buffer), (gst_queue_chain):
8240         * plugins/elements/gsttee.c: (gst_tee_base_init):
8241         * plugins/elements/gsttypefindelement.c:
8242         (gst_type_find_element_base_init),
8243         (gst_type_find_element_class_init):
8244           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
8245           API: add gst_type_register_static_full
8246           API: add gst_element_class_set_details_simple
8247
8248 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8249
8250         * docs/pwg/advanced-types.xml:
8251           Fix typo in iana.org URI.
8252
8253 2007-06-19  Andy Wingo  <wingo@pobox.com>
8254
8255         * tests/check/pipelines/simple-launch-lines.c
8256         (test_state_change_returns): Enable pull-mode tests now that
8257         basesink has been fixed.
8258
8259         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
8260         Changed from gst_base_sink_is_prerolled, reversing the sense of
8261         the return value. Returns FALSE also if the sink is in pull mode,
8262         in which case it needs no preroll.
8263         (gst_base_sink_query, gst_base_sink_change_state): Update for
8264         needs_preroll change.
8265         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
8266         chaining up, in which we return SUCCESS directly if we activated
8267         in pull mode instead of ASYNC. Involves countering an async_start
8268         message sent before chaining up; not sure if this is correct, in
8269         an ideal world we only send async-start when activating in push
8270         mode.
8271
8272         * tests/check/pipelines/simple-launch-lines.c
8273         (test_state_change_returns): New test, partially disabled until
8274         basesink is fixed.
8275
8276 2007-06-19  Wim Taymans  <wim@fluendo.com>
8277
8278         * plugins/elements/gstmultiqueue.c: (apply_buffer),
8279         (gst_multi_queue_sink_event):
8280         Fix event leak.
8281
8282 2007-06-19  Wim Taymans  <wim@fluendo.com>
8283
8284         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8285         (gst_bin_change_state_func), (bin_push_state_continue),
8286         (bin_handle_async_start), (bin_handle_async_done),
8287         (gst_bin_handle_message_func):
8288         Move the common code for posting state-change messages into
8289         one function.
8290         Broadcast the state signal after we posted the messages.
8291         Mark the bin as busy when it's doing a state-change.
8292         Make sure async-start/done messages don't interfere with the bin's
8293         state when it's busy.
8294         After the state change, let the bin check which elements completed the
8295         state change while it was busy so that it can update its state.
8296
8297 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
8298
8299         * docs/random/release:
8300         Add a note about updating the doap file to the release checklist
8301
8302 2007-06-18  Wim Taymans  <wim@fluendo.com>
8303
8304         * plugins/elements/gstmultiqueue.c: (apply_buffer),
8305         (gst_single_queue_push_one), (gst_multi_queue_chain),
8306         (gst_multi_queue_sink_event):
8307         Make sure we don't reference the buffer/event after we have given away
8308         ownership in the queue.
8309
8310 2007-06-18  Wim Taymans  <wim@fluendo.com>
8311
8312         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8313         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
8314         Update queue state _after_ adding the item in the queue because else we
8315         could end up being full without the element added yet.
8316
8317 2007-06-18  Wim Taymans  <wim@fluendo.com>
8318
8319         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
8320         (gst_bin_remove_func), (gst_bin_get_state_func),
8321         (gst_bin_element_set_state), (gst_bin_continue_func),
8322         (bin_push_state_continue), (bin_handle_async_start),
8323         (bin_handle_async_done), (gst_bin_handle_message_func):
8324         * gst/gstbin.h:
8325         Immediatly commit the toplevel bin state when receiving an async-done
8326         message. This enables us to avoid spawning a thread to commit the state
8327         in some common cases and it also avoids some races.
8328         Avoid spawning a state thread when adding/removing async elements to a
8329         toplevel bin. Instead we immediatly update the bin state.
8330         Get rid of iterating all the children when getting the state in the bin
8331         because it is now always up-to-date.
8332         Fix bug where locked elements would always return _SUCCESS even it they
8333         returned NO_PREROLL before being locked.
8334         Fix the order of the state_change, async-start/done messages that was
8335         sometimes incorrect.
8336         Mark the state_dirty field as deprecated, we don't need it anymore as we
8337         are always up-to-date.
8338
8339         * gst/gstelement.c: (gst_element_get_state_func),
8340         (gst_element_continue_state):
8341         Small debug inprovements.
8342         Return the previous element state return when nothing is pending instead
8343         of blindly returning SUCCESS.
8344
8345         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
8346         (gst_sinks_suite):
8347         Add a whole bunch of new testcases.
8348
8349 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8350
8351         * po/uk.po:
8352         * po/vi.po:
8353           Update translations.
8354
8355 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
8356
8357         * gst/gstpad.c:
8358         Fix typo in the docs.
8359
8360 2007-06-15  Wim Taymans  <wim@fluendo.com>
8361
8362         * docs/libs/gstreamer-libs-sections.txt:
8363         Add docs for new methods.
8364
8365 2007-06-15  Wim Taymans  <wim@fluendo.com>
8366
8367         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
8368         (gst_multi_queue_item_new):
8369         Don't use GSlice because we don't depend on >= 2.10 yet.
8370
8371 2007-06-15  Wim Taymans  <wim@fluendo.com>
8372
8373         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8374         (update_time_level), (apply_segment), (apply_buffer),
8375         (gst_single_queue_push_one), (gst_multi_queue_item_new),
8376         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
8377         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
8378         (single_queue_underrun_cb), (single_queue_check_full):
8379         Remove debug printf.
8380
8381 2007-06-15  Wim Taymans  <wim@fluendo.com>
8382
8383         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
8384         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
8385         (gst_data_queue_set_flushing), (gst_data_queue_push),
8386         (gst_data_queue_pop), (gst_data_queue_drop_head),
8387         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
8388         * libs/gst/base/gstdataqueue.h:
8389         Various cleanups.
8390         Added methods to get the current levels and to inform the queue that the
8391         'full' limits changed.
8392
8393         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
8394         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
8395         (gst_single_queue_flush), (update_time_level), (apply_segment),
8396         (apply_buffer), (gst_single_queue_push_one),
8397         (gst_multi_queue_item_steal_object),
8398         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
8399         (gst_multi_queue_loop), (gst_multi_queue_chain),
8400         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8401         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
8402         (gst_multi_queue_src_query), (single_queue_overrun_cb),
8403         (single_queue_underrun_cb), (single_queue_check_full),
8404         (gst_single_queue_new):
8405         Keep track of time in the queue by measuring the difference between
8406         running_time on input and output. This gives more accurate results and
8407         can compensate for segments correctly.
8408         Make a queue by default only 5 buffers deep. We will now increase the
8409         buffer size depending on the filledness of the other queues.
8410         Factor out commong flush code.
8411         Make sure we don't add additional refcounts to buffers when we can avoid
8412         it.
8413         Propagate GstFlowReturn differently.
8414         Use GSlice for intermediate GstMultiQueueItems.
8415         Keep track of EOS.
8416         Resize queues on over and underruns based on filled level of other
8417         queues.
8418         When checking if the queue is filled, prefer to measure in time if we
8419         can and fall back to bytes when no time is known.
8420
8421         * plugins/elements/gstqueue.c:
8422         Fix return value.
8423
8424 2007-06-15  Wim Taymans  <wim@fluendo.com>
8425
8426         * libs/gst/base/gstbasetransform.c:
8427         (gst_base_transform_sink_event):
8428         Work around the brokenness of the event vmethod in basetransform. Prefer
8429         to return TRUE when the subclass returned FALSE (meaning don't forward
8430         the event). 
8431
8432         * libs/gst/base/gstbasetransform.h:
8433         Clarify the docs.
8434
8435 2007-06-15  Wim Taymans  <wim@fluendo.com>
8436
8437         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
8438         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8439         (gst_base_src_default_query), (gst_base_src_get_range),
8440         (gst_base_src_start):
8441         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
8442         Improve debugging.
8443
8444 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8445
8446         * docs/pwg/advanced-types.xml:
8447           Added more formats to caps table.
8448
8449 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8450
8451         * tools/gst-launch.c: (main):
8452           Remove crufy code. GOption does not need this workaround.
8453
8454 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8455
8456         * libs/gst/controller/gstcontroller.c:
8457         (gst_controlled_property_set_interpolation_mode):
8458           Fix wrong getter for enums in controller.
8459
8460 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8461
8462         * libs/gst/check/gstcheck.c: (gst_check_init):
8463           Intercept criticals and warnings in the Gst-Phonon log domain, so
8464           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
8465           well.
8466         
8467 2007-06-14  Edward Hervey  <edward@fluendo.com>
8468
8469         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
8470         Since this file doesn't include "gst.h" it will not go through the
8471         macros that disable GST_LOG if debugging was disabled.
8472
8473 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8474
8475         * libs/gst/check/Makefile.am:
8476         * libs/gst/check/gstcheck.h:
8477         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8478         * pkgconfig/gstreamer-check.pc.in:
8479           Ugly 'fix' for the controller unit test on the p5 bot: in
8480           fail_unless_equals_float() check whether the values are 'almost
8481           equal' by allowing a small absolute error, which should be good
8482           enough for our use cases (normal numbers and values close to 0).
8483           Proper fixage left to floating point arithmetic aficionados.
8484
8485 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8486
8487         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
8488         (gst_base_sink_render_object), (gst_base_sink_get_position):
8489           Add two breaks thats where missing.
8490
8491 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8492
8493         * docs/libs/gstreamer-libs-sections.txt:
8494         * libs/gst/check/gstcheck.h:
8495           API: add fail_unless_equals_float() and assert_equals_float().
8496           Add documentation for some of the macros.
8497
8498         * tests/check/libs/controller.c: (GST_START_TEST):
8499           Use newly-added asserts.
8500
8501 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8502
8503         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
8504           Show the caps change in the log to help spotting the case of not
8505           exactly matching caps.
8506
8507 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8508
8509         * docs/pwg/building-boiler.xml:
8510           Fix typos, spotted by Thijs Vermeir (#447190).
8511
8512 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8513
8514         * docs/plugins/tmpl/.cvsignore:
8515         Ignore file to keep the buildbots happy
8516
8517 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8518
8519         * docs/plugins/Makefile.am:
8520         * docs/plugins/gstreamer-plugins-docs.sgml:
8521         * docs/plugins/gstreamer-plugins-sections.txt:
8522         Pull fdsink into the docs too.
8523
8524 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
8525
8526         * libs/gst/controller/gstinterpolation.c:
8527         Actually use the new functions with min/max checks for the trigger and
8528         none interpolation modes for get() and get_value_array() instead of
8529         just the latter.
8530
8531 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
8532
8533         * libs/gst/controller/gstcontroller.c:
8534         (gst_controlled_property_free):
8535         Unset the minimum and maximum GValues when freeing the corresponding
8536         GstControllerProperty struct.
8537
8538 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
8539
8540         * libs/gst/controller/gstcontroller.c:
8541         (gst_controlled_property_new):
8542         * libs/gst/controller/gstcontrollerprivate.h:
8543         * libs/gst/controller/gstinterpolation.c:
8544         (gst_controlled_property_find_control_point_node),
8545         (interpolate_none_get), (interpolate_none_get_enum_value_array),
8546         (interpolate_none_get_string_value_array),
8547         (interpolate_trigger_get),
8548         (interpolate_trigger_get_enum_value_array),
8549         (interpolate_trigger_get_string_value_array):
8550         Protect against values larger or smaller than the minimum or maximum
8551         allowed value for the property when using values that can be compared.
8552
8553         Optimize trigger interpolator a bit by taking the last requested value
8554         into account instead of always looping through the complete list.
8555
8556         Fix coding style a bit, everywhere else we use "return foo" instead
8557         of "return (foo)".
8558         
8559         * tests/check/libs/controller.c: (GST_START_TEST),
8560         (gst_controller_suite):
8561         Add unit test for the protection against too large or too small
8562         values.
8563
8564 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
8565
8566         * docs/random/slomo/controller.txt:
8567         Add some thoughts about the future of the controller.
8568
8569 2007-06-08  Wim Taymans  <wim@fluendo.com>
8570
8571         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8572         Don't overflow in retimestamping code.
8573
8574 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
8575
8576         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8577         Use gst_util_guint64_to_gdouble for conversions.
8578         * win32/common/libgstreamer.def:
8579         Add new exported functions.
8580
8581 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
8582
8583         * gst/gstutils.c:
8584           Small docs addition.
8585
8586 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8587
8588         * README:
8589           Remove that test line again.
8590
8591 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8592
8593         * README:
8594           Test commit mail sending.
8595
8596 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8597
8598         * configure.ac:
8599           Fix typo and test commit mail sending.
8600
8601 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8602
8603         * tests/examples/controller/audio-example.c:
8604           Improve comment and test commit mail sending.
8605
8606 2007-06-07  Wim Taymans  <wim@fluendo.com>
8607
8608         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8609         (gst_bin_remove_func), (gst_bin_element_set_state),
8610         (bin_handle_async_start), (bin_handle_async_done),
8611         (gst_bin_handle_message_func):
8612         Add helper function to find messages.
8613         Generate the async-done messages together with the state change
8614         messages.
8615         Small cleanups in handling toplevel bins.
8616
8617 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8618
8619         * libs/gst/base/gstdataqueue.c:
8620         * libs/gst/base/gstdataqueue.h:
8621         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8622         (gst_multi_queue_item_new), (gst_multi_queue_chain),
8623         (gst_multi_queue_sink_event):
8624         * tests/check/elements/multiqueue.c: (multiqueue_suite):
8625           Fix multiqueue leaking buffers and events when downstream or the
8626           queue are flushing. Make refcounting assumptions explicit and
8627           document them (shouldn't break existing code that uses it other than
8628           maybe leak miniobjects, but that already happens anyway). Add unit
8629           test for the most common flushing case. Fixes #423700.
8630           
8631 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8632
8633         * libs/gst/controller/gstcontroller.c:
8634         Clarify docs: The get_all, get_value_array(s) functions
8635         don't modify the GObject properties.
8636
8637 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8638
8639         * libs/gst/controller/gstcontroller.c:
8640         (gst_controlled_property_set_interpolation_mode),
8641         (gst_controlled_property_prepend_default),
8642         (gst_controlled_property_new), (gst_controller_set_unlocked),
8643         (gst_controller_set), (gst_controller_set_from_list),
8644         (gst_controller_unset), (gst_controller_unset_all):
8645         * libs/gst/controller/gstcontrollerprivate.h:
8646         * libs/gst/controller/gstinterpolation.c:
8647         Factor out the 'set' logic into gst_controller_set_unlocked for the
8648         gst_controller_set and gst_controller_set_from_list functions.
8649
8650         To make life of the interpolators easier always add a control point
8651         at timestamp zero with the default value.
8652
8653         In the linear interpolator make things more obvious by better variable
8654         naming (slope).
8655
8656         Implement cubic interpolation mode (by using a natural cubic spline)
8657         and map the quadratic interpolation mode to this too (as quadratic
8658         doesn't make much sense, see discussion on the list).
8659
8660         * tests/check/libs/controller.c: (GST_START_TEST),
8661         (gst_controller_suite):
8662         Add unit test for the cubic interpolation mode and check everywhere
8663         if the interpolation mode could be set as expected.
8664
8665 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8666
8667         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8668           Don't use GLib-2.10 functions, we still depend on
8669           GLib-how-old-is-it-again-2.8.
8670
8671 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8672
8673         * docs/gst/gstreamer-sections.txt:
8674         * gst/Makefile.am:
8675         * gst/gst.c:
8676         * gst/gst.h:
8677         * gst/gstparamspecs.c: (_gst_param_fraction_init),
8678         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8679         (_gst_param_fraction_values_cmp),
8680         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8681         * gst/gstparamspecs.h:
8682         * gst/gstvalue.c:
8683         * tests/check/Makefile.am:
8684         * tests/check/gst/.cvsignore:
8685         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8686         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8687         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8688         (GST_START_TEST), (gst_param_spec_suite):
8689           API: add GstParamSpecFraction, so elements can have fraction
8690           properties without lots of painful string parsing (#444648).
8691
8692 2007-06-05  Wim Taymans  <wim@fluendo.com>
8693
8694         * gst/gstobject.c: (gst_object_class_init):
8695         Fix signal signature.
8696
8697         * gst/gstsegment.c:
8698         Add small clarification in the api docs.
8699
8700         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8701         States are protected with object lock.
8702
8703 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8704
8705         * AUTHORS:
8706         I should probably be listed as an author by now.
8707
8708         * docs/random/release:
8709         Update the release doc
8710
8711 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
8712
8713         * gst/gstvalue.c:
8714           Make docs for gst_value_compare() mention return enums that
8715           actually exist.
8716
8717 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8718
8719         * configure.ac:
8720           Back to CVS
8721
8722 === release 0.10.13 ===
8723
8724 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
8725
8726         * configure.ac:
8727           releasing 0.10.13, "With or without you"
8728
8729 2007-05-25  Wim Taymans  <wim@fluendo.com>
8730
8731         * gst/gstbin.c: (bin_handle_async_done):
8732         Make sure that the child bin stops after completing the async state
8733         change so that the parent can continue the state change to PLAYING.
8734         Fixes #441159.
8735
8736 2007-05-25  Wim Taymans  <wim@fluendo.com>
8737
8738         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8739         (unref_data), (gst_collect_pads_remove_pad),
8740         (gst_collect_pads_check_pads):
8741         Use additional refcounting to avoid crashes when dynamically adding and
8742         removing pads. Fixes #420206.
8743
8744 2007-05-24  Wim Taymans  <wim@fluendo.com>
8745
8746         * tools/gst-launch.c: (event_loop):
8747         When buffering goes from a two digit to a single digit number, make sure
8748         to remove the old second digit by writing a blank over it.
8749
8750 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8751
8752         * libs/gst/base/gstdataqueue.c:
8753           Eliminate tabs and trailing comma in enum list; fix some typos.
8754
8755 2007-05-24  Wim Taymans  <wim@fluendo.com>
8756
8757         * tests/check/gst/gstbin.c: (GST_START_TEST):
8758         Allow refcount of 3 and 4 because some state thread might still be busy
8759         with it.
8760
8761 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8762
8763         * plugins/elements/Makefile.am:
8764         * plugins/elements/gstmultiqueue.h:
8765         * plugins/elements/gstqueue.h:
8766           These are not installed headers, no need for padding.
8767
8768 2007-05-24  Wim Taymans  <wim@fluendo.com>
8769
8770         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8771         (gst_bin_continue_func):
8772         Enable latency for next release.
8773         Restore STATE_LOCK around recalc_state that was left out during the
8774         rewrite and could result in racy behaviour when _get_state and
8775         recalc_state are run concurrently. See #440463.
8776
8777 2007-05-23  Wim Taymans  <wim@fluendo.com>
8778
8779         * tests/check/gst/gstsystemclock.c: (store_callback),
8780         (GST_START_TEST):
8781         Improve test_async_order to also work when both timers are already
8782         expired when we get scheduled to check it.
8783
8784 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8785
8786         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8787         (gst_bin_set_property), (gst_bin_get_property),
8788         (gst_bin_remove_func), (gst_bin_handle_message_func):
8789         * gst/gstbin.h:
8790           'private' is a c++ keyword, let's not use that in header files,
8791           otherwise c++ compilers will throw a tantrum.
8792
8793 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8794
8795         * plugins/elements/gstelements.c:
8796         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8797         (gst_file_sink_get_current_offset):
8798         * plugins/indexers/gstindexers.c: (plugin_init):
8799           Use #ifdef for HAVE_XYZ for consistency.
8800
8801         * tests/check/Makefile.am:
8802         * tests/check/elements/.cvsignore:
8803         * tests/check/elements/filesink.c: (setup_filesink),
8804         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8805           Add some unit tests for filesink.
8806
8807 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8808
8809         Patch by: Mark Nauwelaerts <manauw at skynet be>
8810
8811         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8812         (gst_file_sink_query), (gst_file_sink_do_seek),
8813         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8814         * plugins/elements/gstfilesink.h:
8815           Fix position reporting; rename data_written member to current_pos to
8816           reflect its real meaning (fixes #412648).
8817
8818 2007-05-22  Edward Hervey  <edward@fluendo.com>
8819
8820         * docs/gst/gstreamer-sections.txt:
8821         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8822         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8823         (gst_bin_remove_func), (gst_bin_handle_message_func):
8824         * gst/gstbin.h:
8825         Add a property for bins that handle the state change of their childs.
8826         Fixes #435880
8827
8828 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
8829
8830         * libs/gst/controller/gstinterpolation.c:
8831         Use an array of the correct type when using _get_value_array with
8832         linear interpolation.
8833
8834 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
8835
8836         * gst/gstelement.c (gst_element_requires_clock,
8837           gst_element_provides_clock, gst_element_request_pad,
8838           gst_element_class_set_details, gst_element_class_set_details_simple,
8839           gst_element_default_send_event, gst_element_abort_state,
8840           gst_element_continue_state, gst_element_set_state,
8841           gst_element_set_state_func, iterator_activate_fold_with_resync):
8842         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8843           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8844           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8845           gst_pad_get_range, gst_pad_pull_range):
8846         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8847           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8848           GstPadActivateModeFunction, GstPadChainFunction,
8849           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8850           GstPadFixateCapsFunction, GstPadTemplate):
8851         * gst/gstpipeline.c (gst_pipeline_change_state,
8852           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8853           gst_pipeline_set_clock, gst_pipeline_auto_clock,
8854           gst_pipeline_get_delay):
8855           Whitespace and docs fixes.
8856
8857 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8858
8859         * libs/gst/controller/gstinterpolation.c:
8860         (interpolate_trigger_get_enum_value_array),
8861         (interpolate_trigger_get_string_value_array):
8862         Add support for retrieving value arrays when using the trigger
8863         interpolation mode. 
8864
8865 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8866
8867         * libs/gst/controller/gstcontroller.c:
8868         (gst_controller_get_value_array):
8869         * libs/gst/controller/gstcontroller.h:
8870         Clarify the docs of gst_controller_get_value_array(): The array where
8871         the values should be written to must be allocated as there seems to be
8872         no way to get the size of a random GType. This doesn't change any
8873         behaviour. Also fix some typos all over the place and remove an unused,
8874         commented function that is not necessary as g_object_set() could be
8875         used instead.
8876         * tests/check/libs/controller.c: (GST_START_TEST),
8877         (gst_controller_suite):
8878         Add unit test for gst_controller_get_value_array().
8879
8880 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
8881
8882         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8883
8884         Disable part of the gst_buffer_try_new_and_alloc test, because
8885         it can happily succeed on 64-bit systems where there's more address
8886         space available.
8887
8888 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8889
8890         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8891         Add unit test for the improved caps checking from bug #421543.
8892
8893 2007-05-21  Wim Taymans  <wim@fluendo.com>
8894
8895         * docs/design/part-synchronisation.txt:
8896         Small addition.
8897
8898         * gst/gstbin.c: (gst_bin_query):
8899         * plugins/elements/gstqueue.c: (apply_segment):
8900         Improve debugging.
8901
8902         * gst/gstmessage.h:
8903         Improve docs.
8904
8905 2007-05-21  Wim Taymans  <wim@fluendo.com>
8906
8907         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8908         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8909         (gst_pad_configure_src):
8910         Added simple version of improved caps checking. It was previously
8911         assumed that a setcaps function would check the validity of the caps but
8912         people prefer us to check caps against the template automatically. 
8913         Fixes #421543.
8914
8915 2007-05-21  Wim Taymans  <wim@fluendo.com>
8916
8917         * libs/gst/base/gstbasetransform.h:
8918         Fix macro for locking/unlocking the transform lock.
8919
8920 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8921
8922         * docs/plugins/tmpl/.cvsignore:
8923           Ignore more.
8924
8925 2007-05-18  Edward Hervey  <edward@fluendo.com>
8926
8927         * plugins/elements/gstqueue.c: (gst_queue_loop):
8928         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8929         for the subtle art of warning a potentially blocking thread that it
8930         should check the source pad return value, and relay the information
8931         upstream.
8932
8933 2007-05-18  Edward Hervey  <edward@fluendo.com>
8934
8935         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8936         Release the queue lock !
8937
8938 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8939
8940         * docs/libs/gstreamer-libs-sections.txt:
8941         Add the two new controller functions to the appropiate places.
8942
8943 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8944
8945         reviewed by: Stefan Kost <ensonic@users.sf.net>
8946
8947         * libs/gst/controller/gstcontroller.c:
8948         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8949         (_gst_controller_get_property), (_gst_controller_set_property),
8950         (_gst_controller_init), (_gst_controller_class_init):
8951         * libs/gst/controller/gstcontroller.h:
8952         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8953         (gst_object_get_control_rate), (gst_object_set_control_rate):
8954         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8955         Add API that provides sync suggestion timestamps for elements that
8956         call gst_object_sync_values() from which those elements can subdivide
8957         their processing loop to get the best results for the controlled
8958         properties. For now it just suggests last_sync + control_rate as
8959         new timestamp but this will be improved in the future.
8960
8961         While doing that change the control-rate property to a GstClockTime
8962         from guint and change it's meaning from samples to nanoseconds as
8963         the GstController doesn't know anything about sampling rate. Strictly
8964         speaking this breaks ABI but as the control-rate property didn't do
8965         anything in the past and as such couldn't be used this should be no
8966         problem.        
8967
8968 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8969
8970         reviewed by: Stefan Kost <ensonic@users.sf.net>
8971
8972         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8973         (gst_controller_unset_all):
8974         * libs/gst/controller/gstcontrollerprivate.h:
8975         * libs/gst/controller/gstinterpolation.c:
8976         (gst_controlled_property_find_control_point_node):
8977         Save last synced value from the list to continue searching from there
8978         in future syncs. This speeds everything up a bit.
8979         
8980 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8981
8982         reviewed by: Stefan Kost <ensonic@users.sf.net>
8983
8984         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8985         (gst_control_point_find), (gst_controlled_property_new),
8986         (gst_control_point_free), (gst_controlled_property_free),
8987         (gst_controller_set), (gst_controller_set_from_list),
8988         (gst_controller_unset), (gst_controller_unset_all),
8989         (gst_controller_sync_values):
8990         * libs/gst/controller/gstcontroller.h:
8991         * libs/gst/controller/gstcontrollerprivate.h:
8992         * libs/gst/controller/gstinterpolation.c:
8993         (gst_controlled_property_find_control_point_node),
8994         (interpolate_none_get), (interpolate_trigger_get):
8995         Add a new private GstControlPoint struct which "inherits" from
8996         GstTimedValue to allow different interpolators to store internal
8997         values next to each control point. From the outside everything is
8998         still a GstControlPoint so we don't loose binary compatibility.
8999         Also fixup all the GValue handling to not leak GValues or list nodes.
9000         * tests/check/libs/controller.c: (GST_START_TEST):
9001         Free the list nodes and GValues in the controller_misc test.
9002
9003 2007-05-17  Edward Hervey  <edward@fluendo.com>
9004
9005         * gst/gstsegment.c:
9006         Small doc fix.
9007
9008 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
9009
9010         * gst/gstplugin.c: (gst_plugin_load_file):
9011           If we fail to load a plugin because of unresolved symbols or missing
9012           libraries and spew a warning to stderr, we may just as well mention
9013           which plugin it was that failed to load.
9014
9015 2007-05-13  David Schleef  <ds@schleef.org>
9016
9017         * docs/Makefile.am: the gtk-doc makefile snippet correctly
9018           handles the case when ENABLE_GTK_DOC is false, and installs
9019           the prebuilt documentation.  So gtk-doc subdirs are 
9020           unconditionally enabled.  Fixes: #349099.
9021
9022 2007-05-13  David Schleef  <ds@schleef.org>
9023
9024         * gst/gstutils.h: Reword some documentation.
9025
9026 2007-05-12  David Schleef  <ds@schleef.org>
9027
9028         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
9029           do anything with the passed "module" parameter, so remove it.
9030           Allows removal of additional vestigal code.
9031
9032 2007-05-12  David Schleef  <ds@schleef.org>
9033
9034         * gst/gstplugin.c:
9035           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
9036           Switch to using g_stat() because it's more portable.
9037
9038 2007-05-12  David Schleef  <ds@schleef.org>
9039
9040         * gst/gst.c:
9041           Add GST_DISABLE_OPTION_PARSING, in order to disable option
9042           parsing for embedded systems.
9043         * gst/gstelementfactory.c:
9044           Allow gst_element_register() to be called with plugin==NULL.
9045           Did nobody notice that static elements were broken?
9046
9047 2007-05-12  Wim Taymans  <wim@fluendo.com>
9048
9049         * tools/gst-launch.c: (event_loop):
9050         Give more interesting info when buffering starts and stops.
9051         Fix case where buffering starts but we fail to update the buffering flag
9052         because the target state is not PLAYING.
9053
9054 2007-05-12  Wim Taymans  <wim@fluendo.com>
9055
9056         * plugins/elements/gstqueue.c: (gst_queue_init),
9057         (gst_queue_finalize), (update_time_level), (apply_segment),
9058         (apply_buffer), (gst_queue_locked_flush),
9059         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
9060         (gst_queue_handle_sink_event), (gst_queue_chain),
9061         (gst_queue_push_one), (gst_queue_loop):
9062         * plugins/elements/gstqueue.h:
9063         Refactor an cleanup queue a bit.
9064         Do better time level calculations that also work when the srcpad is not
9065         yet running.
9066         Remove some unneeded debug lines.
9067
9068         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
9069         Added testcase for time level measurement.
9070         Try to make some stuff more racefree.
9071
9072 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
9073
9074         * gst/gsturi.c: (gst_element_make_from_uri):
9075           Don't leak plugin feature.
9076
9077         * tests/check/Makefile.am:
9078         * tests/check/gst/.cvsignore:
9079         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
9080           Add brain-dead unit test.
9081
9082 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
9083
9084         Patch by: Jeroen Wouters <woutersj at gmail com>
9085
9086         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
9087           Treat protocol strings in a case-insensitive way (#437563).
9088
9089 2007-05-11  Michael Smith <msmith@fluendo.com>
9090
9091         * gst/gstplugin.c: (gst_plugin_load_file):
9092         * gst/gstregistry.c: (gst_registry_scan_path_level):
9093           Don't print a g_warning for any failure to load a shared object.
9094           Instead, push this down into gstplugin.c, and warn _only_ if we
9095           failed to open the module (i.e. failure to link).
9096           Avoids warnings on normal, working, non-plugin .so files.
9097
9098 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
9099
9100         * gst/gstplugin.c (gst_plugin_load_file):
9101         * gst/gstregistry.c (GST_CAT_DEFAULT,
9102           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
9103           Print a g_warning if there was an error when loading a plugins during
9104           registry scan. The shuld help beginners starting with gst-plugin
9105           template.
9106
9107 2007-05-10  Wim Taymans  <wim@fluendo.com>
9108
9109         * plugins/elements/gstqueue.c: (gst_queue_class_init),
9110         (update_time_level), (gst_queue_locked_flush),
9111         (gst_queue_handle_sink_event), (gst_queue_chain),
9112         (gst_queue_push_one), (gst_queue_loop):
9113         * plugins/elements/gstqueue.h:
9114         Be smarter when calculating the current amount of data in the queue by
9115         measuring the difference between start and end timestamps (in running
9116         time) inside the queue. Fixes #432876.
9117         API: GstQueue::pushing to notify elements that we are pushing data again
9118         since the running signal is rather broken for this purpose.
9119
9120 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
9121
9122         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
9123           gst_queue_base_init, gst_queue_init):
9124           use GST_BOILERPLATE
9125
9126 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
9127
9128         * win32/common/libgstreamer.def:
9129         Add new exported functions.
9130         * win32/vs6/grammar.dsp:
9131         Use grammar pre-generated files.
9132
9133 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9134
9135         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
9136
9137         * gst/Makefile.am:
9138         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
9139         * gst/gstparse.h:
9140         * gst/gstutils.c: (gst_parse_bin_from_description):
9141         * gst/gstutils.h:
9142           Maintain API and ABI when --disable-parse is used. Now that
9143           we have an appropriate error code, we can just return NULL and the
9144           appropriate error when gst_parse_launch() is used despite it having
9145           been disabled (#342564).
9146
9147         * tests/check/Makefile.am:
9148         * tests/check/pipelines/.cvsignore:
9149         * tests/check/pipelines/parse-disabled.c:
9150           Make sure these functions exist and return NULL plus a GError when
9151           --disable-parse is used.
9152
9153 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9154
9155         * tests/benchmarks/complexity.c: (main):
9156         * tests/benchmarks/mass-elements.c: (main):
9157           Set a good example and don't leak messages.
9158
9159 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
9160
9161         * docs/gst/Makefile.am:
9162         * docs/libs/Makefile.am:
9163           Correct fixxrefs options.
9164
9165         * docs/plugins/Makefile.am:
9166         * docs/plugins/gstreamer-plugins-docs.sgml:
9167         * docs/plugins/gstreamer-plugins-sections.txt:
9168         * plugins/elements/Makefile.am:
9169         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
9170         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
9171           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
9172           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
9173           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
9174           _GstCapsFilterClass, trans_class):
9175         * plugins/elements/gstelements.c (name, rank, type, _elements):
9176         * plugins/elements/gstidentity.c
9177           (gst_identity_check_imperfect_timestamp,
9178           gst_identity_check_imperfect_offset):
9179           Document capsfilter and add doc-blurb to identity.
9180
9181 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
9182
9183         * libs/gst/controller/gstcontroller.c:
9184         (gst_controlled_property_set_interpolation_mode):
9185         * libs/gst/controller/gstinterpolation.c:
9186           Don't crash if someone tries to set an interpolation mode that
9187           is invalid or that isn't supported yet. Fixes #422295.
9188
9189         * tests/check/libs/controller.c: (GST_START_TEST),
9190         (gst_controller_suite):
9191           Add a test case for the above.
9192
9193 2007-05-03  Edward Hervey  <edward@fluendo.com>
9194
9195         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
9196         Properly set the last_stop position on GstSegment. This will only happen
9197         if there is a buffer to push out.
9198
9199 2007-05-03  Wim Taymans  <wim@fluendo.com>
9200
9201         * libs/gst/base/gstbasetransform.c:
9202         (gst_base_transform_buffer_alloc):
9203         always_in_place does not mean that the sink and source caps are the
9204         same! Make sure we don't blindly proxy the buffer_alloc in this case.
9205
9206 2007-05-03  Wim Taymans  <wim@fluendo.com>
9207
9208         * docs/libs/gstreamer-libs-sections.txt:
9209         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
9210         (gst_base_src_default_query), (gst_base_src_get_range):
9211         * libs/gst/base/gstbasesrc.h:
9212         API: gst_base_src_query_latency(). Added method so that subclasses can
9213         easily get the latency values of the base source class.
9214
9215 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
9216
9217         * tools/gst-inspect.c (print_implementation_info):
9218         Remove 0.8 cruft.
9219
9220 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
9221
9222         * tools/Makefile.am:
9223         * tools/gst-launch.1.in:
9224           Don't create a customised man page based on the host architecture,
9225           describe the default registry path generically. That way the man
9226           page is the same for all architectures and packagers have one
9227           multilib issue less to deal with. Fixes #434926.
9228
9229 2007-05-02  Wim Taymans  <wim@fluendo.com>
9230
9231         * gst/gstpad.c:
9232         Fix documentation as spotted by rg on IRC. 
9233
9234 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
9235
9236         * gst/gstutils.c:
9237           Improve docs for gst_element_{link,unlink}.
9238
9239 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
9240
9241         * docs/design/part-events.txt:
9242         * docs/design/part-overview.txt:
9243         * gst/gstevent.c:
9244         * gst/gsturi.c:
9245         * gst/gsturi.h:
9246         * libs/gst/base/gstbasesink.c:
9247           Typo fixes; minor docs addition.
9248
9249 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
9250
9251         * docs/gst/gstreamer-sections.txt:
9252         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
9253         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
9254         * gst/gsturi.h:
9255         API: Add gst_uri_protocol_is_supported(), which checks if a sink
9256         or src that supports a given URI protocol exists.
9257
9258 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
9259
9260         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9261         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9262         Set the location to NULL if "file://" is set as URI. Otherwise
9263         some random previous URI would still be set if "file://" is
9264         set on an already used filesink/filesrc.
9265
9266 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
9267
9268         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9269         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9270         Special case the "file://" URI as as this is used by some
9271         applications to test with gst_element_make_from_uri if there's
9272         an element that supports the URI protocol.
9273         Also move the g_path_is_absolute() check for the location part
9274         of the URI to also check this for "file://localhost/bla" URIs.
9275
9276 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
9277
9278         * docs/gst/gstreamer-sections.txt:
9279         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
9280         * gst/gstbuffer.h:
9281         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
9282         (gst_buffer_suite):
9283           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
9284
9285 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
9286
9287         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9288         (gst_registry_binary_load_pad_template),
9289         (gst_registry_binary_load_plugin),
9290         (gst_registry_binary_read_cache):
9291         * gst/gstregistrybinary.h:
9292           Implement no-mmap alternative for registry reading. Do code cleanups.
9293           Add more comments about avoiding strdups for all text data. Comments
9294           welcome.
9295
9296 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
9297
9298         * gst/gstregistrybinary.h (GstBinaryPluginElement,
9299           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
9300           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
9301           Comment structs and reformat to fix the build (that stuff should go
9302           into a priv. header).
9303
9304 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
9305
9306         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
9307         (gst_registry_binary_load_feature):
9308         * gst/gstregistrybinary.h:
9309           Refactor so that we can implement multiple features. Add support for
9310           TypeFindFactory features.
9311
9312 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
9313
9314         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
9315
9316         * configure.ac:
9317           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
9318
9319 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
9320
9321         * gst/gstbin.c: (gst_bin_element_set_state),
9322         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
9323         (bin_handle_async_done), (gst_bin_handle_message_func):
9324           Fix build with --gst-disable-gst-debug
9325
9326 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
9327
9328         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
9329           Make sure streaming has finished before calling the ::stop() vfunc,
9330           since that vfunc might clear state which is being used in the
9331           streaming thread. This fixes a race that caused crashes in
9332           audioresample when shutting down a pipeline (#420106).
9333
9334 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9335
9336         * docs/gst/gstreamer-sections.txt:
9337           That was one byte missing.
9338
9339 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9340
9341         * configure.ac:
9342         * docs/gst/gstreamer-sections.txt:
9343         * gst/Makefile.am:
9344         * gst/gstconfig.h.in:
9345         * gst/gstobject.c: (gst_object_class_init),
9346         (gst_signal_object_class_init):
9347         * gst/gstobject.h:
9348           2nd attempt to have a xml-less build as a joined effort of #413123
9349           and #421480.
9350
9351 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9352
9353         * docs/design/draft-tagreading.txt:
9354           Added open issues/thoughts to draft.
9355
9356 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9357
9358         * gst/parse/grammar.tab.pre.c:
9359         * gst/parse/grammar.tab.pre.h:
9360         * gst/parse/lex._gst_parse_yy.pre.c:
9361         Update the prebuild parser sources.
9362
9363 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9364
9365         * gst/parse/Makefile.am:
9366         And now fix the building of the flex sources. Now everything should
9367         work as expected.
9368
9369 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9370
9371         * gst/parse/Makefile.am:
9372         Now hopefully fix the build failures by setting proper rule
9373         dependencies and moving instead of copying.
9374
9375 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9376
9377         * tests/benchmarks/complexity.gnuplot:
9378         * tests/benchmarks/complexity.scm:
9379         * tests/benchmarks/mass-elements.gnuplot:
9380         * tests/benchmarks/mass-elements.scm:
9381           Total licensification.
9382
9383 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9384
9385         * gst/parse/Makefile.am:
9386           Fix the build by correcting the rule that gave wrong files to flex.
9387
9388 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9389
9390         * tests/benchmarks/complexity.c:
9391         * tests/benchmarks/mass-elements.c:
9392           Change licence to LGPL as granted by Benjamin and Andy.
9393
9394 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9395
9396         * gst/parse/Makefile.am:
9397         Add correct grammar.tab.h dependency if compiling without new enough
9398         flex. Fixes #431150.
9399
9400 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9401
9402         * gst/parse/Makefile.am:
9403         Fix typo and use outdated sources if the flex/bison sources are newer
9404         than the pregenerated ones but flex is too old. Print a warning in
9405         that case. This should fix the build on the build bot.
9406
9407 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9408
9409         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
9410         * gst/parse/Makefile.am:
9411         * gst/parse/grammar.y:
9412         * gst/parse/parse.l:
9413         Make the parser reentrant and recursively callable. This requires flex
9414         >= 2.5.31, for older versions pregenerated sources are used as we
9415         can't bump the build dependency. Finally fixes #349180.
9416
9417         * gst/gstparse.c: (gst_parse_launch):
9418         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
9419         now anyway.
9420
9421         * docs/gst/Makefile.am:
9422         * docs/gst/Makefile.am:
9423         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
9424         (__gst_parse_strfree), (__gst_parse_link_new),
9425         (__gst_parse_link_free), (__gst_parse_chain_new),
9426         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
9427         (gst_parse_element_set), (gst_parse_free_link),
9428         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
9429         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
9430         (_gst_parse_launch):
9431         * gst/parse/grammar.tab.pre.h:
9432         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
9433         (yy_get_previous_state), (yy_try_NUL_trans), (input),
9434         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
9435         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
9436         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
9437         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
9438         (_gst_parse_yypop_buffer_state),
9439         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
9440         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
9441         (yy_fatal_error), (_gst_parse_yyget_extra),
9442         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
9443         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
9444         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
9445         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
9446         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
9447         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
9448         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
9449         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
9450         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
9451         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
9452         (_gst_parse_yyfree):
9453         If the installed flex version is too old use pre-generated parser
9454         sources. These pre-generated parser sources are always updated when
9455         the actual flex/bison sources change but require everybody who wants
9456         to change something in the parser to have flex >= 2.5.31 installed.
9457
9458 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
9459
9460         * common/m4/gst-gettext.m4:
9461         * gst/gst-i18n-lib.h:
9462           Make --disable-nls to work
9463
9464 2007-04-17  Wim Taymans  <wim@fluendo.com>
9465
9466         * gst/gstconfig.h.in:
9467         Revert previous change that broke the build.
9468
9469 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
9470
9471         * configure.ac:
9472         * gst/Makefile.am:
9473         * gst/gstconfig.h.in:
9474           Drop libxml2 dependency when building with 
9475           --enable-binary-registry --disable-loadsave
9476
9477 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
9478
9479         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9480         (gst_registry_binary_read_cache):
9481         * gst/gstregistrybinary.h:
9482           Remove unnecessary <sys/mman.h> include which broke the win32 build
9483           with MingW; move includes from header file to .c file, even if the
9484           header file isn't installed; use g_strerror() where UTF-8 strings
9485           are expected, such as in GST_DEBUG messages.
9486
9487 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9488
9489         * docs/libs/gstreamer-libs-sections.txt:
9490         Remove bogus addition for API I didn't end up keeping.
9491
9492         * libs/gst/base/gstbasesrc.h:
9493         Mention Since: 0.10.13 in the documentation.
9494
9495         Add the API keyword to the previous ChangeLog entry.
9496
9497 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9498
9499         * docs/libs/gstreamer-libs-sections.txt:
9500         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9501         (gst_base_src_default_prepare_seek_segment),
9502         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
9503         * libs/gst/base/gstbasesrc.h:
9504         Allow basesrc derived classes to execute seeks in other formats
9505         by providing a prepare_seek_segment vmethod. Sub-classes can choose
9506         to prepare the GstSegment in any format that their perform_seek method
9507         will be able to understand. The default implementation provides the
9508         old behaviour of attempting to convert the seek offsets to the 
9509         configured native format.
9510
9511         API: basesrc::prepare_seek_segment vmethod.
9512
9513 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9514
9515         * gst/gstelement.c: (gst_element_get_state_func):
9516         Don't output the same debug statement twice.
9517
9518         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
9519         (gst_adapter_peek), (gst_adapter_take_buffer):
9520         Optimise the case where we have buffers at the head of the queue that
9521         can be joined quickly (because they're contiguous sub-buffers) by
9522         merging them together rather than copying data out into new memory.
9523
9524         * gst/parse/grammar.y:
9525         * tests/check/pipelines/parse-launch.c:
9526         Fix a leak in an error path for parse_launch, and add a check 
9527         for it to the testsuite.
9528
9529 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9530
9531         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9532           Don't deadlock when releasing a pad - gst_pad_set_active may try
9533           and take the multiqueue lock too.
9534
9535 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
9536
9537         * gst/gsterror.c: (_gst_core_errors_init):
9538         * gst/gsterror.h:
9539           API: add GST_CORE_ERROR_DISABLED (#392804).
9540
9541 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9542
9543         * docs/faq/gst-uninstalled:
9544           don't get empty paths on the PATH variables
9545         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
9546           Don't format for the uncommon terminal width of 84 characters.
9547
9548 2007-04-06  Wim Taymans  <wim@fluendo.com>
9549
9550         * gst/gstpipeline.c: (reset_stream_time),
9551         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
9552         Only try to select a different pipeline clock when we went back to
9553         PAUSED and not when we merely got flushed.
9554
9555 2007-04-05  Michael Smith  <msmith@fluendo.com>
9556
9557         * tools/gst-launch.1.in:
9558           fractions are better supported in gstreamer than ractions, so
9559           suggest using those.
9560
9561 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9562
9563         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9564
9565         * po/LINGUAS:
9566         * po/da.po:
9567           Added Danish translation.
9568
9569 2007-04-05  Wim Taymans  <wim@fluendo.com>
9570
9571         * libs/gst/base/gstbasesink.c:
9572         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9573         Fix leak caused when refusing newsegment after EOS.
9574
9575         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9576         (gst_fake_sink_init), (gst_fake_sink_set_property),
9577         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9578         (gst_fake_sink_render), (gst_fake_sink_change_state):
9579         * plugins/elements/gstfakesink.h:
9580         Add num-buffers property to make the element generate EOS after a
9581         configurable amount of buffers.
9582         API: fakesink::num-buffers property.
9583
9584         * tests/check/elements/fakesink.c: (GST_START_TEST),
9585         (fakesink_suite):
9586         Fix GstBus leak in test.
9587         Test for fakesink num-buffers.
9588
9589 2007-04-05  Wim Taymans  <wim@fluendo.com>
9590
9591         * libs/gst/base/gstbasesink.c:
9592         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9593         (gst_base_sink_change_state):
9594         Don't accept anything after an EOS, return UNEXPECTED instead.
9595
9596         * tests/check/elements/fakesink.c: (GST_START_TEST),
9597         (fakesink_suite):
9598         Unit test for new EOS behaviour.
9599
9600 2007-04-05  Wim Taymans  <wim@fluendo.com>
9601
9602         * gst/gstelement.c: (gst_element_get_request_pad):
9603         Make padtemplates also work when they don't contain %s or %d.
9604
9605 2007-04-05  Wim Taymans  <wim@fluendo.com>
9606
9607         * docs/gst/gstreamer-sections.txt:
9608         * gst/gstclock.c: (gst_clock_adjust_unlocked),
9609         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9610         * gst/gstclock.h:
9611         Improve _adjust_unlocked() so that it overflows less.
9612         Add gst_clock_unadjust_unlocked to convert from external time to
9613         internal time based on calibration.
9614         Add some more debug.
9615         API: GstClock::gst_clock_unadjust_unlocked()
9616
9617 2007-04-03  Wim Taymans  <wim@fluendo.com>
9618
9619         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9620
9621         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9622         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9623         when releasing sink pad. Fixes #425400.
9624
9625 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
9626
9627         * docs/random/ensonic/dynlink.txt:
9628           More work on proposal for new core api.
9629
9630         * docs/libs/gstreamer-libs-sections.txt:
9631         * libs/gst/base/gstbasetransform.h:
9632           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9633           
9634         * libs/gst/controller/gstcontroller.c:
9635         (on_object_controlled_property_changed),
9636         (gst_controller_sync_values),
9637         (gst_controller_set_interpolation_mode):
9638         * libs/gst/controller/gstcontroller.h:
9639           Less verbose logging add docs for unimplemented parts and correctly
9640           return when using unavailable parts.
9641
9642 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9643
9644         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9645         Move all the debug to the CLOCK category, and associate it with
9646         the clock object.
9647
9648 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9649
9650         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9651         Make take_buffer a bit quicker by removing redundant checks
9652         caused by calling gst_adapter_take.
9653
9654 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9655
9656         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9657           Don't leak GCond.
9658
9659         * tests/check/Makefile.am:
9660         * tests/check/elements/.cvsignore:
9661         * tests/check/elements/multiqueue.c: (setup_multiqueue),
9662         (GST_START_TEST), (multiqueue_suite):
9663           Add some dead simple unit tests for the 'multiqueue' element
9664           (some bits don't work yet and are disabled for now).
9665
9666 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9667
9668         * gst/gstelement.c: (gst_element_get_request_pad),
9669         (gst_element_class_get_request_pad_template):
9670           Make gst_element_get_request_pad() create request pads only for
9671           request pad templates and not for, say, sometimes pad templates.
9672
9673 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
9674
9675         * docs/design/draft-klass.txt:
9676           Add example that needs more thinking.
9677         
9678         * docs/design/draft-missing-plugins.txt:
9679           More thoughts about wrapper plugins.
9680         
9681         * docs/random/ensonic/embedded.txt:
9682         * docs/random/ensonic/profiling.txt:
9683           More design work.
9684
9685 2007-03-25  Wim Taymans  <wim@fluendo.com>
9686
9687         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9688         (gst_base_src_loop):
9689         Only push the segment events in the PLAYING state for live sources.
9690
9691 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
9692
9693         * gst/gstpipeline.c: (gst_pipeline_change_state):
9694         Modify the clock distribution path in PAUSED->PLAYING so that we 
9695         never attempt to choose a new clock unless we're actually leaving
9696         the PAUSED state for the first time. This prevents choosing a
9697         different clock when the state_change gets called for a 2nd time due
9698         to some element doing an async state change.
9699
9700 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9701
9702         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9703         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9704         (gst_pad_chain_unchecked), (gst_pad_push):
9705         Revert last commit. This needs some more thoughts.
9706
9707 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9708
9709         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9710         (gst_pad_chain_unchecked), (gst_pad_push):
9711         Check in set_caps if the caps are compatible with the pad and remove
9712         two functions that are redundant now. Fixes #421543.
9713
9714 2007-03-22  Wim Taymans  <wim@fluendo.com>
9715
9716         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9717         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9718         Unref some more to make valgrind happy.
9719
9720 2007-03-22  Wim Taymans  <wim@fluendo.com>
9721
9722         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9723         (gst_system_clock_id_wait_jitter),
9724         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9725         Fix anoying regression that survived a few releases. When adding an
9726         async entry while blocking on a sync entry, the sync entry will unblock
9727         but still be busy, so it should continue to wait instead of returning
9728         _BUSY to the app.
9729         Add some comments here and there.
9730
9731         * tests/check/gst/gstsystemclock.c: (mixed_thread),
9732         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9733         Add testcase for this.
9734
9735 2007-03-22  Wim Taymans  <wim@fluendo.com>
9736
9737         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9738         Handle errors from the clock sync better, only UNSCHEDULED indicates a
9739         WRONG_STATE and can silently pause the task. All other cases should
9740         error out.
9741
9742 2007-03-22  Wim Taymans  <wim@fluendo.com>
9743
9744         Patch by: Ville Syrjala <syrjala at sci dot fi>
9745
9746         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9747         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
9748         Improve debugging.
9749
9750 2007-03-21  Michael Smith  <msmith@fluendo.com>
9751
9752         * docs/pwg/advanced-types.xml:
9753           Fix some errors in the typefinding docs pointed out on irc.
9754
9755 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
9756
9757         * libs/gst/base/gstbasesrc.c:
9758         Clarify FIXME comment in the face of having added unlock_stop()
9759
9760 2007-03-21  Wim Taymans  <wim@fluendo.com>
9761
9762         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9763         Prepare for release where we warn against possible app breakage in the
9764         case of live pipelines along with an env var to enable/disable live
9765         preroll mode (GST_COMPAT=[no-]live-preroll).
9766
9767 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9768
9769         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9770         So we should use correct constants for checking for None offset.
9771
9772 2007-03-20  Wim Taymans  <wim@fluendo.com>
9773
9774         * docs/design/part-block.txt:
9775         Mention the fact that the newly switched element should be set to at
9776         least PAUSED.
9777
9778 2007-03-20  Wim Taymans  <wim@fluendo.com>
9779
9780         * gst/gst.c:
9781         Fix compilation with registry disabled as spotted by Saur.
9782
9783 2007-03-20  Wim Taymans  <wim@fluendo.com>
9784
9785         Patch by: Olivier Crete <tester at tester dot ca>
9786
9787         * gst/gstelement.c: (gst_element_sync_state_with_parent):
9788         Look at the pending state too when syncing the element state to the
9789         parent. Fixes #420133.
9790
9791 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
9792
9793         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9794         (gst_base_sink_change_state):
9795         * libs/gst/base/gstbasesink.h:
9796         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9797         (gst_base_src_default_event), (gst_base_src_unlock_stop),
9798         (gst_base_src_deactivate):
9799         * libs/gst/base/gstbasesrc.h:
9800         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9801         for sub-classes to correctly clear any state they set trying to
9802         unlock, such as clearing out unlock commands from a command fd.
9803         API: basesrc::unlock_stop
9804         API: basesink::unlock_stop
9805
9806         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9807         (gst_fd_sink_render), (gst_fd_sink_unlock),
9808         (gst_fd_sink_unlock_stop):
9809         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9810         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9811         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9812
9813         Implement unlock_stop in fdsrc and fdsink.
9814         Implement seeking in fdsrc when a seekable fd is passed, as in
9815         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9816
9817 2007-03-19  Wim Taymans  <wim@fluendo.com>
9818
9819         Patch by: Evan Nemerson <evan at coeus dash group dot com>
9820
9821         * gst/gstelement.c: (gst_element_class_init):
9822         Fix pad-added and pad-removed signal signatures so that the pad type is
9823         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9824
9825 2007-03-19  Wim Taymans  <wim@fluendo.com>
9826
9827         * docs/gst/gstreamer-sections.txt:
9828         Add new element field and method.
9829
9830         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9831         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9832         (gst_bin_recalc_state), (gst_bin_get_state_func),
9833         (gst_bin_element_set_state), (gst_bin_change_state_func),
9834         (gst_bin_continue_func), (bin_bus_handler),
9835         (bin_push_state_continue), (bin_handle_async_start),
9836         (bin_handle_async_done), (gst_bin_handle_message_func):
9837         Make async state changes a bit smarter by using new ASYNC_START and
9838         ASYNC_DONE messages. This reduces the number of times we run the state
9839         recalculation thread.
9840         Don't change state of element with a pending ASYNC_START message.
9841         Deprecate STATE_DIRTY messages.
9842         
9843         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9844         (gst_element_get_state_func), (gst_element_continue_state),
9845         (gst_element_lost_state), (gst_element_set_state_func),
9846         (gst_element_change_state):
9847         * gst/gstelement.h:
9848         Keep the state that was last set by the app in a new element field.
9849         Don't allow state changes when handling an element event.
9850         Post ASYNC_START and ASYNC_DONE messages.
9851         Change lost_state so that we go to PAUSED and wait for the parent to set
9852         us to PLAYING again (so latency calculation can be performed)
9853         Export gst_element_change_state() method so that subclasses can use it.
9854         API: gst_element_change_state()
9855         API: GST_STATE_TARGET
9856
9857         * gst/gstpipeline.c: (gst_pipeline_class_init),
9858         (reset_stream_time), (gst_pipeline_change_state),
9859         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9860         Using the new ASYNC_START message we can reset the base_time when
9861         needed. This can then be used to implement base_time redistribution in
9862         flushing seeks so that we can remove the explicit seek handling.
9863         Perform latency query and configuration when going to PLAYING.
9864
9865         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9866         (gst_base_sink_query), (gst_base_sink_change_state):
9867         Post new ASYNC_START/ASYNC_DONE messages.
9868
9869         * tests/check/generic/sinks.c: (GST_START_TEST):
9870         Fix test because the bin will not set the async element to PLAYING right
9871         away.
9872
9873         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9874         Make the message check a little stronger.
9875         Handle ASYNC messages.
9876
9877         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9878         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9879         Expect ASYNC_DONE messages.
9880
9881 2007-03-19  Wim Taymans  <wim@fluendo.com>
9882
9883         * docs/gst/gstreamer-sections.txt:
9884         * gst/gstmessage.c: (gst_message_new_async_start),
9885         (gst_message_new_async_done), (gst_message_parse_info),
9886         (gst_message_parse_async_start):
9887         * gst/gstmessage.h:
9888         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9889         support.
9890
9891 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
9892
9893         * tools/gst-inspect.c:
9894         (print_plugin_automatic_install_info_codecs):
9895           Now that we don't check for the 'Codec' keyword any longer in the
9896           klass, we shouldn't spew a warning if the klass isn't a decoder or
9897           encoder (since it might be a Source/Network, for example).
9898
9899 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
9900
9901         * tools/gst-inspect.c:
9902         (print_plugin_automatic_install_info_codecs):
9903           Don't require decoder/demuxer/depayloader elements or
9904           encoder/muxer/paylader elements to have 'Codec' as part of their
9905           factory class string when introspecting a plugin's capabilities.
9906           draft-klass.txt mentions that it might be removed in future, and
9907           flump3dec doesn't have it as part of its class string, so chances
9908           are others might also not have it.
9909
9910 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9911
9912         * po/af.po:
9913         * po/az.po:
9914         * po/bg.po:
9915         * po/ca.po:
9916         * po/cs.po:
9917         * po/de.po:
9918         * po/en_GB.po:
9919         * po/fr.po:
9920         * po/it.po:
9921         * po/nb.po:
9922         * po/nl.po:
9923         * po/ru.po:
9924         * po/sq.po:
9925         * po/sr.po:
9926         * po/sv.po:
9927         * po/tr.po:
9928         * po/uk.po:
9929         * po/vi.po:
9930         * po/zh_CN.po:
9931         * po/zh_TW.po:
9932           Update translations from translation project
9933
9934 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
9935
9936         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9937         (gst_child_proxy_set_property):
9938           Invert precondition check to be alike the ones in the mimiced gobject
9939           api.
9940
9941 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
9942
9943         * docs/design/draft-tagreading.txt:
9944         * docs/random/ensonic/audiobaseclasses.txt:
9945           Do some Architect work.
9946
9947         * gst/gstobject.c: (gst_object_set_name):
9948           Add a WARNING.
9949
9950         * gst/gstpad.c:
9951           Add docs that point from gst_pad_get_range to gst_pad_pull_range
9952
9953 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
9954
9955         * gst/gstsystemclock.c: (gst_system_clock_init),
9956         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9957         Defer starting the async system clock thread until the first async
9958         wait is scheduled. Fixes #414986.
9959
9960 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
9961
9962         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9963         (gst_single_queue_free):
9964           Fix small leak (free GstSingleQueue structure too, not only contents).
9965
9966 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
9967
9968         * gst/gstbin.c:(gst_bin_add):
9969         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9970         * win32/common/libgstbase.def:
9971         * win32/common/libgstreamer.def:
9972         Add new exported functions.
9973
9974 2007-03-09  Wim Taymans  <wim@fluendo.com>
9975
9976         * docs/plugins/gstreamer-plugins-sections.txt:
9977         Fix GstTee docs.
9978
9979 2007-03-09  Wim Taymans  <wim@fluendo.com>
9980
9981         * docs/gst/gstreamer-sections.txt:
9982         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9983         * gst/gstbuffer.h:
9984         Add metadata copy functions. Fixes #393099.
9985         API: gst_buffer_copy_metadata()
9986
9987         * gst/gstutils.c: (gst_buffer_stamp):
9988         * libs/gst/base/gstbasetransform.c:
9989         (gst_base_transform_prepare_output_buffer):
9990         Use new metadata copy functions.
9991
9992 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9993
9994         * plugins/elements/gstidentity.c: (gst_identity_class_init),
9995         (gst_identity_init), (gst_identity_check_perfect),
9996         (gst_identity_check_imperfect_timestamp),
9997         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9998         (gst_identity_set_property), (gst_identity_get_property):
9999         * plugins/elements/gstidentity.h:
10000         Separate out check-imperfect-timestamp and check-imperfect-offset.
10001         Put back check-perfect as it was to keep compatibility.
10002
10003 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
10004
10005         * gst/gstelement.c: (gst_element_dispose):
10006         There's no need to warn if VOID_PENDING is not NONE here, as
10007         long as the state is NULL it's ok, and that's checked immediately
10008         above.
10009
10010 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10011
10012         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
10013         Fix check for perfect stream to ignore buffers with -1 
10014         offsets/offset ends when checking data contiguity.
10015
10016 2007-03-08  Wim Taymans  <wim@fluendo.com>
10017
10018         * tools/gst-launch.c: (event_loop):
10019         Print INFO messages.
10020
10021 2007-03-08  Wim Taymans  <wim@fluendo.com>
10022
10023         * libs/gst/base/gstbasetransform.c:
10024         (gst_base_transform_sink_eventfunc),
10025         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
10026         (gst_base_transform_activate):
10027         * libs/gst/base/gstbasetransform.h:
10028         Add support for dropping buffers with custom GstFlowReturn.
10029         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
10030         buffers or dropped buffers.
10031
10032         * docs/libs/gstreamer-libs-sections.txt:
10033         docs for new custom return code.
10034
10035         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10036         Use drop support in base class to implement drop-probability.
10037
10038 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
10039
10040         * gst/gst.c: (load_plugin_func):
10041         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
10042         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10043         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
10044           Remove newlines at end of debug log strings.
10045
10046 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10047
10048         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
10049         Only post bus message at max, once per buffer received.
10050
10051 2007-03-07  Wim Taymans  <wim@fluendo.com>
10052
10053         * docs/design/Makefile.am:
10054         * docs/design/part-synchronisation.txt:
10055         Add doc about synchronisation
10056
10057         * docs/design/draft-latency.txt:
10058         * docs/design/part-TODO.txt:
10059         * docs/design/part-clocks.txt:
10060         * docs/design/part-events.txt:
10061         * docs/design/part-gstbus.txt:
10062         * docs/design/part-gstpipeline.txt:
10063         * docs/design/part-live-source.txt:
10064         * docs/design/part-messages.txt:
10065         * docs/design/part-overview.txt:
10066         * docs/design/part-streams.txt:
10067         * docs/design/part-trickmodes.txt:
10068         Documentation updates.
10069
10070 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
10071
10072         * gstreamer.doap:
10073         Update the doap file.
10074
10075 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10076
10077         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
10078         Rename non-perfect to imperfect for Mike and for the sanctity of the
10079         language.
10080         Also make sure bus message gets emitted for data-incontiguities.
10081
10082 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10083
10084         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
10085         (gst_identity_start):
10086         * plugins/elements/gstidentity.h:
10087         Emit bus message if check-perfect is true and we encounter a
10088         non-perfect stream between 2 consecutive buffers.
10089         Fixes #415394.
10090
10091 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
10092
10093         * configure.ac:
10094         Back to CVS
10095
10096 === release 0.10.12 ===
10097
10098 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
10099
10100         * configure.ac:
10101           releasing 0.10.12, "Inevitable Demise"
10102
10103 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
10104
10105         * configure.ac:
10106          Version 0.10.11.2 (0.10.12 pre-release)
10107          Bump libtool versioning.
10108
10109 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
10110
10111         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
10112           Log flow-names and not numbers.
10113
10114 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10115
10116         * configure.ac:
10117           Convert to new AG_GST style.
10118
10119 2007-02-28  Wim Taymans  <wim@fluendo.com>
10120
10121         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
10122         Don't unref query twice.
10123
10124 2007-02-28  Wim Taymans  <wim@fluendo.com>
10125
10126         * gst/gstvalue.c: (gst_value_transform_object_string),
10127         (_gst_value_initialize):
10128         Implement GstObject -> string transform so we print object names
10129         when serializing GValues containing GstObjects.
10130
10131 2007-02-28  Wim Taymans  <wim@fluendo.com>
10132
10133         * docs/gst/gstreamer-sections.txt:
10134         Add new stuff to docs.
10135
10136 2007-02-28  Wim Taymans  <wim@fluendo.com>
10137
10138         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
10139         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
10140         (gst_base_sink_change_state):
10141         Improve latency query code.
10142         Don't leak latency events.
10143
10144         * tests/check/gst/gstbin.c: (GST_START_TEST):
10145         Improve debugging.
10146
10147 2007-02-28  Wim Taymans  <wim@fluendo.com>
10148
10149         * gst/gstelement.c: (gst_element_message_full),
10150         (gst_element_get_state_func):
10151         * gst/gstelement.h:
10152         Improve docs a little. Added Since: for new macro.
10153
10154         * gst/gstobject.c: (gst_object_sink):
10155         * gst/gstpipeline.c: (gst_pipeline_change_state),
10156         (gst_pipeline_set_new_stream_time):
10157         * gst/gstpipeline.h:
10158         Improve debugging and docs.
10159
10160         * gst/gstutils.c: (gst_element_state_change_return_get_name):
10161         Improve debugging.
10162
10163 2007-02-28  Wim Taymans  <wim@fluendo.com>
10164
10165         * gst/gstelement.c: (gst_element_message_full),
10166         (gst_element_set_locked_state), (gst_element_get_state_func),
10167         (gst_element_change_state):
10168         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
10169         Documentation updates.
10170         Small code cleanups.
10171
10172         * gst/gstmessage.c: (gst_message_new_info),
10173         (gst_message_parse_info):
10174         * gst/gstmessage.h:
10175         API: gst_message_new_info()
10176         API: gst_message_parse_info()
10177         Add INFO message create and parse code.
10178
10179 2007-02-28  Wim Taymans  <wim@fluendo.com>
10180
10181         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
10182         (bin_query_latency_done):
10183         Also report the live parameter of a latency query.
10184
10185 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10186
10187         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
10188           Copy the current generic/states example from -base and adapt so
10189           we can use the exact same code everywhere.
10190           Check a STATES_IGNORE_ELEMENTS env var which can be used
10191           to ignore certain element factories for this test, which is
10192           what is being done in -base
10193         * tests/check/Makefile.am:
10194           Mention this environment variable.
10195
10196 2007-02-27  Wim Taymans  <wim@fluendo.com>
10197
10198         * docs/gst/gstreamer-sections.txt:
10199         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10200         (gst_bus_timed_pop), (gst_bus_pop):
10201         * gst/gstbus.h:
10202         API: gst_bus_timed_pop()
10203         Implement gst_bus_timed_pop() to do a blocking timed wait for a
10204         message to arrive on the bus.
10205
10206         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
10207         (gst_bus_suite):
10208         Two unit tests for new _timed_pop() function.
10209
10210 2007-02-23  Wim Taymans  <wim@fluendo.com>
10211
10212         * gst/gstpipeline.c: (gst_pipeline_change_state),
10213         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
10214         Don't ref a NULL clock in _provide_clock_func().
10215         Don't allow an INVALID delay.
10216         Don't try to calculate base_time with an invalid start_time.
10217         Also distribute and notify a NULL clock when it was selected.
10218
10219         * tools/gst-launch.c: (event_loop):
10220         Don't crash when a NULL clock was selected in the pipeline.
10221
10222 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
10223
10224         * docs/design/Makefile.am:
10225         * docs/design/draft-missing-plugins.txt:
10226         * docs/random/draft-missing-plugins.txt:
10227           Some small updates: update plugin system identifier prefix
10228           ('gstreamer.net' to 'gstreamer'), mention our new install
10229           API in libgstbaseutils rather than libgimme-codec, add
10230           reference to the online docs.
10231
10232 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10233
10234         * win32/common/config.h:
10235           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
10236           use moap cl ci to only check in what is mentioned in the ChangeLog.
10237
10238 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10239
10240         * docs/gst/gstreamer-sections.txt:
10241         * gst/gstelement.h:
10242           Fix up documentation to link to the correct GstGError section.
10243           Add GST_ELEMENT_INFO macro since someone else added a Info message.
10244
10245 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10246
10247         * tools/gst-launch.c: (event_loop):
10248           Make sure that we actually show the important message part of a
10249           warning message.
10250           No need to check if the gerror is not NULL to free; first of all
10251           g_free accepts NULL; and second the default error handler would
10252           segfault if gerror was NULL.
10253
10254 2007-02-21  Wim Taymans  <wim@fluendo.com>
10255
10256         * docs/gst/gstreamer-sections.txt:
10257         Removed docs as well.
10258
10259 2007-02-21  Wim Taymans  <wim@fluendo.com>
10260
10261         * gst/gstmessage.c: (gst_message_parse_duration):
10262         * gst/gstmessage.h:
10263         Remove new messages for release.
10264
10265 2007-02-20  Wim Taymans  <wim@fluendo.com>
10266
10267         * docs/design/part-gstghostpad.txt:
10268         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
10269         (gst_ghost_pad_new_full):
10270         Make the ghostpad a parent of the internal pad again for better backward
10271         compatibility. Don't write code that relies on this however.
10272
10273         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
10274         (gst_pad_link_check_hierarchy):
10275         Require that parents should be GstElements in the hierarchy check.
10276
10277 2007-02-20  Wim Taymans  <wim@fluendo.com>
10278
10279         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
10280         (gst_bin_change_state_func), (bin_query_min_max_init),
10281         (bin_query_latency_fold), (bin_query_latency_done),
10282         (gst_bin_query):
10283         Improve debug info.
10284         Implement latency query.
10285
10286 2007-02-20  Wim Taymans  <wim@fluendo.com>
10287
10288         * docs/design/part-gstghostpad.txt:
10289         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
10290         (gst_ghost_pad_internal_do_activate_push),
10291         (gst_ghost_pad_internal_do_activate_pull),
10292         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10293         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
10294         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
10295         Do not set the internal pad as a parent anymore so we can avoid
10296         hierarchy linking errors when the ghostpad has no parent yet. This also
10297         fixes failed activation because of unlinked internal pads, which in
10298         turn fixes the impossible case where you have to activate a pad before
10299         you can add it to a running element.
10300         Also fix the docs.
10301
10302         * gst/gstpad.c: (pre_activate), (post_activate),
10303         (gst_pad_set_active), (gst_pad_activate_pull),
10304         (gst_pad_activate_push), (gst_pad_check_pull_range):
10305         Add some more debug info.
10306         Mark activation mode in pre_activate so that we don't try to activate in
10307         endless loops. Fixes #385084.
10308
10309 2007-02-19  Wim Taymans  <wim@fluendo.com>
10310
10311         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
10312         (gst_base_transform_check_get_range):
10313         Implement a checkgetrange function instead of relying on the default
10314         core behaviour that assumes we can operate in pull mode if we have a
10315         getrange function. First step at fixing #385084.
10316
10317 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
10318
10319         * gst/gstchildproxy.h:
10320         * libs/gst/base/gstbasesink.h:
10321         * libs/gst/base/gstbasesrc.h:
10322         * libs/gst/base/gstbasetransform.h:
10323         More docs coverage and some ChangeLog surgery (add missing names)
10324
10325 2007-02-15  Wim Taymans  <wim@fluendo.com>
10326
10327         * docs/design/part-TODO.txt:
10328         * docs/design/part-activation.txt:
10329         * docs/design/part-block.txt:
10330         * docs/design/part-buffering.txt:
10331         * docs/design/part-clocks.txt:
10332         * docs/design/part-element-source.txt:
10333         * docs/design/part-events.txt:
10334         * docs/design/part-gstbin.txt:
10335         * docs/design/part-gstbus.txt:
10336         * docs/design/part-gstpipeline.txt:
10337         * docs/design/part-live-source.txt:
10338         * docs/design/part-messages.txt:
10339         * docs/design/part-overview.txt:
10340         * docs/design/part-qos.txt:
10341         * docs/design/part-query.txt:
10342         * docs/design/part-states.txt:
10343         * docs/design/part-trickmodes.txt:
10344         Some doc updates. Start renaming from stream_time to running_time where
10345         it was used wrongly.
10346
10347 2007-02-15  Wim Taymans  <wim@fluendo.com>
10348
10349         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
10350         Answer LATENCY query.
10351
10352 2007-02-15  Wim Taymans  <wim@fluendo.com>
10353
10354         * tests/check/gst/gstevent.c: (event_probe), (test_event),
10355         (GST_START_TEST):
10356         Improve debugging.
10357
10358 2007-02-15  Wim Taymans  <wim@fluendo.com>
10359
10360         * gst/gstpad.c: (gst_pad_get_internal_links_default),
10361         (gst_pad_dispatcher):
10362         Improve debugging of default pad dispatcher and query functions.
10363
10364 2007-02-15  Wim Taymans  <wim@fluendo.com>
10365
10366         * docs/gst/gstreamer-sections.txt:
10367         Remove old unused method.
10368
10369 2007-02-13  Wim Taymans  <wim@fluendo.com>
10370
10371         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10372         Fix check
10373
10374 2007-02-13  Wim Taymans  <wim@fluendo.com>
10375
10376         * docs/design/part-seeking.txt:
10377         Some small update.
10378
10379         * gst/gstsegment.c: (gst_segment_set_seek):
10380         Revert old bogus change that should make seeking work again.
10381
10382 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10383
10384         * docs/random/ensonic/dynlink.txt:
10385         * docs/random/ensonic/interfaces.txt:
10386         * docs/random/ensonic/receipies.txt:
10387           Possible dynamic reconnection api, plus some type fixes the other two
10388           docs.
10389
10390 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
10391
10392         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10393         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10394         Also check for an absolute path following file:// in the filesrc
10395         element. Remove redundant check and call g_path_is_absolute() on the
10396         unescaped location.
10397
10398 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10399
10400         * docs/design/draft-klass.txt:
10401           Add existing category analysis.
10402           
10403         * gst/gstcaps.c:
10404           Fix doc example, framerate is a fraction.
10405
10406 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10407
10408         * configure.ac:
10409         * docs/gst/Makefile.am:
10410         * docs/gst/gstreamer-sections.txt:
10411         * docs/libs/Makefile.am:
10412           Erm, forgot a bunch of --extra-dir.
10413
10414 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10415
10416         * configure.ac:
10417         * docs/gst/Makefile.am:
10418         * docs/libs/Makefile.am:
10419         * docs/plugins/Makefile.am:
10420           Add crossreferences to glib/gobject docs.
10421
10422 2007-02-12  Wim Taymans  <wim@fluendo.com>
10423
10424         * docs/design/draft-latency.txt:
10425         Small update.
10426
10427         * docs/libs/gstreamer-libs-sections.txt:
10428         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10429         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
10430         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
10431         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
10432         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
10433         (gst_base_sink_get_position), (gst_base_sink_query),
10434         (gst_base_sink_change_state):
10435         * libs/gst/base/gstbasesink.h:
10436         API: gst_base_sink_query_latency() to let subclasses query the upstream
10437         latency.
10438         API: gst_base_sink_get_latency() to let subclasses query the configured
10439         latency in the sink.
10440         Implement query and set latency.
10441         Update some docs.
10442         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
10443         don't continue preroll when we are flushing. Fixes #405284.
10444
10445         * tests/check/pipelines/stress.c: (change_state_timeout),
10446         (quit_timeout), (GST_START_TEST), (stress_suite):
10447         Test for #405284.
10448
10449 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
10450
10451         Patch by: René Stadler <mail at renestadler de>
10452
10453         * docs/gst/gstreamer-sections.txt:
10454         * gst/gsttaglist.c: (_gst_tag_initialize):
10455         * gst/gsttaglist.h:
10456           API: add GST_TAG_REFERENCE_LEVEL (#403597).
10457
10458 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
10459
10460         * docs/libs/Makefile.am:
10461           Fix path to core docs.
10462
10463         * gst/gstbin.c: (gst_bin_get_by_interface),
10464         (gst_bin_iterate_all_by_interface):
10465           Refix docs by also renaming 'interface' to 'iface' in implementation.
10466
10467         * docs/gst/gstreamer-sections.txt:
10468         * gst/gstcaps.c:
10469         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
10470         * gst/gstchildproxy.h:
10471         * gst/gstelementfactory.c:
10472         * gst/gstpadtemplate.h:
10473         * libs/gst/controller/gstcontroller.c:
10474         (gst_controlled_property_new):
10475           Document more.
10476
10477 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
10478
10479         * gst/gstbin.h:(gst_bin_get_by_interface),
10480         (gst_bin_iterate_all_by_interface):
10481         Replace interface parameter name by iface as interface is 
10482         a reserved keyword in Visual Studio for C++ projects so it removes
10483         a build error for application developpers using VS.
10484         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
10485         Fix a bug on Windows in uri format check. Now the prefix checked
10486         is file:// and next we check if the path after file:// is absolute.
10487         * win32/common/libgstbase.def:
10488         * win32/common/libgstdataprotocol.def:
10489         * win32/common/libgstgstreamer.def:
10490         Add new exported functions.
10491
10492 2007-02-09  Andy Wingo  <wingo@pobox.com>
10493
10494         * tests/check/pipelines/simple-launch-lines.c
10495         (simple_launch_lines_suite, test_tee): Disable tee test until I
10496         have time to fix it :-(
10497
10498         * tests/check/Makefile.am (noinst_HEADERS): 
10499         * tests/check/libs/libsabi.c: 
10500         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
10501         * tests/check/gst/gstabi.c: 
10502         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
10503
10504         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
10505         tests for push and pull tee behavior.
10506
10507         * plugins/elements/gsttee.h: 
10508         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
10509         mark as deprecated as well as unimplemented. It was a crack idea.
10510         Add support for tee operating in pull mode, off by default.
10511
10512         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
10513         normal-case logs down to LOG, raise errors to WARNING.
10514         (gst_registry_xml_read_cache): Don't log before calling a function
10515         that logs.
10516
10517         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
10518         exit (registry finalize).
10519         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
10520         DEBUG log when we emit signals that people don't even have the
10521         chance to connect to.
10522         (gst_registry_scan_path_level): Less logging in the normal case.
10523
10524 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10525
10526         Patch by: Michal Benes <michal dot benes at itonis dot tv>
10527
10528         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10529         Correctly generate EOS for non-seekable files. We don't have a total
10530         length for them and would get an unexpected end of file if we only
10531         special-cased for regular files. (Fixes: #404569)
10532
10533 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10534
10535         * tests/check/elements/filesrc.c: (GST_START_TEST),
10536         (filesrc_suite):
10537         Add unit test for the GstURIHandler interface in filesrc. This also
10538         tests the newly added file://localhost/foo/bar support.
10539
10540 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
10541
10542         * gst/gstelementfactory.h:
10543           The klass string is not a hierarchy. Add reference to the design doc
10544           for more information and common types.
10545
10546 2007-02-02  Wim Taymans  <wim@fluendo.com>
10547
10548         * gst/gstquery.c: (gst_query_new_latency):
10549         Remove old structure field.
10550
10551 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
10552
10553         * tools/gst-launch.1.in:
10554           Give example for network streaming (#351998)
10555
10556 2007-02-02  Wim Taymans  <wim@fluendo.com>
10557
10558         * docs/gst/gstreamer-sections.txt:
10559         Add docs for new methods.
10560
10561         * gst/gstevent.c: (gst_event_new_latency),
10562         (gst_event_parse_latency):
10563         * gst/gstevent.h:
10564         Add new LATENCY event to configure latency in a pipeline.
10565         API: gst_event_new_latency
10566         API: gst_event_parse_latency
10567
10568         * gst/gstmessage.c: (gst_message_new_buffering),
10569         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10570         (gst_message_new_latency), (gst_message_parse_buffering),
10571         (gst_message_parse_lost_preroll):
10572         * gst/gstmessage.h:
10573         Added messages used in draft-latency.
10574         API: gst_message_new_lost_preroll
10575         API: gst_message_parse_lost_preroll
10576         API: gst_message_new_prerolled
10577         API: gst_message_new_latency
10578
10579         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10580         (gst_query_parse_latency):
10581         * gst/gstquery.h:
10582         Implemented new latency query as in design doc.
10583         API: gst_query_new_latency
10584         API: gst_query_set_latency
10585         API: gst_query_parse_latency
10586
10587 2007-02-02  Wim Taymans  <wim@fluendo.com>
10588
10589         * docs/design/draft-latency.txt:
10590         Slight redesign to allow for dynamic latency adjustments.
10591
10592         * docs/design/part-negotiation.txt:
10593         Fix some typos.
10594
10595 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
10596
10597         reviewed by: Wim Taymans <wim@fluendo.com>
10598
10599         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10600         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10601         Allow file://localhost/foo/bar URLs and correctly fail for every other
10602         hostname that one sets. This was gnomevfssrc is linked for those if
10603         installed as it can handle it (#403172)
10604
10605 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10606
10607         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10608
10609         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10610         (unref_data), (gst_collect_pads_add_pad_full):
10611         * libs/gst/base/gstcollectpads.h:
10612         Don't put the previously added destroy notify in the GstCollectData
10613         struct as all it's padding is already used and we don't want to break
10614         ABI. Instead put in the pad's GObject data for now. This should be
10615         cleaned up for 0.11 (#402393).
10616
10617 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10618
10619         reviewed by: Wim Taymans <wim@fluendo.com>
10620
10621         * docs/libs/gstreamer-libs-sections.txt:
10622         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10623         (unref_data), (gst_collect_pads_add_pad),
10624         (gst_collect_pads_add_pad_full):
10625         * libs/gst/base/gstcollectpads.h:
10626         API: Add function to specify a destroy notification for custom
10627         GstCollectData when adding new pads in GstCollectPads (#402393).
10628
10629 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
10630
10631         * po/sv.po:
10632           Update Swedish translation (#378255).
10633
10634 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10635
10636         * docs/design/draft-klass.txt:
10637           Fix the previous change, this is a list of categories and not a hierarchy.
10638
10639 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10640
10641         * docs/design/draft-klass.txt:
10642           Add info about how to get a list of used classes.
10643
10644 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
10645
10646         * plugins/elements/gsttypefindelement.c:
10647         (gst_type_find_element_chain_do_typefinding),
10648         (gst_type_find_element_change_state):
10649           Don't leak found caps in chain function (no idea why that never
10650           showed up as a leak anywhere).
10651
10652 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
10653
10654         * gst/gstplugin.h:
10655           Fix and expand GstPluginDesc API docs.
10656
10657 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10658
10659         * gst/gstcaps.c:
10660         * gst/gstelementfactory.c:
10661         * gst/gstpadtemplate.h:
10662           api doc fixes
10663
10664         * libs/gst/controller/gstcontroller.c:
10665         (gst_controlled_property_new):
10666         * tests/examples/controller/audio-example.c:
10667           comment fixes
10668
10669 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10670
10671         * configure.ac:
10672           comment about refining the xml deps
10673
10674         * docs/manuals.mak:
10675           comments about moving away from jade for docs
10676         
10677         * gst/gst.c:
10678           recommit the ifdefs to use the binary registry
10679         
10680         * gst/gstbin.c: (gst_bin_change_state_func):
10681           this break is obsolete
10682
10683         * gst/gstelementfactory.h:
10684           better GST_ELEMENT_DETAILS docs, add comment about translation
10685
10686         * gst/gstinfo.h:
10687           remove eol slash
10688
10689         * gst/gstobject.c: (gst_signal_object_get_type):
10690           add G_UNLIKELY as usual
10691
10692         * gst/gstpad.c: (gst_pad_event_default):
10693           add fall trhu comment
10694
10695         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10696         (gst_registry_binary_initialize_magic),
10697         (gst_registry_binary_save_string),
10698         (gst_registry_binary_save_pad_template),
10699         (gst_registry_binary_save_feature),
10700         (gst_registry_binary_save_plugin),
10701         (gst_registry_binary_write_cache),
10702         (gst_registry_binary_check_magic),
10703         (gst_registry_binary_load_pad_template),
10704         (gst_registry_binary_load_feature),
10705         (gst_registry_binary_load_plugin),
10706         (gst_registry_binary_read_cache):
10707           comment typo and formatting
10708
10709         * gst/gstutils.c: (gst_element_state_get_name),
10710         (gst_element_state_change_return_get_name):
10711           remove obsolete breaks
10712
10713         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10714           add FIXME 0.11 and remove cpp comment
10715
10716 2007-01-29  Edward Hervey  <edward@fluendo.com>
10717
10718         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10719         Fix print statement in an even more portable way.
10720
10721 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
10722
10723         * docs/gst/gstreamer-sections.txt:
10724         * gst/gstutils.h:
10725           API: add GST_ROUND_DOWN_* macros (#401781).
10726
10727 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
10728
10729         * docs/gst/gstreamer.types.in:
10730         * gst/gstregistry.c: (gst_registry_class_init):
10731           Document registry signals and make gtk-doc pick them up (#401381).
10732
10733 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10734
10735         * docs/pwg/building-testapp.xml:
10736           Add some audioconverts and audioresample to the pipeline, and some
10737           more comments and error handling.
10738
10739 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10740
10741         * docs/manual/manual.xml:
10742         * docs/pwg/pwg.xml:
10743           Fix typo (#400987).
10744
10745 2007-01-26  Wim Taymans  <wim@fluendo.com>
10746
10747         * gst/gstcaps.c: (gst_static_caps_get):
10748         Init caps flags too.
10749
10750 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
10751
10752         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10753
10754         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10755         If not using mmap'ed files try to seek to the end instead of the
10756         start to determine whether we can seek at all. This fixes the case
10757         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10758         seeks for everything afterwards fail. Fixes #400656
10759
10760 2007-01-25  Wim Taymans  <wim@fluendo.com>
10761
10762         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10763         Add some refcount debugging.
10764         Make gst_static_caps_get threadsafe, which is needed when autoplugging
10765         in multiple streaming threads.
10766
10767 2007-01-25  Wim Taymans  <wim@fluendo.com>
10768
10769         Patch by: David Schleef <ds at schleef dot org>
10770
10771         * docs/libs/gstreamer-libs-sections.txt:
10772         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10773         * libs/gst/base/gstadapter.h:
10774         API: gst_adapter_copy() that can reduce the amount of memcpy when
10775         getting data from the adapter. Fixes #388201.
10776
10777 2007-01-25  Edward Hervey  <edward@fluendo.com>
10778
10779         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10780         In print statements, "%x" is for guint. Fixes build on macosx.
10781
10782 2007-01-24  Edward Hervey  <edward@fluendo.com>
10783
10784         * plugins/elements/gstmultiqueue.c:
10785         (gst_multi_queue_loop):
10786         Small fix.
10787         (single_queue_overrun_cb), (single_queue_underrun_cb),
10788         (single_queue_check_full), (gst_single_queue_new):
10789         Implement single queue growth system.
10790         This uses the extra-size properties, and will grow single queues by
10791         that much if one goes full whereas there are others empty. This is
10792         called extra-mode in the code.
10793         When a single queue's levels go back below the initial max-size
10794         limits, it is no longer in extra-mode. This is to ensure we don't
10795         consume too much memory.
10796         Fixes #399875
10797
10798 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
10799
10800         * gst/gst.c: (gst_init_get_option_group):
10801           Make warning about late g_thread_init() calls a bit more explicit,
10802           so that it's more obvious to application developers what they need
10803           to do if a user files a bug against their application.
10804
10805 2007-01-22  Edward Hervey  <edward@fluendo.com>
10806
10807         * plugins/elements/gstmultiqueue.c:
10808         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10809         Remove previous hack of unsetting the flushing flag for the source pad
10810         instead of activating it. Instead, fix the source pad activate function
10811         so that it no longer depends on having a parent set or not.
10812
10813 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
10814
10815         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10816
10817         * docs/manual/basics-bus.xml:
10818           Fix example code, gst_element_unref() doesn't exist any longer.
10819
10820 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
10821
10822         Patch by: Mark Nauwelaerts <manauw at skynet be>
10823
10824         * gst/gstpad.c:
10825           Fix two docs typoes (#399094).
10826
10827 2007-01-19  Edward Hervey  <edward@fluendo.com>
10828
10829         * docs/faq/gst-uninstalled:
10830         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10831         depending on libgstbaseutils can work in uninstalled environment.
10832
10833 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
10834
10835         * gst/gsttaglist.h:
10836         * gst/gsttagsetter.c:
10837         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10838         statement for new tag.
10839
10840 2007-01-17  Edward Hervey  <edward@fluendo.com>
10841
10842         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10843         When dynamically creating single queues, activate sinkpad before adding
10844         it.
10845         We should be doing the same thing for the source pad, but we can't
10846         since it would call a method which needs the parent to be set in order
10847         to work propertly. Instead of activating the source pad, we just unset
10848         the flushing flag, which is the minimal requirement for adding a pad
10849         to an element in a state greater than READY.
10850
10851 2007-01-17  Edward Hervey  <edward@fluendo.com>
10852
10853         * docs/faq/gst-uninstalled:
10854         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10855         Mac OS X.
10856
10857 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
10858
10859         * tests/check/gst/gstabi.c:
10860         * tests/check/gst/struct_hppa.h:
10861         * tests/check/libs/libsabi.c:
10862         * tests/check/libs/struct_hppa.h:
10863           Add ABI structs for HPPA (see #393796).
10864
10865 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
10866
10867         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10868           Actually write ABI structs to the file specified in the GST_ABI
10869           environment variable, as the message we print claims we would.
10870
10871 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10872
10873         * tests/check/gst/gsttask.c:
10874           Fix header comment.
10875
10876 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10877
10878         * gst/gsttaglist.c: (_gst_tag_initialize):
10879           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10880           previous two entries.
10881
10882 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10883
10884         * docs/gst/gstreamer-sections.txt:
10885         * gst/gsttaglist.c: (_gst_tag_initialize):
10886         * gst/gsttaglist.h:
10887           Add tag support for beat-per-minute.
10888
10889 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10890
10891         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10892         (gst_registry_binary_initialize_magic),
10893         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10894         (gst_registry_binary_save_pad_template),
10895         (gst_registry_binary_save_feature),
10896         (gst_registry_binary_save_plugin),
10897         (gst_registry_binary_write_cache),
10898         (gst_registry_binary_check_magic),
10899         (gst_registry_binary_load_pad_template),
10900         (gst_registry_binary_load_feature),
10901         (gst_registry_binary_load_plugin),
10902         (gst_registry_binary_read_cache):
10903         * gst/gstregistrybinary.h:
10904           Use glib types, cleanup comments, impement interfaces and uri-types.
10905
10906 2007-01-13  Andy Wingo  <wingo@pobox.com>
10907
10908         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10909         getrange() to return buffers with other caps, while we fix
10910         demuxers and typefind, or otherwise change part-negotiation.txt.
10911
10912 2007-01-12  Andy Wingo  <wingo@pobox.com>
10913
10914         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10915         Factor start/stop into this private function instead of partially
10916         in activate functions and partially in the change_state function.
10917         Fixes setup before the element has changed from READY->PAUSED, as
10918         is the case in pull-mode pipelines.
10919         (gst_base_transform_sink_activate_push)
10920         (gst_base_transform_src_activate_pull): Refactor to use
10921         gst_base_transform_activate().
10922         (gst_base_transform_change_state): Removed, not needed any more.
10923
10924         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10925         Truncate before fixating.
10926         
10927         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10928         Don't set_caps() if the result of fixating is ANY, as it's not
10929         supported, and not necessary in the case of a link with no
10930         template caps on either side. Fixes tests/check/libs/basesrc in
10931         some pull-mode tests.
10932
10933         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10934         (gst_base_transform_init, gst_base_transform_sink_activate_push)
10935         (gst_base_transform_src_activate_pull): 
10936         Track the activation mode.
10937         (gst_base_transform_setcaps): In pull mode, when activating the
10938         src pad, after activating the sink pad, activate the sink pad's
10939         peer, as discussed in part-negotiation.txt.
10940
10941         * libs/gst/base/gstbasesrc.h: 
10942         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10943         vmethod, as in basesink.
10944
10945         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10946
10947         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10948         mode, first proxy the setcaps to the peer pad.
10949         (gst_base_sink_pad_fixate): Add a fixate function that calls the
10950         new fixate vmethod.
10951         (gst_base_sink_default_activate_pull): Rename from
10952         gst_base_sink_activate_pull.
10953         (gst_base_sink_negotiate_pull): New function, performs negotiation
10954         in pull mode before calling ::activate_pull().
10955         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10956         vmethod instead of the default implementation. I have no idea how
10957         this worked before. Negotiate before calling activate_pull.
10958
10959         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10960         sink pads in pull mode. In addition to being correct, fixes
10961         filesrc ! decodebin ! identity ! fakesink.
10962         (gst_pad_get_range, gst_pad_pull_range): Don't call
10963         gst_pad_set_caps() if the caps changes; instead error out with
10964         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10965
10966 2007-01-12  Andy Wingo  <wingo@pobox.com>
10967
10968         * docs/design/part-negotiation.txt: Update with more policy.
10969
10970 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10971
10972         * libs/gst/check/gstbufferstraw.h:
10973         * libs/gst/check/gstcheck.h:
10974           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10975           belongs.
10976
10977 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10978
10979         * tests/check/Makefile.am:
10980         * tests/check/gst/.cvsignore:
10981         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10982         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10983         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10984         (GST_START_TEST), (gst_tag_setter_suite):
10985           Add minimal unit test for beforementioned GstTagSetter bug.
10986
10987 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10988
10989         Patch by: René Stadler <mail at renestadler dot de>
10990
10991         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10992           gst_tag_list_merge() returns a new list, so it's not the best idea
10993           to ingore its return value. Effectively meant that tags could only
10994           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10995           Also add function guard to require a non-NULL taglist as input (has
10996           always been so due to gst_tag_list_copy(), just making it explicit).
10997
10998 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10999
11000         * docs/random/draft-missing-plugins.txt:
11001           Some additions: mention new API that is supposed to be used at the
11002           various stages; short blob about new gst-inspect introspection
11003           option; mention potential future problem with plugins that have
11004           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
11005
11006 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
11007
11008         * tools/gst-inspect.c:
11009         (print_plugin_automatic_install_info_codecs),
11010         (print_plugin_automatic_install_info_protocols),
11011         (print_plugin_automatic_install_info), (main):
11012         Add --print-plugin-auto-install-info option to gst-inspect, so we can
11013         introspect plugin files and get machine-parsable output that corresponds
11014         to the last bit of the missing-plugin installer string (small gotcha:
11015         doesn't take into account ranks).
11016
11017 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
11018
11019         * configure.ac:
11020         * docs/gst/gstreamer-sections.txt:
11021         * gst/Makefile.am:
11022         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
11023         (gst_registry_lookup_locked):
11024         * gst/gstregistry.h:
11025         * gst/gstregistrybinary.c: (gst_registry_binary_write),
11026         (gst_registry_binary_initialize_magic),
11027         (gst_registry_binary_save_string),
11028         (gst_registry_binary_save_pad_template),
11029         (gst_registry_binary_save_feature),
11030         (gst_registry_binary_save_plugin),
11031         (gst_registry_binary_write_cache),
11032         (gst_registry_binary_check_magic),
11033         (gst_registry_binary_load_pad_template),
11034         (gst_registry_binary_load_feature),
11035         (gst_registry_binary_load_plugin),
11036         (gst_registry_binary_read_cache):
11037         * gst/gstregistrybinary.h:
11038         * gst/gstregistryxml.c: (load_feature),
11039         (gst_registry_xml_read_cache):
11040           commit binary registry (disabled by default, see #359653)
11041
11042 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
11043
11044         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
11045           Fix 'make check' too.
11046
11047 2007-01-10  Andy Wingo  <wingo@pobox.com>
11048
11049         * docs/design/part-negotiation.txt: Fix a typo, add a couple
11050         notes.
11051         
11052         * docs/design/part-negotiation.txt: Update with, um, one way that
11053         pull-mode negotiation might work?
11054
11055         * gst/gstpad.h: 
11056         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
11057         that the pad must be a src pad; makes sense to call it the other
11058         way in pull mode, and the logic is symmetric anyway.
11059
11060 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
11061
11062         * plugins/elements/gstfilesink.c:
11063           Include <stdio.h> for fseeko().
11064
11065 2007-01-10  Wim Taymans  <wim@fluendo.com>
11066
11067         * gst/gstevent.c:
11068         * gst/gstevent.h:
11069         Reserve LATENCY event.
11070
11071 2007-01-09  Wim Taymans  <wim@fluendo.com>
11072
11073         * docs/design/draft-latency.txt:
11074         Updates.
11075
11076 2007-01-09  Wim Taymans  <wim@fluendo.com>
11077
11078         * docs/design/draft-latency.txt:
11079         Updates.
11080
11081         * gst/gstelement.h:
11082         * gst/gststructure.c:
11083         * gst/gsttrace.c:
11084         Small typo fixes.
11085
11086 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
11087
11088         * tests/check/.cvsignore:
11089           Ignore test-registry.xml as well.
11090
11091 2007-01-09  Wim Taymans  <wim@fluendo.com>
11092
11093         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
11094         unref data at the end when we are done with the pad.
11095
11096 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
11097
11098         * docs/gst/gstreamer-sections.txt:
11099         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
11100         (init_post), (gst_deinit), (gst_update_registry):
11101         * gst/gst.h:
11102           API: add gst_update_registry() (#391296).
11103
11104         * tests/check/Makefile.am:
11105         * tests/check/gst/gstregistry.c:
11106         * tests/check/gst/.cvsignore:
11107           Simple unit test for the above.
11108
11109 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
11110
11111         * gst/gstregistry.c: (gst_registry_scan_path_level):
11112           Plugin extension on HP-UX is .sl, add that to the list of approved
11113           plugin extensions (see #393796).
11114
11115         * tests/check/gst/gstpad.c: (GST_START_TEST):
11116           ulong => gulong. Fixes compilation with HP-UX compiler.
11117
11118         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
11119           Fix compilation if valgrind headers are not available.
11120
11121 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
11122
11123         * win32/common/libgstreamer.def: 
11124           Add new exported function.
11125         * win32/vs6/libgstbase.dsp: 
11126           Add gstdataqueue.c to the build.
11127         * win32/vs6/libgstcoreelements.dsp:
11128           Add gstmultiqueue.c to the build.
11129         
11130 2007-01-06  Andy Wingo  <wingo@pobox.com>
11131
11132         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
11133         activate_pull(), providing for a way to specialize the process of
11134         spawning a thread to pull on the sink pad. There is a default
11135         implementation.
11136
11137         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
11138         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
11139         (gst_base_sink_init): Renamed pad activation functions (inserting
11140         "_pad" in their names). Refactor to use the new activate_pull
11141         vmethod, as appropriate.
11142         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
11143         default activate_pull function to start a task pulling from the
11144         sink pad, as before.
11145
11146         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
11147         on the pads if necessary, as in push()/chain(). Update docs.
11148         Shouldn't affect existing pull() usage as it is currently only
11149         being used on buffers without caps.
11150
11151 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
11152
11153         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
11154         (init_pre):
11155           Call g_thread_init() first thing in gst_init() / gst_check_init().
11156           When initialisation is done via gst_init_get_option_group() and
11157           GOption parsing, issue a warning if the GLib thread system has not
11158           been initialised yet by the time gst_init_get_option_group() is
11159           called, as it's quite likely other GLib functions such as
11160           g_option_context_new() have been called already then, and
11161           g_thread_init() must be called before any other GLib function. The
11162           application in question must be fixed in that case, since memory
11163           corruption might happen otherwise.
11164           We issue the warning because even if the GLib folks decide to work
11165           around the problem on their end in future, this is still an issue
11166           with all GLib versions >= 2.10.0, so we should warn until we depend
11167           on a GLib version we know to be safe.
11168           Update documentation as well.
11169           Closes bug #391278.
11170
11171 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
11172
11173         * tools/gst-inspect.c: (main):
11174         * tools/gst-launch.c: (main):
11175         * tools/gst-typefind.c: (main):
11176         * tools/gst-xmlinspect.c: (main):
11177           Call g_thread_init() really really early, before any other GLib
11178           function (see #342564 and recent discussion on gtk-devel-list).
11179
11180 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
11181
11182         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
11183
11184         * gst/gst_private.h:
11185         * gst/gstconfig.h.in:
11186         * gst/gstinfo.h:
11187           On win32, all the __declspec stuff for symbol exporting is
11188           apparently only needed with MSVC, but doesn't work with MingW.
11189           Fixes compilation with MingW and #391909.
11190
11191 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
11192
11193         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
11194           Change some GST_ERROR_OBJECT that aren't really errors to
11195           GST_WARNING_OBJECT in order to reduce terminal spam.
11196
11197 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
11198
11199         * tests/check/Makefile.am:
11200           disable test again, as there seem to be still race problems
11201
11202 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
11203
11204         * tests/check/Makefile.am:
11205         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11206         (GST_START_TEST), (queue_suite):
11207           enable queue test again, add tests for the leaky behaviour
11208
11209 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
11210
11211         * configure.ac:
11212         * tests/examples/Makefile.am:
11213           Compile adapter test/example only if the required headers are
11214           available (fixes #391915).
11215
11216 2007-01-01  David Schleef  <ds@schleef.org>
11217
11218         * gst/gstplugin.c:
11219           Restore the previous signal handler for SIGSEGV instead of
11220           setting to default, since we may have stolen it away from
11221           someone.  (i.e., Mono)
11222
11223 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
11224
11225         * docs/random/draft-missing-plugins.txt:
11226           Some small additions and clarifications.
11227
11228 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
11229
11230         * gst/gstregistryxml.c: (gst_registry_save_escaped):
11231           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
11232           since that can lead to random memory corruptions and crashes
11233           (may or may not be related to #383244, #386711, and #386711).
11234
11235 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11236
11237         * tests/check/.cvsignore:
11238         * tests/check/Makefile.am:
11239           sync .cvsignome and CLEANFILES
11240
11241 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11242
11243         * tests/check/Makefile.am:
11244           fix distcheck
11245
11246 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11247
11248         * docs/design/part-states.txt:
11249           two tiny additional comments
11250         
11251         * gst/gststructure.c:
11252           doc fixing
11253
11254         * tests/check/Makefile.am:
11255         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11256         (GST_START_TEST):
11257           disable test for now, unless it gets fixed
11258
11259 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11260
11261         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11262         (GST_START_TEST):
11263           fix race in underrun test
11264
11265 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11266
11267         * tests/check/elements/.cvsignore:
11268           ignore more
11269
11270         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11271         (GST_START_TEST):
11272           try to narrow test failure
11273
11274 2006-12-21  David Schleef  <ds@schleef.org>
11275
11276         * plugins/elements/gstfakesrc.c:
11277           Use g_random_int_range(), since it produces better random
11278           numbers in a range than almost-correct floating point code.
11279
11280 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11281
11282         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11283         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11284         (gst_check_teardown_sink_pad):
11285           do not automatically (de)activate pads
11286
11287         * tests/check/Makefile.am:
11288         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11289         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
11290           add new, yet simple tests for queue
11291
11292         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
11293         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
11294         * tests/check/elements/filesrc.c: (cleanup_filesrc),
11295         (GST_START_TEST):
11296         * tests/check/elements/identity.c: (cleanup_identity):
11297           consistent pad (de)activation
11298
11299 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
11300
11301         Patch by: Sebastian Dröge  <slomo ubuntu com>
11302
11303         * libs/gst/base/gstcollectpads.c:
11304           Fix two doc typos (#387866).
11305
11306 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
11307
11308         * docs/manual/advanced-dparams.xml:
11309           Fix typo (g_object_control_properties() doesn't exist).
11310
11311 2006-12-19  Edward Hervey  <edward@fluendo.com>
11312
11313         * gst/gstsegment.c: (gst_segment_set_seek):
11314         Fine tune the cases where the segment start/stop values are really
11315         updated.
11316         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11317         Add tests for the return values of gst_segment_set_seek().
11318
11319 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
11320
11321         * gst/gst.c:
11322           Docs typo fix.
11323
11324         * plugins/elements/gstqueue.c: (gst_queue_class_init),
11325         (gst_queue_init):
11326           Fix incorrect documentation and flesh it out a bit more.
11327           Set default values for the max properties on the GParamSpec as well,
11328           so it shows up correctly in gst-inspect.
11329
11330 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
11331
11332         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
11333           Correct docs of queue, add more detail and crosslink it more.
11334
11335 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
11336
11337         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
11338           Print additional debug info when the stream isn't perfectly
11339           timestamped; don't try to use invalid durations.
11340
11341 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
11342
11343         * docs/design/Makefile.am:
11344           Dist new design docs.
11345
11346 2006-12-16  Wim Taymans  <wim@fluendo.com>
11347
11348         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11349
11350         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
11351         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11352         (gst_collect_pads_stop), (gst_collect_pads_event),
11353         (gst_collect_pads_chain):
11354         * libs/gst/base/gstcollectpads.h:
11355         Add refcounting to the collectpads data so we can track when it's safe
11356         to free the data. Fixes #383382.
11357
11358 2006-12-15  Wim Taymans  <wim@fluendo.com>
11359
11360         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11361         (gst_collect_pads_remove_pad):
11362         Automatically activate/deactivate pads when they are added to a
11363         started/stoped collectpads.
11364
11365 2006-12-15  Wim Taymans  <wim@fluendo.com>
11366
11367         * gst/gstelement.c: (gst_element_add_pad):
11368         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
11369         * gst/gstpad.c: (gst_pad_init):
11370         Set pads to FLUSHING when they are created. Check, warn and fix when a
11371         demuxer adds an inactive pad to itself when running. Fixes #339326.
11372
11373 2006-12-15  Wim Taymans  <wim@fluendo.com>
11374
11375         * gst/gstelement.c: (gst_element_class_init),
11376         (gst_element_default_send_event), (gst_element_send_event),
11377         (gst_element_default_query), (gst_element_query):
11378         Expose default element send_event and query handling as vmethods that
11379         subclasses can chain up to.
11380
11381 2006-12-15  Wim Taymans  <wim@fluendo.com>
11382
11383         * gst/gstelement.c: (gst_element_set_state_func):
11384         Small documentation fixes.
11385
11386 2006-12-15  Wim Taymans  <wim@fluendo.com>
11387
11388         * docs/design/draft-latency.txt:
11389         Checked in draft for handling latency in pipelines.
11390
11391 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11392
11393         * Makefile.am:
11394         * gstreamer.doap:
11395         * gstreamer.spec.in:
11396           adding .doap file
11397
11398 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
11399
11400         * gst/gst.c: (init_pre), (init_post):
11401           init_pre() and init_post() might be called via our GOptionGroup or
11402           from gst_init(), and we should skip both of them if we've already
11403           been initialised, otherwise we will init some things twice or add
11404           two default log functions.
11405
11406 2006-12-13  Edward Hervey  <edward@fluendo.com>
11407
11408         * docs/manual/basics-bus.xml:
11409         No, gst_main_loop does not exist. Its g_main_loop.
11410         Discovered by somebody who abused the copy-paste technique of coding :)
11411
11412 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
11413
11414         * gst/gstghostpad.c:
11415           Log ghostpad debug stuff to the GST_PADS category as well rather
11416           than just to the default category.
11417
11418 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
11419
11420         * configure.ac:
11421         * gst/gst.c: (init_pre):
11422           Add some basic system details such as OS and architecture
11423           to the debug output if possible, courtesy of uname().
11424
11425 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11426
11427         * docs/gst/running.xml:
11428           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
11429           environment variables.
11430
11431 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11432
11433         * tests/check/gst/gstbin.c: (GST_START_TEST):
11434         It is acceptable to have a refcount of 2 or 3 at this point in the
11435         test, because the pipeline might be just posting its state_change
11436         message. The next line then waits for that message to appear using
11437         bus_poll, so that should be fine too.
11438
11439 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11440
11441         * gst/gst.c: (ensure_current_registry_forking):
11442         Ignore EINTR when reading from the child registry pipe.
11443         Explicitly ignore the return value from close, since it makes no
11444         difference.
11445
11446         * gst/gstminiobject.c: (gst_mini_object_ref),
11447         (gst_mini_object_unref):
11448         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
11449
11450         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
11451         When removing cached plugins, remove their features too, so they're
11452         not visible after they've disappeared.
11453
11454         * gst/gstutils.c: (prepare_link_maybe_ghosting):
11455         In the unlikely case that we are linking pads with no parents, don't
11456         crash trying to get the non-existent parent bin.
11457
11458         * gst/parse/grammar.y:
11459         Output debug in the PIPELINE category
11460
11461 2005-03-08  Wim Taymans  <wim@fluendo.com>
11462
11463         Patch by: René Stadler <mail at renestadler dot de>
11464
11465         * gst/gstclock.c: (gst_clock_new_periodic_id):
11466         Reject invalid clock times for interval of periodic ids.
11467         Fixes ##383506.
11468
11469 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11470
11471         * gst/gstelementfactory.c: (gst_element_factory_create):
11472         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11473         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
11474         * tools/gst-inspect.c: (print_element_info):
11475         Fix refcounting of gst_plugin_feature_load to match the docs. 
11476         Fixes: #380129
11477
11478 2006-12-07  Wim Taymans  <wim@fluendo.com>
11479
11480         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
11481         (gst_base_sink_get_position):
11482         Improve debugging of events.
11483
11484 2006-12-07  Wim Taymans  <wim@fluendo.com>
11485
11486         Patch by: René Stadler <mail at renestadler dot de>
11487
11488         * gst/gstclock.c: (gst_clock_id_wait):
11489         Make period ids add the interval to the origial requested time instead
11490         of the possibly updated time which can be wrong when there are multiple
11491         waiters for the same id. Fixes #382592.
11492
11493         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
11494         (gst_system_clock_id_wait_jitter_unlocked),
11495         (gst_system_clock_id_wait_jitter):
11496         Fix restart in the async notify thread when an async entry is added to
11497         the front of the list. Fixes #381492. 
11498
11499         * tests/check/gst/gstsystemclock.c: (store_callback),
11500         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
11501         Added test for multiple async waits.
11502         Added test for async wait order.
11503
11504 2006-12-07  Wim Taymans  <wim@fluendo.com>
11505
11506         * gst/gstbin.c: (gst_bin_query):
11507         Add some more docs about the POSITION query.
11508
11509 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11510
11511         * configure.ac:
11512         Bump version nano - back to CVS.
11513
11514 === release 0.10.11 ===
11515
11516 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
11517
11518         * configure.ac:
11519           releasing 0.10.11, "Love never runs on time"
11520
11521 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
11522
11523         * win32/common/libgstbase.def:
11524         * win32/common/libgstreamer.def:
11525         * win32/vs8/libgstbase.vcproj:
11526         * win32/vs8/libgstcoreelements.vcproj:
11527         * win32/vs8/libgstreamer.vcproj:
11528         Fix compilation on win32 under VS8
11529         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11530         Partially fixes #381175
11531
11532 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
11533
11534         * gst/gstvalue.c: (gst_value_compare_fraction):
11535         If someone is foolish enough to compare 2 fractions with denominator =
11536         0, return UNORDERED rather than aborting.
11537
11538 2006-11-28  Edward Hervey  <edward@fluendo.com>
11539
11540         * libs/gst/base/Makefile.am:
11541         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
11542         (gst_data_queue_base_init), (gst_data_queue_class_init),
11543         (gst_data_queue_init), (gst_data_queue_new),
11544         (gst_data_queue_cleanup), (gst_data_queue_finalize),
11545         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
11546         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
11547         (gst_data_queue_is_empty), (gst_data_queue_is_full),
11548         (gst_data_queue_set_flushing), (gst_data_queue_push),
11549         (gst_data_queue_pop), (gst_data_queue_drop_head),
11550         (gst_data_queue_set_property), (gst_data_queue_get_property):
11551         * libs/gst/base/gstdataqueue.h:
11552         New GstDataQueue object for threadsafe queueing. Most useful for
11553         elements that need some queueing functionnality.
11554         * docs/libs/gstreamer-libs-docs.sgml:
11555         * docs/libs/gstreamer-libs-sections.txt:
11556         Insert documentation for GstDataQueue
11557         * plugins/elements/Makefile.am:
11558         * plugins/elements/gstelements.c:
11559         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11560         (gst_multi_queue_class_init), (gst_multi_queue_init),
11561         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11562         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11563         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11564         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11565         (gst_multi_queue_loop), (gst_multi_queue_chain),
11566         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11567         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11568         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11569         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11570         (wake_up_next_non_linked), (compute_next_non_linked),
11571         (single_queue_overrun_cb), (single_queue_underrun_cb),
11572         (single_queue_check_full), (gst_single_queue_new):
11573         * plugins/elements/gstmultiqueue.h:
11574         New multiqueue element, using GstDataQueue. Used for queuing multiple
11575         streams.
11576         Closes #344639 and #347785
11577
11578 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
11579
11580         * docs/pwg/advanced-types.xml:
11581           add more missing type details
11582
11583         * tools/gst-run.c: (main):
11584           remove unused variable
11585
11586 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
11587
11588         * docs/libs/Makefile.am:
11589         * docs/libs/gstreamer-libs.types:
11590           add types of base classes to enable gobject specific stuff in the docs
11591
11592         * docs/random/ensonic/embedded.txt:
11593           more ideas about isolating platform specific things
11594
11595 2006-11-20  Wim Taymans  <wim@fluendo.com>
11596
11597         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11598
11599         * libs/gst/check/gstcheck.h:
11600         Fix compilation and running against 0.9.4. Fixes #377332.
11601
11602 2006-11-20  Wim Taymans  <wim@fluendo.com>
11603
11604         * gst/gstsegment.c: (gst_segment_set_seek),
11605         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11606         (gst_segment_to_running_time):
11607         Fix boundary checking in to_running_time() and to_stream_time().
11608         Fixes #377183.
11609
11610         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11611         stream and running time can now be calculated for the complete
11612         clipped segment.
11613
11614 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
11615
11616         * gst/gstpad.c: (gst_pad_push_event):
11617           Can't access event structure after giving away ownership of
11618           the event.
11619
11620 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
11621
11622         * docs/random/ensonic/embedded.txt:
11623         * docs/random/ensonic/profiling.txt:
11624         * docs/random/ensonic/receipies.txt:
11625           more thinking
11626
11627 2006-11-13  Wim Taymans  <wim@fluendo.com>
11628
11629         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11630
11631         * gst/gstpad.c:
11632         Fix documentation for gst_pad_dispatcher. Fixes #374475.
11633
11634 2006-11-13  Wim Taymans  <wim@fluendo.com>
11635
11636         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11637
11638         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11639         Store new length in segment duration so we don't keep on calling the
11640         potentially expensize get_size() call. Fixes #370865.
11641
11642 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
11643
11644         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
11645
11646         * win32/common/libgstreamer.def:
11647           Add two missing symbols (#366492).
11648
11649 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
11650
11651         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11652         (gst_adapter_take_buffer):
11653         Fix format string to use all its arguments.
11654         Remove useless >= check on a guint
11655
11656 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11657
11658         * tests/examples/adapter/.cvsignore:
11659         Ignore build file as commanded by the build-bot
11660
11661 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11662
11663         * tests/examples/adapter/Makefile.am:
11664         * tests/examples/adapter/adapter_test.c: (run_test_take),
11665         (run_test_take_buffer), (run_tests), (main):
11666
11667         Add new files from the previous commit
11668
11669 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11670
11671         * Makefile.am:
11672         * configure.ac:
11673         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11674         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11675         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11676         * libs/gst/base/gstadapter.h:
11677         * tests/check/libs/adapter.c: (create_and_fill_adapter),
11678         (GST_START_TEST), (gst_adapter_suite):
11679         * tests/examples/Makefile.am:
11680         Do some optimisation work in GstAdapter to avoid copies in more cases.
11681         It could still do slightly better by merging buffers when
11682         gst_buffer_is_span_fast is true, but is already faster. 
11683
11684         Also, avoid traversing a single-linked list to append each incoming 
11685         buffer inside the adapter.
11686
11687         Add simple test app that times the adapter behaviour in different
11688         situations, and extend the unit test to check that bytes enter and
11689         exit the adapter in their original order.
11690
11691 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
11692
11693         * docs/random/draft-missing-plugins.txt:
11694           Update: use element message instead of adding a new message
11695           type to the core; don't provide GStreamer API to initiate the
11696           plugin download, just provide API to compose the strings needed
11697           and let an external libgimmestuff handle the rest.
11698
11699 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
11700
11701         * tools/gst-inspect.c: (print_element_properties_info):
11702         Print a string instead of 'unknown type' for GValueArray properties
11703
11704 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
11705
11706         * docs/random/draft-missing-plugins.txt:
11707         More small fixes.
11708
11709 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11710
11711         * tests/examples/typefind/typefind.c: (type_found), (main):
11712           Make typefind element example work again (#371894); add a
11713           license header.
11714
11715 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11716
11717         * docs/random/draft-missing-plugins.txt:
11718           Commit initial draft about how to deal with missing plugins,
11719           needs work (API too).
11720
11721 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
11722
11723         * docs/pwg/advanced-types.xml:
11724           documents the new caps elements (see #363118)
11725
11726 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11727
11728         * gst/gstplugin.c: (gst_plugin_load_file):
11729         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11730         (gst_file_src_map_region), (gst_file_src_start):
11731         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11732         (gst_file_index_commit):
11733           Use g_strerror() instead of strerror() - we want UTF-8.
11734
11735 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11736
11737         Patch by: Peter Kjellerstedt <pkj at axis com>
11738
11739         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11740           Another printf fix (#371493).
11741
11742 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11743
11744         * tests/check/gst/gsttag.c:
11745           relicence (okay with author=company)
11746
11747 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11748
11749         * gst/gstpad.c: (gst_pad_event_default_dispatch),
11750         (gst_pad_push_event):
11751           Enhance debug and improve docs
11752         
11753         * gst/gsturi.c:
11754           Fix docs
11755
11756 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11757
11758         * docs/random/ensonic/distributed.txt:
11759         * docs/random/ensonic/profiling.txt:
11760           more ideas
11761
11762 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11763
11764         * docs/gst/gstreamer-sections.txt:
11765           add new API and fix the build
11766           
11767         * gst/gstbin.c: (gst_bin_recalc_state):
11768         * gst/gstelement.c: (gst_element_message_full),
11769         (gst_element_get_state_func), (gst_element_set_state_func):
11770           use new API and improve logging
11771         
11772         * gst/gstutils.c: (gst_element_state_change_return_get_name):
11773         * gst/gstutils.h:
11774           API: add function to get StateChangereturn names to improve logs 
11775
11776 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11777
11778         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11779           I'm considering shooting the next person to put strerror stuff
11780           in the translateable part of the message.
11781
11782 2006-11-03  Wim Taymans  <wim@fluendo.com>
11783
11784         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11785         Get the type and printf conversion specifiers right.
11786
11787 2006-11-03  Wim Taymans  <wim@fluendo.com>
11788
11789         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11790
11791         * gst/gstpad.c: (gst_pad_init), (pre_activate),
11792         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11793         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11794         Some small cleanups. Improve debugging.
11795         * gst/gstpad.h:
11796         Signal all waiting threads with a broadcast instead of just one.
11797         Fixes #369942.
11798
11799 2006-11-03  Wim Taymans  <wim@fluendo.com>
11800
11801         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11802         (gst_fd_src_create):
11803         Add some debugging. 
11804         Only update fd when it's different from the old.
11805
11806 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11807
11808         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11809           Printf fixes for PPC/OSX, take two (#369366).
11810
11811 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11812
11813         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
11814
11815         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11816         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11817         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11818           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11819           don't cast to long long for portability reasons, but use
11820           GLib's types instead.
11821
11822 2006-10-30  Michael Smith  <msmith@fluendo.com>
11823
11824         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11825           Get the arguments to lseek() the right way around.
11826           Fixes 367677.
11827
11828 2006-10-30  Wim Taymans  <wim@fluendo.com>
11829
11830         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11831
11832         * gst/gstinfo.h:
11833         _declspec should be __declspec (two underscores, not one). Fixes 366572.
11834
11835 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11836
11837         Patch by: Kjartan Maraas  <kmaraas at gnome org>
11838
11839         * docs/design/part-MT-refcounting.txt:
11840         * docs/random/wtay/capsnego2-docs:
11841         * gst/gstclock.c:
11842         * gst/gstxml.c:
11843           Typo fixes (#366212).
11844
11845 2006-10-28  Wim Taymans  <wim@fluendo.com>
11846
11847         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11848
11849         * gst/gst.c:
11850         * win32/common/libgstbase.def:
11851         * win32/common/libgstreamer.def:
11852         * win32/vs8/libgstbase.vcproj:
11853         * win32/vs8/libgstcontroller.vcproj:
11854         Add needed entries in .def files.
11855         Use HAVE_UNISTD_H.
11856         Rearrange def files in vs8 solutions. Fixes #366286.
11857
11858 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11859
11860         * win32/common/gstconfig.h:
11861           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11862           hand-made win32 gstconfig.h. Fixes #366321.
11863
11864 2006-10-27  Wim Taymans  <wim@fluendo.com>
11865
11866         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11867         (gst_ghost_pad_new_full):
11868         Make acceptcaps return TRUE when we don't have a target, just like
11869         setcaps does.
11870
11871 2006-10-27  Wim Taymans  <wim@fluendo.com>
11872
11873         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11874         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11875
11876 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
11877
11878         * gst/gststructure.c: (gst_structure_id_set_value):
11879           If someone tries to set a non-UTF8 string field on a structure,
11880           don't just print a warning, but also ignore the request and do
11881           not change/add that field to the structure.
11882
11883         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11884           Test for the above.
11885
11886 2006-10-25  David Schleef  <ds@schleef.org>
11887
11888         * gst/gstinfo.c:
11889           g_hash_table_insert() needs a cast to a non-const pointer duh.
11890
11891 2006-10-25  David Schleef  <ds@schleef.org>
11892
11893         * gst/gstinfo.c:
11894         * gst/gstinfo.h:
11895           Change name parameter of _gst_debug_register_funcptr to const
11896           to reflect the constness of its use in the function as well
11897           as to quiet a gcc warning.
11898
11899 2006-10-25  Edward Hervey  <edward@fluendo.com>
11900
11901         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11902         Don't push the buffer if it's empty.
11903         Closes #363095
11904
11905 2006-10-24  Wim Taymans  <wim@fluendo.com>
11906
11907         * gst/gstevent.h:
11908         Add small comment.
11909
11910         * libs/gst/base/gstbasetransform.c:
11911         (gst_base_transform_sink_eventfunc):
11912         Debug segment values *after* updating them as this is more
11913         interesting.
11914
11915 2006-10-23  Wim Taymans  <wim@fluendo.com>
11916
11917         * docs/design/part-events.txt:
11918         Update some docs.
11919
11920         * docs/design/part-block.txt:
11921         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11922         (gst_pad_push_event):
11923         Revert BLOCKING patch, it tries to be smart without really having a
11924         clear idea what or how. So, now we discard all FLUSHING events again on
11925         a blocking pad. Should fix gnonlin again.
11926
11927 2006-10-23  Wim Taymans  <wim@fluendo.com>
11928
11929         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11930
11931         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11932         (gst_base_src_start), (gst_base_src_activate_push):
11933         Make sure size is always initialized. Fixes #364388.
11934
11935 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
11936
11937         * docs/random/ensonic/distributed.txt:
11938           add some ideas about doing distributed processing
11939
11940         * docs/random/ensonic/profiling.txt:
11941           get_rusage look promising
11942
11943 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11944
11945         * docs/manual/basics-helloworld.xml:
11946           Add a cast in example to fix compile warning
11947
11948 2006-10-18  Wim Taymans  <wim@fluendo.com>
11949
11950         * gst/gstsegment.c: (gst_segment_set_last_stop),
11951         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11952         Relax arg checking again, -1 is allowed.
11953
11954 2006-10-18  Wim Taymans  <wim@fluendo.com>
11955
11956         * gst/gstsegment.c: (gst_segment_set_last_stop),
11957         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11958         _set_last_stop() must be with a value != -1
11959         A _TYPE_SET to -1 means seek to 0.
11960         Calc last_stop correctly for negative rates.
11961         Make sure we work with positive durations when updating a segment.
11962
11963 2006-10-18  Wim Taymans  <wim@fluendo.com>
11964
11965         * docs/design/part-live-source.txt:
11966         * gst/gstclock.h:
11967         Small docs fixes.
11968
11969 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
11970
11971         * gst/gstbuffer.h:
11972           Add an explicit cast to GstBuffer** to keep old code that added an
11973           explicit cast to GstMiniObject** for gst_mini_object_replace()
11974           compiling without warning.
11975
11976 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11977
11978         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11979           check for validity of dates
11980
11981 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11982
11983         * docs/gst/gstreamer-sections.txt:
11984           Forgot this one, makes gtk-doc shut up.
11985
11986 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11987
11988         Patch by: Peter Kjellerstedt <pkj at axis com>
11989
11990         * gst/gstobject.h:
11991           Don't define xmlNodePtr to gpointer if the core was built with
11992           --disable-loadsave and --disable-registry, this will break
11993           applications that want to use libxml2 but are buildling against a
11994           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11995           instead so we don't have to mess with the libxml2 namespace
11996           (#361675).
11997
11998 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11999
12000         * gst/gstbuffer.h:
12001           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
12002           type-punned pointer warnings.
12003
12004 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
12005
12006         * gst/gstelement.h:
12007           Add casts to the correct return type to state <=> state transition
12008           macros.
12009
12010 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
12011
12012         * docs/design/part-live-source.txt:
12013           describe howto handle latency
12014         
12015         * docs/random/ensonic/profiling.txt:
12016           more ideas
12017
12018         * tools/gst-plot-timeline.py:
12019           fix log parsing for solaris, remove unused function
12020
12021 2006-10-16  Wim Taymans  <wim@fluendo.com>
12022
12023         * docs/design/part-trickmodes.txt:
12024         * gst/gstevent.c:
12025         Update some docs regarding reverse playback.
12026
12027 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
12028
12029         Patch by: Marcus Granado  <mrc dot gran at gmail com>
12030
12031         * win32/vs8/grammar.vcproj:
12032           Error out with a warning if glib-genmarshal.exe is not in path,
12033           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
12034
12035 2006-10-13  Wim Taymans  <wim@fluendo.com>
12036
12037         * gst/gstsegment.c: (gst_segment_set_seek):
12038         When seeking to stop -1, set last_stop (current position) to the
12039         duration of the segment.
12040
12041 2006-10-13  Wim Taymans  <wim@fluendo.com>
12042
12043         * gst/gstelement.h:
12044         Clarify _NO_PREROLL a bit more.
12045
12046         * gst/gstevent.c:
12047         Fix docs.
12048
12049         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
12050         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
12051         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
12052         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
12053         due to wrong locking order. Fixes #361769.
12054         Remove some redundant/misplaced checks in pad_block.
12055
12056         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
12057         For negative rates, count backwards from the duration.
12058
12059 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
12060
12061         * gst/gsterror.c: (_gst_library_errors_init):
12062           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
12063           up with something better).
12064
12065 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
12066
12067         * win32/vs6/libgstreamer.dsp:
12068         * win32/vs7/libgstreamer.vcproj:
12069         * win32/vs8/libgstreamer.vcproj:
12070           Don't reference glib-compat.c which is currently not used and not
12071           disted; add gstquark.c which was recently added. Fixes #361730.
12072
12073 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
12074
12075         * win32/common/libgstbase.def:
12076         * win32/common/libgstcontroller.def:
12077         * win32/common/libgstreamer.def:
12078           Add gst_caps_merge() and a bunch of other recently-added functions.
12079           Fixes #361732.
12080
12081 2006-10-11  Wim Taymans  <wim@fluendo.com>
12082
12083         * docs/plugins/gstreamer-plugins.args:
12084         * docs/plugins/inspect/plugin-coreelements.xml:
12085         * docs/plugins/inspect/plugin-coreindexers.xml:
12086         Update element args.
12087
12088         * gst/gstsystemclock.c:
12089         Small comment update.
12090
12091         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12092         (gst_tee_request_new_pad), (gst_tee_release_pad),
12093         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
12094         (gst_tee_sink_activate_pull):
12095         * plugins/elements/gsttee.h:
12096         Some tee loving:
12097         Add default property defines.
12098         Implement release pad function.
12099         Give properties better blubs etc.
12100         Activate pads before adding them to a running tee.
12101         Do simple buffer_alloc on the first requested pad.
12102         Post error when activation fails.
12103
12104 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
12105
12106         * gst/gst.c: (ensure_current_registry_forking):
12107           Check return value of write() to make compiler happy.
12108
12109 2006-10-11  Wim Taymans  <wim@fluendo.com>
12110
12111         Patch by: Sjoerd Simons <sjoerd at luon dot net>
12112
12113         * plugins/elements/gstqueue.c: (gst_queue_chain):
12114         Recheck queue filledness after signalling the overrun when we're about
12115         to leak downstream because we released the lock when emitting the signal
12116         and the queue could be empty again. Fixes #352345.
12117
12118 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
12119
12120         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
12121           Fix refcounting here too, just like we did for _new_valist() a few
12122           days ago (#357180) (thanks to René Stadler). Also remove all those
12123           'Since: 0.9' from the gtk-doc blobs.
12124
12125         * tests/check/libs/controller.c: (controller_refcount_new_list),
12126         (gst_controller_suite):
12127           Unit test for the above.
12128
12129 2006-10-10  Wim Taymans  <wim@fluendo.com>
12130
12131         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
12132
12133         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
12134         (gst_pad_save_thyself):
12135         Update some docs.
12136         Write pad direction in XML output. Fixes #345496.
12137
12138 2006-10-10  Wim Taymans  <wim@fluendo.com>
12139
12140         Patch by: René Stadler <mail at renestadler dot de>
12141
12142         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12143         (gst_controller_new_list), (_gst_controller_dispose),
12144         (_gst_controller_finalize), (_gst_controller_class_init):
12145         Take ref to controlled object so that it cannot disappear. 
12146         Fixes #357432.
12147
12148 2006-10-10  Wim Taymans  <wim@fluendo.com>
12149
12150         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
12151         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12152         (gst_check_teardown_sink_pad):
12153         Activate/deactivate pads in setup/teardown respectively.
12154
12155 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12156
12157         Patch by: Josep Torra Valles <josep@fluendo.com>
12158
12159         * gst/Makefile.am:
12160         Cast values when making gstenumtypes.h.  This pacifies Forte
12161         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
12162         in the enumeration.
12163
12164 2006-10-09  Wim Taymans  <wim@fluendo.com>
12165
12166         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
12167         Rename some more @cur to @start to fix docs. 
12168
12169         * gst/gstsegment.c: (gst_segment_set_seek):
12170         Fix typo.
12171         time and start must always stay in sync as defined in design doc.
12172
12173         * gst/gsttaglist.c: (gst_tag_list_is_empty):
12174         Rename param to fix docs.
12175
12176         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12177         Check that start and time are in sync.
12178
12179         * tests/check/pipelines/parse-launch.c:
12180         (gst_parse_test_element_change_state):
12181         Activate pad before adding to the element.
12182
12183 2006-10-09  Wim Taymans  <wim@fluendo.com>
12184
12185         * docs/design/part-qos.txt:
12186         Fix typo.
12187
12188         * gst/gstevent.c:
12189         * gst/gstevent.h:
12190         Update seek event docs regarding negative rates.
12191         Rename @cur to @start. 
12192
12193         * gst/gstsegment.c: (gst_segment_set_seek):
12194         * gst/gstsegment.h:
12195         Update set_seek docs regarding negative rates.
12196         Correctly update last_stop to @stop when dealing with negative
12197         rates.
12198         Rename @cur to @start. 
12199
12200         * tests/check/gst/gstpad.c: (GST_START_TEST):
12201         Activate pads before trying to use them.
12202
12203         * tests/check/gst/gstsegment.c: (GST_START_TEST),
12204         (gst_segment_suite):
12205         Add simple check for segments and negative rates.
12206
12207 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
12208
12209         * gst/gsttaglist.c: (gst_tag_list_is_empty):
12210         * gst/gsttaglist.h:
12211         * docs/gst/gstreamer-sections.txt:
12212           API: add gst_tag_list_is_empty() (#360467).
12213
12214         * tests/check/gst/gsttag.c: (GST_START_TEST):
12215           And a test case.
12216
12217 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12218
12219         * gst/gstmessage.h:
12220         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
12221         a value that doesn't fit on enumeration.
12222
12223 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12224
12225         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12226         Remove local debugging system and use Gstreamer's instead.
12227
12228 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12229
12230         Patch by: Josep Torra Valles <josep@fluendo.com>
12231
12232         * common/m4/gst-error.m4:
12233         Disable warning of statement not reached on Forte.
12234         * gst/gstmessage.h:
12235         Fix warning on Forte (value doesn't fit on enumeration).
12236         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
12237         Fix warning on Forte (value doesn't fit on enumeration).
12238         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12239         DEBUG macro says it takes minimum of 2 args and so Forte
12240         complains about the use with just 1 arg.
12241         * plugins/elements/gstfdsink.c:
12242         * plugins/elements/gstfdsrc.c:
12243         * plugins/elements/gstfilesink.c:
12244         * plugins/elements/gstfilesrc.c:
12245         Use correct return type for the uri handler implementations.
12246
12247         All these fix warnings in Forte.  Fixes bug #360860.
12248
12249 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
12250
12251         * gst/gstelement.h:
12252           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
12253           format string, so don't use G_GNUC_PRINTF for those versions.
12254
12255 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
12256
12257         * gst/gsttaglist.c: (gst_is_tag_list):
12258         * gst/gsttaglist.h:
12259           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
12260
12261         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12262           Small test for the above.
12263
12264 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
12265
12266         * gst/gsttaglist.h:
12267           Less tabs, more spaces.
12268
12269 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
12270
12271         * gst/gstinfo.h:
12272           Those two function declarations do actually belong there, revert
12273           commit from yesterday that turned them intro macros.
12274
12275 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12276
12277         Patch by: Josep Torra Valles <josep@fluendo.com>
12278
12279         * gst/gst.c: (gst_init_get_option_group):
12280         Fix empty declaration and type mismatch.
12281         * gst/gstbin.c: (gst_bin_change_state_func):
12282         Fix type mismatch.
12283         * gst/gstelement.c: (gst_element_continue_state),
12284         (gst_element_set_state_func), (gst_element_change_state),
12285         (gst_element_change_state_func):
12286         Fix type mismatches.
12287         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
12288         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
12289         Cast as appropriate.
12290         * gst/gstobject.c: (gst_class_signal_connect):
12291         Cast as appropriate.  The function pointer parameter really
12292         has the wrong type but would break API if we change it.
12293         * gst/gstquery.c:
12294         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
12295         order of including string.h.
12296         * gst/gstutils.c: (gst_element_state_get_name):
12297         Remove unreachable line.
12298         * gst/gstxml.c: (gst_xml_parse_doc):
12299         Fix type mismatch.
12300         All these caught by Forte.
12301
12302 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12303
12304         Patch by: Josep Torra Valles <josep@fluendo.com>
12305
12306         * common/m4/gst-error.m4:
12307         Fixed bug #360151.
12308         We need to disable warnings on Forte for empty declarations
12309         due to gst-indent adding ;s to lines that just use macros
12310         where the macro actually doesn't need a ; at end to end
12311         statement.
12312
12313 2006-10-06  Wim Taymans  <wim@fluendo.com>
12314
12315         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
12316         (gst_file_sink_close_file), (gst_file_sink_event),
12317         (gst_file_sink_render):
12318         Add some FIXME for the NEWSEGMENT handling.
12319
12320 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12321
12322         * gst/parse/grammar.y:
12323         Remove static function gst_parse_element_lock as all it does
12324         is return.  Looks like cruft from 0.8.
12325
12326 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12327
12328         Patch by: Josep Torra Valles <josep@fluendo.com>
12329
12330         * common/m4/gst-error.m4:
12331         * configure.ac:
12332         * libs/gst/net/Makefile.am:
12333         Fix a compilation issue with Forte on Solaris.  inet_aton is in
12334         libresolv.
12335
12336 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
12337
12338         * gst/gstpad.c: (pre_activate):
12339         * gst/gstregistry.c: (gst_registry_scan_path_level):
12340         * gst/gstregistryxml.c: (load_plugin):
12341         * libs/gst/controller/gstcontroller.c:
12342         (gst_controlled_property_set_interpolation_mode):
12343         * libs/gst/dataprotocol/dataprotocol.c:
12344         (gst_dp_packet_from_event_1_0):
12345         * libs/gst/net/gstnetclientclock.c:
12346         (gst_net_client_clock_observe_times):
12347         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
12348           Printf fixes.
12349
12350 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
12351
12352         * configure.ac:
12353         * docs/gst/gstreamer-sections.txt:
12354         * gst/gstconfig.h.in:
12355         * gst/gstelement.h:
12356         * gst/gstinfo.h:
12357           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
12358           whether we can use G_GNUC_PRINTF in other header files and at
12359           least check the printf format/arguments of debug messages and
12360           GST_ELEMENT_ERROR messages when the printf extension is not
12361           being used.
12362           Replace more tabs with spaces in gstinfo.h and remove two spurious
12363           function declarations in GST_DISABLE_DEBUG part with macros.
12364
12365 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
12366
12367         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
12368           More docs for the sync-message signal (mention that it is not
12369           emitted by default); log message structures of messages posted on
12370           the bus as well.
12371
12372 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
12373
12374         * gst/gst.c: (ensure_current_registry_forking):
12375         Use a pipe pair to receive status results from the forked child, and
12376         ignore the result from waitpid. Fixes #355499
12377
12378 2006-10-02  Wim Taymans  <wim@fluendo.com>
12379
12380         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12381         (gst_ghost_pad_suite):
12382         Fix leak in check.
12383
12384 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12385
12386         * gst/gstpad.c:
12387           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
12388
12389 2006-10-02  Edward Hervey  <edward@fluendo.com>
12390
12391         * docs/design/part-block.txt:
12392         Further explain the use of flushing on blocked pads.
12393         * docs/gst/gstreamer-sections.txt:
12394         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
12395         (gst_pad_push_event):
12396         * gst/gstpad.h:
12397         Added new GstPadFlag : GST_PAD_BLOCKING.
12398         Adds the notion of pads really blocking, which enables to properly
12399         handle FLUSH_START/FLUSH_STOP events on blocked pads.
12400         Fixes #358999
12401         API: gst_pad_is_blocking()
12402         API: GST_PAD_IS_BLOCKING() macro
12403         API: GST_PAD_BLOCKING GstPadFlag
12404         
12405 2006-10-02  Wim Taymans  <wim@fluendo.com>
12406
12407         Patch by: mrcgran <mrc.gran at gmail dot com>
12408
12409         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
12410         Filter the proxied caps against the padtemplate if we have one.
12411
12412         * gst/gstquery.c: (gst_query_new_segment):
12413         Add include for gstinfo.h so that compilation with
12414         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
12415
12416 2006-10-02  Wim Taymans  <wim@fluendo.com>
12417
12418         Patch by: Alessandro Decina  <alessandro at nnva org>
12419
12420         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
12421         (gst_file_sink_set_location), (gst_file_sink_open_file),
12422         (gst_file_sink_close_file), (gst_file_sink_event),
12423         (gst_file_sink_render):
12424         Set file to NULL when closing filesink so that we can set a new filename
12425         in READY. Fixes #358613.
12426
12427 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12428
12429         Patch by: Alessandro Decina  <alessandro at nnva org>
12430
12431         * gst/gstevent.c: (_gst_event_copy):
12432           Fix gst_mini_object_make_writable() and gst_event_copy() for events
12433           with event structures by setting the parent refcount address of the
12434           copied structure to the address of the refcount member of the newly
12435           copied event rather than the address of the refcount member of the
12436           original event. Fixes #358737.
12437
12438         * tests/check/gst/gstevent.c: (GST_START_TEST):
12439           Unit test for the above.
12440
12441 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
12442
12443         * docs/design/Makefile.am:
12444           Dist some more files.
12445
12446 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12447
12448         * tests/check/libs/controller.c: (GST_START_TEST),
12449         (gst_controller_suite):
12450           Add test for the previous fix; add some more tests
12451           for correct refcounting behaviour; fix a few leaks
12452           in test cases; call gst_controller_init() at start
12453           of all tests.
12454
12455 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12456
12457         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12458         (gst_controller_set_from_list):
12459           Don't g_return_val_if_fail() on timed values with invalid timestamps
12460           inside a critical section without unlocking the mutex. Spotted by
12461           René Stadler. (#357617)
12462           Also, fix up refcounting properly: when returning an existing
12463           controller, we should increase the reference only once and not
12464           once per property and when trying to control a property again
12465           we should also increase the refcount.
12466
12467 2006-09-29  Wim Taymans  <wim@fluendo.com>
12468
12469         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12470         * libs/gst/net/gstnettimeprovider.c:
12471         (gst_net_time_provider_thread):
12472         Stop reading commands when EOF as well.
12473
12474         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12475         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12476         * plugins/elements/gstidentity.c: (gst_identity_class_init):
12477         Unify description of the dump property.
12478
12479 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12480
12481         * tests/examples/manual/.cvsignore:
12482         OK, so it's actually cvsignore that needs changing. Stop laughing.
12483
12484 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12485
12486         * tests/examples/manual/Makefile.am:
12487         Gah, declare vars *before* using them
12488
12489 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12490
12491         * gst/gst.c: (init_pre), (scan_and_update_registry),
12492         (ensure_current_registry_nonforking),
12493         (ensure_current_registry_forking), (ensure_current_registry),
12494         (init_post), (gst_debug_help), (gst_deinit):
12495         * gst/gst_private.h:
12496         * gst/gstregistry.c: (gst_registry_finalize),
12497         (gst_registry_remove_features_for_plugin_unlocked),
12498         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12499         (gst_registry_scan_path),
12500         (_priv_gst_registry_remove_cache_plugins),
12501         (_priv_gst_registry_cleanup):
12502         * gst/gstregistry.h:
12503         Re-commit the registry changes, along with an extra fix:
12504           When a cached plugin is encountered at a different file path,
12505           update the stored path in the registry cache so that the parent
12506           process knows where it actually is now when it re-reads the registry
12507           cache. Fixes the thing that broke distcheck with the previous commit.
12508
12509         * tests/check/Makefile.am:
12510         Clean up files named 'core' too when running make clean.
12511
12512         * tests/examples/manual/Makefile.am:
12513         Set up a registry path for running these tests, and clean it properly
12514         for distcheck.
12515
12516 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12517
12518         * configure.ac:
12519         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
12520         want gmodule-no-export-2.0.pc instead so that we don't drag in
12521         --export-dynamic on every project that links to GStreamer.
12522
12523         Also, make our export regex only match the start of symbols, rather 
12524         than any symbol that contains '_gst' somewhere.
12525
12526         * libs/gst/check/Makefile.am:
12527         The libgstcheck we build does however need export-dynamic, as it
12528         produces some symbols that don't match our _gst... style regex.
12529         Fixes: #318031
12530
12531 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12532
12533         * gst/gst.c: (init_pre), (scan_and_update_registry),
12534         (ensure_current_registry_nonforking),
12535         (ensure_current_registry_forking), (ensure_current_registry),
12536         (init_post), (gst_debug_help), (gst_deinit):
12537         * gst/gst_private.h:
12538         * gst/gstregistry.c: (gst_registry_finalize),
12539         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12540         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
12541         (_gst_registry_cleanup):
12542         * gst/gstregistry.h:
12543           Revert previous change until I figure out why it breaks distcheck.
12544
12545 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12546
12547         * gst/gst.c: (init_pre), (scan_and_update_registry),
12548         (ensure_current_registry_nonforking),
12549         (ensure_current_registry_forking), (ensure_current_registry),
12550         (init_post), (gst_debug_help), (gst_deinit):
12551
12552           Make init_pre and init_post take the full complement of GOptionFunc
12553           args so they can return useful GErrors. Make the registry updating
12554           functions do so.
12555
12556           Call _priv_gst_registry_remove_cache_plugins after scanning files to
12557           ensure that the registry we're about to write out doesn't contain
12558           stale information about old-deleted plugin files.
12559
12560           Make _priv_gst_registry_remove_cache_plugins return a boolean so
12561           that deletion of plugin files is considered a registry change.
12562
12563         * gst/gst_private.h:
12564         * gst/gstregistry.c: (gst_registry_finalize),
12565         (gst_registry_remove_features_for_plugin_unlocked),
12566         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12567         (gst_registry_scan_path),
12568         (_priv_gst_registry_remove_cache_plugins),
12569         (_priv_gst_registry_cleanup):
12570         * gst/gstregistry.h:
12571         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12572         by adding _priv prefix, so that they won't appear in the global
12573         symbol table. They still do atm though because of #318031. Move the
12574         prototypes to gst_private.h
12575
12576         When removing a plugin, remove all features for that plugin too. 
12577         Fixes #340878.
12578
12579 2006-09-27  Wim Taymans  <wim@fluendo.com>
12580
12581         * docs/random/moving-plugins:
12582         Make it clear that the "compiled-in descriptions" really mean
12583         the element details.
12584
12585         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12586         (gst_base_sink_wait_preroll):
12587         Update docs.
12588
12589         * docs/libs/gstreamer-libs-sections.txt:
12590         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12591         (gst_base_src_get_range), (gst_base_src_activate_push):
12592         * libs/gst/base/gstbasesrc.h:
12593         Added function to block while waiting for PLAYING, this function
12594         is used by live sources that block on the clock.
12595         API: gst_base_src_wait_playing()
12596
12597 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12598
12599         Patch by: Peter Kjellerstedt <pkj at axis com>
12600
12601         * Makefile.am:
12602           gst-element-check.m4 is generated and should therefore be
12603           copied from the build dir rather than the source dir (#357593).
12604           'make distcheck' hasn't noticed this because we were disting
12605           the file as well, so stop doing that.
12606
12607 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12608
12609         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12610           Add some tests for gst_caps_intersect().
12611
12612         * tools/gst-launch.c: (event_loop):
12613           Print all buffering percentages we get, even the 100% one.
12614
12615 2006-09-26  Wim Taymans  <wim@fluendo.com>
12616
12617         * tools/gst-inspect.c: (print_element_properties_info),
12618         (print_signal_info):
12619         Fix printing of flags to match the look of enums.
12620
12621 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12622
12623         * gst/gstelementfactory.c:
12624           Fix typo in docs blurb.
12625
12626 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12627
12628         * gst/gsturi.c: (search_by_entry):
12629           Don't assert/crash here if a uri handler doesn't return any
12630           supported protocols. The list of protocols could be generated
12631           dynamically at runtime or at plugin registration, and an error
12632           in the underlying library shouldn't be fatal (#353301).
12633
12634 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12635
12636         * gst/gstinfo.c:
12637           Fix warning if HAVE_PRINTF_EXTENSION is undefined
12638           (spotted by Peter Kjellerstedt).
12639
12640 2006-09-23  Wim Taymans  <wim@fluendo.com>
12641
12642         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12643
12644         * libs/gst/base/gstbasesrc.c:
12645         (gst_base_src_default_check_get_range), (gst_base_src_start),
12646         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12647         (gst_base_src_change_state):
12648         Match _start/_stop calls in the activate functions. Remove redundant
12649         _stop call from the state change function. Fixes #356910.
12650         Turn failure DEBUG into ERROR. 
12651
12652 2006-09-22  Wim Taymans  <wim@fluendo.com>
12653
12654         * docs/design/part-buffering.txt:
12655         * gst/gstmessage.c: (gst_message_new_buffering),
12656         (gst_message_parse_buffering):
12657         Update docs about buffering.
12658
12659         * docs/design/part-trickmodes.txt:
12660         Fix typo.
12661
12662 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
12663
12664         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12665         (gst_controller_new_list):
12666           Ref instances when returning them again (fixes #357180)
12667
12668 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12669
12670         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12671           Don't forget to release proxy lock when there's an error.
12672
12673 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
12674
12675         * gst/gstcaps.h:
12676           Add extra initialisers for Caps things, to fix some plugin warnings
12677           when using -Wextra
12678
12679 2006-09-18  Wim Taymans  <wim@fluendo.com>
12680
12681         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12682           Also set template on the internal pad so that a getcaps from the 
12683           target pad returns the template caps.
12684
12685 2006-09-18  Wim Taymans  <wim@fluendo.com>
12686
12687         * gst/gstelement.c: (gst_element_post_message),
12688         (gst_element_dispose):
12689         Use _DEBUG_OBJECT some more.
12690
12691         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12692         Avoid typechecks.
12693
12694         * tools/gst-launch.c: (main):
12695         If the toplevel element is not a GstPipeline, it must be put in a
12696         pipeline so that a bus and clock is selected.
12697
12698 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12699
12700         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12701           JITTER, RATE, and LATENCY query should be handled by the
12702           default case and not by the CONVERT query code.
12703
12704 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12705
12706         * gst/gstformat.c: (gst_format_register):
12707           Fix locking order (must take lock before using n_values).
12708
12709         * gst/gstvalue.c: (gst_value_serialize_enum),
12710         (gst_value_deserialize_enum_iter_cmp),
12711         (gst_value_deserialize_enum):
12712           Fix serialisation/deserialisation of custom registered GstFormats.
12713
12714         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12715           Unit test for custom format serialisation/deserialisation.
12716
12717 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
12718
12719         * docs/pwg/building-boiler.xml:
12720         * plugins/elements/gstcapsfilter.c:
12721         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12722         section.
12723
12724 2006-09-16  Edward Hervey  <edward@fluendo.com>
12725
12726         * libs/gst/base/gstbasetransform.c:
12727         (gst_base_transform_buffer_alloc):
12728         Check if requested caps are the same as the sinks caps IF
12729         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12730         is FALSE.
12731         This fixes the renegotiation issues stated in #352827.
12732
12733 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12734
12735         * configure.ac:
12736         * docs/manual/advanced-autoplugging.xml:
12737         * tests/examples/Makefile.am:
12738         * tests/examples/manual/.cvsignore:
12739         * tests/examples/manual/Makefile.am:
12740         * tests/examples/manual/extract.pl:
12741           Extract the manual examples again like we used to do.
12742           Fix one of them.
12743
12744 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12745
12746         * win32/common/config.h:
12747           update for version
12748
12749 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
12750
12751         * gst/gsterror.c:
12752           Documents how to receive errors.
12753
12754 2006-09-15  Wim Taymans  <wim@fluendo.com>
12755
12756         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12757         (event_loop), (main):
12758         Added some comments here and there.
12759         Post an application message when an interrupt is caught instead of doing
12760         an uncontrolled state change.
12761         Clean up the event loop.
12762         Handle buffering messages, pause/resume the pipeline.
12763         Make shutdown because of an interrupt more reliable.
12764
12765 2006-09-15  Wim Taymans  <wim@fluendo.com>
12766
12767         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12768         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12769         (gst_base_sink_preroll_object):
12770         Make sure that our internal state is correct when we commit our state
12771         asynchronously. This solves a race where a state change to PLAYING
12772         could cause the sink to remain blocked in preroll in some situations.
12773
12774 2006-09-15  Wim Taymans  <wim@fluendo.com>
12775
12776         * tools/gst-inspect.c: (print_element_properties_info),
12777         (print_signal_info):
12778         List flags as hex so it's easier to deal with.
12779
12780 2006-09-15  Wim Taymans  <wim@fluendo.com>
12781
12782         * docs/libs/gstreamer-libs-sections.txt:
12783         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12784         (gst_base_sink_do_sync):
12785         * libs/gst/base/gstbasesink.h:
12786         Expose logic to wait for preroll so that subclasses such as audiosink
12787         can also use this method.
12788         API: gst_base_sink_wait_preroll()
12789
12790 2006-09-15  Wim Taymans  <wim@fluendo.com>
12791
12792         * gst/gstobject.c: (gst_object_set_parent):
12793         * gst/gstpipeline.c: (do_pipeline_seek):
12794         Small cleanups in docs and code.
12795
12796         * gst/gstsegment.c: (gst_segment_clip):
12797         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12798         if stop == start and start is in the segment, no clipping should be
12799         done. Also add a test for this.
12800
12801 2006-09-15  Wim Taymans  <wim@fluendo.com>
12802
12803         * docs/design/part-buffering.txt:
12804         * docs/gst/gstreamer-sections.txt:
12805         * gst/gstmessage.c: (gst_message_new_buffering),
12806         (gst_message_parse_buffering):
12807         * gst/gstmessage.h:
12808         Added methods to create and parse BUFFERING messages.
12809         Added preliminary docs about buffering.
12810         API: gst_message_new_buffering
12811         API: gst_message_parse_buffering
12812
12813 2006-09-06  Wim Taymans  <wim@fluendo.com>
12814
12815         * gst/gstbin.c:
12816         Update documentation.
12817
12818         * gst/gstelement.c: (gst_element_class_init),
12819         (gst_element_release_request_pad), (gst_element_set_clock),
12820         (gst_element_get_index), (gst_element_add_pad),
12821         (gst_element_remove_pad), (gst_element_get_random_pad),
12822         (gst_element_send_event), (gst_element_get_query_types),
12823         (gst_element_query), (gst_element_post_message),
12824         (gst_element_message_full), (gst_element_continue_state),
12825         (gst_element_lost_state), (gst_element_save_thyself),
12826         (gst_element_restore_thyself):
12827         Documentation updates.
12828         Rename last bit of the new-pad -> pad-added signal rename.
12829         Fix the case where an element query would only work if the source
12830         pad was linked.
12831         Avoid some useless type checking in message handling.
12832
12833         * gst/gstevent.c:
12834         * gst/gstevent.h:
12835         * gst/gstutils.c:
12836         Documentation updates.
12837
12838 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12839
12840         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12841           add an INFO line for when we actually update the fd
12842
12843 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12844
12845         * configure.ac:
12846           back to TRUNK
12847
12848 === release 0.10.10 ===
12849
12850 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
12851
12852         * configure.ac:
12853           releasing 0.10.10, "Pais"
12854
12855 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
12856
12857         * docs/manual/advanced-position.xml:
12858           Fix typo in sample code.
12859
12860 2006-09-05  Wim Taymans  <wim@fluendo.com>
12861
12862         * libs/gst/net/gstnetclientclock.c: (inet_aton),
12863         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12864         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12865         * libs/gst/net/gstnetclientclock.h:
12866         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12867         * libs/gst/net/gstnettimepacket.h:
12868         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12869         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12870         (gst_net_time_provider_thread), (gst_net_time_provider_new):
12871         * libs/gst/net/gstnettimeprovider.h:
12872         Make stuff compile on windows. Fixes #345295.
12873
12874 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12875
12876         * gst/gst.c: (ensure_current_registry_forking):
12877           Print better details when child was terminated by signal.
12878
12879 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12880
12881         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12882           Print a warning rather than g_assert() if a plugin feature
12883           is a URI handler but returns no protocols (#353976).
12884
12885 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
12886
12887         * docs/random/moving-plugins:
12888         Fix two typos.         
12889
12890 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12891
12892         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12893           Fix locking order, handle NULL function values properly.
12894
12895         * gst/gstinfo.h:
12896           Fix docs.
12897
12898         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12899           Initialise variable before using it and fix debug statement to
12900           print the address of the function rather than the address of the
12901           variable on the stack holding the address of the function.
12902
12903 2006-09-01  Wim Taymans  <wim@fluendo.com>
12904
12905         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12906         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12907         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12908         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12909         (gst_ghost_pad_parent_unset),
12910         (gst_ghost_pad_internal_do_activate_push),
12911         (gst_ghost_pad_internal_do_activate_pull),
12912         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12913         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12914         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12915         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12916         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12917         (gst_ghost_pad_new_no_target_from_template),
12918         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12919         More cleanups.
12920         Avoid needless typechecking in macros.
12921         Since the internal pad is always present and never changes, there is
12922         no need to locking or ref when retrieving it.
12923         Improve debugging a bit.
12924         Handle link errors when setting the target. Fixes #341029.
12925
12926 2006-09-01  Wim Taymans  <wim@fluendo.com>
12927
12928         * docs/libs/gstreamer-libs-sections.txt:
12929         * docs/plugins/gstreamer-plugins-sections.txt:
12930         Fix docs some more.
12931
12932         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12933         (gst_collect_pads_event):
12934         * libs/gst/base/gstcollectpads.h:
12935         Documentation updates.
12936         Free queued buffer when removing a pad.
12937
12938 2006-08-31  Michael Smith  <msmith@fluendo.com>
12939
12940         * gst/gstutils.c: (gst_element_link_pads),
12941         (gst_element_link_pads_filtered):
12942           Ensure that we set a capsfilter to NULL if we failed to link it
12943           when doing filtered linking, to avoid criticals.
12944
12945           No need to check for unreffing srcpad, which is explicly NULLed
12946           above (a trivial code cleanup).
12947
12948 2006-08-31  Wim Taymans  <wim@fluendo.com>
12949
12950         * docs/design/part-gstghostpad.txt:
12951         Update ascii art in documentation.
12952
12953         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12954         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12955         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12956         (gst_ghost_pad_internal_do_activate_push),
12957         (gst_ghost_pad_internal_do_activate_pull),
12958         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12959         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12960         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12961         (gst_ghost_pad_set_target):
12962         Small cleanups and leak fixes.
12963         Remove some checks now that the internal pad is never NULL.
12964         Fix the case where linking pads without a target would create nasty
12965         criticals. Fixes #341029.
12966         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12967         value of _set_target().
12968
12969         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12970         (gst_ghost_pad_suite):
12971         Some more tests for creating and linking untargeted ghostpads.
12972
12973 2006-08-31  Edward Hervey  <edward@fluendo.com>
12974
12975         * docs/gst/gstreamer-sections.txt:
12976         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12977         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12978         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12979         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12980         (gst_ghost_pad_new_from_template),
12981         (gst_ghost_pad_new_no_target_from_template):
12982         * gst/gstghostpad.h:
12983         Refactored *_new() functions.
12984         Templates are now used as a g_object_new() parameter.
12985         Use template in _do_getcaps() if we don't have a target.
12986         Small documentation cleanups.
12987         Added two new constructors:
12988         gst_ghost_pad_new_from_template()
12989         gst_ghost_pad_new_no_target_from_template()
12990         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12991         (gst_ghost_pad_suite):
12992         Added tests for new ghostpad instanciation functions.
12993
12994         API additions: gst_ghost_pad_new_from_template,
12995         gst_ghost_pad_new_no_target_from_template
12996
12997 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
12998
12999         * docs/random/ensonic/profiling.txt:
13000           Ideas about qos profiling.
13001
13002 2006-08-29  Wim Taymans  <wim@fluendo.com>
13003
13004         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
13005         Code cleanups.
13006         Fix memleak.
13007
13008 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
13009
13010         * gst/gstxml.c:
13011           Improve and detypofy docs.
13012
13013         * tests/check/Makefile.am:
13014         * tests/check/gst/.cvsignore:
13015         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
13016           Add a basic test suite for GstXML.
13017
13018 2006-08-29  Wim Taymans  <wim@fluendo.com>
13019
13020         * gst/gstelement.c: (activate_pads), (clear_caps),
13021         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13022         Clear the pad caps when the element shut down all of the pads and
13023         is not streaming data that could modify the caps. 
13024         Fixes #352958.
13025
13026 2006-08-28  Michael Smith  <msmith@fluendo.com>
13027
13028         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
13029           Revert previous change; I misunderstood single-segment mode.
13030
13031 2006-08-28  Michael Smith  <msmith@fluendo.com>
13032
13033         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
13034           Unset DISCONT on buffers when using single-segment mode.
13035
13036 2006-08-28  Wim Taymans  <wim@fluendo.com>
13037
13038         * gst/gstcaps.c: (gst_caps_merge_structure):
13039         * gst/gstcaps.h:
13040         Fix docs and indentation again.
13041
13042         * tests/check/gst/gstquery.c: (GST_START_TEST):
13043         Fix leak in tests and add some more tests.
13044
13045 2006-08-28  Edward Hervey  <edward@fluendo.com>
13046
13047         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
13048         Inform GstSegment of the last stop position in order for the current
13049         segment to have a proper duration if it doesn't have a specific stop
13050         position from which a duration could be calculated.
13051         This bug was noticeable when a non-flushing, non-update new segment was
13052         followed by another segment (all buffers from the new segment were being
13053         dropped).
13054
13055 2006-08-28  Wim Taymans  <wim@fluendo.com>
13056
13057         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
13058         Small comment update.
13059
13060         * plugins/elements/gstidentity.c: (gst_identity_class_init),
13061         (gst_identity_transform_ip):
13062         Drop-probability is broken, mention this in the code with a 
13063         FIXME and also in the property description.
13064         Make silent also be silent about the drop messages.
13065
13066 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
13067
13068         * docs/manual/appendix-win32.xml:
13069           Remove mention of popt, we don't depend on that any
13070           longer (#353136). Add some comments pointing out that
13071           this section is slightly outdated.
13072
13073 2006-08-28  Wim Taymans  <wim@fluendo.com>
13074
13075         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
13076
13077         * gst/gstquery.c: (gst_query_new_segment):
13078         * tests/check/gst/gstquery.c: (GST_START_TEST):
13079         Initialize variables when creating a new segment query.
13080         Fixes #353121.
13081
13082 2006-08-28  Wim Taymans  <wim@fluendo.com>
13083
13084         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
13085
13086         * gst/gstelement.c: (gst_element_get_bus):
13087         * tests/check/gst/gstelement.c: (GST_START_TEST):
13088         Check for NULL before _reffing the bus. Fixes #353122.
13089
13090 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
13091
13092         * docs/manual/basics-bus.xml:
13093           Docs update: fix wrong callback return value explanation; add
13094           some lines about the implicit relationship between main loop
13095           and main context; remove duplicate main loop variable declaration.
13096
13097 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
13098
13099         * tests/check/gst/gstcaps.c: (GST_START_TEST):
13100           Don't leak caps in unit test; add a few more simple
13101           checks. 
13102
13103 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
13104
13105         * docs/gst/gstreamer-sections.txt:
13106         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
13107         (gst_caps_structure_is_subset), (gst_caps_merge),
13108         (gst_caps_merge_structure):
13109         * gst/gstcaps.h:
13110         * libs/gst/base/gstbasetransform.c:
13111         (gst_base_transform_transform_caps):
13112         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13113           implement caps merging (fixes #352580)
13114
13115 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
13116
13117         * tools/Makefile.am:
13118         * tools/gst-plot-timeline.py:
13119           add debug-log plotting developer tool (#340674)
13120
13121 2006-08-23  Wim Taymans  <wim@fluendo.com>
13122
13123         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
13124         (gst_pad_stop_task):
13125         Improve debugging for task functions.
13126
13127         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
13128         (gst_task_start), (gst_task_pause), (gst_task_join):
13129         Make sure that the task function started and finished after a 
13130         join(). 
13131         Don't try to push the task function on the threadpool multiple
13132         times.
13133         Improve the g_warning message with some useful suggestions
13134         about how to fix the problem. 
13135
13136 2006-08-23  Wim Taymans  <wim@fluendo.com>
13137
13138         * gst/gstutils.c: (gst_pad_proxy_getcaps):
13139         Handle RESYNC correctly in _proxy_getcaps.
13140
13141 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
13142
13143         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
13144         (gst_xml_parse_memory), (gst_xml_get_element):
13145           Chain up to parent class in dispose function and also
13146           unref the elements in the toplevel_elements GList.
13147           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
13148           Always return a reference in gst_xml_get_element() rather
13149           than only sometimes.
13150
13151         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
13152           Don't leak GstXml object.
13153
13154 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
13155
13156         * docs/gst/gstreamer-sections.txt:
13157         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
13158         (gst_caps_merge):
13159         * gst/gstcaps.h:
13160         * libs/gst/base/gstbasetransform.c:
13161         (gst_base_transform_transform_caps):
13162           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
13163           in a better way
13164
13165 2006-08-21  Edward Hervey  <edward@fluendo.com>
13166
13167         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
13168         Implement GObject::dispose virtual method in GstXML so we can free the
13169         top_elements GList.
13170
13171 2006-08-21  Wim Taymans  <wim@fluendo.com>
13172
13173         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
13174         (gst_buffer_create_sub):
13175         Copy duration/offset_end/caps when creating a subbuffer of the
13176         complete parent.
13177         Make the subbuffer read-only when we make the metadata writable for
13178         now. Fixes #351768.
13179
13180         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
13181         Added check for metadata copy when creating subbuffers.
13182
13183 2006-08-21  Edward Hervey  <edward@fluendo.com>
13184
13185         * libs/gst/base/gstbasetransform.c:
13186         (gst_base_transform_buffer_alloc):
13187         Only call downstream buffer_alloc if transform element is passthrough
13188         or always_in_place. Closes #350449.
13189
13190 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
13191
13192         * ChangeLog:
13193           ChangeLog surgery to add comments to previous changes
13194
13195 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
13196
13197         * gst/gst.c:
13198           Add comments
13199
13200         * gst/gstpad.c: (gst_pad_set_active):
13201           Be more verbose in the log
13202
13203         * libs/gst/base/gstbasetransform.c:
13204         (gst_base_transform_transform_caps):
13205           Simplify caps to get rid of duplicates, fixes #345444
13206
13207 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
13208
13209         * gst/gstvalue.c:
13210         * gst/gstvalue.h:
13211           Use these optimizations only internally.
13212
13213 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
13214
13215         * gst/gstvalue.c: (gst_value_compare_list),
13216         (gst_value_compare_fraction_range),
13217         (gst_value_intersect_fraction_fraction_range),
13218         (gst_value_intersect_fraction_range_fraction_range),
13219         (gst_value_subtract_fraction_fraction_range),
13220         (gst_value_subtract_fraction_range_fraction_range),
13221         (gst_value_get_compare_func), (gst_value_compare),
13222         (gst_value_compare_with_func):
13223         * gst/gstvalue.h:
13224           Saves the expensive lookup of the compare function in many cases
13225          (#345444)
13226
13227 2006-08-18  Edward Hervey  <edward@fluendo.com>
13228
13229         * tests/check/gst/gstinfo.c: (gst_info_suite):
13230         Disable test that require gstdebug if it wasn't built in core.
13231
13232 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
13233
13234         * docs/random/ensonic/logging.txt:
13235           update ideas
13236           
13237         * gst/gstinfo.c: (gst_debug_log_default):
13238           reorder fields, save some columns, add optional color codes for log
13239           levels
13240
13241 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
13242
13243         * docs/random/ensonic/logging.txt:
13244           add ideas about making the logs a bit more useful
13245
13246 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
13247
13248         * docs/pwg/advanced-events.xml:
13249         * docs/pwg/titlepage.xml:
13250           Update for 0.10 API (#340627). Add myself
13251           to authors list.
13252
13253 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
13254
13255         * docs/libs/gstreamer-libs-docs.sgml:
13256         * docs/libs/gstreamer-libs-sections.txt:
13257         * libs/gst/check/gstbufferstraw.c:
13258           Make gstcheck stuff show up in docs (still needs to
13259           be documented properly though).
13260
13261 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
13262
13263         * docs/gst/gstreamer-sections.txt:
13264         * gst/Makefile.am:
13265         * gst/gst.c: (init_post):
13266         * gst/gst_private.h:
13267         * gst/gstquark.c: (_priv_gst_quarks_initialize):
13268         * gst/gstquark.h:
13269         * gst/gstquery.c: (gst_query_new_position),
13270         (gst_query_set_position), (gst_query_parse_position),
13271         (gst_query_new_duration), (gst_query_set_duration),
13272         (gst_query_parse_duration), (gst_query_new_convert),
13273         (gst_query_set_convert), (gst_query_parse_convert),
13274         (gst_query_new_segment), (gst_query_set_segment),
13275         (gst_query_parse_segment), (gst_query_new_seeking),
13276         (gst_query_set_seeking), (gst_query_parse_seeking):
13277         Add internal helpers for pre-registering quarks from static strings
13278         and using the quark values directly instead of looking them up when
13279         creating and parsing queries. Can be used for event construction too.
13280         Closes #350432.
13281
13282 2006-08-16  Wim Taymans  <wim@fluendo.com>
13283
13284         * gst/gstbin.c:
13285         Fix bogus docs.
13286
13287 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13288
13289         * gst/gstutils.c: (gst_util_set_value_from_string):
13290           Fix memleak (#351502).
13291
13292         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13293           Add unit test for most of gst_util_set_value_from_string()
13294           (not that one would want to encourage use of this function).
13295
13296 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13297
13298         * libs/gst/check/gstcheck.h:
13299           Use const gchar * variables in fail_unless_equals_string
13300           macro to avoid compiler warnings (and don't use tabs for
13301           indenting).
13302
13303 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13304
13305         * tools/gst-launch.c: (print_tag):
13306           More space on the left for the tag names, to cater
13307           for the 'extended comment' tag (not touching the
13308           string for the first line since it's translated).
13309
13310 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13311
13312         * libs/gst/check/gstcheck.h:
13313           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
13314           print something when they fail.
13315
13316 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13317
13318         * docs/gst/gstreamer-sections.txt:
13319         * gst/gsttaglist.c: (_gst_tag_initialize):
13320         * gst/gsttaglist.h:
13321           API: add GST_TAG_EXTENDED_COMMENT (#350935).
13322           Also change merge function for GST_TAG_COMMENT to
13323           use_first.
13324
13325 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13326
13327         * gst/gstinfo.c: (gst_debug_print_object):
13328           Make GST_PTR_FORMAT print messages as well.
13329
13330         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
13331         (GST_START_TEST), (gst_info_suite):
13332           More tests.
13333
13334 2006-08-14  Edward Hervey  <edward@fluendo.com>
13335
13336         * gst/gstelementfactory.c: (gst_element_register):
13337         If the GstElementClass doesn't have a GstElementDetails with all fields
13338         filled up correctly (longname, description AND author), then error out
13339         nicely instead of crashing.
13340
13341 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13342
13343         * gst/gststructure.c:
13344           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
13345
13346         * gst/gstvalue.h:
13347           Expand on the difference between arrays and lists as we use them.
13348           
13349 2006-08-14  Wim Taymans  <wim@fluendo.com>
13350
13351         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
13352         If the parent state change function failed, don't assume we can safely
13353         stop the source, this will be done when the pads are deactivated.
13354
13355 2006-08-14  Wim Taymans  <wim@fluendo.com>
13356
13357         * gst/gstbuffer.c:
13358         * gst/gsttask.c: (gst_task_join):
13359         Small doc updates.
13360
13361         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
13362         (gst_pad_stop_task):
13363         When pad (de)activation failed for some reason, restore the old
13364         activation mode and set the pad to flushing instead of assuming the
13365         pad is deactivated.
13366         If the _task_join() failed, reinstall the task on the pad so that it can
13367         be stopped later and return an error.
13368
13369 2006-08-11  Andy Wingo  <wingo@pobox.com>
13370
13371         * configure.ac:
13372         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13373         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
13374         is only for users of API that don't want to see deprecated
13375         functions in the headers; people that want to compile out
13376         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
13377         CFLAGS. Fixes the build of multifdsink, or will soon..
13378
13379 2006-08-11  Wim Taymans  <wim@fluendo.com>
13380
13381         * docs/gst/gstreamer-sections.txt:
13382         Add GstClockClass vmethod docs.
13383
13384         * gst/gstcaps.h:
13385         Mark #endif with comment for associated #if
13386
13387         * gst/gstclock.c: (gst_clock_id_wait):
13388         * gst/gstclock.h:
13389         Add vmethod wait_jitter to avoid an unneeded _get_time() for
13390         most clock implementations.
13391         Document vmethods.
13392         Flesh out docs about resolution methods.
13393         API: GstClockClass::wait_jitter
13394
13395         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13396         (gst_system_clock_async_thread),
13397         (gst_system_clock_id_wait_jitter_unlocked),
13398         (gst_system_clock_id_wait_jitter):
13399         Use base class wait_jitter variant for improved performance
13400         due to less clock polling.
13401
13402 2006-08-11  Edward Hervey  <edward@fluendo.com>
13403
13404         * gst/gst.c: (gst_init_check), (init_post):
13405         Set gst as being initialized before scanning/updating the registry,
13406         since there might be my python plugin loader that calls gst_init() and
13407         we don't want to loop back in.
13408         Closes #350879
13409
13410 2006-08-11  Wim Taymans  <wim@fluendo.com>
13411
13412         * docs/design/part-qos.txt:
13413         Bring docs in line with the code. Mostly the sign of the jitter was
13414         wrong in the docs. Fixes #349943.
13415
13416         * gst/gstclock.c:
13417         Fix the docs for the jitter.
13418
13419         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
13420         (gst_event_parse_tag), (gst_event_new_buffer_size),
13421         (gst_event_parse_buffer_size), (gst_event_parse_qos),
13422         (gst_event_new_seek), (gst_event_parse_seek),
13423         (gst_event_new_navigation):
13424         Make sure the GstStructure has no parent when creating custom
13425         events.
13426         Add some more argument checking so that we avoid 0.0 rates.
13427         Flesh out the docs for the QoS event some more.
13428
13429 2006-08-11  Wim Taymans  <wim@fluendo.com>
13430
13431         * docs/gst/gstreamer-sections.txt:
13432         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
13433         (ensure_current_registry_forking), (ensure_current_registry),
13434         (parse_one_option), (parse_goption_arg), (gst_deinit),
13435         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
13436         * gst/gst.h:
13437         Doc updates.
13438         Added API and command line option to disable registry forking in
13439         addition to the environment variable.
13440         Constify some static arrays.
13441         Added some more debug.
13442         Don't deinit twice.
13443         API: gst_registry_fork_is_enabled()
13444         API: gst_registry_fork_set_enabled()
13445         API: --gst-disable-registry-fork command line option
13446         Fixes #348918.
13447
13448 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
13449
13450         * gst/gst.c: (gst_init):
13451           Fix typo in error message.
13452
13453 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13454
13455         * libs/gst/controller/gstcontroller.h:
13456           fix ABI size-correction
13457
13458         * tests/check/libs/gdp.c: (gst_dp_suite):
13459           make tests that use deprecated API conditional
13460
13461 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13462
13463         * docs/libs/gstreamer-libs-sections.txt:
13464         * libs/gst/controller/gstcontroller.c:
13465         (_gst_controller_get_property), (_gst_controller_set_property),
13466         (_gst_controller_init), (_gst_controller_class_init):
13467         * libs/gst/controller/gstcontroller.h:
13468         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
13469         (gst_object_set_control_rate):
13470           API: add gst_object_{s,g}et_control_rate(), add private data section,
13471           fix docs
13472
13473         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13474         * libs/gst/dataprotocol/dataprotocol.h:
13475           add deprecation guards to make gtk-doc happy and allow disabling cruft
13476
13477 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13478
13479         * tests/check/Makefile.am:
13480         * tests/check/gst/.cvsignore:
13481           Let's enable the new unit test as well.
13482
13483 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13484
13485         * configure.ac:
13486         * docs/gst/gstreamer-sections.txt:
13487         * gst/gstconfig.h.in:
13488         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
13489         (_gst_info_printf_extension_ptr),
13490         (_gst_info_printf_extension_segment):
13491           API: add GST_SEGMENT_FORMAT, which is a printf extension we
13492           register that lets us easily dump GstSegments into debug
13493           logs (#350419).
13494
13495         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
13496         (info_segment_format_printf_extension), (gst_info_suite):
13497           Add simple unit test that logs a bunch of different segments (not
13498           valgrinded at the moment because of leaks in
13499           gst_debug_add_log_function).
13500
13501 2006-08-09  Edward Hervey  <edward@fluendo.com>
13502
13503         * libs/gst/base/gstbasetransform.c:
13504         (gst_base_transform_buffer_alloc):
13505         Even if we can't figure out the proper format to request downstream,
13506         call buffer_alloc() downstream with the input parameters without setting
13507         the caps on the srcpad. This will force negotiation in the chain
13508         function.
13509         Closes #350449
13510
13511 2006-08-08  Edward Hervey  <edward@fluendo.com>
13512
13513         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13514         Unlinking from a pad without a target is now a perfectly valid case
13515         which should NOT raise an assertion.
13516         This case would happen if a linked ghostpad its target set to NULL after
13517         it was previously linked.
13518
13519 2006-08-08  Edward Hervey  <edward@fluendo.com>
13520
13521         * tests/check/libs/gdp.c:
13522         Also comment out the test (see below).
13523
13524 2006-08-08  Edward Hervey  <edward@fluendo.com>
13525
13526         * tests/check/libs/gdp.c: (gst_dp_suite):
13527         Use the architecture information from config.h and not gcc macros
13528         in order to properly disable a test that fails on PPC64.
13529
13530 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
13531
13532         * gst/gstelement.c: (gst_element_remove_pad):
13533           Don't crash printing the warning if the pad has no parent.
13534
13535 2006-08-02  Wim Taymans  <wim@fluendo.com>
13536
13537         * libs/gst/dataprotocol/dataprotocol.c:
13538         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13539         (gst_dp_crc), (gst_dp_header_payload_length),
13540         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
13541         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
13542         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
13543         (gst_dp_event_from_packet), (gst_dp_validate_header),
13544         (gst_dp_validate_payload):
13545         Make debug category static
13546         Constify the crc table.
13547         Do some more arg checking in public functions.
13548         Fix some docs and do some small cleanups.
13549
13550         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
13551         Add some more checks to see if GDP deals with bogus input.
13552
13553 2006-07-31  Wim Taymans  <wim@fluendo.com>
13554
13555         * gst/gstvalue.c: (gst_value_compare_list):
13556         Fix GstValueList comparison code. Fixes #347293.
13557
13558         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13559         Check to test GstValueList comparison.
13560
13561 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13562
13563         * gst/gstelementfactory.c: (gst_element_factory_create):
13564         Remove unnecessary ref/unref pair
13565
13566         * gst/parse/grammar.y:
13567         Make sure to free the parse buffer on all code paths.
13568         Move a g_free up to the error handler where it's easier to see.
13569
13570         * tests/check/gst/gstevent.c: (test_event):
13571         Extending timeout for downstream travelling events to 10 seconds to
13572         hopefully avoid intermittent failure on the buildbots.
13573
13574         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13575         Don't manually set the state of the src element - it will happen as a
13576         natural consequence of the pipeline changing state, and that way it
13577         will do it in the right order too.
13578
13579 2006-07-31  Wim Taymans  <wim@fluendo.com>
13580
13581         * libs/gst/base/gstbasetransform.c:
13582         (gst_base_transform_buffer_alloc):
13583         Use OBJECT_LOCK and refcounting to get the pad caps in the
13584         buffer_alloc function because the caps could change while we are
13585         busy with them. Fixes #349105
13586
13587 2006-07-31  Wim Taymans  <wim@fluendo.com>
13588
13589         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13590         Protect _PAD_CAPS with OBJECT_LOCK.
13591
13592 2006-07-31  Wim Taymans  <wim@fluendo.com>
13593
13594         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13595         (gst_pad_get_property), (gst_pad_activate_pull),
13596         (gst_pad_activate_push), (gst_pad_set_blocked_async),
13597         (gst_pad_set_activate_function),
13598         (gst_pad_set_activatepull_function),
13599         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13600         (gst_pad_set_getrange_function),
13601         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13602         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13603         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13604         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13605         (gst_pad_set_acceptcaps_function),
13606         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13607         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13608         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13609         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13610         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13611         (gst_pad_configure_sink), (gst_pad_configure_src),
13612         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13613         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13614         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13615         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13616         (gst_pad_send_event):
13617         Use _DEBUG_OBJECT when it makes sense.
13618         Protect GST_PAD_CAPS with the OBJECT_LOCK.
13619         Small cleanups and code reflows.
13620         Avoid caps refcounting in _accept_caps.
13621         Refactor alloc_buffer so that the code performed on the peer is in a
13622         separate function. Also if the pad does not implement a buffer alloc
13623         function, we should still check if the pad is flushing before falling
13624         back to the default allocator.
13625
13626 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13627
13628         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13629         Make all uses of identity and fakesink have silent=true to avoid
13630         serialising every passing data structure, which is breaking tests
13631         on FC4 for some unknown reason.
13632
13633 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13634
13635         * gst/parse/Makefile.am:
13636         * gst/parse/grammar.y:
13637         * gst/parse/parse.l:
13638           Reverted previous patch as it required to bump the flex dependency to
13639           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13640
13641 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13642
13643         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13644
13645         * gst/parse/Makefile.am:
13646         * gst/parse/grammar.y:
13647         * gst/parse/parse.l:
13648           push & pop the state of the lexer for reentrant use case
13649           Fixes #349180
13650
13651 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
13652
13653         * libs/gst/base/gstbasesrc.h:
13654           Note in the docs that the ::newsegment vfunc is not actually used by
13655           GstBaseSrc.
13656
13657 2006-07-28  Wim Taymans  <wim@fluendo.com>
13658
13659         * libs/gst/base/gstcollectpads.c:
13660         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13661         (gst_collect_pads_clear), (gst_collect_pads_flush),
13662         (gst_collect_pads_event), (gst_collect_pads_chain):
13663         When flushing a pad, also clear the queued buffer so that we don't
13664         accidentally use it when we shouldn't.
13665         Fix leaks by inreffing incomming buffer.
13666         Flush out queued buffers in case of errors.
13667         Fixes #347452.
13668
13669 2006-07-28  Wim Taymans  <wim@fluendo.com>
13670
13671         * docs/random/phonon-gst:
13672         Random notes about a Phonon backend.
13673
13674 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13675
13676         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13677         Extra debug output
13678         * tests/check/libs/gdp.c: (gst_dp_suite):
13679         Take a whack at fixing the ppc compile using a different define to
13680         disable the broken test.
13681
13682         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13683         Remove excess g_print()
13684
13685 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13686
13687         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13688         Oops, meant to uncomment this line too to dampen the noise a bit.
13689
13690 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13691
13692         * gst/parse/grammar.y:
13693         * gst/parse/parse.l:
13694         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13695         (GST_START_TEST), (parse_suite):
13696         Fix some of the leaks exposed by extending the parse-launch testsuite,
13697         and move the 3 I can't figure out into a separate test that won't run
13698         the pipelines unless the appropriate line is uncommented.
13699
13700 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13701
13702         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13703           Requesting 0 bytes before the end of the file should result in
13704           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13705           unit test.
13706
13707 2006-07-27  Wim Taymans  <wim@fluendo.com>
13708
13709         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13710         Fix useless assert, a uint is always positive.
13711
13712         * gst/gststructure.c: (gst_structure_nth_field_name),
13713         (gst_structure_foreach), (gst_structure_map_in_place):
13714         Check input arguments for public functions to avoid obvious crashes.
13715
13716         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13717         * plugins/elements/gstfakesink.h:
13718         Do less useless typechecking.
13719
13720 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13721
13722         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13723           Do not use mmap() by default since there are a number of error
13724           conditions that we would like to handle in a non-fatal way that
13725           will result in a SIGBUS if we use mmap(). Examples: external
13726           devices (USB harddrive, portable music player) being unplugged
13727           while in use; file on mounted CD/DVD that can't be read because
13728           the medium is partly damaged. Fixes #348455 and #348475.
13729
13730 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13731
13732         * gst/gstquery.h:
13733         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13734         rates are a gdouble
13735
13736 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
13737
13738         * gst/gstregistry.c:
13739           Move big documentation comment into class section header, so that it
13740           appears in the API docs.
13741
13742 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13743
13744         * docs/gst/gstreamer-sections.txt:
13745         Oops. Commit the docs additions too for new API.
13746         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13747
13748 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13749
13750         * gst/gststructure.c: (gst_structure_id_set),
13751         (gst_structure_id_set_valist):
13752         * gst/gststructure.h:
13753         Add API for setting values into structures without performing
13754         a quark lookup, if the appropriate quark is already known.
13755
13756         API: gst_structure_id_set
13757         API: gst_structure_id_set_valist
13758
13759         * gst/parse/grammar.y:
13760         * gst/parse/parse.l:
13761         Remove some dead code shown by the coverage information.
13762         Don't throw a critical g_warning when encountering a syntax error,
13763         just warn and let the normal error path handle it.
13764
13765         * plugins/elements/gstelements.c:
13766         Bump the rank of filesink up to PRIMARY so that it is preferred over
13767         gnomevfssink for file:// sink uri's
13768
13769         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13770         (GST_START_TEST), (run_delayed_test),
13771         (gst_parse_test_element_base_init),
13772         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13773         (gst_parse_test_element_change_state),
13774         (gst_register_parse_element), (parse_suite):
13775         Beef up the tests for parse syntax to check that more error cases
13776         fail as they are supposed to. Increases the test coverage a bit.
13777
13778 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
13779
13780         * docs/manual/basics-elements.xml:
13781           Fix gst_element_link() example.
13782
13783         * gst/gstutils.c:
13784           Mention in API docs that one should usually gst_bin_add()
13785           elements to a bin or pipeline before doing the linking.
13786           
13787 2006-07-26  Wim Taymans  <wim@fluendo.com>
13788
13789         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13790         (gst_subbuffer_get_type), (gst_buffer_create_sub):
13791         Avoid function call for known types by keeping the buffer and
13792         subbuffer GType global.
13793
13794         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13795         Random silly optimisations in read() path.
13796
13797 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13798
13799         * tools/gst-launch.c: (main):
13800           If the top-level of the parse is a normal bin, it doesn't do the
13801           right logic to run as a top-level element, so place it inside a
13802           pipeline.
13803
13804 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
13805
13806         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13807           Remove superfluous g_object_notify() calls, GObject does
13808           that for us automatically.
13809
13810 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
13811
13812         * gst/gstinfo.h:
13813           on Win32, use dllspec to export the debug category symbols
13814
13815 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
13816
13817         * gst/gsttaglist.c: (_gst_tag_initialize):
13818           Allow more than one GST_TAG_IMAGE per taglist.
13819
13820 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13821
13822         * gst/gstminiobject.c:
13823           update docs
13824         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13825         (gst_fd_src_create):
13826           log recurring events at LOG level
13827           add more debug for when the fd gets set
13828
13829 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13830
13831         * gst/gstparse.c: (gst_parse_launch):
13832           Also remove reentrance checks if flex is MT safe (#348179)
13833          Fix my empty ChangeLog entry below
13834
13835 2006-07-21  Andy Wingo  <wingo@pobox.com>
13836
13837         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13838
13839         * libs/gst/check/Makefile.am
13840         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13841         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
13842         * libs/gst/check/gstbufferstraw.h:
13843         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13844         functions, thus proving I am still a GStreamer haxor. OK I wrote
13845         them a long time ago, but anyways.
13846
13847 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13848
13849         * configure.ac:
13850         * gst/gstparse.c: (gst_parse_launch):
13851           Check for flex version and omit mutex if we have a MT save flex
13852           (fixes #348179)
13853
13854 2006-07-21  Wim Taymans  <wim@fluendo.com>
13855
13856         * gst/gstparse.c: (gst_parse_launch):
13857         Protect recursive calls to _parse with a recursive mutex
13858         and busy flag.
13859
13860 2006-07-21  Wim Taymans  <wim@fluendo.com>
13861
13862         * tests/check/gst/gstpad.c: (GST_START_TEST):
13863         Fix leak in test.
13864
13865 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
13866
13867         * gst/gstparse.c: (gst_parse_launch):
13868           Do not hang on recursive usage of gst_parse_launch()
13869
13870 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13871
13872         * gst/gsttaglist.c:
13873           Add some more docs, comments and FIXME 0.11s here and there
13874           and also fix some typos.
13875
13876 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13877
13878         * gst/gstsegment.h:
13879           Convert tabs to spaces for better readability. 
13880
13881 2006-07-20  Edward Hervey  <edward@fluendo.com>
13882
13883         * tests/check/libs/gdp.c: (gst_dp_suite):
13884         the test_buffer test fails at line 140 on ppc64 at the following
13885         check:
13886         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13887                 GST_BUFFER_FLAG_IN_CAPS),
13888                 "GST_BUFFER_IN_CAPS flag should have been copied !");
13889         See bug #348114 for more details.
13890
13891 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
13892
13893         * docs/pwg/advanced-scheduling.xml:
13894         * gst/gstpad.c:
13895           Fix typos (#348000).
13896
13897 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
13898
13899         * docs/pwg/intro-basics.xml:
13900           Fix wrong links (#347927).
13901
13902 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
13903
13904         * gst/gstregistry.h:
13905         * gst/gstregistryxml.c: (load_feature),
13906         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13907         * win32/common/config.h:
13908           make --disable-index work (#342564)
13909
13910 2006-07-18  Wim Taymans  <wim@fluendo.com>
13911
13912         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13913
13914         * gst/Makefile.am:
13915         * gst/gsttrace.h:
13916         The attached patch adds two missing defines to gsttrace.h when tracing
13917         is disabled.  It also corrects one existing define.
13918         Fixes #347756.
13919
13920 2006-07-17  Wim Taymans  <wim@fluendo.com>
13921
13922         * docs/gst/gstreamer-sections.txt:
13923         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13924         * gst/gst.h:
13925         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13926         Add two functions to check and change the SIGSEGV behaviour
13927         when loading plugins.
13928         Don't mess with the SIGSEGV handler when we were told not to.
13929         Fixes #347794.
13930         API: gst_segtrap_is_enabled
13931         API: gst_segtrap_set_enabled
13932
13933 2006-07-14  Wim Taymans  <wim@fluendo.com>
13934
13935         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13936         * tests/check/elements/filesrc.c: (GST_START_TEST):
13937         Revert fix for regression in #347408 after release.
13938
13939 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
13940
13941         Patch by: Antoine Tremblay <hexa00 at gmail com>
13942
13943         * gst/gstutils.c: (gst_element_unlink):
13944           Free iterator when done (#347311).
13945
13946         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13947           And add a test case for this.
13948
13949 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
13950
13951         * configure.ac:
13952         Bump nano back to CVS
13953
13954 === release 0.10.9 ===
13955
13956 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
13957
13958         * configure.ac:
13959           releasing 0.10.9, "On the road again"
13960
13961 2006-07-13  Wim Taymans  <wim@fluendo.com>
13962
13963         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13964         * tests/check/elements/filesrc.c: (GST_START_TEST):
13965         Revert pull-0 fix for release. Disable check. Fixes #347408.
13966
13967 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13968
13969         * libs/gst/dataprotocol/dataprotocol.c:
13970         (gst_dp_event_from_packet_1_0):
13971           Fixes #347337: failure to deserialize event packets with
13972           empty payload (only event type)
13973
13974 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13975
13976         * gst/Makefile.am:
13977           do not install a .c file in the header directory
13978
13979 2006-07-13  Edward Hervey  <edward@fluendo.com>
13980
13981         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13982         GhostPad no longer implicitely use the padtemplates of the targets.
13983         Fixes #347384
13984
13985 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
13986
13987         * gst/gstvalue.c: (gst_value_compare_list),
13988         (gst_value_compare_array), (_gst_value_initialize):
13989         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13990         Make GstValueArray comparison be order dependent as designed.
13991         Add checks for value lists and value array comparisons.
13992         Fixes #347221
13993
13994 2006-07-11  Edward Hervey  <edward@fluendo.com>
13995
13996         * gst/gstbin.c: (activate_pads),
13997         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13998         (gst_bin_change_state_func):
13999         (de)activate src pads before calling state_change on the childs.
14000         This is to avoid the case where a src ghostpad is blocked (holding the
14001         stream lock), which would block the deactivation of the ghostpad's
14002         target pad.
14003         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
14004         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
14005         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
14006         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
14007         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
14008         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
14009         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
14010         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
14011         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
14012         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
14013         (gst_ghost_pad_class_init),
14014         (gst_ghost_pad_internal_do_activate_push),
14015         (gst_ghost_pad_internal_do_activate_pull),
14016         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
14017         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
14018         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
14019         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
14020         GhostPads now create their internal GstProxyPad at creation (and not
14021         when they're linked, as it was being done previously).
14022         The internal and target pads are linked straight away.
14023         The data will also travel through the other pad in order to make
14024         pad blocking and probes non-hackish (the probe/block now really happens
14025         on the GhostPad and not on the target).
14026         * gst/gstpad.c: (gst_pad_set_blocked_async),
14027         (gst_pad_link_prepare), (gst_pad_push_event):
14028         Remove previous ghostpad cruft.
14029         * gst/gstutils.c: (gst_pad_add_data_probe),
14030         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14031         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14032         (gst_pad_remove_buffer_probe):
14033         Remove previous ghost pad cruft.
14034         Added more detailed debug statements.
14035         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
14036         Fix the testsuite for refcounting changes.
14037         The comments about who has references were correct, but the refcount
14038         being checked wasn't the same (!?!).
14039
14040         Fixes #341029
14041
14042 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
14043
14044         * docs/gst/gstreamer-sections.txt:
14045         * gst/gstconfig.h.in:
14046         More docs for configuration options, add docs to gtk-doc.
14047
14048 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
14049
14050         * gst/Makefile.am:
14051         * gst/gstconfig.h.in:
14052         * win32/common/config.h:
14053         Fix build when disabling tracing (fixes #344016). Also start to document
14054         the defines that disable the sub-systems.
14055
14056 2006-07-10  Edward Hervey  <edward@fluendo.com>
14057
14058         * gst/gst.c: (ensure_current_registry_forking):
14059         let's make valgrind happy...
14060
14061 2006-07-09  Wim Taymans  <wim@fluendo.com>
14062
14063         * gst/gstelement.c: (activate_pads),
14064         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
14065         Better pad activation code: Reset the collect value too on resync.
14066         Add some comments.
14067
14068 2006-07-09  Wim Taymans  <wim@fluendo.com>
14069
14070         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
14071         (gst_pad_activate_push):
14072         Use some more macros where it makes sense.
14073         Allow pad mode switching instead of asserting. When a pad
14074         is activated in one mode and we activate it in another, 
14075         deactivate it first before activating it in a different mode.
14076         Fixes #329198.
14077
14078 2006-07-08  Andy Wingo  <wingo@pobox.com>
14079
14080         * tools/gst-launch.c (main): Handle err == NULL.
14081
14082         * gst/gst.c (init_post, ensure_current_registry)
14083         (ensure_current_registry_forking)
14084         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
14085         factoring out the registry scanning into separate functions. Don't
14086         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
14087         Better environment var name/interface suggestions accepted.
14088
14089 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
14090
14091         * gst/gstobject.c: (gst_object_set_name_default),
14092         (gst_object_set_name):
14093           Random micro-optimisation: don't use a hash table
14094           with strings as keys and the usual strdup/strcmp
14095           involved, but rather just use the GQuark of the
14096           type name as key, since it needs to be looked up
14097           anyway to get the type name string.
14098
14099         * tests/check/gst/gstobject.c: (GST_START_TEST):
14100           Fix various leaks.
14101
14102 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
14103
14104         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
14105         (gst_bin_iterate_all_by_interface):
14106           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
14107           GTypes are gulongs and thus the top 4 bytes might be cut
14108           off on some platforms when doing GPOINTER_TO_INT, leading
14109           to invalid GTypes and bad things happening (see RH bug #179654).
14110           Also add a check to make sure the type passed in is really
14111           an interface type.
14112
14113 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
14114
14115         * .cvsignore:
14116           Ignore more.
14117
14118 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
14119
14120         * Makefile.am:
14121         * configure.ac:
14122         * gst-element-check.m4:
14123         * gst-element-check.m4.in:
14124           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
14125           instead of the unversioned gst-inspect (#324176, #168659).
14126
14127 2006-07-06  Wim Taymans  <wim@fluendo.com>
14128
14129         * gst/gstmessage.h:
14130         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
14131         warnings.
14132
14133 2006-07-06  Wim Taymans  <wim@fluendo.com>
14134
14135         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14136         (gst_base_src_wait), (gst_base_src_update_length),
14137         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
14138         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
14139         (gst_base_src_loop), (gst_base_src_start),
14140         (gst_base_src_activate_pull):
14141         Update docs.
14142         blocksize == 0 now means the default blocksize when working in push
14143         based mode.
14144         Remove some pointless asserts in _wait function.
14145         Fix offset/length calculations and EOS handling. We can now pull 0
14146         bytes as well, which is allowed.
14147         use _check_get_range() to decide if we can operate in _pull based
14148         mode.
14149         Fix refcounting leak when check_get_range function was not 
14150         implemented.
14151         API GstBaseSrc::blocksize range can be 0 too now (default)
14152
14153         * tests/check/elements/filesrc.c: (GST_START_TEST),
14154         (filesrc_suite):
14155         Added check to test _get_range() behaviour.
14156
14157 2006-07-06  Wim Taymans  <wim@fluendo.com>
14158
14159         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14160         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
14161         (gst_pad_pull_range):
14162         * gst/gstpad.h:
14163         Lots of comments and docs added to the pad functions.
14164         Flesh out the expected behaviour of the get_range() functions.
14165
14166 2006-07-06  Wim Taymans  <wim@fluendo.com>
14167
14168         * gst/gstbus.h:
14169         * gst/gstclock.h:
14170         * gst/gstevent.h:
14171         * gst/gstiterator.h:
14172         * gst/gstpad.h:
14173         * gst/gstplugin.h:
14174         * gst/gsttask.h:
14175         Remove comma at end of enumerator list. 
14176
14177 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
14178
14179         * win32/common/libgstbase.def:
14180         * win32/common/libgstdataprotocol.def:
14181         * win32/common/libsgtreamer.def:
14182         Add new exported functions.
14183
14184 2006-07-05  Wim Taymans  <wim@fluendo.com>
14185
14186         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
14187         Add some more docs here and there.
14188
14189 2006-07-05  Wim Taymans  <wim@fluendo.com>
14190
14191         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
14192         (gst_base_sink_loop), (gst_base_sink_get_position):
14193         When operating in pull mode update the offset so that we
14194         read sequentially.
14195
14196 2006-07-05  Wim Taymans  <wim@fluendo.com>
14197
14198         * gst/gstregistryxml.c: (read_string):
14199         Avoid strdup. (will happen in libxml, but hey!)
14200
14201         * gst/gsturi.c:
14202         Add some more docs.
14203
14204 2006-07-05  Wim Taymans  <wim@fluendo.com>
14205
14206         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
14207         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
14208         (gst_buffer_suite):
14209         No point in checking if the size of the subbuffer > 0, the
14210         code handles it correclty as demonstrated by unit test.
14211         Also add a unit test for the zero sized _new_and_alloc and
14212         _copy. Fixes #346663.
14213
14214 2006-07-05  Wim Taymans  <wim@fluendo.com>
14215
14216         * libs/gst/base/gstbasetransform.c:
14217         (gst_base_transform_prepare_output_buffer),
14218         (gst_base_transform_buffer_alloc),
14219         (gst_base_transform_handle_buffer):
14220         Make sure the buffer we pass to transform_ip has a refcount of
14221         1 and thus is writable. Fixes #343196
14222
14223 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
14224
14225         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14226         (gst_file_src_init), (gst_file_src_set_property),
14227         (gst_file_src_get_property), (gst_file_src_map_region):
14228         * plugins/elements/gstfilesrc.h:
14229         Add "sequential" property, off by default, to use madvise and hint
14230         to the kernel that sequential access is desired.
14231         Touch all retrieved pages by default to ensure they are pulled
14232         into memory. (Closes #345720)
14233
14234 2006-07-03  Wim Taymans  <wim@fluendo.com>
14235
14236         * docs/design/part-block.txt:
14237         * docs/design/part-dynamic.txt:
14238         Small docs updates.
14239
14240 2006-07-03  Wim Taymans  <wim@fluendo.com>
14241
14242         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
14243         (gst_caps_unref), (gst_static_caps_get),
14244         (gst_caps_append_structure):
14245         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
14246         Use GSlice when the glib we build against is >= 2.10
14247
14248 2006-07-03  Wim Taymans  <wim@fluendo.com>
14249
14250         * gst/gstelement.c: (gst_element_pads_activate):
14251         Small cleanup in pad activation code.
14252
14253 2006-07-03  Wim Taymans  <wim@fluendo.com>
14254
14255         Patch by: Peter Kjellerstedt <pkj at axis dot com>
14256
14257         * gst/gst-i18n-app.h:
14258         * gst/gst-i18n-lib.h:
14259         * tools/gst-inspect.c: (print_signal_info):
14260         The attached patch will make the inclusion of gettext.h unconditional in
14261         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
14262         libintl.h in tools/gst-inspect.c.
14263         This allows use of --disable-nls again and fixes #344642.
14264
14265 2006-07-03  Edward Hervey  <edward@fluendo.com>
14266
14267         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
14268         Implement pad blocking on events according to part-block.txt.
14269         More comments on behaviour.
14270         * tests/check/gst/gstevent.c: (test_event):
14271         Send event to peer pad of blocked pad (else it will block).
14272
14273 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14274
14275         * libs/gst/check/gstcheck.c: (gst_check_message_error),
14276         (gst_check_run_suite):
14277           if we get the wrong message, give us the types as string
14278         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
14279           Fix a translatable
14280         * tests/check/elements/filesrc.c: (GST_START_TEST):
14281           add a test for trying to open a non-existing file
14282
14283 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14284
14285         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14286           add a test for adding self
14287
14288 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14289
14290         * libs/gst/check/gstcheck.h:
14291           add some assert_ as alias for fail_unless_*
14292         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
14293           increase test coverage
14294
14295 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14296
14297         * Makefile.am:
14298           include lcov.mak for lcov coverage generation
14299         * tools/Makefile.am:
14300           add to CLEANFILES
14301
14302 2006-07-02  Edward Hervey  <edward@fluendo.com>
14303
14304         * tests/check/elements/.cvsignore:
14305         moaping
14306
14307 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14308
14309         * configure.ac:
14310           don't set CFLAGS and friends for gcov, done from GST_GCOV now
14311         * tests/check/Makefile.am:
14312           clean up gcov files
14313
14314 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14315
14316         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
14317           remove gst_caps_simplify; it was not declared and not used
14318           and deprecated in 0.8
14319
14320 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14321
14322         * docs/faq/gst-uninstalled:
14323           don't put empty paths on PYTHONPATH
14324         * docs/gst/gstreamer-sections.txt:
14325           remove some symbols that are not there
14326
14327 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14328
14329         * gst/gstcaps.c: (gst_caps_compare_structures):
14330           whitespace fixes
14331         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
14332         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
14333           add more tests
14334
14335 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14336
14337         * libs/gst/dataprotocol/Makefile.am:
14338           build dataprotocol test by linking to the lib, instead of
14339           compiling the source, so we get coverage
14340         * tests/check/Makefile.am:
14341         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
14342         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
14343           add a test for filesrc
14344
14345 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14346
14347         * tests/check/gst/gststructure.c: (GST_START_TEST),
14348         (gst_structure_suite):
14349           Push coverage from 59.04% to 70.00%
14350
14351 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14352
14353         * tests/check/Makefile.am:
14354           gst-inspect every element; this makes sure that we also get
14355           coverage on element's get/set functions
14356
14357 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14358
14359         * configure.ac:
14360           set CFLAGS and friends to -O0 if gcov is being used
14361           add GCOV LIBS
14362         * gst/Makefile.am:
14363         * libs/gst/base/Makefile.am:
14364         * libs/gst/check/Makefile.am:
14365         * libs/gst/controller/Makefile.am:
14366         * libs/gst/dataprotocol/Makefile.am:
14367         * libs/gst/net/Makefile.am:
14368         * plugins/elements/Makefile.am:
14369         * plugins/indexers/Makefile.am:
14370           add makefile rules to generate gcov data and clean up
14371         * tests/check/Makefile.am:
14372           add a coverage target that generates an html overview
14373           of coverage data
14374
14375 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14376
14377         * tests/check/elements/fakesink.c:
14378         * tests/check/elements/fakesrc.c:
14379         * tests/check/elements/fdsrc.c:
14380         * tests/check/elements/identity.c:
14381         * tests/check/generic/sinks.c: (gst_sinks_suite):
14382         * tests/check/generic/states.c:
14383         * tests/check/gst/gst.c:
14384         * tests/check/gst/gstabi.c:
14385         * tests/check/gst/gstbin.c:
14386         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
14387         * tests/check/gst/gstbus.c: (gst_bus_suite):
14388         * tests/check/gst/gstcaps.c: (GST_START_TEST):
14389         * tests/check/gst/gstelement.c:
14390         * tests/check/gst/gstevent.c: (gst_event_suite):
14391         * tests/check/gst/gstghostpad.c:
14392         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
14393         * tests/check/gst/gstmessage.c: (gst_message_suite):
14394         * tests/check/gst/gstminiobject.c:
14395         * tests/check/gst/gstobject.c:
14396         * tests/check/gst/gstpad.c:
14397         * tests/check/gst/gstpipeline.c:
14398         * tests/check/gst/gstplugin.c:
14399         * tests/check/gst/gstquery.c: (gst_query_suite):
14400         * tests/check/gst/gstsegment.c: (gst_segment_suite):
14401         * tests/check/gst/gststructure.c:
14402         * tests/check/gst/gstsystemclock.c:
14403         * tests/check/gst/gsttag.c:
14404         * tests/check/gst/gsttask.c: (gst_task_suite):
14405         * tests/check/gst/gstutils.c:
14406         * tests/check/gst/gstvalue.c:
14407         * tests/check/libs/adapter.c:
14408         * tests/check/libs/basesrc.c:
14409         * tests/check/libs/collectpads.c:
14410         * tests/check/libs/controller.c:
14411         * tests/check/libs/gdp.c: (gst_dp_suite):
14412         * tests/check/libs/gstnetclientclock.c:
14413         * tests/check/libs/gstnettimeprovider.c:
14414         * tests/check/libs/libsabi.c: (libsabi_suite):
14415         * tests/check/libs/typefindhelper.c:
14416         * tests/check/pipelines/cleanup.c:
14417         * tests/check/pipelines/parse-launch.c:
14418         * tests/check/pipelines/simple-launch-lines.c:
14419         * tests/check/pipelines/stress.c: (stress_suite):
14420           use the new macro
14421
14422 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14423
14424         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
14425         * libs/gst/check/gstcheck.h:
14426           create a macro and function so that the simple unit test
14427           case can be just one macro to create main()
14428
14429 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
14430
14431         * gst/gstbin.c: (gst_bin_restore_thyself):
14432         * gst/gstxml.c: (gst_xml_make_element):
14433           Fix deserialisation from XML. Set parent manually
14434           instead of using gst_bin_add(), since gst_bin_add()
14435           will unlink all pads of the element being added.
14436           Fixes #341667.
14437
14438 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
14439
14440         Patch by: Peter Kjellerstedt <pkj at axis com>
14441
14442         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
14443           Fix missing g_strdup() and double free when using the
14444           --gst-plugin-load command line option (#346097).
14445
14446 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14447
14448         * gst/gstinfo.c:
14449           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
14450
14451         * libs/gst/net/gstnetclientclock.c:
14452         * libs/gst/net/gstnettimeprovider.c:
14453           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
14454
14455 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14456
14457         * docs/manual/advanced-dataaccess.xml:
14458           Fix buffer probe example compilation in
14459           ADM (#345708).
14460         
14461 2006-06-22  Edward Hervey  <edward@fluendo.com>
14462
14463         * gst/gstelement.c: (gst_element_pads_activate):
14464         We need to deactivate src pads first and then sink pads.
14465         The reason is the src pads might be blocking while holding the streaming
14466         lock, so we need to deactivate them first so that deactivating the sink
14467         pads doesn't block (since it will require the streaming lock).
14468
14469 2006-06-22  Wim Taymans  <wim@fluendo.com>
14470
14471         * libs/gst/base/gstbasetransform.c:
14472         (gst_base_transform_buffer_alloc):
14473         Forgot to remove two unneeded unrefs.
14474         Simplify a check _is_equal allready checks the obvious case.
14475
14476 2006-06-22  Wim Taymans  <wim@fluendo.com>
14477
14478         * docs/design/part-block.txt:
14479         Some docs about what pad_block should do.
14480
14481 2006-06-22  Wim Taymans  <wim@fluendo.com>
14482
14483         * gst/gstcaps.c: (gst_caps_replace):
14484         Fix crasher when passed NULL. Doc clarification.
14485         Optimize for the trivial case.
14486
14487         * gst/gstpipeline.c: (gst_pipeline_change_state):
14488         Small cleanups.
14489
14490         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14491         Small documentation cleanup.
14492
14493         * libs/gst/base/gstbasetransform.c:
14494         (gst_base_transform_buffer_alloc):
14495         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
14496         is what we need and it avoids a whole lot of redundant 
14497         refcount operations.
14498
14499 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
14500
14501         Patch by: Philip Jägenstedt  <philip at lysator liu se>
14502
14503         * docs/manual/advanced-dataaccess.xml:
14504           Fix 'Embedding static elements' section to use
14505           GST_PLUGIN_DEFINE_STATIC (#345607).
14506
14507 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14508
14509         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
14510           Attempt to 'fix' spuriously failing test case: it seems like the
14511           timeout of half a second is simply too small when the system is under
14512           load otherwise, and the timeout doesn't really seem to serve any
14513           particular purpose here. Give the pipeline a few seconds to preroll
14514           first, and then give it another half a second to go from PAUSED to
14515           PLAYING and marshal the message into the main thread.
14516
14517 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14518
14519         * tools/gst-feedback-m.m:
14520           Don't only use unversioned tools, try versioned tools as well
14521           (#345086).
14522
14523 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14524
14525         * gst/gstbus.c: (gst_bus_class_init):
14526           Fix some typos, make docs more explicit.
14527
14528 2006-06-20  Wim Taymans  <wim@fluendo.com>
14529
14530         * tests/check/gst/gstghostpad.c: (block_callback),
14531         (GST_START_TEST), (gst_ghost_pad_suite):
14532         Added some more ghostpad tests, mainly blocking
14533         and probes.
14534
14535 2006-06-16  Wim Taymans  <wim@fluendo.com>
14536
14537         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
14538         (gst_file_sink_close_file), (gst_file_sink_do_seek),
14539         (gst_file_sink_event), (gst_file_sink_render):
14540         * plugins/elements/gstfilesink.h:
14541         Check if we can seek in the file instead of assuming
14542         we always can. Post an error when we are asked to seek in a
14543         non-seekable file (like a fifo). Fixes #343312.
14544         Some cleanups.
14545
14546 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14547
14548         * tools/gst-launch.1.in:
14549           Un-garble (fourcc) bit in filtered caps section.
14550
14551 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14552
14553         * docs/manual/advanced-autoplugging.xml:
14554         * docs/manual/basics-helloworld.xml:
14555         * docs/manual/highlevel-components.xml:
14556           Don't leak bus reference in sample code.
14557
14558 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
14559
14560         * autogen.sh:
14561           Add default for new --enable-plugin-docs switch.
14562
14563         * configure.ac:
14564           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14565           Fixes #344039.
14566
14567         * docs/Makefile.am:
14568           Use new ENABLE_PLUGIN_DOCS conditional.
14569
14570 2006-06-14  Wim Taymans  <wim@fluendo.com>
14571
14572         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14573         Make it clear with a FIXME and a real define what the #if 0
14574         previously disabled.
14575
14576 2006-06-14  Wim Taymans  <wim@fluendo.com>
14577
14578         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14579         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14580         * libs/gst/base/gstbasetransform.c:
14581         (gst_base_transform_sink_eventfunc):
14582         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14583         Don't randomly and silently reset a segment when the format 
14584         changes as this is a bug somewhere upstream. Fixes #330379.
14585
14586 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
14587
14588         Patch by: Wouter Paesen  <wouter at kangaroot net>
14589
14590         * libs/gst/controller/gstcontroller.c:
14591         (gst_controlled_property_new):
14592           Fix controlling of float properties (#344849).
14593
14594         * tests/check/libs/controller.c:
14595         (gst_test_mono_source_get_property),
14596         (gst_test_mono_source_set_property),
14597         (gst_test_mono_source_class_init), (GST_START_TEST):
14598           While we're at it, add some float stuff to unit test.
14599
14600 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14601
14602         * docs/README:
14603         * docs/images/gdp-header.svg:
14604           add a gdp image
14605         * docs/libs/Makefile.am:
14606         * docs/libs/gdp-header.png:
14607         * libs/gst/dataprotocol/dataprotocol.c:
14608           add it to the API docs
14609         * docs/manual/intro-motivation.xml:
14610           fix typo
14611
14612 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14613
14614         * gst/gst.c: (scan_and_update_registry), (init_post):
14615           If the fork()'ed child process can't write the updated registry cache
14616           file to disk for some reason, make it exit with a failure exit code,
14617           so that the parent can then re-scan the plugins itself and update the
14618           registry structures in memory and work with that (rather than failing
14619           when creating elements because seemingly no plugins are available).
14620           Refactor registry scanning code into separate function for this and
14621           also separate fork() and non-fork() code paths. Fixes #344748.
14622
14623 2006-06-13  Wim Taymans  <wim@fluendo.com>
14624
14625         * docs/manual/advanced-dataaccess.xml:
14626         Fix wrong PluginDesc. Fixes #344755.
14627
14628 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14629
14630         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14631           Fix silly bug that prevented us from creating
14632           ~/.gstreamer-0.10 and writing the registry in one
14633           go (the first call to g_mkstemp() would overwrite the
14634           placeholder in the template string, so the second call
14635           to g_mkstemp() after creating the missing directory
14636           would then error out with 'invalid argument').
14637
14638 2006-06-13  Edward Hervey  <edward@fluendo.com>
14639
14640         * gst/gst.c: (init_post):
14641         Free string.
14642
14643 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14644
14645         * gst/glib-compat-private.h:
14646         * gst/glib-compat.c:
14647         * gst/glib-compat.h:
14648         * gst/gstvalue.c: (gst_value_serialize_flags):
14649           remove GLib 2.6 compatibility code
14650
14651 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
14652
14653         * gst/parse/Makefile.am:
14654           Fix build with 'make -j N' even more (#340016).
14655
14656 2006-06-12  Wim Taymans  <wim@fluendo.com>
14657
14658         * docs/gst/gstreamer-sections.txt:
14659         Fix docs.
14660
14661 2006-06-12  Wim Taymans  <wim@fluendo.com>
14662
14663         * gst/gstsegment.c: (gst_segment_set_duration),
14664         (gst_segment_set_last_stop), (gst_segment_set_seek),
14665         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14666         (gst_segment_to_running_time), (gst_segment_clip):
14667         Use G_UNLIKELY to help the compiler a bit.
14668
14669 2006-06-12  Wim Taymans  <wim@fluendo.com>
14670
14671         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14672
14673         * gst/gstevent.c: (gst_event_get_type):
14674         * gst/gstmessage.c:
14675         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14676         (gst_pad_push):
14677         constify quark registration strings. Fixes #344115
14678         Avoid unneeded type checking is _pad_push() by internally
14679         calling gst_pad_chain_unchecked().
14680
14681 2006-06-12  Wim Taymans  <wim@fluendo.com>
14682
14683         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14684         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14685         (gst_subbuffer_finalize), (gst_buffer_create_sub),
14686         (gst_buffer_is_span_fast), (gst_buffer_span):
14687         Init _type for consistency.
14688         Use _FLAGS macro to avoid type check.
14689         Avoid unneeded type checks in subbufer code.
14690
14691 2006-06-12  Wim Taymans  <wim@fluendo.com>
14692
14693         * gst/gst.c: (gst_debug_help):
14694         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14695         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14696         (gst_plugin_feature_list_free):
14697         * gst/gstregistry.c: (gst_registry_add_plugin),
14698         (gst_registry_add_feature), (gst_registry_plugin_filter),
14699         (gst_registry_feature_filter), (gst_registry_find_plugin),
14700         (gst_registry_find_feature), (gst_registry_get_plugin_list),
14701         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14702         * gst/gstregistryxml.c: (load_feature),
14703         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14704         * gst/gstminiobject.c: (gst_mini_object_unref),
14705         (gst_mini_object_replace), (gst_value_mini_object_free),
14706         (gst_value_mini_object_copy):
14707         Use _CAST macros to avoid unneeded type checking.
14708         Added some more G_UNLIKELY.
14709
14710 2006-06-12  Wim Taymans  <wim@fluendo.com>
14711
14712         * gst/gstbuffer.h:
14713         Avoid unneeded type checking.
14714         API: GST_BUFFER_IS_DISCONT
14715
14716         * gst/gstminiobject.h:
14717         Avoid type check in flag accessor.
14718
14719         * gst/gstelementfactory.h:
14720         * gst/gstplugin.h:
14721         * gst/gstpluginfeature.h:
14722         Add _CAST macros.
14723         API: GST_ELEMENT_FACTORY_CAST
14724         API: GST_PLUGIN_CAST
14725         API: GST_PLUGIN_FEATURE_CAST
14726
14727 2006-06-12  Wim Taymans  <wim@fluendo.com>
14728
14729         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14730         (gst_object_unref):
14731         Add G_UNLIKELY in type registration.
14732         Avoid type check in _ref/_unref since that is also
14733         done in glib.
14734
14735 2006-06-12  Wim Taymans  <wim@fluendo.com>
14736
14737         * gst/gsterror.c: (gst_g_error_get_type):
14738         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14739         (gst_static_pad_template_get_type):
14740         * gst/gsttaglist.c: (gst_tag_list_get_type):
14741         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14742         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14743         * gst/gsturi.c: (gst_uri_handler_get_type):
14744         * gst/gstvalue.c: (gst_date_get_type):
14745         * gst/gstxml.c: (gst_xml_get_type):
14746         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14747         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14748         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14749         Add G_UNLIKELY in type registration.
14750
14751 2006-06-12  Wim Taymans  <wim@fluendo.com>
14752
14753         * tools/gst-inspect.c: (print_signal_info):
14754         Properly print enum values.
14755
14756 2006-06-12  Wim Taymans  <wim@fluendo.com>
14757
14758         * gst/gstinfo.c: (gst_debug_set_active),
14759         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14760         * gst/gstinfo.h:
14761         Add some G_[UN]LIKELY.
14762         Maintain __gst_debug_min to avoid formatting the arguments of
14763         debug messages that will be dropped anyway to avoid a lot of 
14764         overhead from the debugging system.
14765
14766 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14767
14768         * po/POTFILES.in:
14769         * po/POTFILES.skip:
14770           add missing files containing translatable strings, tell intltool about
14771           one exception
14772
14773 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14774
14775         * tests/check/libs/.cvsignore:
14776         add test-binary to ignore list
14777
14778 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14779
14780         * docs/libs/gstreamer-libs-docs.sgml:
14781         reorder (put dp into a chapter) and indent
14782
14783 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14784
14785         * configure.ac:
14786           back to HEAD
14787
14788 === release 0.10.8 ===
14789
14790 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
14791
14792         * configure.ac:
14793           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14794
14795 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14796
14797         * gst/gst.c: (init_post):
14798           move pid declaration to declaration block
14799
14800 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14801
14802         * gst/gst.c: (init_post):
14803           use _exit() instead of exit() in our forked child; this ensures
14804           that none of the registered exit handlers from whatever is using
14805           GStreamer get executed.  This fixes gnome-mixer-applet failing
14806           to load, because ORBit would shut down.
14807           Spotted by: Edward Hervey  <edward@fluendo.com>
14808           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
14809           Fixes #344474
14810
14811 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14812
14813         * configure.ac:
14814           back to TRUNK
14815
14816 === release 0.10.7 ===
14817
14818 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
14819
14820         * configure.ac:
14821           releasing 0.10.7, "Soepeke, ik zie ou"
14822
14823 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14824
14825         * configure.ac:
14826         * po/af.po:
14827         * po/az.po:
14828         * po/bg.po:
14829         * po/ca.po:
14830         * po/cs.po:
14831         * po/de.po:
14832         * po/en_GB.po:
14833         * po/fr.po:
14834         * po/it.po:
14835         * po/nb.po:
14836         * po/nl.po:
14837         * po/ru.po:
14838         * po/sq.po:
14839         * po/sr.po:
14840         * po/sv.po:
14841         * po/tr.po:
14842         * po/uk.po:
14843         * po/vi.po:
14844         * po/zh_CN.po:
14845         * po/zh_TW.po:
14846         * win32/common/config.h:
14847           0.10.6.2 prerelease
14848
14849 2006-06-07  Wim Taymans  <wim@fluendo.com>
14850
14851         * gst/gstindex.c: (gst_index_gtype_resolver):
14852         * tools/gst-xmlinspect.c: (print_plugin_info):
14853         Fix leak spotted by coverity checker. Fixes #343827
14854         Fix another other leak found by paolo borelli.
14855
14856 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14857
14858         * libs/gst/dataprotocol/dataprotocol.c:
14859         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14860         (gst_dp_version_get_type), (gst_dp_init),
14861         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14862         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14863         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14864         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14865         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14866         (gst_dp_packetizer_free):
14867         * libs/gst/dataprotocol/dataprotocol.h:
14868           API: add a GstDPPacketizer object, and create/free functions
14869           API: add GstDPVersion enum
14870           Add 1.0 event function that uses the string serialization
14871           Serialize more useful buffer flags
14872           Fixes #343988
14873
14874 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14875
14876         * tests/check/Makefile.am:
14877         * tests/check/gst/gstabi.c:
14878         * tests/check/gst/struct_ppc64.h:
14879         * tests/check/libs/libsabi.c:
14880         * tests/check/libs/struct_ppc64.h:
14881           add ppc64 structure sizes
14882
14883 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14884
14885         * tests/check/Makefile.am:
14886         * tests/check/gst/gstabi.c:
14887         * tests/check/gst/struct_x86_64.h:
14888         * tests/check/libs/libsabi.c:
14889         * tests/check/libs/struct_x86_64.h:
14890           generate and add structure size lists for x86_64
14891
14892 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14893
14894         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14895         * libs/gst/check/gstcheck.h:
14896           factor out the method from tests that checks size of structures,
14897           and add code to generate the header containing these sizes
14898         * tests/check/gst/gstabi.c: (GST_START_TEST):
14899         * tests/check/gst/struct_i386.h:
14900         * tests/check/libs/libsabi.c: (GST_START_TEST):
14901         * tests/check/libs/struct_i386.h:
14902           use it
14903
14904 2006-06-06  Michael Smith  <msmith@fluendo.com>
14905
14906         * gst/gstsegment.h:
14907           Don't use c++-style comments, fixes #343929
14908
14909 2006-06-05  Edward Hervey  <edward@fluendo.com>
14910
14911         * gst/gst.c:
14912         plugin_paths is not used if we build without registry support.
14913
14914         * gst/gstsegment.c: (gst_segment_copy): 
14915         _copy() was always returning NULL...
14916
14917 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14918
14919         * libs/gst/dataprotocol/dataprotocol.c:
14920         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14921         (gst_dp_packet_from_event):
14922           factor out CRC code
14923
14924 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14925
14926         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14927           make sure we unset caps
14928
14929 2006-06-02  Michael Smith  <msmith@fluendo.com>
14930
14931         * libs/gst/check/gstcheck.c: (gst_check_init),
14932         (gst_check_chain_func):
14933         * libs/gst/check/gstcheck.h:
14934           Add a cond/mutex to the check support lib, signal this whenever we
14935           add to the buffers list. This will allow tests to not busy-wait on
14936           the buffer-list.
14937
14938 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14939
14940         * libs/gst/dataprotocol/dataprotocol.c:
14941         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14942         (gst_dp_packet_from_event):
14943           factor out some common header init code
14944
14945 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14946
14947         * docs/libs/gstreamer-libs-sections.txt:
14948         * docs/libs/tmpl/gstdataprotocol.sgml:
14949         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14950         * libs/gst/dataprotocol/dataprotocol.h:
14951           API: make gst_dp_crc() public
14952
14953 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14954
14955         * plugins/indexers/gstindexers.c: (plugin_init):
14956         conditionally register fileindexer (fixes #343598)
14957
14958 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14959
14960         * gst/gsttagsetter.h:
14961         Can't cast ifaces to a class
14962
14963         * libs/gst/net/gstnetclientclock.h:
14964         * libs/gst/net/gstnettimeprovider.h:
14965         * plugins/elements/gstfakesink.h:
14966         * plugins/elements/gstfakesrc.h:
14967         * plugins/elements/gstfdsink.h:
14968         * plugins/elements/gstfdsrc.h:
14969         * plugins/elements/gstfilesink.h:
14970         * plugins/elements/gstfilesrc.h:
14971         * plugins/elements/gstidentity.h:
14972         * plugins/elements/gstqueue.h:
14973         * plugins/elements/gsttee.h:
14974         * plugins/indexers/gstfileindex.c:
14975         * plugins/indexers/gstmemindex.c:
14976         * tests/old/examples/plugins/example.h:
14977         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14978
14979 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14980
14981         * libs/gst/dataprotocol/dataprotocol.c:
14982         (gst_dp_header_from_buffer):
14983           make sure we zero the whole ABI-compatible area
14984
14985 2006-06-01  Wim Taymans  <wim@fluendo.com>
14986
14987         Patch by: Alessandro Decina <alessandro at nnva dot org>
14988
14989         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14990         Make sure the EOS flag is cleared from pads after a flush
14991         or stop. Fixes #343538.
14992
14993         * tests/check/libs/collectpads.c: (GST_START_TEST),
14994         (gst_collect_pads_suite):
14995         Added test for collectpads reusage after EOS.
14996
14997 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
14998
14999         * gst/gst.c:
15000          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
15001         * win32/common/libgstbase.def:
15002          export gst_collect_pads_set_flushing
15003         * win32/common/libgstreamer.def:
15004          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
15005          gst_value_fraction_multiply
15006         * win32/vs6/gst_inspect.dsp:
15007          add a link to intl.lib
15008
15009 2006-05-30  Wim Taymans  <wim@fluendo.com>
15010
15011         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
15012         (gst_collect_pads_chain):
15013         Handle the case where a pad is removed from the collection
15014         that could cause the other pads to become collectable.
15015
15016 2006-05-30  Wim Taymans  <wim@fluendo.com>
15017
15018         * gst/gstelement.c:
15019         Clarify the use of _release_request_pad() and
15020         _get_request_pad() a bit better.
15021
15022         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
15023         (gst_adapter_take_buffer):
15024         Fix some doc and comment typos.
15025
15026 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15027
15028         * docs/gst/gstreamer-sections.txt:
15029         * docs/libs/gstreamer-libs-sections.txt:
15030           add declared symbols
15031
15032 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
15033
15034         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
15035         Add debug that can be enabled using a #define at the top of the file,
15036         for dumping stats about how late/early we were when waking up from
15037         waiting on the clock.
15038
15039 2006-05-30  Wim Taymans  <wim@fluendo.com>
15040
15041         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
15042         When rebuilding the pad list, don't leak the previous list.
15043
15044 2006-05-30  Wim Taymans  <wim@fluendo.com>
15045
15046         Patch by: Lutz Mueller <lutz at topfrose dot de>
15047
15048         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15049         (gst_base_src_get_query_types), (gst_base_src_update_length):
15050         Publish supported query types.
15051         Update last_stop field in get_range mode so the position
15052         query works. Fixes #342321.
15053
15054 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
15055
15056         * docs/gst/gstreamer-sections.txt:
15057         * gst/gsttaglist.c: (_gst_tag_initialize):
15058         * gst/gsttaglist.h:
15059           API: add GST_TAG_PREVIEW_IMAGE (#343341).
15060
15061 2006-05-30  Wim Taymans  <wim@fluendo.com>
15062
15063         Patch by: Alessandro Decina <alessandro at nnva dot org>
15064
15065         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
15066         Unlock mutex when removing an unknown pad.
15067         Fixes #343334.
15068
15069         * tests/check/Makefile.am:
15070         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
15071         (push_event), (setup), (teardown), (GST_START_TEST),
15072         (gst_collect_pads_suite), (main):
15073         Added collecpads check, disabled for now as check crashes for
15074         some reason.
15075
15076 2006-05-29  Wim Taymans  <wim@fluendo.com>
15077
15078         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
15079         Don't leak pads lists.
15080
15081 2006-05-29  Wim Taymans  <wim@fluendo.com>
15082
15083         * docs/libs/gstreamer-libs-sections.txt:
15084         * libs/gst/base/gstcollectpads.c:
15085         (gst_collect_pads_set_flushing_unlocked),
15086         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15087         (gst_collect_pads_stop):
15088         * libs/gst/base/gstcollectpads.h:
15089         API: gst_collect_pads_set_flushing()
15090         Added api to set the pads to flushing, useful for seeking
15091         code in elements using collectpads.
15092         Clear segment when receiving a flush.
15093
15094 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
15095
15096         * gst/gst.c: (add_path_func), (init_post):
15097           Don't scan registry paths passed via --gst-plugin-path immediately
15098           (will crash, because absolutely nothing is set up and no types are
15099           registered etc.); do this later in init_post(). Fixes #343057.
15100
15101 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15102
15103         * gst/gst.c: (init_post):
15104           if we have fork, fork while reading/rebuilding the registry
15105           so the parent doesn't take the hit of having all plugins loaded
15106           in memory.  Fixes #342777.
15107         * configure.ac:
15108           Check if we have fork()
15109         * win32/common/config.h.in:
15110           no fork() on win32
15111
15112 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
15113
15114         * plugins/elements/gstelements.c:
15115         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
15116         (gst_file_src_init), (gst_file_src_set_property),
15117         (gst_file_src_get_property), (gst_file_src_start):
15118         * plugins/elements/gstfilesrc.h:
15119           API: GstFileSrc::use-mmap
15120
15121         Add a use-mmap property to enable easier testing of all code paths.
15122         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
15123         in the absence of gnomevfssrc. (Closes #340501)
15124
15125 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
15126
15127         * tools/gst-inspect.c:
15128         Add missing include, removes warning of ngettext not being defined on
15129         some arches.
15130
15131 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
15132
15133         * gst/gstvalue.c: (gst_value_deserialize_fraction):
15134         Handle NULL input and output pointers silently as a failed conversion,
15135         rather than g_warnings.
15136
15137 2006-05-25  Wim Taymans  <wim@fluendo.com>
15138
15139         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
15140         Initialize variable before using. Fixes #342820.
15141
15142 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
15143
15144         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
15145           Fix off-by-one bug that would only allow peeks of N-1 bytes
15146           from the start even if the buffer to typefind on contains
15147           in fact N bytes of data (makes vorbis typefinding from a
15148           vorbis identification header buffer work).
15149
15150         * tests/check/Makefile.am:
15151         * tests/check/libs/.cvsignore:
15152         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
15153         (gst_typefindhelper_suite), (main), (foobar_typefind),
15154         (plugin_init):
15155           Add very basic unit test for gst_type_find_helper_for_buffer()
15156           that checks for the problem fixed above.
15157
15158 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15159
15160         * tools/gst-inspect.c: (print_interfaces),
15161         (print_element_properties_info), (print_element_list), (main):
15162           add more translatable strings
15163
15164 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
15165
15166         Patch by: Julien Moutte  <julien at moutte net>
15167
15168         * docs/gst/gstreamer-sections.txt:
15169           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
15170           
15171         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
15172         (gst_fake_sink_preroll):
15173         * plugins/elements/gstfakesink.h:
15174           API: Add new GstFakeSink::preroll-handoff signal (#337100).
15175
15176 2006-05-23  Wim Taymans  <wim@fluendo.com>
15177
15178         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
15179         * gst/gstpad.h:
15180         Added _CUSTOM error and success GstFlowReturn that can be
15181         used be elements internally. 
15182         Added macro to check for SUCCESS flowreturns.
15183         API: GST_FLOW_CUSTOM_SUCCESS
15184         API: GST_FLOW_CUSTOM_ERROR
15185         API: GST_FLOW_IS_SUCCESS
15186
15187         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
15188         Added check for GstFlowReturn sanity.
15189
15190 2006-05-23  Wim Taymans  <wim@fluendo.com>
15191
15192         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
15193
15194         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
15195         (gst_collect_pads_event):
15196         clear/reset segment info in FLUSH_STOP.
15197         Fixes #336929.
15198
15199 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
15200
15201         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
15202         (gst_collect_pads_check_collected):
15203         Flush queued buffer on _stop(), fixes playing again (#342454)
15204
15205 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15206
15207         * tests/check/gst/gststructure.c: (GST_START_TEST),
15208         (gst_structure_suite):
15209           add a test for a complete structure
15210
15211 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
15212
15213         * docs/faq/developing.xml:
15214         * docs/faq/faq.xml:
15215         * docs/faq/troubleshooting.xml:
15216         * docs/faq/using.xml:
15217           Some minor FAQ updates that won't change the fact that
15218           our FAQ is badly structured, full of information hardly
15219           anyone new to GStreamer needs to know and lacking lots
15220           of information people constantly ask for.
15221           
15222 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
15223
15224         * gst/gstpad.c: (gst_pad_set_caps):
15225           Short-circuit gst_pad_set_caps if setting the existing
15226           caps pointer again, and avoid printing debug and 
15227           reffing/unreffing the caps.
15228
15229         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15230           There's actually no need to set the caps before pushing -
15231           the acceptcaps method will handle it anyway.
15232
15233 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
15234
15235         * docs/gst/gstreamer-sections.txt:
15236         * win32/common/libgstreamer.def:
15237         * gst/gstutils.c: (gst_element_seek_simple):
15238         * gst/gstutils.h:
15239           API: add gst_element_seek_simple() (#342238).
15240
15241 2006-05-18  Edward Hervey  <edward@fluendo.com>
15242
15243         * gst/gsttypefind.c: (gst_type_find_get_type):
15244         * gst/gsttypefind.h:
15245         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
15246         registered for GstTypeFind pointers. This allows wrapping the structure
15247         in bindings (i.e. gst-python).
15248
15249 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
15250
15251         * gst/gsttagsetter.c:
15252           Docs additions and fixes (see #339918).
15253
15254 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
15255
15256         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
15257         The caps intersection algorithm can produce multiple copies of the
15258         caps. Until that is fixed, we need to simplify the result to be
15259         sure whether the allowed caps are fixed or not.
15260
15261         * plugins/elements/gstqueue.c: (gst_queue_init),
15262         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
15263         (gst_queue_push_one):
15264         Proxied buffer alloc should not set the caps on the source pad.
15265         When pushing buffers, we always accept the caps change that triggers.
15266         This prevents negotiation errors caused by caps changing mid-stream 
15267         and then being refused on our source pad (because upstream is now
15268         refusing those caps).
15269
15270 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
15271
15272         * tests/examples/helloworld/helloworld.c: (main):
15273           Must plug audioconvert and audioresample between decoder
15274           and audio sink.
15275
15276 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
15277
15278         * gst/gstregistryxml.c: (read_string), (load_pad_template),
15279         (load_feature), (load_plugin):
15280         Allow empty strings for some of the plugin fields so we don't 
15281         drop valid plugin entries that were written out correctly
15282         (Fixes #341479)
15283
15284 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
15285         
15286         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
15287           Use g_remove and g_rename instead of remove and rename that don't 
15288           handle utf8 characters. rename was failing for users who had specific
15289           characters in their name then the registry was built at each 
15290           gstreamer init.
15291         * win32/vs6/gst_inspect.dsp:
15292         * win32/vs6/gst_launch.dsp:
15293         * win32/vs6/libgstbase.dsp:
15294         * win32/vs6/libgstcoreelements.dsp:
15295         * win32/vs6/libgstreamer.dsp:
15296           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
15297           build of libgstreamer and clean unused libraries in projects link 
15298           settings.
15299
15300 2006-05-17  Edward Hervey  <edward@fluendo.com>
15301
15302         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15303         The queue is not responsible for pushing an EOS when receiving a fatal
15304         flow error. It's up to the real element driving the pipeline to do that.
15305
15306 2006-05-16  Edward Hervey  <edward@fluendo.com>
15307
15308         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15309         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
15310         buffer returned a fatal error. It should just send an EOS and stop
15311         its task.
15312         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
15313         when pushing buffers on the queue and will be able to handle the event.
15314
15315 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
15316
15317         * docs/manual/basics-bins.xml:
15318         * docs/manual/basics-init.xml:
15319           Fix typos and minor errors in sample code (#341856).
15320
15321 2006-05-16  Wim Taymans  <wim@fluendo.com>
15322
15323         * docs/design/part-qos.txt:
15324         Fix indexes in formulas to make more sense.
15325
15326 2006-05-15  Wim Taymans  <wim@fluendo.com>
15327
15328         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15329         Don't report POSITION based on clock time if sync is
15330         disabled in a sink.
15331
15332 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
15333
15334         * gst/gstobject.h:
15335           Add cast to make compiler happy - refcount variable was a gint
15336           in GstObject but is a guint in GObject and g_atomic_int_get()
15337           wants a gint *.
15338
15339 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15340
15341         * gst/parse/Makefile.am:
15342           chain commands using &&, which also makes parallel make work
15343
15344 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
15345
15346         * docs/gst/gstreamer-sections.txt:
15347         * gst/gstevent.c:
15348         * gst/gstevent.h:
15349         * gst/gstmessage.h:
15350           Minor docs fixes.
15351
15352 === release 0.10.6 ===
15353
15354 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
15355
15356         * configure.ac:
15357           releasing 0.10.6, "Take the cannoli"
15358
15359 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15360
15361         * tools/gst-launch.c: (print_tag):
15362           Fix use of uninitialized variable in the hypothetical
15363           case that some broken plugin creates a GST_TAG_IMAGE
15364           tag containing a NULL buffer (#341667).
15365
15366 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
15367
15368         * tools/gst-launch.c: (print_tag):
15369           Print something more intelligible for image tags when
15370           using the -t switch (#341556).
15371
15372 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15373
15374         * Makefile.am:
15375           updates for win32
15376         * configure.ac:
15377           define GST_MAJORMINOR so we have it available in win32/common/config.h
15378           Possibly remove it from our Makefile.am files later
15379         * win32/common/config.h:
15380         * win32/common/config.h.in:
15381           added GST_MAJORMINOR
15382         * win32/common/gstenumtypes.c: (register_gst_resource_error):
15383         * win32/common/gstversion.h:
15384           updated
15385
15386 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
15387
15388         * win32/MANIFEST:
15389           Update win32 files listing.
15390         * win32/common/gstversion.h:
15391           Add GST_MAJORMINOR definition.
15392         * win32/common/libgstreamer.def:
15393           Add new exported functions.
15394           
15395 2006-05-12  Michael Smith  <msmith@fluendo.com>
15396
15397         * gst/gstplugin.c: (gst_plugin_load_file):
15398           If an so file has no plugin entry point, unload the module.
15399
15400 2006-05-11  Wim Taymans  <wim@fluendo.com>
15401
15402         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
15403         (gst_queue_set_property):
15404         Don't forget to signal the _chain or _loop function 
15405         when the queue size or thresholds change since that might
15406         cause them to make progres again.
15407
15408 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
15409
15410         * gst/gstclock.c: (gst_clock_class_init):
15411         * gst/gstindex.c: (gst_index_class_init):
15412         * gst/gstobject.c: (gst_object_class_init):
15413         * gst/gstpad.c: (gst_pad_class_init):
15414         * gst/gstpipeline.c: (gst_pipeline_class_init):
15415         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15416         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
15417         * libs/gst/base/gstbasetransform.c:
15418         (gst_base_transform_class_init):
15419         * libs/gst/net/gstnetclientclock.c:
15420         (gst_net_client_clock_class_init):
15421         * libs/gst/net/gstnettimeprovider.c:
15422         (gst_net_time_provider_class_init):
15423         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
15424         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
15425         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
15426         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
15427         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15428         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
15429         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
15430         * plugins/elements/gstidentity.c: (gst_identity_class_init):
15431         * plugins/elements/gsttee.c: (gst_tee_class_init):
15432         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15433         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15434           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
15435
15436 2006-05-11  Wim Taymans  <wim@fluendo.com>
15437
15438         * gst/gstbuffer.c: (_gst_buffer_initialize):
15439         Register subbufer along with the buffer type so that
15440         it does not accidentally gets registered from N
15441         different streaming threads in a non threadsafe way.
15442
15443 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15444
15445         * gst/gstbuffer.h:
15446         * gst/gstevent.h:
15447         * gst/gstmessage.h:
15448           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
15449           gst_event_ref() and gst_message_ref() functions again
15450           (ugly hack, please do fix if there's a better way besides
15451           overrides.txt, which doesn't seem to work).
15452
15453 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15454
15455         * libs/gst/check/gstcheck.h:
15456           add an assert for setting state to avoid lots of repetitive code
15457           in the future
15458
15459 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15460
15461         * gst/gstvalue.c: (gst_value_serialize_flags):
15462           fix a leak if no flags are set
15463         * tests/check/gst/gstvalue.c: (GST_START_TEST):
15464           fix leak in tests
15465
15466 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15467
15468         * docs/manual/basics-pads.xml:
15469           Expand a bit on caps and filtered links and update
15470           examples that were still using the no longer existing
15471           gst_pad_link_filtered() (#338206).
15472
15473 2006-05-10  Wim Taymans  <wim@fluendo.com>
15474
15475         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15476         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15477         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15478         (gst_collect_pads_stop):
15479         * libs/gst/base/gstcollectpads.h:
15480         No need to call _stop in _finalize.
15481         Iterate the main pad list in _finalize.
15482         Added some more debug.
15483         Free lists and data in the right order.
15484         Also free data whem doing _remove_pad when stopped for
15485         backward compatibility protect ::started with PAD_LOCK as
15486         well.
15487
15488 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15489
15490         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
15491         (gst_structure_parse_value):
15492           add some comments
15493           rename a method so that it actually says what it does better
15494
15495 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15496
15497         * gst/gstevent.c: (_gst_event_initialize):
15498         * gst/gstformat.c: (_gst_format_initialize):
15499           make sure some essential types used by events are registered
15500           as part of gst_init()
15501         * gst/gstvalue.c: (gst_value_serialize_flags):
15502           if no flags are set, serialize them to a value that represents NONE
15503           so that deserializing them works
15504         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15505           add tests for serialization and deserialization of flags
15506
15507 2006-05-10  Wim Taymans  <wim@fluendo.com>
15508
15509         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
15510         (gst_collect_pads_collect_range), (gst_collect_pads_available),
15511         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
15512         (gst_collect_pads_event), (gst_collect_pads_chain):
15513         Update docs.
15514         Better debug info.
15515         Catch and return errors from the collect function
15516         Refuse data on eos pads.
15517
15518 2006-05-10  Edward Hervey  <edward@fluendo.com>
15519
15520         * gst/gstinterface.h:
15521         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
15522         GInterface type checking.
15523         They were previously using non-defined macros.
15524
15525 2006-05-09  Wim Taymans  <wim@fluendo.com>
15526
15527         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
15528         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
15529         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
15530         (gst_collect_pads_start), (gst_collect_pads_stop),
15531         (gst_collect_pads_peek), (gst_collect_pads_pop),
15532         (gst_collect_pads_available), (gst_collect_pads_read),
15533         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
15534         (gst_collect_pads_is_collected), (gst_collect_pads_event),
15535         (gst_collect_pads_chain):
15536         * libs/gst/base/gstcollectpads.h:
15537         Clean up the mess that is collectpads, add comments and
15538         FIXMEs where needed.
15539         Maintain a separate pad list so we can add pads while
15540         collecting the other ones. For this we need a new separate 
15541         lock (see comics).
15542         Fix memory leak in finalize.
15543         Refactor some weird code to set/unset pad flushing flags, mark
15544         with comments.
15545         Don't crash in _available, _read, _flush when we're EOS.
15546
15547         * tests/check/libs/.cvsignore:
15548         Ignore adapter check binary.
15549
15550 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15551
15552         * gst/gstindex.c: (gst_index_resolver_get_type):
15553         * plugins/elements/gstfakesink.c:
15554         (gst_fake_sink_state_error_get_type):
15555         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15556         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15557         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15558           Const-ify GEnumValue arrays.
15559
15560 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15561
15562         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15563           Add test case for flags + gst_buffer_make_metadata_writable().
15564
15565 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15566
15567         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15568           gst_buffer_make_metadata_writable() should maintain the
15569           buffer flags (those that make sense at least) (see #340859).
15570
15571 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15572
15573         * tools/gst-inspect.c:
15574         * tools/gst-launch.c:
15575         * tools/gst-typefind.c:
15576         * tools/gst-xmlinspect.c:
15577         * tools/tools.h:
15578           Fix up includes: need to include stdlib.h in tools.h for exit().
15579
15580 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15581
15582         * gst/gsttaglist.c: (_gst_tag_initialize):
15583         * gst/gsttaglist.h:
15584           API: add GST_TAG_IMAGE tag (#340721).
15585
15586 2006-05-08  Wim Taymans  <wim@fluendo.com>
15587
15588         * gst/gstquery.c:
15589         Added some docs for the segment query.
15590
15591 2006-05-08  Wim Taymans  <wim@fluendo.com>
15592
15593         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15594         (gst_base_src_loop), (gst_base_src_change_state):
15595         Always push non-flushing serialized events in the streaming 
15596         thread.
15597
15598 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15599
15600         * gst/gsterror.c: (_gst_stream_errors_init):
15601           Add a missing error string.
15602
15603 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
15604
15605         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15606         Add applied_rate to the debug
15607
15608         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15609         Copy applied_rate into the outgoing NEWSEGMENT event
15610
15611 2006-05-08  Wim Taymans  <wim@fluendo.com>
15612
15613         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15614
15615         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15616         (gst_base_sink_change_state):
15617         call ::unlock before taking the PREROLL_LOCK so we can safely
15618         handle elements that lock in ::render.
15619         Fixes #340174.
15620
15621 2006-05-08  Edward Hervey  <edward@fluendo.com>
15622
15623         * autogen.sh: (CONFIGURE_DEF_OPT): 
15624         Darwin's libtoolize is in fact called glibtoolize.
15625         Adding glibtoolize to the list of accepted names for libtoolize.
15626
15627 2006-05-08  Wim Taymans  <wim@fluendo.com>
15628
15629         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15630         Unify error handling, don't post an error message
15631         when a push() returns EOS but perform our normal EOS
15632         handling code. Fixes #340772.
15633
15634 2006-05-08  Wim Taymans  <wim@fluendo.com>
15635
15636         * docs/design/part-overview.txt:
15637         Make upsteam/downstream concepts more clear.
15638         Give an example of serialized/non-serialized events.
15639
15640         * docs/design/part-events.txt:
15641         * docs/design/part-streams.txt:
15642         Mention applied_rate.
15643
15644         * docs/design/part-trickmodes.txt:
15645         Mention applied rate, flesh out some more use cases.
15646
15647         * gst/gstevent.c: (gst_event_new_new_segment),
15648         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15649         (gst_event_parse_new_segment_full), (gst_event_new_tag),
15650         (gst_event_parse_tag), (gst_event_new_buffer_size),
15651         (gst_event_parse_buffer_size), (gst_event_new_qos),
15652         (gst_event_parse_qos), (gst_event_parse_seek),
15653         (gst_event_new_navigation):
15654         * gst/gstevent.h:
15655         Add applied_rate field to NEWSEGMENT event.
15656         API: gst_event_new_new_segment_full()
15657         API: gst_event_parse_new_segment_full()
15658
15659         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15660         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15661         (gst_segment_to_stream_time), (gst_segment_to_running_time):
15662         * gst/gstsegment.h:
15663         Add applied_rate to GstSegment structure.
15664         Make calculation of stream_time and running_time more correct
15665         wrt rate/applied_rate.
15666         Add some more docs.
15667         API: GstSegment::applied_rate field
15668         API: gst_segment_set_newsegment_full();
15669
15670         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15671         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15672         * libs/gst/base/gstbasetransform.c:
15673         (gst_base_transform_sink_eventfunc),
15674         (gst_base_transform_handle_buffer):
15675         Parse and use applied_rate in the GstSegment field.
15676
15677         * tests/check/gst/gstevent.c: (GST_START_TEST):
15678         Add check for applied_rate field.
15679
15680         * tests/check/gst/gstsegment.c: (GST_START_TEST),
15681         (gstsegments_suite):
15682         Add more checks for various GstSegment operations.
15683
15684 2006-05-08  Wim Taymans  <wim@fluendo.com>
15685
15686         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15687         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15688         (gst_base_sink_get_position), (gst_base_sink_change_state):
15689         Store the sync time of the buffer end position separatly in a
15690         new variable eos_rtime so we can properly sync the EOS event.
15691         Fixes #340697.
15692         Fix the docs for gst_base_sink_set_qos_enabled().
15693         Don't set segment start to invalid value when we receive a 
15694         non TIME newsegment.
15695         get closer to handling position reporting for negative rates 
15696         correctly.
15697
15698 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15699
15700         * gst/gstcaps.c:
15701         Docs about how to print caps for debug purposes.
15702
15703         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15704         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15705
15706 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15707
15708         * gst/gstelement.c:
15709           use full enum names and preprend a '%' in docs strings to make recent 
15710           gtk-doc turn that into a link
15711
15712 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15713
15714         * docs/manual/basics-bins.xml:
15715         * docs/manual/basics-bus.xml:
15716         * docs/manual/basics-pads.xml:
15717           Some typo fixes, some additions, some clarifications. 
15718
15719 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15720
15721         * tools/gst-inspect.c: (main):
15722         * tools/gst-launch.c: (main):
15723         * tools/gst-run.c: (main):
15724         * tools/gst-typefind.c: (main):
15725         * tools/gst-xmlinspect.c: (main):
15726           Use the string passed to g_option_context_new() for
15727           what it's intended for - the program name is already
15728           printed elsewhere.
15729
15730 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15731
15732         * tools/Makefile.am:
15733         * tools/gst-inspect.c: (main):
15734         * tools/gst-launch.c: (main):
15735         * tools/gst-xmlinspect.c: (main):
15736         * tools/tools.h:
15737           Add back --version command line option (#340460).
15738
15739         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15740           Add --version option and use GOption for argument parsing; refactor a
15741           bit; accept directories as arguments and recurse into them; lastly,
15742           print a decent error message when things go wrong.
15743
15744 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15745
15746         * docs/manual/basics-bins.xml:
15747         Don't mention GstThread (#340611)
15748         * docs/manual/basics-elements.xml:
15749         Update link to GObject tutorial (#340607)
15750         
15751 2006-05-05  Wim Taymans  <wim@fluendo.com>
15752
15753         * gst/gstbuffer.h:
15754         * gst/gstminiobject.c:
15755         Add note about refcounting and miniobject/buffer writeability
15756         to docs. Fixes #340604
15757
15758         * gst/gstelementfactory.h:
15759         Added some explanation about @klass.
15760
15761 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15762
15763         * docs/manual/intro-motivation.xml:
15764         * docs/manual/manual.xml:
15765         Avoid CORBA & Bonobo references (#340598)
15766
15767 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15768
15769         * docs/manual/basics-bus.xml:
15770         * docs/manual/basics-pads.xml:
15771         Fix up some inaccuracies and omissions (#340609)
15772         
15773 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15774
15775         * gst/gstghostpad.c:
15776           Small typo in docs (#340625)
15777
15778 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15779
15780         * gst/parse/Makefile.am:
15781           Make 'make -j' proof (see #340698).
15782
15783 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15784
15785         * configure.ac:
15786           Require GLib-2.8 here as well.
15787
15788 2006-05-05  Wim Taymans  <wim@fluendo.com>
15789
15790         * gst/glib-compat.c:
15791         * gst/gst.c: (init_pre):
15792         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15793         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15794         (gst_object_dispatch_properties_changed):
15795         * gst/gstobject.h:
15796         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15797         * gst/gststructure.c: (gst_structure_set_valist):
15798         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15799         Remove pre glib2.8 compatibility, fixes #340508
15800
15801 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15802
15803         * gst/gsttaglist.h:
15804           Mention type of tags in doc blurbs.
15805
15806 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
15807
15808         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15809         (gst_pad_configure_src), (gst_pad_push):
15810         Restore acceptcaps checking behaviour now that good plugins have
15811         been released.
15812
15813 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15814
15815         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15816
15817         * gst/gst.c:
15818         * gst/gstbus.c:
15819         * gst/gstclock.c:
15820         * gst/gstevent.c:
15821         * gst/gstformat.c:
15822         * gst/gstmessage.c:
15823         * gst/gstparse.c:
15824         * gst/gstquery.c:
15825         * gst/gstutils.c:
15826         * gst/parse/Makefile.am:
15827         * libs/gst/base/gstadapter.c:
15828         * libs/gst/base/gstbasesrc.c:
15829         * libs/gst/base/gstpushsrc.c:
15830         * libs/gst/base/gsttypefindhelper.c:
15831         * plugins/elements/gstfakesrc.c:
15832         * plugins/elements/gstidentity.c:
15833           Make sure gstprivate.h and/or config.h are
15834           always included first, otherwise some of our
15835           defines (like _FILE_OFFSET_BITS) might be
15836           redefined in the system headers. Fixes build
15837           on opensolaris (#340016).
15838
15839 2006-05-04  Wim Taymans  <wim@fluendo.com>
15840
15841         * docs/libs/gstreamer-libs-sections.txt:
15842         API: addition: gst_adapter_take_buffer()
15843         
15844         * libs/gst/base/gstadapter.c: (gst_adapter_push),
15845         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15846         (gst_adapter_available_fast):
15847         * libs/gst/base/gstadapter.h:
15848         Prepare for optimizing the hell out of this hugely inefficient
15849         piece of code. 
15850         Added gst_adapter_take_buffer() so we can at least start thinking
15851         about subbuffering and merging.
15852         Added some comments.
15853
15854         * tests/check/Makefile.am:
15855         * tests/check/libs/adapter.c: (GST_START_TEST),
15856         (gst_adapter_suite), (main):
15857         Added GstAdapter check.
15858
15859 2006-05-04  Wim Taymans  <wim@fluendo.com>
15860
15861         * docs/design/part-overview.txt:
15862         Fix some typos, add blurb about buffer flags.
15863
15864 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15865
15866         * docs/libs/gstreamer-libs-sections.txt:
15867           make sure GstBaseTransformClass shows up in the docs
15868         * libs/gst/base/gstbasetransform.c:
15869         * libs/gst/base/gstbasetransform.h:
15870           move docs so gtk-doc picks it up now
15871
15872 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15873
15874         * docs/libs/gstreamer-libs-sections.txt:
15875           add missing symbols to docs
15876
15877 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15878
15879         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15880           back out the newsegment handling change, see #340060 for ongoing
15881           discussion
15882
15883 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
15884
15885         * tools/gst-run.c: (get_candidates), (main):
15886           Fix wrong g_file_test() usage (see glib docs for why it doesn't
15887           work); fix typo in error message. Fixes #340079.
15888
15889 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15890
15891         * common/Makefile.am:
15892         * docs/Makefile.am:
15893         * docs/faq/Makefile.am:
15894         * docs/gst/Makefile.am:
15895         * docs/libs/Makefile.am:
15896         * docs/manual/Makefile.am:
15897         * docs/plugins/Makefile.am:
15898         * docs/pwg/Makefile.am:
15899         * docs/slides/Makefile.am:
15900         * docs/upload.mak:
15901         * common/upload.mak:
15902           move upload.mak to common
15903
15904 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15905
15906         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15907           add more asserts on refcounts
15908           do more cleanup at end of tests
15909           fix test leaks showing in FC5
15910
15911 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
15912
15913         * plugins/elements/gsttypefindelement.c:
15914         (gst_type_find_element_handle_event):
15915         reverted wrong change and reflowed code to avoid others falling into
15916         this trap
15917
15918 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15919
15920         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15921           fix changelog entry about last collectpads change,
15922           add notes about proper fix
15923
15924 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15925
15926         * gst/gst.c:
15927         * gst/gstregistry.c: (gst_registry_scan_path_level),
15928         (gst_registry_scan_path):
15929         * gst/gstregistry.h:
15930           only write out registry if it has changed, fixes #338339
15931
15932 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15933
15934         * gst/gstbin.c:
15935         * gst/gstpipeline.c:
15936         * plugins/elements/gstcapsfilter.c:
15937         * plugins/elements/gstfakesink.c:
15938         * plugins/elements/gstfakesrc.c:
15939         * plugins/elements/gstfdsink.c:
15940         * plugins/elements/gstfdsrc.c:
15941         * plugins/elements/gstfilesink.c:
15942         * plugins/elements/gstfilesrc.c:
15943         * plugins/elements/gstidentity.c:
15944         * plugins/elements/gstqueue.c:
15945         * plugins/elements/gsttee.c:
15946         * plugins/elements/gsttypefindelement.c:
15947         (gst_type_find_element_handle_event):
15948           make GstElementDetails const
15949
15950 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15951
15952         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15953         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15954         (gst_collect_pads_is_collected), (gst_collect_pads_event):
15955           more detailed debug and formatting cleanup,
15956           forward newsegments to src-pad (so that e.g. adder not eats them)
15957
15958 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15959
15960         * gst/gstutils.c: (gst_element_link_pads):
15961           cleanup double code
15962
15963 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15964
15965         * libs/gst/controller/gstcontroller.c:
15966         (gst_controller_sync_values):
15967           some little tuning
15968         * tests/check/libs/controller.c: (GST_START_TEST),
15969         (gst_controller_suite):
15970           a new test for live value handling
15971
15972 2006-04-28  Wim Taymans  <wim@fluendo.com>
15973
15974         * gst/gstutils.c: (push_and_ref):
15975         Added some more docs.
15976         Fix refcount issue whith gst_element_found_tags() helper 
15977         function. Fixes #338335
15978
15979         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15980         Added testsuite for gst_element_found_tags().
15981
15982 2006-04-28  Michael Smith  <msmith@fluendo.com>
15983
15984         * gst/gstvalue.c: (gst_value_serialize_flags):
15985           Avoid NULL dereference when trying to serialize flags containing
15986           invalid values.
15987
15988 2006-04-28  Michael Smith  <msmith@fluendo.com>
15989
15990         * plugins/elements/gsttypefindelement.c:
15991         (gst_type_find_element_handle_event):
15992           If we get EOS before any data is accumulated, don't use
15993           uninitialised local variables.
15994
15995 2006-04-28  Michael Smith  <msmith@fluendo.com>
15996
15997         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15998         (gst_dp_event_from_packet):
15999           Fixes in reading/writing events over GDP (not currently used?) - 
16000           dereferencing NULL events for unknown/invalid event types, memory
16001           leak, and change g_warning to GST_WARNING.
16002
16003 2006-04-28  Wim Taymans  <wim@fluendo.com>
16004
16005         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
16006         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
16007         (gst_base_sink_get_position), (gst_base_sink_change_state):
16008         When frame dropping is enabled, we should not ignore frames
16009         without a duration.
16010         Update some documentation.
16011
16012 2006-04-28  Wim Taymans  <wim@fluendo.com>
16013
16014         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16015         (gst_base_src_send_event), (gst_base_src_change_state):
16016         Documentation updates.
16017
16018 2006-04-28  Wim Taymans  <wim@fluendo.com>
16019
16020         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
16021         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
16022         handle EAGAIN, EINTR and short writes correctly. Also clean
16023         up some error cases, avoid a deadlock on bad file descriptors and
16024         use GST_DEBUG_OBJECT.
16025         Fixes #339843
16026
16027 2006-04-28  Wim Taymans  <wim@fluendo.com>
16028
16029         * gst/gstvalue.c: (gst_value_serialize_buffer),
16030         (gst_value_deserialize_buffer):
16031         Don't try to serialize a GValue with a NULL buffer. 
16032         Fixes #339821.
16033
16034         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
16035         Added check for serialisation of NULL buffers.
16036
16037 2006-04-28  Wim Taymans  <wim@fluendo.com>
16038
16039         * gst/gstminiobject.c: (gst_value_take_mini_object):
16040         Taking a NULL miniobject is valid, fix the case where
16041         we try to unref the NULL miniobject.
16042
16043 2006-04-28  Wim Taymans  <wim@fluendo.com>
16044
16045         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
16046
16047         * gst/gstbin.c: (gst_bin_handle_message_func):
16048         Update docs.
16049         Don't leak bin refcount when a state recalc is
16050         in progress and we delay another one #339808.
16051
16052 2006-04-28  Wim Taymans  <wim@fluendo.com>
16053
16054         * docs/design/part-TODO.txt:
16055         Mention QoS as an ongoing work item.
16056
16057         * docs/design/part-buffering.txt:
16058         New doc about buffering that needs to be fleshed out
16059         at some point.
16060
16061         * docs/design/part-qos.txt:
16062         More QoS policy for decoders/demuxers/transforms
16063
16064         * docs/design/part-trickmodes.txt:
16065         Small update.
16066
16067 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
16068
16069         * configure.ac:
16070           back to HEAD
16071
16072 === release 0.10.5 ===
16073
16074 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
16075
16076         * configure.ac:
16077           releasing 0.10.5, "Fogo"
16078
16079 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16080
16081         patch by: Wim Taymans
16082
16083         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
16084         (gst_pad_configure_src), (gst_pad_push):
16085         * gst/gstpipeline.c: (gst_pipeline_init):
16086           Fix internal data flow errors.  Fixes #338711.
16087
16088 2006-04-12  Wim Taymans  <wim@fluendo.com>
16089
16090         * tests/check/gst/gstelement.c: (GST_START_TEST):
16091         Don't leak the factory.
16092
16093 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16094
16095         * configure.ac:
16096         * win32/common/config.h:
16097           prerelease
16098
16099 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
16100
16101         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
16102         (gst_controller_unset_all):
16103           Free allocated GstTimedValues when freeing list nodes.
16104           Should fix leaks 'make check-valgrind' complains about.
16105
16106         * win32/common/libgstcontroller.def:
16107           Add gst_controller_unset_all.
16108
16109 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
16110
16111         * docs/libs/gstreamer-libs-sections.txt:
16112         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
16113         (gst_controller_unset_all):
16114         * libs/gst/controller/gstcontroller.h:
16115         API: Added new method gst_controller_unset_all()
16116         fixed gst_controller_unset()
16117         * tests/check/libs/controller.c: (GST_START_TEST),
16118         (gst_controller_suite):
16119         Added two testcases for new and fixed method
16120
16121 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
16122
16123         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
16124           MSG_DONTWAIT is not defined on Cygwin, so work
16125           around that (fixes #317048).
16126           
16127 2006-04-11  Wim Taymans  <wim@fluendo.com>
16128
16129         * gst/gstelementfactory.c: (gst_element_register),
16130         (gst_element_factory_create), (gst_element_factory_make):
16131         Some cleanups.
16132         Fixed a FIXME.
16133         Updated docs (Fixes #131079)
16134
16135         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
16136         Small cleanups.
16137
16138         * tests/check/gst/gstelement.c: (GST_START_TEST),
16139         (gst_element_suite):
16140         Added testcase for elementfactory class field.
16141
16142 2006-04-10  Wim Taymans  <wim@fluendo.com>
16143
16144         * gst/gstsegment.c:
16145         Added some more docs.
16146
16147         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
16148         (gst_base_sink_reset_qos):
16149         Calculate more accurate rate values.
16150
16151 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
16152
16153         * gst/gst_private.h:
16154           add a new #ifdef to use __declspec(dllimport) only for
16155           other modules and not for gstreamer core
16156         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
16157           use gst_guint64_to_gdouble for conversion
16158         * win32/common/libgstreamer.def:
16159           add new exported functions
16160         * win32/vs6/gst_inspect.dsp:
16161         * win32/vs6/gst_launch.dsp:
16162         * win32/vs6/libgstbase.dsp:
16163         * win32/vs6/libgstcontroller.dsp:
16164         * win32/vs6/libgstcoreelements.dsp:
16165         * win32/vs6/libgstdataprotocol.dsp:
16166         * win32/vs6/libgstnet.dsp:
16167           update project files
16168
16169 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
16170
16171         * gst/gstbuffer.c: (gst_subbuffer_class_init):
16172         * gst/gstclock.c: (gst_clock_class_init):
16173         * gst/gstelement.c: (gst_element_class_init):
16174         * gst/gstindex.c: (gst_index_class_init):
16175         * gst/gstindexfactory.c: (gst_index_factory_class_init):
16176         * gst/gstobject.c: (gst_object_class_init),
16177         (gst_signal_object_class_init):
16178         * gst/gstpad.c: (gst_pad_class_init):
16179         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
16180         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
16181         * gst/gstregistry.c: (gst_registry_class_init):
16182         * gst/gstsystemclock.c: (gst_system_clock_class_init):
16183         * gst/gsttask.c: (gst_task_class_init):
16184         * gst/gstxml.c: (gst_xml_class_init):
16185         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16186         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16187         (gst_base_src_loop):
16188         * libs/gst/controller/gstcontroller.c:/
16189         (_gst_controller_class_init):
16190         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
16191         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
16192         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
16193         * tests/old/examples/plugins/example.c: (gst_example_class_init):
16194         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
16195         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
16196
16197 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
16198
16199         * gst/gstpad.c: (gst_pad_link):
16200           Must set peer pads before calling the link function, otherwise
16201           a task started from a link function might get a flow-not-linked
16202           result when trying to push because the other thread where the
16203           linking happens hasn't had a chance to set the peers yet. This
16204           might happen for example when a queue gets linked to a downstream
16205           element, as queue starts a streaming task when its source pad
16206           gets linked. Happens in real life when playing back flac/musepack
16207           files in playbin (#332390).
16208           
16209 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
16210
16211         * gst/gstindex.h:
16212         * gst/gstxml.h:
16213         * libs/gst/base/gstadapter.h:
16214         * libs/gst/base/gstbasesink.h:
16215         * libs/gst/base/gstbasesrc.h:
16216         * libs/gst/base/gstbasetransform.h:
16217         * libs/gst/base/gstcollectpads.h:
16218         * libs/gst/base/gstpushsrc.h:
16219         Fix broken GObject macros
16220
16221 2006-04-07  Wim Taymans  <wim@fluendo.com>
16222
16223         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16224         Initialize start and stop times, thanks valgrind.
16225
16226 2006-04-07  Wim Taymans  <wim@fluendo.com>
16227
16228         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16229         Be a bit nicer to badly behaving upstream elements that expect
16230         us to deal with non TIME segments and timestamps (such as fakesrc
16231         in the testsuite).
16232
16233 2006-04-07  Wim Taymans  <wim@fluendo.com>
16234
16235         * gst/gstbus.c:
16236         Small documentation clarification about the signal watch.
16237
16238         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
16239         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16240         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16241         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
16242         (gst_base_sink_get_position_last),
16243         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
16244         Convert and store timestamps in stream time and running time, the
16245         raw timestamps are not useful, also document this better.
16246         Use different window sizes for good and bad QoS observations so
16247         we react to badness a little quicker.
16248         Keep track of the amount of rendered and dropped buffers.
16249         Send QoS timestamps in running time.
16250
16251         * libs/gst/base/gstbasetransform.c:
16252         (gst_base_transform_sink_eventfunc),
16253         (gst_base_transform_handle_buffer):
16254         Compare QoS timestamps against running time.
16255
16256 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
16257
16258         * gst/gstpad.c:
16259           Typo fixes in docs.
16260
16261 2006-04-06  Michael Smith  <msmith@fluendo.com>
16262
16263         * gst/gstpad.c: (gst_pad_set_property):
16264           Use g_value_get_object() instead of g_value_dup_gst_object(),
16265           to avoid double-reffing the pad template (which we then sink,
16266           so this worked previously if (and only if) the pad template
16267           was floating.
16268
16269         * gst/gstpadtemplate.c: (gst_pad_template_init),
16270         (gst_pad_template_pad_created):
16271           Never return floating references to pad templates, create
16272           them as initially-sunken.
16273
16274           Document an extra function (and make this stop sinking our
16275           pad template, since that is now guaranteed to do nothing,
16276           since we created it sunken).
16277
16278         * gst/gstghostpad.c:
16279           Fix docs typo.
16280
16281 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
16282
16283         * gst/gstinfo.c: (__gst_in_valgrind):
16284           Add some newlines.
16285
16286         * plugins/elements/gsttypefindelement.c:
16287         (gst_type_find_element_chain):
16288           Don't leak buffer caps.
16289
16290 2006-04-06  Michael Smith  <msmith@fluendo.com>
16291
16292         * gst/parse/grammar.y:
16293           Fix a leak in parse-launch for any source-or-sink named element 
16294           references used.
16295
16296         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
16297           Unref the pipeline if it exists after we've failed parsing.
16298
16299 2006-04-05  Michael Smith  <msmith@fluendo.com>
16300
16301         * gst/gstpipeline.c: (gst_pipeline_init):
16302           When we create a pipeline bus, initially create it in flushing mode.
16303           Fixes leaks in at least one test, and makes a new pipeline work the
16304           same as one that has gone to READY and then back to NULL.
16305
16306         * gst/gstelement.c:
16307           Typo fix in docs.
16308
16309 2006-04-05  Michael Smith  <msmith@fluendo.com>
16310
16311         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
16312           Unref a pad we reffed.
16313         * tests/check/gst/gstutils.c: (GST_START_TEST):
16314           Unref bins
16315
16316 2006-04-05  Michael Smith  <msmith@fluendo.com>
16317
16318         * gst/gstquery.c: (gst_query_set_formats),
16319         (gst_query_set_formatsv):
16320           Fix leaking GValues in queries, as shown by valgrind/testsuite.
16321
16322 2006-04-05  Michael Smith  <msmith@fluendo.com>
16323
16324         * tests/check/generic/sinks.c: (GST_START_TEST):
16325           Fix a variety of memleaks in sinks check, which are only sometimes 
16326           shown by running the tests under valgrind (weird?).
16327
16328 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
16329
16330         * docs/version.entities.in:
16331           Fix the substituted entity name after thomas' changes on the
16332           weekend.
16333
16334 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
16335
16336         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
16337         VALGRIND_PRINTF
16338         
16339 2006-04-05  Andy Wingo  <wingo@pobox.com>
16340
16341         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
16342
16343         * libs/gst/base/gstbasetransform.c
16344         (gst_base_transform_sink_eventfunc): When resetting our segment on
16345         FLUSH_STOP, also update the flag saying we haven't seen a
16346         newsegment.
16347
16348 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16349
16350         Patch by: Paolo Borelli  <pborelli at katamail dot com>
16351
16352         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
16353         (gst_plugin_check_license):
16354           minor clean-ups: G_DEFINE_TYPE already takes care of the
16355           parent_class stuff, no need to do it twice. Mark array of
16356           license strings as constant. (#337103)
16357           
16358 2006-04-04  Michael Smith  <msmith@fluendo.com>
16359
16360         * tools/gst-inspect.c: (print_element_list):
16361           Free the right plugin list; fixes a memory leak.
16362
16363 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16364
16365         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
16366
16367         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16368           Don't error out on empty buffers (#336945).
16369           
16370 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
16371
16372         * docs/libs/gstreamer-libs-sections.txt:
16373         * gst/gsttaglist.c:
16374         * libs/gst/base/gstbasesink.c:
16375         * libs/gst/base/gstbasesink.h:
16376         * libs/gst/base/gstbasesrc.c:
16377         * libs/gst/base/gstbasesrc.h:
16378           Documentation updates. Make BaseSink and BaseSrc docs contain the
16379           class structure so that people can actually see the prototypes for
16380           virtual functions they're supposed to be overriding.
16381
16382 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16383
16384         * plugins/elements/gsttypefindelement.c:
16385         (gst_type_find_element_chain):
16386           More debug info; when skipping typefinding, send cached
16387           events in all cases.
16388
16389 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16390
16391         * configure.ac:
16392           use new AS_VERSION and AS_NANO macros
16393         * gst/gst-i18n-lib.h:
16394         * gst/gst.c:
16395         * gst/gsterror.c:
16396         * gst/gstversion.h.in:
16397         * win32/common/config.h:
16398         * win32/common/config.h.in:
16399           update accordingly
16400
16401 2006-03-31  Michael Smith  <msmith@fluendo.com>
16402
16403         * plugins/elements/gsttypefindelement.c:
16404         (gst_type_find_element_chain):
16405           Do not typefind content if the buffers already have caps.
16406           Neccesary for icydemux (#333657), and the right thing to do anyway.
16407
16408 2006-03-30  Wim Taymans  <wim@fluendo.com>
16409
16410         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16411         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
16412         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
16413         (gst_base_sink_record_qos_observation),
16414         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16415         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16416         (gst_base_sink_change_state):
16417         More QoS measurements as described in the design doc.
16418         Get rid of ringbuffer with observations, running average is
16419         more simple and equally good.
16420         Calculates valid proportion now.
16421         Added beginning of flood measurement.
16422
16423 2006-03-29  Wim Taymans  <wim@fluendo.com>
16424
16425         * docs/design/part-qos.txt:
16426         * gst/gstclock.c:
16427         Small documentation updates and additions.
16428
16429 2006-03-29  Wim Taymans  <wim@fluendo.com>
16430
16431         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16432         (gst_base_src_send_event), (gst_base_src_loop),
16433         (gst_base_src_change_state):
16434         Perform the EOS logic when we reach the segment stop position.
16435         Fix compilation on gcc4.1
16436
16437 2006-03-29  Wim Taymans  <wim@fluendo.com>
16438
16439         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
16440
16441         * plugins/elements/gstqueue.c: (gst_queue_init),
16442         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16443         (gst_queue_set_property):
16444         * plugins/elements/gstqueue.h:
16445         In queue, when EOS is received, if minimum threshold > max_size -
16446         current_level, there is chance that queue blocks forever in conditional
16447         item del wait. This is because the queue is not emptied completely due
16448         to minimum threshold.  Here is another approach. Instead of setting
16449         cur_levels to max in EOS, just zero all minimum threshold levels. This
16450         should make sure that queue gives out all data. When going to READY
16451         (stop) state, just reset the original minimum threshold levels.
16452         Fixes #336336.
16453
16454 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
16455
16456         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
16457         (gst_type_find_element_handle_event),
16458         (gst_type_find_element_send_cached_events),
16459         (gst_type_find_element_change_state):
16460         * plugins/elements/gsttypefindelement.h:
16461           When typefinding is done in push mode, we should cache
16462           events we receive during typefinding instead of just
16463           dropping them (e.g. newsegment, custom events from
16464           dvdreadsrc etc.) and then send them out once we've
16465           determined the type of the stream (and decodebin
16466           has had a chance to plug in a decoder/demuxer).
16467           
16468 2006-03-27  Wim Taymans  <wim@fluendo.com>
16469
16470         * docs/design/part-qos.txt:
16471         First QoS ideas.
16472
16473 2006-03-27  Wim Taymans  <wim@fluendo.com>
16474
16475         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
16476
16477         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16478         (gst_base_src_send_event), (gst_base_src_change_state):
16479         Handle element seek correctly when we are streaming.
16480         Fixes #326998.
16481
16482 2006-03-24  Michael Smith  <msmith@fluendo.com>
16483
16484         * docs/faq/gst-uninstalled:
16485           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
16486           allow you to correctly run intalled applications built against old 
16487           core, using plugins that require updated core (e.g. running
16488           installed totem against a full uninstalled gstreamer stack)
16489
16490 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16491
16492         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16493         more debug details
16494
16495 2006-03-24  Wim Taymans  <wim@fluendo.com>
16496
16497         * docs/gst/gstreamer-sections.txt:
16498         Rearrange the order of the methods so that related methods
16499         are grouped together in sections.
16500
16501 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16502
16503         * gst/gstelement.c:
16504           Little clarification in the docs
16505
16506 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16507
16508         * docs/README:
16509         formatting fix
16510         * plugins/elements/gstidentity.c:
16511         * plugins/elements/gstqueue.c:
16512         * plugins/elements/gsttee.c:
16513         * plugins/elements/gsttypefindelement.c:
16514         GST_ELEMENT_DETAILS formatting
16515
16516 2006-03-24  Wim Taymans  <wim@fluendo.com>
16517
16518         * libs/gst/base/gstbasesink.h:
16519         Only add fields, not insert or we break ABI.
16520
16521 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16522
16523         * win32/common/libgstbase.def:
16524         * win32/common/libgstreamer.def:
16525           Update, add recently added functions.
16526
16527 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16528
16529         * docs/gst/gstreamer-sections.txt:
16530         * gst/gstutils.c: (gst_pad_query_peer_position),
16531         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
16532         * gst/gstutils.h:
16533           API: add some new utility functions:
16534            - gst_pad_query_peer_position()
16535            - gst_pad_query_peer_duration()
16536            - gst_pad_query_peer_convert()
16537           
16538 2006-03-23  Wim Taymans  <wim@fluendo.com>
16539
16540         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16541         (gst_base_sink_init), (gst_base_sink_finalize),
16542         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
16543         (gst_base_sink_set_property), (gst_base_sink_get_property),
16544         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
16545         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16546         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
16547         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16548         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16549         (gst_base_sink_preroll_object), (gst_base_sink_event),
16550         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
16551         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
16552         (gst_base_sink_query), (gst_base_sink_change_state):
16553         Decouple max-lateness and the fact that QoS messages are generated
16554         with a new property (qos).
16555         added API: GstBaseSink::async_play()
16556         Add vmethod so subclasses can be notified of ASYNC playing
16557         state changes.
16558         Collect timestamp start and stop to report better current
16559         position in EOS/PLAYING/PAUSED/READY/NULL.
16560         Refactor QoS/frame dropping and other measurements.
16561         API: GstBaseSrc::qos
16562         Fixes #326311
16563
16564         * libs/gst/base/gstbasesink.h:
16565         Added Private struct.
16566         API: gst_base_sink_set_qos_enabled()
16567         API: gst_base_sink_is_qos_enabled()
16568
16569 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16570
16571         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16572           If compiling against GLib-2.8 or newer, try to read the
16573           registry file using GMappedFile first before falling back
16574           to fopen() + fread() (#332151).
16575
16576 2006-03-22  Wim Taymans  <wim@fluendo.com>
16577
16578         * gst/gstinfo.c: (gst_debug_set_active),
16579         (gst_debug_category_set_threshold):
16580         Disable debugging unless explicitly activated.
16581         Fixes #335480.
16582
16583 2006-03-22  Wim Taymans  <wim@fluendo.com>
16584
16585         * gst/gstelement.c: (gst_element_set_locked_state),
16586         (gst_element_dispose):
16587         Cleanup the error case.
16588
16589         * gst/gstobject.c: (gst_object_dispose):
16590         print a critical when some object was disposed with
16591         a parent, also revive the object since it might
16592         crash the parent.
16593
16594 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
16595
16596         * tools/gst-launch.1.in:
16597           Fix another typo.
16598
16599 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16600
16601         * configure.ac:
16602         * tests/check/Makefile.am:
16603           disable some tests when we don't have a registry
16604         * tests/check/gst/gstutils.c: (gst_utils_suite):
16605           don't build the part that needs parsing
16606
16607 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16608
16609         * gst/Makefile.am
16610         * tests/examples/Makefile.am:
16611           fix --disable-parse build
16612
16613 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16614
16615         * tools/gst-feedback.1.in:
16616           Fix typo: s/feeback/feedback/ (#133494).
16617
16618 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16619
16620         * tools/Makefile.am:
16621         * tools/gst-launch.1.in:
16622           Add FILES section and correct entry about GST_REGISTRY_PATH
16623           environment variable (#133495; #133494).
16624
16625 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16626
16627         * tools/Makefile.am:
16628         * tools/gst-md5sum.1.in:
16629         * tools/gst-md5sum.c:
16630           Remove gst-md5sum and man page (the md5sink element
16631           required was removed ages ago)
16632
16633 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16634
16635         * gst/gststructure.c: (gst_structure_id_set_value):
16636           Make sure that string fields in structures/taglists
16637           contain valid UTF-8 - we don't want to pass rubbish to
16638           applications because of a buggy plugin (cp. #334167).
16639
16640 2006-03-21  Edward Hervey  <edward@fluendo.com>
16641
16642         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16643         (gst_bin_handle_message_func):
16644         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16645         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16646         (gst_element_set_bus_func):
16647         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16648         * gst/gstminiobject.c: (gst_value_set_mini_object),
16649         (gst_value_take_mini_object):
16650         * gst/gstpad.c: (gst_pad_set_pad_template):
16651         * gst/gstpipeline.c: (gst_pipeline_dispose),
16652         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16653         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16654         (gst_collect_pads_chain):
16655         * libs/gst/net/gstnettimeprovider.c:
16656         (gst_net_time_provider_set_property):
16657         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16658         It's in fact all issues with gst_*object_replace().
16659
16660 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16661
16662         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
16663         
16664         * pkgconfig/gstreamer-check-uninstalled.pc.in:
16665         * pkgconfig/gstreamer-check.pc.in:
16666           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16667
16668 2006-03-21  Edward Hervey  <edward@fluendo.com>
16669
16670         * gst/gstbuffer.h:
16671         * gst/gstevent.h:
16672         * gst/gstmessage.h:
16673         gst_[buffer|event|message]_ref() macros are replaced by a static
16674         inline functions because gcc-4.1 will about if the return value
16675         isn't used.
16676         * tests/check/gst/gstevent.c: (event_probe):
16677         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16678
16679 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
16680
16681         * gst/gstutils.h:
16682         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16683         the type' case. (Closes: #335195 for now). In the future, when we
16684         depend on GLib 2.10, we could also intern the type name using
16685         g_intern_static_string()
16686
16687 2006-03-20  Wim Taymans  <wim@fluendo.com>
16688
16689         * gst/gstbin.c: (gst_bin_handle_message_func),
16690         (bin_query_max_init), (bin_query_position_fold),
16691         (bin_query_position_done), (gst_bin_query):
16692         Position query should also take max of all streams.
16693
16694 2006-03-20  Wim Taymans  <wim@fluendo.com>
16695
16696         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16697         (gst_fake_src_finalize):
16698         Fix leaks in fakesrc.
16699
16700         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16701         Fix leaks in the testcase.
16702
16703 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
16704
16705         * gst/gst_private.h:
16706           add win32 specific import decoration(__declspec(dllimport)) 
16707           for all extern GstDebugCategory * variables
16708         * win32/common/libgstbase.def:
16709         * win32/common/libgstcontroller.def:
16710         * win32/common/libgstreamer.def:
16711           Add some exports, remove empty lines
16712         * win32/common/libgstdataprotocol.def:
16713         * win32/common/libgstdataprotocol.dsp:
16714         * win32/common/libgstnet.def:
16715         * win32/common/libgstnet.dsp:
16716           new project files and exportation files added
16717         
16718 2006-03-19  Wim Taymans  <wim@fluendo.com>
16719
16720         * tests/check/libs/basesrc.c: (eos_event_counter):
16721         Use proper return value for probe.
16722
16723 2006-03-17  Wim Taymans  <wim@fluendo.com>
16724
16725         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16726         (gst_pad_push):
16727         Don't leak buffers, caps and pads on negotiation errors.
16728
16729 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
16730
16731         * docs/faq/cvs.xml:
16732         * docs/faq/dependencies.xml:
16733         * docs/faq/developing.xml:
16734         * docs/faq/faq.xml:
16735         * docs/faq/general.xml:
16736         * docs/faq/getting.xml:
16737         * docs/faq/legal.xml:
16738         * docs/faq/troubleshooting.xml:
16739         * docs/faq/using.xml:
16740         Faq review and update.
16741
16742 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
16743
16744         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16745         (gst_pad_push):
16746         Don't pound the cpu to pieces by checking get_caps when accept_caps
16747         is called with the same caps as the pad already has.
16748         Use GST_DEBUG_OBJECT when outputting caps change information.
16749
16750 2006-03-15  Wim Taymans  <wim@fluendo.com>
16751
16752         * gst/gstclock.c: (gst_clock_class_init):
16753         Fix docs.
16754
16755 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
16756
16757         * gst/gstbuffer.h:
16758         Documentation fix.
16759
16760         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16761         (gst_pad_accept_caps), (gst_pad_configure_sink),
16762         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16763         Make the default acceptcaps behaviour be to check the requested 
16764         caps against the gst_pad_get_caps output. 
16765
16766         Ensure that gst_pad_accept_caps is used to check caps when a pad
16767         doesn't have a setcaps function, so that pads automatically refuse 
16768         caps that they don't allow in their pad template. (Fixes #332986)
16769
16770         When a buffer with attached caps is pushed, ensure that the source 
16771         pad receives those caps even if the element didn't call
16772         gst_pad_set_caps first.
16773
16774 2006-03-15  Wim Taymans  <wim@fluendo.com>
16775
16776         * libs/gst/base/gstadapter.c:
16777         Add some docs.
16778
16779 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
16780
16781         * win32/common/libgstbase.def:
16782         * win32/common/libgstcontroller.def:
16783         * win32/common/libgstreamer.def:
16784           Add a whole bunch of missing functions (#334434).
16785
16786 2006-03-14  Wim Taymans  <wim@fluendo.com>
16787
16788         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16789         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16790         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16791         Better debug info when we receive a segment event.
16792         Reorganize a bit so we can pass the get_times() results around.
16793         Use the segment format when calculating the running time.
16794         Don't do QoS is sync is disabled or we have no clock or the
16795         element does not want us to sync to the clock.
16796         Don't drop buffers if QoS is disabled for now.
16797
16798 2006-03-14  Wim Taymans  <wim@fluendo.com>
16799
16800         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16801         Marked the stats property as unimplemented so people don't get
16802         wild ideas.
16803         Add debug message when regression goes wrong.
16804         Added some more docs.
16805
16806 2006-03-14  Wim Taymans  <wim@fluendo.com>
16807
16808         * gst/gstsegment.c: (gst_segment_to_stream_time):
16809         Return correct return type in case of errors.
16810
16811 2006-03-14  Wim Taymans  <wim@fluendo.com>
16812
16813         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16814           Don't segfault on invalid formats.
16815
16816 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16817
16818         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16819           Can't use gst_segment_to_running_time() when the segment
16820           is not in GST_TIME_FORMAT (like with filesink, for example).
16821           Stops flac encoding pipelines from spewing critical warnings
16822           at EOS (#331248).
16823           
16824 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16825
16826         * gst/gstpipeline.c: (gst_pipeline_class_init):
16827           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16828
16829         * plugins/elements/gsttypefindelement.c:
16830         (gst_type_find_element_handle_event):
16831           Don't try to typefind empty streams.
16832
16833 2006-03-14  Wim Taymans  <wim@fluendo.com>
16834
16835         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16836         (gst_base_sink_do_qos):
16837         Separate QoS calculation.
16838         Only drop buffers when lateness is bigger than the 
16839         duration of the buffer.
16840
16841 2006-03-13  Wim Taymans  <wim@fluendo.com>
16842
16843         * gst/gstpipeline.c: (gst_pipeline_set_property),
16844         (gst_pipeline_get_property), (do_pipeline_seek),
16845         (gst_pipeline_change_state), (gst_pipeline_set_delay),
16846         (gst_pipeline_get_delay):
16847         Don't deadlock when reading properties.
16848
16849 2006-03-13  Wim Taymans  <wim@fluendo.com>
16850
16851         * libs/gst/base/gstbasetransform.c:
16852         (gst_base_transform_class_init), (gst_base_transform_init),
16853         (gst_base_transform_sink_event),
16854         (gst_base_transform_sink_eventfunc),
16855         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16856         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16857         (gst_base_transform_set_property),
16858         (gst_base_transform_get_property),
16859         (gst_base_transform_change_state), (gst_base_transform_update_qos),
16860         (gst_base_transform_set_qos_enabled),
16861         (gst_base_transform_is_qos_enabled):
16862         * libs/gst/base/gstbasetransform.h:
16863         Make basetransform virtual method for src events too.
16864         Handle QOS in basetransform.
16865         API: gst_base_transform_update_qos()
16866         API: gst_base_transform_set_qos_enabled()
16867         API: gst_base_transform_is_qos_enabled()
16868
16869 2006-03-13  Wim Taymans  <wim@fluendo.com>
16870
16871         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16872         (gst_base_sink_do_sync):
16873         Small cleanups.
16874         Use QOS debug category.
16875
16876 2006-03-13  Wim Taymans  <wim@fluendo.com>
16877
16878         * plugins/elements/gstqueue.c:
16879         Very small doc update.
16880
16881 2006-03-13  Wim Taymans  <wim@fluendo.com>
16882
16883         * gst/gst_private.h:
16884         * gst/gstinfo.c: (_gst_debug_init):
16885         Added QOS debug category
16886
16887 2006-03-13  Wim Taymans  <wim@fluendo.com>
16888
16889         * docs/gst/gstreamer-sections.txt:
16890         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16891         * gst/gstbin.h:
16892         * gst/gstbus.c: (gst_bus_class_init):
16893         * gst/gstbus.h:
16894         * gst/gstclock.c:
16895         * gst/gstelement.c: (gst_element_set_locked_state):
16896         * gst/gstsegment.c:
16897         Documentation updates.
16898
16899         * gst/gstpipeline.c: (gst_pipeline_get_type),
16900         (gst_pipeline_class_init), (gst_pipeline_init),
16901         (gst_pipeline_dispose), (gst_pipeline_set_property),
16902         (gst_pipeline_get_property), (do_pipeline_seek),
16903         (gst_pipeline_send_event), (gst_pipeline_change_state),
16904         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16905         (gst_pipeline_get_delay):
16906         * gst/gstpipeline.h:
16907         Added methods for setting the delay.
16908         API: gst_pipeline_set_delay()
16909         API: gst_pipeline_get_delay()
16910         Add pipeline debug category
16911         Various cleanups.
16912         Updated docs.
16913         Don't reset stream time when seek failed.
16914
16915 2006-03-13  Wim Taymans  <wim@fluendo.com>
16916
16917         * docs/design/draft-klass.txt:
16918         * docs/design/part-clocks.txt:
16919         * docs/design/part-events.txt:
16920         * docs/design/part-gstbin.txt:
16921         * docs/design/part-gstpipeline.txt:
16922         * docs/design/part-messages.txt:
16923         * docs/design/part-negotiation.txt:
16924         * docs/design/part-overview.txt:
16925         * docs/design/part-preroll.txt:
16926         * docs/design/part-seeking.txt:
16927         * docs/design/part-states.txt:
16928         * docs/design/part-streams.txt:
16929         Documentation updates.
16930
16931 2006-03-12  Julien MOUTTE  <julien@moutte.net>
16932
16933         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16934         us to leak strings...
16935
16936 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16937
16938         * libs/gst/net/gstnettimeprovider.c:
16939           fix docs
16940         * win32/common/config.h:
16941           update
16942
16943 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
16944
16945         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16946
16947         * configure.ac:
16948           Don't check for libgnomeui (leftover from old examples
16949           that aren't built or disted any longer) (#334303).
16950           
16951 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
16952
16953         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16954         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16955           Emit RESOURCE_NO_SPACE_LEFT error here as well when
16956           there's no space left on the device.
16957
16958 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
16959
16960         * gst/gstclock.h:
16961           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16962           to cast the input to GstClockTime before comparing with
16963           another GstClockTime value.
16964
16965 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16966
16967         * configure.ac:
16968           back to trunk
16969
16970 === release 0.10.4 ===
16971
16972 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
16973
16974         * configure.ac:
16975           releasing 0.10.4, "Light"
16976
16977 2006-03-10  Michael Smith  <msmith@fluendo.com>
16978
16979         * libs/gst/dataprotocol/dataprotocol.c:
16980           Fix docs for dataprocotol to not get the return types completely
16981           wrong for a few functions.
16982
16983 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16984
16985         * docs/gst/gstreamer-sections.txt:
16986         * gst/gstpipeline.c: (gst_pipeline_class_init),
16987         (gst_pipeline_init), (gst_pipeline_set_property),
16988         (gst_pipeline_get_property), (gst_pipeline_change_state),
16989         (gst_pipeline_set_auto_flush_bus),
16990         (gst_pipeline_get_auto_flush_bus):
16991         * gst/gstpipeline.h:
16992           Add new API: gst_pipeline_set_auto_flush_bus() and
16993           gst_pipeline_get_auto_flush_bus() to disable automatic
16994           flushing of the pipeline's GstBus when going from READY
16995           to NULL state (#332045).
16996
16997 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16998
16999         * docs/gst/gstreamer-sections.txt:
17000         * gst/gsturi.c: (gst_uri_has_protocol):
17001         * gst/gsturi.h:
17002            Add new API: gst_uri_has_protocol() (#333779).
17003
17004 2006-03-09  Wim Taymans  <wim@fluendo.com>
17005
17006         * gst/gstclock.c: (gst_clock_entry_new),
17007         (gst_clock_id_compare_func), (gst_clock_id_wait),
17008         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
17009         (gst_clock_init), (gst_clock_get_internal_time),
17010         (gst_clock_set_master), (do_linear_regression),
17011         (gst_clock_add_observation), (gst_clock_set_property):
17012         * gst/gstclock.h:
17013         Review docs.
17014         Small cleanups.
17015         Fix a possible segfault when the window-size is made smaller.
17016         Calculate jitter before performing the clock wait. Ideally
17017         the clock implementation should calculate jitter but we need
17018         API breakage for that.
17019
17020         * gst/gstsystemclock.c: (gst_system_clock_init):
17021         Docs review.
17022         
17023         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17024         Remove leftover else
17025
17026         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
17027         (gst_systemclock_suite):
17028         Added check to test GST_CLOCK_DIFF.
17029
17030 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
17031
17032         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
17033         (gst_type_find_helper_get_range):
17034           If we are provided with the size, we should implement
17035           GstTypeFind::get_length, so that typefind functions who
17036           want to can actually peek at the middle of a file.
17037
17038 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
17039
17040         * docs/manual/advanced-dataaccess.xml:
17041           Add some very very basic error checking.
17042
17043         * docs/pwg/appendix-checklist.xml:
17044           Some updates to the list of things to check when writing an element.
17045
17046 2006-03-08  Wim Taymans  <wim@fluendo.com>
17047
17048         * docs/design/part-element-transform.txt:
17049         Added some docs about the design of tranform elements.
17050
17051         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
17052         (gst_base_src_loop), (gst_base_src_change_state):
17053         Mark buffers with the DISCONT flag.
17054
17055 2006-03-08  Michael Smith  <msmith@fluendo.com>
17056
17057         * gst/gstregistry.h:
17058         * gst/gstregistryxml.c: (gst_registry_save),
17059         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
17060         (gst_registry_xml_save_pad_template),
17061         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
17062         (gst_registry_xml_write_cache):
17063           Rewrite registry-saving to avoid race conditions and check for
17064           failed writes.
17065
17066 2006-03-08  Wim Taymans  <wim@fluendo.com>
17067
17068         * libs/gst/base/gstbasetransform.c:
17069         (gst_base_transform_transform_caps),
17070         (gst_base_transform_transform_size),
17071         (gst_base_transform_prepare_output_buffer),
17072         (gst_base_transform_get_unit_size),
17073         (gst_base_transform_buffer_alloc),
17074         (gst_base_transform_handle_buffer),
17075         (gst_base_transform_change_state):
17076         Cleanups, separate normal flow from errors, add sensible
17077         DEBUG lines.
17078         Don't try to renegotiate when allocating an output buffer.
17079         Also copy DISCONT buffer flag when copying a buffer.
17080         Reset the transform after we finish streaming, not during.
17081
17082 2006-03-08  Wim Taymans  <wim@fluendo.com>
17083
17084         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17085         Use last buffer timestamp in qos message.
17086
17087 2006-03-07  Wim Taymans  <wim@fluendo.com>
17088
17089         Patch by: Christophe Fergeau
17090
17091         * docs/pwg/advanced-tagging.xml:
17092         * docs/pwg/building-pads.xml:
17093           fixes #333416
17094
17095 2006-03-07  Wim Taymans  <wim@fluendo.com>
17096
17097         * docs/libs/gstreamer-libs-sections.txt:
17098         Added basesink new methods.
17099
17100         * gst/gstevent.c:
17101         * gst/gstevent.h:
17102         Docs updates. Flesh out the QoS docs.
17103
17104         * libs/gst/base/gstadapter.c:
17105         Small doc clarification about ownership and flushing.
17106
17107         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
17108         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
17109         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
17110         (gst_base_sink_get_property), (gst_base_sink_do_sync):
17111         * libs/gst/base/gstbasesink.h:
17112         API additions: 
17113         Added new methods to allow subclass to control max-lateness 
17114         and sync.
17115         Generate very basic QoS events based on last sync observation.
17116         Updated docs, fix typo, added some QoS blurb.
17117
17118         * libs/gst/base/gstbasesrc.c:
17119         Remove obsolete _get_state() calls from docs.
17120
17121 2006-03-07  Wim Taymans  <wim@fluendo.com>
17122
17123         * docs/libs/gstreamer-libs-sections.txt:
17124         * libs/gst/base/gstbasetransform.h:
17125         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
17126         Fix docs for GstBaseSrc.
17127
17128 2006-03-07  Wim Taymans  <wim@fluendo.com>
17129
17130         * docs/gst/gstreamer-sections.txt:
17131         * gst/gstbuffer.h:
17132         * gst/gstvalue.c:
17133         * libs/gst/base/gstbasetransform.h:
17134         Small documentation fixes.
17135
17136 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
17137
17138         * gst/gstvalue.c:
17139           Document thread-unsafety of gst_value_register_foo_func()
17140           when used at the same time as gst_value_foo() (#322628).
17141
17142 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
17143
17144         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
17145         (gst_push_src_check_get_range):
17146           Push sources don't support pull mode by default.
17147
17148 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
17149
17150         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17151         (gst_base_src_init), (gst_base_src_pad_check_get_range),
17152         (gst_base_src_default_check_get_range):
17153         * libs/gst/base/gstbasesrc.h:
17154           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
17155           provide default implementation, and rename
17156           gst_base_src_check_get_range() to
17157           gst_base_src_pad_check_get_range() for clarity.
17158
17159 2006-03-06  Wim Taymans  <wim@fluendo.com>
17160
17161         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
17162         Make property overridable.
17163
17164 2006-03-06  Wim Taymans  <wim@fluendo.com>
17165
17166         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
17167         (gst_base_sink_init), (gst_base_sink_set_property),
17168         (gst_base_sink_get_property), (gst_base_sink_do_sync):
17169         * libs/gst/base/gstbasesink.h:
17170         API addition: Make max-lateness a property.
17171
17172 2006-03-06  Wim Taymans  <wim@fluendo.com>
17173
17174         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
17175         (gst_base_sink_do_sync), (gst_base_sink_render_object):
17176         Don't ever draw a frame that is >10ms late.
17177
17178 2006-03-06  Michael Smith  <msmith@fluendo.com>
17179
17180         * gst/gstmessage.c: (_gst_message_copy):
17181           When copying a message, set the parent_refcount of the enclosed
17182           structure to point at the copy, not the original message.
17183
17184 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
17185
17186         Patch by: Christophe Fergeau
17187
17188         * gst/gstutils.h:
17189           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
17190           usable in c++ code (#333417)
17191
17192 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17193
17194         * gst/gstclock.h:
17195           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
17196
17197 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
17198
17199         * libs/gst/base/gstbasetransform.c:
17200         (gst_base_transform_transform_caps):
17201           Make sure caps are writable before passing them to
17202           gst_caps_append().
17203
17204 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
17205
17206         * gst/gsterror.h:
17207           Fix some minor docs errors.
17208
17209 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
17210
17211           Patch by: Ross Burton <ross at burtonini dot com>
17212
17213         * gst/gsterror.c: (_gst_resource_errors_init):
17214         * gst/gsterror.h:
17215           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
17216
17217 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
17218
17219         * gst/gst.c:
17220         Add a check and output a g_warning when GStreamer is built
17221         against GLib 2.6 but running against 2.8 or higher, and vice 
17222         versa. (Closes: #323542)
17223
17224 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
17225
17226         * gst/parse/parse.l:
17227           Commit patch for parse_launch syntax from #331255. Removes 
17228           support for quoted strings and mimetypes when writing filtered 
17229           caps. See the bug report for more details - I'm pretty sure this
17230           obscure feature is not in use by _anyone_ anywhere.
17231
17232           With this simple change, the size of the gstreamer.so here 
17233           drops from 2193KB to 1565KB.
17234
17235 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
17236
17237         * plugins/elements/gsttypefindelement.h:
17238         * plugins/elements/gsttypefindelement.c:
17239         (gst_type_find_element_src_event), (start_typefinding),
17240         (stop_typefinding), (gst_type_find_element_handle_event),
17241         (gst_type_find_element_chain),
17242         (gst_type_find_element_chain_do_typefinding):
17243           Use gst_type_find_helper_for_buffer() for chain-based
17244           typefinding.
17245
17246 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
17247
17248         * plugins/elements/gsttypefindelement.c:
17249         (gst_type_find_element_class_init),
17250         (gst_type_find_element_set_property),
17251         (gst_type_find_element_get_property):
17252           Deprecate "maximum" property (not only was it only taken into
17253           account for typefinding in push-mode anyway, it also was never
17254           actually possible to set it in the first place because the
17255           property was registered with the numeric property ID for the
17256           "minimum" property). Register "maximum" property correctly,
17257           for the sake of future copy'n'pasters. Remove some cruft
17258           from property get/set functions.
17259
17260 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
17261
17262         * plugins/elements/gsttypefindelement.c:
17263         (gst_type_find_element_activate):
17264           Use gst_type_find_helper_get_range() here, so we
17265           can honour the "minimum" property and also emit
17266           the signal with the correct probability of the found caps.
17267
17268 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
17269
17270         * docs/libs/gstreamer-libs-sections.txt:
17271         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
17272         (helper_find_suggest), (gst_type_find_helper_get_range),
17273         (gst_type_find_helper):
17274         * libs/gst/base/gsttypefindhelper.h:
17275           New API: gst_type_find_helper_get_range() (#333042).
17276
17277 2006-03-02  Michael Smith  <msmith@fluendo.com>
17278
17279         * gst/gstregistryxml.c: (load_feature):
17280           Asserting on a failure to read part of the registry is Not Cool.
17281           Just log a warning and return NULL (which is already handled)
17282
17283 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
17284
17285         * win32/common/libgstbase.def:
17286           added export of gst_type_find_helper_for_buffer
17287         * win32/common/libgstbase.def:
17288           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
17289           gst_ghost_pad_get_target
17290
17291 2006-02-28  Wim Taymans  <wim@fluendo.com>
17292
17293         * docs/design/draft-klass.txt:
17294         We use Filter now.
17295         Added Connector to mark elements that are only used to
17296         allow pipeline connections.
17297         Moved Debug to extra feature since most of them are 
17298         functionally something else.
17299
17300 2006-02-28  Wim Taymans  <wim@fluendo.com>
17301
17302         * docs/design/draft-klass.txt:
17303         Some updates and clarifications.
17304
17305 2006-02-28  Wim Taymans  <wim@fluendo.com>
17306
17307         * docs/design/draft-klass.txt:
17308         Proposal for klass field values.
17309
17310         * docs/design/part-streams.txt:
17311         Start of a doc describing stream anatomy.
17312
17313 2006-02-28  Wim Taymans  <wim@fluendo.com>
17314
17315         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
17316         Help the compiler a bit with type registration.
17317         Use existing forward cod path instead of duplicating it when 
17318         handling a message.
17319         
17320         * gst/gstbus.c: (gst_bus_get_type):
17321         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
17322         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
17323         * gst/gstclock.c: (gst_clock_get_type):
17324         * gst/gstelement.c: (gst_element_get_type),
17325         * gst/gstelementfactory.c: (gst_element_factory_get_type):
17326         * gst/gstindexfactory.c: (gst_index_factory_get_type):
17327         * gst/gstminiobject.c: (gst_mini_object_get_type):
17328         * gst/gstpad.c: (gst_pad_get_type):
17329         * gst/gstsegment.c: (gst_segment_get_type):
17330         * gst/gststructure.c: (gst_structure_get_type):
17331         * gst/gstsystemclock.c: (gst_system_clock_get_type):
17332         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
17333         * gst/gstvalue.c:
17334         Help compiler with type registration.
17335
17336         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
17337         Small doc update.
17338
17339 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17340
17341         * plugins/elements/gsttypefindelement.c:
17342         (gst_type_find_element_handle_event):
17343           When we get an EOS event and have not found a type yet
17344           (most likely because we had not yet accumulated
17345           TYPE_FIND_MIN_SIZE of data yet), try to determine the
17346           type given the data we have so far. Fixes typefinding
17347           for very short streams again, most notably quicktime
17348           redirections as used on Apple's trailer site (#331701).
17349
17350 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17351
17352         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
17353         (gst_type_find_helper):
17354           Try typefinding factories with the highest rank first.
17355
17356 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17357
17358         * docs/libs/gstreamer-libs-docs.sgml:
17359         * docs/libs/gstreamer-libs-sections.txt:
17360         * libs/gst/base/gsttypefindhelper.c:
17361           Add section for typefind helper and add documentation
17362           for the old and the new function.
17363
17364 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17365
17366         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
17367         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
17368         (gst_type_find_helper_for_buffer):
17369         * libs/gst/base/gsttypefindhelper.h:
17370           New API: gst_type_find_helper_for_buffer() (#332723).
17371           
17372 2006-02-27  Michael Smith  <msmith@fluendo.com>
17373
17374         Patch by: Loïc Minier
17375
17376         * configure.ac:
17377         * docs/Makefile.am:
17378         * docs/slides/Makefile.am:
17379           prevent CVS directories getting disted.
17380
17381 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17382
17383         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
17384           Use the REFCOUNTING category for caps refcounting.
17385           
17386 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17387
17388         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
17389           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
17390
17391 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17392
17393         * plugins/elements/gsttypefindelement.c:
17394         (gst_type_find_element_activate):
17395           Use gst_pad_check_pull_range() before _activate_pull()
17396           to avoid unnecessary open/close (see #331690).
17397
17398 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17399
17400         * gst/gstutils.c:
17401           Docs enhancement: make it crystal clear what the
17402           gst_pad_add_*_probe() callbacks should look like.
17403
17404 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17405
17406         * libs/gst/base/gstbasesrc.c:
17407           Document how applications can stop recording from
17408           live sources (see #330996).
17409
17410 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17411
17412         * tests/check/Makefile.am:
17413         * tests/check/libs/basesrc.c: (eos_event_counter),
17414         (basesrc_eos_events_pull), (basesrc_eos_events_push),
17415         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
17416         (gst_basesrc_suite), (main):
17417           ... and add some tests for the base source EOS stuff.
17418
17419 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17420
17421         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
17422           Test case originally showed the problem fixed below,
17423           but was then amended. Add checks back at the place
17424           where they used to be.
17425
17426 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17427
17428         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17429         (gst_base_src_init), (gst_base_src_loop),
17430         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17431         (gst_base_src_change_state):
17432         * libs/gst/base/gstbasesrc.h:
17433           Don't unconditionally send EOS when going from PAUSED to
17434           READY state, esp. make sure we don't send two EOS events
17435           in some cases (e.g. one when reaching EOS and one when
17436           going from PAUSED to READY). Also, we don't want to send
17437           EOS events when operating in pull mode. However, we do
17438           want to send an EOS event when shutting down a live
17439           source explicitly, for example (fixes #330996).
17440           
17441 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17442
17443         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
17444           Update src->read_position after a seek when not using mmap.
17445           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
17446
17447 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
17448
17449         * gst/Makefile.am:
17450         * gst/gstparse.h:
17451         * gst/gstutils.c:
17452         * gst/gstutils.h:
17453         Make things work with --disable-parse as they do with 
17454         --disable-load-save - the symbols involved disappear, but the
17455         header is still installed and GST_DISABLE_PARSE is included via
17456         gstconfig.h
17457
17458 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17459
17460         * libs/gst/base/gstbasetransform.c:
17461         (gst_base_transform_change_state): Fix a stupid bug. I was 
17462         sure I compiled that.
17463
17464 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17465
17466         * gst/gstpad.c: (gst_pad_set_blocked_async):
17467         * gst/gstutils.c: (gst_pad_add_data_probe),
17468         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17469         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17470         (gst_pad_remove_buffer_probe): Make those function act on the
17471         ghostpad target when it's a ghostpad. (Closes #331727)
17472
17473 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17474
17475         * libs/gst/base/gstbasetransform.c:
17476         (gst_base_transform_change_state): Make basetransform reusable.
17477         (Closes #331898)
17478
17479 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
17480
17481         * docs/random/release:
17482         Move the current documentation of how to do a release to the top
17483         of the file.
17484
17485         * gst/gstbin.c: (gst_bin_class_init),
17486         (gst_bin_handle_message_func):
17487         Allow multiple state-recalculation threads. (Closes #328873)
17488
17489 2006-02-19  Julien MOUTTE  <julien@moutte.net>
17490
17491         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
17492         * gst/gstpad.c: (gst_pad_set_event_function),
17493         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17494         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
17495         2 strings. You can't use the STR_NULL macro on that.
17496
17497 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
17498
17499         * gst/gstpad.c: (gst_pad_set_event_function),
17500         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17501         (gst_pad_set_getcaps_function)
17502         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
17503           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
17504           So now, we can use --gst-debug-level=5 on Windows
17505         * win32/common/libgstcontroller.def:
17506           Added export of gst_controller_init
17507         * win32/vs6/libgstcontroller.dsp:
17508           Fixed Release post build configuration
17509
17510 2006-02-17  Wim Taymans  <wim@fluendo.com>
17511
17512         * tests/check/gst/gstquery.c: (GST_START_TEST):
17513         Added another check.
17514
17515 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
17516
17517         * plugins/elements/gsttypefindelement.c: (find_peek):
17518           We can do peeks at non-zero offsets, as long as they
17519           fall within the buffer we have.
17520
17521 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
17522
17523         * tests/check/Makefile.am:
17524         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
17525         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
17526         (parse_suite), (main):
17527           Add testsuite for parse launch syntax
17528
17529 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
17530
17531         * plugins/elements/gsttypefindelement.c:
17532         (gst_type_find_element_chain):
17533           When typefinding is unsuccessful in the chain function, don't
17534           error out immediately. Only error out with NO_CAPS_FOUND if
17535           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
17536           otherwise simply wait for more data so we can try typefinding
17537           again with more data later. Also, don't attempt to typefind
17538           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
17539           this should improve typefinding from network sources where the
17540           size of the first buffer can be somewhat random.
17541
17542 2006-02-14  Wim Taymans  <wim@fluendo.com>
17543
17544         * docs/gst/gstreamer-sections.txt:
17545         * gst/gstpadtemplate.c:
17546         * gst/gstpadtemplate.h:
17547         Fix padtemplate docs, fixes #328805.
17548
17549 2006-02-14  Wim Taymans  <wim@fluendo.com>
17550
17551         * tools/gst-launch.c: (main):
17552         NO_PREROLL is not an ERROR so don't send confusing messages
17553         to the user.
17554
17555 2006-02-14  Wim Taymans  <wim@fluendo.com>
17556
17557         Patch by: Torsten Schoenfeld
17558
17559         * gst/gstregistry.c: (gst_registry_get_default),
17560         (_gst_registry_cleanup):
17561         Protect default registry with lock and ref/sink it.
17562         Fixes #324818
17563
17564 2006-02-14  Wim Taymans  <wim@fluendo.com>
17565
17566         * gst/gstbuffer.c:
17567         * gst/gstquery.c: (gst_query_list_add_format),
17568         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17569         (gst_query_parse_formats_nth):
17570         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17571         Docs fixes.
17572
17573 2006-02-14  Wim Taymans  <wim@fluendo.com>
17574
17575         * docs/gst/gstreamer-sections.txt:
17576         Reworked query docs.
17577
17578         * gst/gstquery.c: (gst_query_new_formats),
17579         (gst_query_list_add_format), (gst_query_set_formats),
17580         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17581         (gst_query_parse_formats_nth):
17582         * gst/gstquery.h:
17583         Flesh out formats query, added some new methods.
17584         Fix part of #324398.
17585
17586         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17587         Added query creation tests.
17588
17589 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
17590
17591         * gst/gstpad.c: (fixate_value):
17592         Add a default fixation for fraction lists.
17593
17594 2006-02-13  Wim Taymans  <wim@fluendo.com>
17595
17596         * gst/gsttask.c: (gst_task_init), (gst_task_func),
17597         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17598         (gst_task_join):
17599         * gst/gsttask.h:
17600         Detect and warn for obvious deadlocks. fixes #320340
17601         Fix error case where lock was not released.
17602
17603         * tests/check/Makefile.am:
17604         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17605         (task_func), (gst_element_suite), (main):
17606         Add task check.
17607
17608 2006-02-13  Wim Taymans  <wim@fluendo.com>
17609
17610         * docs/gst/gstreamer-sections.txt:
17611         * gst/gstbus.c:
17612         Add new functions to docs.
17613
17614 2006-02-13  Wim Taymans  <wim@fluendo.com>
17615
17616         * docs/design/part-TODO.txt:
17617         Updated TODO list, basesrc supports seeking to non-bytes
17618         formats.
17619
17620         * docs/design/part-element-sink.txt:
17621         Update docs.
17622
17623         * gst/gstbin.c: (bin_replace_message),
17624         (gst_bin_handle_message_func):
17625         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17626         * gst/gstevent.c: (gst_event_finalize):
17627         * gst/gstpad.c: (gst_pad_event_default_dispatch),
17628         (gst_pad_send_event):
17629         Use shiny new _TYPE_NAME macros.
17630
17631         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17632         Move debug statement up.
17633
17634         * gst/gstelement.c: (gst_element_set_locked_state):
17635         Add some debugging.
17636
17637 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
17638
17639         * docs/gst/gstreamer-sections.txt:
17640         * gst/gstmessage.h:
17641         * gst/gstquery.h:
17642           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17643           macros (#330906). Also, document the already existing
17644           GST_QUERY_TYPE macro.
17645
17646 2006-02-13  Wim Taymans  <wim@fluendo.com>
17647
17648         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17649         (event_probe), (GST_START_TEST):
17650         Only events up to the pipeline EOS are counted, there are
17651         some more when going to NULL currently which we don't care
17652         about for now.
17653
17654 2006-02-13  Wim Taymans  <wim@fluendo.com>
17655
17656         * gst/gstpad.c: (gst_pad_send_event):
17657         Correctly check flushing and emit probes. fixes #330125
17658
17659 2006-02-10  Andy Wingo  <wingo@pobox.com>
17660
17661         * gst/gstbus.c (gst_bus_class_init): Declare our private data
17662         structure.
17663         (gst_bus_init): Cache the location of the private data in the
17664         instance structure.
17665         (gst_bus_enable_sync_message_emission) 
17666         (gst_bus_disable_sync_message_emission): Implement new public
17667         functions.
17668         (gst_bus_post): Emit the sync-message signal if the user asked for
17669         it. Fixes #330684.
17670
17671         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17672         location of the bus-private structure.
17673         (gst_bus_enable_sync_message_emission)
17674         (gst_bus_disable_sync_message_emission): API addition
17675
17676 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
17677
17678         Patch by: Vincent Torri
17679
17680         * docs/pwg/building-boiler.xml:
17681         PWG patch from #326800
17682
17683 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
17684
17685         * configure.ac:
17686         * docs/Makefile.am:
17687         * docs/design/Makefile.am:
17688           Dist design docs.
17689
17690 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17691
17692         * configure.ac:
17693           back to CVS
17694
17695 === release 0.10.3 ===
17696
17697 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
17698
17699         * configure.ac:
17700           releasing 0.10.3, "Like a virgin"
17701
17702 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17703
17704         * configure.ac:
17705           2nd prerelease of 0.10.3
17706           Bump libtool versioning.
17707
17708 2006-02-07  Andy Wingo  <wingo@pobox.com>
17709
17710         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17711         update last_stop if we're in TIME format and the timestamp is
17712         valid.
17713
17714         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
17715         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
17716         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17717         If we get a new newsegment with a different format, adapt
17718         accordingly.
17719
17720         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17721         of 0. Not a problem, really.
17722
17723         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17724         warn if sync=true.
17725
17726 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
17727
17728         * configure.ac:
17729           Prelease of 0.10.3
17730
17731 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
17732
17733         * win32/vs7:
17734           project files updated to the default vs7 configuration
17735         * win32/common/libgstbase.def:
17736         * win32/common/libgstreamer.def:
17737           added new symbols,
17738           removed empty lines,
17739           sorted all exported symbols alphabetically
17740         * win32/common/dirent.c:
17741         * win32/common/dirent.h:
17742         * win32/common/gchar.h:
17743           use windows line end.
17744           
17745 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17746
17747         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17748           Send EOS event when stopping.
17749
17750 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17751
17752         * docs/README:
17753           Tell folks what to do if the plugin-foobar.xml file
17754           hasn't been generated for a newly-added plugin.
17755
17756 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17757
17758         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17759         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17760         (gst_collect_pads_start), (gst_collect_pads_stop),
17761         (gst_collect_pads_event): Collectpads now holds a reference
17762         to the GstPad that was added. Indeed we don't want to look
17763         at pads that might just go away with no warning...
17764
17765 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17766
17767         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17768         (gst_collect_pads_start), (gst_collect_pads_stop),
17769         (gst_collect_pads_event), (gst_collect_pads_chain):
17770         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17771         Mark Nauwelaerts's patch on bug #328491.
17772
17773 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17774
17775         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17776         (gst_utils_suite):
17777           Add some simple tests for gst_parse_bin_from_description() and
17778           gst_bin_find_unconnected_pad() (#329069).
17779
17780 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17781
17782         * tools/gst-launch.c: (event_loop), (main):
17783           Catch errors during preroll (#320084).
17784
17785 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
17786
17787         * plugins/elements/gsttypefindelement.c:
17788         (gst_type_find_element_activate):
17789           Post TYPE_NOT_FOUND error message when typefinding
17790           is unsuccessful in the activate function as well.
17791
17792 2006-02-02  Wim Taymans  <wim@fluendo.com>
17793
17794         * docs/design/part-element-sink.txt:
17795         Updated doc.
17796
17797 2006-02-02  Wim Taymans  <wim@fluendo.com>
17798
17799         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17800         (gst_base_sink_render_object),
17801         (gst_base_sink_queue_object_unlocked):
17802         Only keep track of prerollable items when we are 
17803         prerolling.
17804         Before rendering after preroll, always check if we
17805         have queued items.
17806         Added some more debugging.
17807
17808 2006-02-02  Wim Taymans  <wim@fluendo.com>
17809
17810         * gst/gstelement.c: (gst_element_continue_state),
17811         (gst_element_set_state_func), (gst_element_change_state):
17812         Fixed #326576, been running this for quite some time with
17813         no regressions at all.
17814
17815 2006-02-02  Wim Taymans  <wim@fluendo.com>
17816
17817         * common/gst.supp:
17818         Added more suppressions
17819
17820 2006-02-02  Wim Taymans  <wim@fluendo.com>
17821
17822         * docs/design/part-element-sink.txt:
17823         Updated document.
17824
17825         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17826         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17827         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17828         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17829         (gst_base_sink_do_sync), (gst_base_sink_render_object),
17830         (gst_base_sink_preroll_object),
17831         (gst_base_sink_queue_object_unlocked),
17832         (gst_base_sink_queue_object), (gst_base_sink_event),
17833         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17834         (gst_base_sink_loop), (gst_base_sink_activate_pull),
17835         (gst_base_sink_get_position), (gst_base_sink_change_state):
17836         * libs/gst/base/gstbasesink.h:
17837         Totally refactored matching the design doc.
17838         Use two segments, one to clip incomming buffers and another to
17839         perform sync.
17840         Handle queueing correctly, bypass the queue when playing.
17841         Make EOS cancelable.
17842         Handle errors correctly when operating in pull based mode.
17843
17844         * tests/check/elements/fakesink.c: (GST_START_TEST),
17845         (fakesink_suite):
17846         Added new check for sinks.
17847
17848 2006-02-02  Wim Taymans  <wim@fluendo.com>
17849
17850         * gst/gstsegment.c: (gst_segment_clip):
17851         No reason to refuse to clip when start == -1
17852
17853 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
17854
17855         * docs/README:
17856         * docs/manual/intro-basics.xml:
17857         * docs/manual/intro-preface.xml:
17858         * docs/manual/manual.xml:
17859         * docs/pwg/advanced-dparams.xml:
17860         * docs/pwg/intro-basics.xml:
17861         * docs/pwg/intro-preface.xml:
17862         * docs/pwg/pwg.xml:
17863           describe dparams (controller) for plugins
17864           unify docs a little more
17865
17866 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
17867
17868         * docs/gst/gstreamer-sections.txt:
17869         * gst/gstutils.c: (element_find_unconnected_pad),
17870         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17871         * gst/gstutils.h:
17872           Add new API: gst_parse_bin_from_description() and
17873           gst_bin_find_unconnected_pad() (#329069).
17874
17875 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
17876
17877         * docs/manual/README:
17878           uncover a nasty detail of the docs build
17879
17880 2006-01-31  Wim Taymans  <wim@fluendo.com>
17881
17882         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17883         Don't cache duration messages if we're not going to use or
17884         free them.
17885
17886 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
17887
17888         * docs/manual/advanced-dparams.xml:
17889         * docs/pwg/advanced-dparams.xml:
17890           more dparam docs
17891         * gst/gstindex.c:
17892           fix docs
17893         * libs/gst/controller/lib.c: (gst_controller_init):
17894           init just once
17895
17896 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
17897
17898         * gst/gstelement.c: (gst_element_message_full):
17899           also show file/line/func if no additional debug was given
17900
17901 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
17902         
17903         * win32/vs7/grammar.vcproj:
17904           activate copy of autogenerated files for Release mode
17905
17906 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17907         
17908         * win32/common/libgstreamer.def:
17909           export gst_value_compare
17910
17911 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
17912
17913         * plugins/elements/Makefile.am:
17914         * plugins/elements/gstelements.c:
17915         * plugins/elements/gstfdsink.c: (_do_init),
17916         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17917         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17918         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17919         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17920         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17921         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17922         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17923         * plugins/elements/gstfdsink.h:
17924         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17925
17926 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
17927
17928         * docs/manual/advanced-dparams.xml:
17929           describe controller
17930         * docs/manual/advanced-position.xml:
17931         * docs/manual/basics-init.xml:
17932         * docs/manual/manual.xml:
17933         * docs/manual/titlepage.xml:
17934         * docs/pwg/pwg.xml:
17935         * docs/pwg/titlepage.xml:
17936           cleanup xml (more to come)
17937         * libs/gst/controller/gstcontroller.c:
17938           fix typo
17939
17940 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17941         
17942         * win32/vs6/grammar.dsp:
17943           add autogen of gstmarshal.c,h for Release mode
17944                 
17945 2006-01-30  Wim Taymans  <wim@fluendo.com>
17946
17947         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17948         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17949         (gst_base_sink_handle_object), (gst_base_sink_event),
17950         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17951         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17952         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17953         (gst_base_sink_deactivate), (gst_base_sink_activate),
17954         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17955         (gst_base_sink_query), (gst_base_sink_change_state):
17956         Basesink cleanups, remove some old code.
17957         Handle the case where a subclass can preroll in the render
17958         method (mostly audiosinks).
17959         Handle more events.
17960         Remove some locks around variables that are now protected
17961         with the PREROLL_LOCK (clock_id, flushing, ..).
17962         Optimize position query some more, do correct locking.
17963         Remove old code to push queue in state change, this is not
17964         needed anymore since preroll blocks on all prerollable items 
17965         now.
17966         Almost implemented as described in design doc.
17967
17968 2006-01-30  Wim Taymans  <wim@fluendo.com>
17969
17970         * tests/check/gst/gstbin.c: (GST_START_TEST):
17971         Wait for refcount to settle down before checking.
17972
17973 2006-01-30  Wim Taymans  <wim@fluendo.com>
17974
17975         * docs/design/part-element-sink.txt:
17976         Pseudo code overview of desired sink behaviour regarding
17977         preroll.
17978
17979 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17980         * win32/vs6/grammar.dsp:
17981           fix some bugs in Release mode for autogenerated files
17982                 
17983 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17984         * win32/common/libgstbase.def:
17985         * win32/common/libgstreamer.def:
17986           export some new symbols: gst_base_src_set_format,
17987           gst_iterator_next, gst_structure_set_valist
17988
17989 2006-01-29  Julien MOUTTE  <julien@moutte.net>
17990
17991         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17992         Set pad functions unconditionally. Fixes #329105.
17993
17994 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17995         * win32/vs8:
17996           add vs8 project files created by Sergey Scobich
17997
17998 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
17999
18000         * gst/gstutils.c: (gst_element_unlink_pads):
18001         Don't leak pad references.
18002
18003         * tests/check/elements/fakesink.c: (GST_START_TEST):
18004         * tests/check/generic/sinks.c: (GST_START_TEST):
18005         * tests/check/generic/states.c: (GST_START_TEST):
18006         * tests/check/gst/gstbin.c: (GST_START_TEST):
18007         * tests/check/gst/gstcaps.c: (GST_START_TEST):
18008         * tests/check/gst/gstelement.c: (GST_START_TEST):
18009         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
18010         * tests/check/gst/gstiterator.c: (GST_START_TEST):
18011         * tests/check/gst/gstvalue.c: (GST_START_TEST):
18012         Fix a bunch of leaks. Make generic/sinks.c
18013         use a bit less cpu by slowing the buffer rate
18014         between fakesrc and fakesink.
18015         
18016 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
18017         * gst/gstcaps.c:
18018         * gst/gstelement.c: (gst_element_send_event):
18019         * gst/gstevent.c:
18020         * gst/gstinfo.c:
18021         * gst/gstiterator.c:
18022         * gst/gstiterator.h:
18023         * gst/gstpad.c: (gst_pad_send_event):
18024         * gst/gststructure.c:
18025         * gst/gsturi.c:
18026         * gst/gstutils.c:
18027         * gst/gstvalue.c:
18028         * libs/gst/base/gstadapter.c:
18029           doc fixes, to link to function, just write gst_cool_function(), don't
18030           prefix with '#'
18031
18032 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
18033
18034         * plugins/elements/gsttee.c: (gst_tee_do_push),
18035         (gst_tee_handle_buffer):
18036         Always prefer an actual return value from a src
18037         pad in place of NOT_LINKED. This means we return
18038         WRONG_STATE when all src pads are WRONG_STATE
18039         instead of NOT_LINKED.
18040
18041         Lock when replacing the last message to prevent
18042         racing with the get_property method.
18043
18044         Add debug output
18045
18046 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
18047
18048         * tests/check/Makefile.am:
18049         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
18050         (main):
18051         Add a very simple check that should have caught the memleak I fixed
18052         last night (if not for the slice allocator hiding it)
18053
18054 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
18055
18056         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
18057         (gst_bin_remove_func), (gst_bin_handle_message_func),
18058         (bin_query_duration_fold), (bin_query_generic_fold):
18059         Clean up references to the clock provider when disposed or when
18060         handling a clock-lost message from it.
18061
18062         Unref sinks when performing a query via gst_iterator_fold, as the
18063         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
18064
18065         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
18066         (gst_clock_set_master):
18067         Drop our reference to the master clock, if any, when we are disposed.
18068
18069         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
18070         Chain up in dispose. 
18071
18072 2006-01-26  Wim Taymans  <wim@fluendo.com>
18073
18074         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
18075         Add some debugging.
18076
18077 2006-01-26  Julien MOUTTE  <julien@moutte.net>
18078
18079         * plugins/elements/gsttee.c: (gst_tee_do_push),
18080         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
18081         handles pad being NOT_LINKED or in WRONG_STATE.
18082
18083 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
18084
18085         * win32/MANIFEST:
18086           more updating
18087
18088 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
18089
18090         * win32/MANIFEST:
18091           remove obsolete entry
18092
18093 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
18094
18095         * docs/gst/gstreamer-sections.txt:
18096         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
18097         (gst_bin_iterate_sources), (gst_bin_send_event):
18098         * gst/gstbin.h:
18099         * gst/gstelement.c: (gst_element_send_event):
18100         * gst/gstevent.c:
18101         * gst/gstpad.c: (gst_pad_send_event):
18102           added code for downstream events, reviewed docs in gstevent.c
18103
18104 2006-01-25  Julien MOUTTE  <julien@moutte.net>
18105
18106         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18107         We only query position using the clock in the playing state.
18108         Query peer in the other cases.
18109         * win32/common/config.h: Updates.
18110
18111 2006-01-24  Wim Taymans  <wim@fluendo.com>
18112
18113         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
18114         A clock entry that is scheduled for the exact time of the
18115         clock is still in time.
18116
18117         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18118         (gst_base_sink_do_sync):
18119         Add some more debug info.
18120
18121 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
18122
18123         * win32/vs7:
18124           Add new vs7 project files and solution.
18125
18126 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
18127
18128         * win32/vs7:
18129           all files removed as they were out-dated.
18130
18131 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18132
18133         * docs/random/release:
18134           update notes
18135         * gst/gstbin.c: (gst_bin_init):
18136         * gst/gstbus.c: (gst_bus_new):
18137         * gst/gstbus.h:
18138         * gst/gstpipeline.c: (gst_pipeline_init):
18139           use gst_bus_new(), improve logging, fix docs
18140         * win32/common/config.h:
18141           update for cvs build
18142
18143 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18144
18145         * autogen.sh:
18146           up required version of automake to 1.7
18147
18148 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
18149
18150         * win32/common/libgstreamer.def:
18151           export gst_buffer_is_metadata_writable
18152
18153 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
18154
18155         * docs/gst/gstreamer-sections.txt:
18156         * gst/gstevent.h:
18157           Add gst_event_replace() (#327001)
18158
18159 2006-01-20  Wim Taymans  <wim@fluendo.com>
18160
18161         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
18162         Make it actually compile too..
18163
18164 2006-01-20  Wim Taymans  <wim@fluendo.com>
18165
18166         * gst/gstcaps.c:
18167         Clarify behaviour of _is_equal() when passing NULL parameters.
18168
18169         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
18170         (gst_pad_set_caps):
18171         Cleanups. Don't unref NULL caps.
18172         When setting the same caps, protect caps of the pad with
18173         proper lock.
18174         Use full functionality of _is_equal() when comparing caps.
18175
18176 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
18177
18178         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
18179         Don't loop infinitely if there are no buffers to present. Partially
18180         fixes #327197, but collectpads is just broken for reusing elements
18181         to do multiple encodes atm.
18182
18183 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
18184
18185         * tools/gst-inspect.c: (print_element_features):
18186         * tools/gst-xmlinspect.c: (main):
18187         URL_HANDLER is not a plugin feature we can search for in
18188         the registry.
18189
18190 2006-01-19  Edward Hervey  <edward@fluendo.com>
18191
18192         * gst/gstelement.c: (gst_element_pads_activate): 
18193         When activating, do src pads first, then sink pads.
18194         When de-activating, do sink pads first, then src pads.
18195
18196 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
18197
18198         * docs/gst/gstreamer-sections.txt:
18199         Add gst_index_add_associationv to the docs
18200
18201 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
18202
18203         * gst/gstevent.c:
18204           Fix docs typo
18205
18206         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
18207         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
18208           Do some refactoring. Doesn't actually change functionality,
18209           but makes landing the DRAIN event easier later.
18210
18211 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
18212
18213         * docs/pwg/advanced-scheduling.xml:
18214           Update from 0.9.x to 0.10 API and make example a bit
18215           clearer.
18216
18217 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
18218
18219         * docs/gst/gstreamer-sections.txt:
18220         Add gst_buffer_(is|make)_metadata_writable methods.
18221
18222 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
18223
18224         * docs/design/part-sparsestreams.txt:
18225         Update sparse streams doc, hopefully for greater clarity
18226
18227 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
18228
18229         * docs/design/part-events.txt:
18230         Remove mention of FILLER events.
18231         Add DRAIN event.
18232
18233         * docs/design/part-sparsestreams.txt:
18234         Write some things about using NEWSEGMENT to keep sparse streams
18235         flowing.
18236
18237 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
18238
18239         * gst/gstbin.c: (gst_bin_dispose):
18240           Guard gst_object_unref call against a NULL object (dispose
18241           can theoretically be called multiple times).
18242           
18243 2006-01-18  Wim Taymans  <wim@fluendo.com>
18244
18245         * gst/gstbin.c: (gst_bin_element_set_state):
18246         * gst/gstclock.c: (gst_clock_id_wait):
18247         Added some more debug info.
18248
18249         * libs/gst/base/gstadapter.c:
18250         Added more docs.
18251
18252         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18253         (gst_base_sink_do_sync), (gst_base_sink_chain):
18254         Added some comments.
18255
18256 2006-01-18  Wim Taymans  <wim@fluendo.com>
18257
18258         * tests/check/Makefile.am:
18259         * tests/check/elements/fakesink.c: (chain_async_buffer),
18260         (chain_async), (chain_async_return), (GST_START_TEST),
18261         (fakesink_suite), (main):
18262         Added fakesink test that checks prerolling and clipping
18263         behaviour.
18264
18265         * tests/check/gst/gstutils.c: (GST_START_TEST):
18266         Make check run faster so that buildbots don't timeout.
18267
18268 2006-01-18  Wim Taymans  <wim@fluendo.com>
18269
18270         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18271         (gst_base_sink_do_sync):
18272         Some cleanups.
18273         When the sink finishes blocking on the preroll buffer, it can
18274         immediatly render it instead of rendering when the next buffer
18275         arrives.
18276
18277 2006-01-18  Wim Taymans  <wim@fluendo.com>
18278
18279         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
18280         (gst_base_sink_get_property), (gst_base_sink_do_sync),
18281         (gst_base_sink_chain):
18282         Small cleanups.
18283         GST_ELEMENT_CLOCK and sync are protected with LOCK.
18284         Don't store _last_stop if the buffer is dropped.
18285
18286 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
18287
18288         * plugins/elements/gsttypefindelement.c:
18289         (gst_type_find_element_class_init):
18290           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
18291           object method handler that sets the caps on the pad and we want
18292           that to happen before we emit the signal (fixes e.g. feeding a
18293           plain text file to decodebin).
18294
18295 2006-01-18  Christian Schaller  <Christian@fluendo.com>
18296
18297         * gst/gstplugin.c: Add MPL and Proprietary as license options
18298
18299 2006-01-18  Andy Wingo  <wingo@pobox.com>
18300
18301         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
18302         symbol was exported before, it appears this was just an oversight.
18303         Fixes #168703.
18304         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
18305
18306         * gst/gstindex.c (gst_index_add_associationv): Changed int in
18307         prototype to gint. OK since this prototype was not in the header.
18308
18309 2006-01-17  Andy Wingo  <wingo@pobox.com>
18310
18311         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
18312         registry while we remove plugins.
18313
18314         * tools/gst-inspect.c (print_element_info): Don't unref the
18315         factory arg, that should be the responsibility of whatever code
18316         received the ref. Fixes a double-free when called from
18317         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
18318         (main): Unref the factory if we have one.
18319         (print_element_list): No change -- relies on the
18320         plugin_feature_list_free to free the list of features.
18321
18322 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
18323
18324         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18325         (gst_buffer_make_metadata_writable):
18326         * gst/gstbuffer.h:
18327         * libs/gst/base/gstbasetransform.c:
18328         (gst_base_transform_prepare_output_buf):
18329         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18330         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18331           Replace gst_buffer_(make|is)_metadata_writable patch now
18332           that the release is out.
18333
18334 2006-01-17  Andy Wingo  <wingo@pobox.com>
18335
18336         * gst/gstregistry.c: Reflow design comment. Update so as to speak
18337         in the present tense without reference to versions.
18338
18339         * gst/gstregistry.c (gst_registry_add_plugin)
18340         (gst_registry_remove_plugin, gst_registry_remove_feature)
18341         (gst_registry_find_feature, gst_registry_get_feature_list)
18342         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
18343         (gst_registry_lookup, gst_registry_scan_path)
18344         (_gst_registry_remove_cache_plugins)
18345         (gst_registry_get_feature_list_by_plugin): Add argument
18346         validation.
18347
18348 === release 0.10.2 ===
18349
18350 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
18351
18352         * configure.ac:
18353           releasing 0.10.2, "If man is five"
18354
18355 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18356
18357         * gst/gstbuffer.c:
18358         * gst/gstbuffer.h:
18359         * libs/gst/base/gstbasetransform.c:
18360         (gst_base_transform_prepare_output_buf):
18361         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18362         * tests/check/gst/gstbuffer.c: (gst_test_suite):
18363           Back out patch until after the release.
18364
18365 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18366
18367         * gst/gstminiobject.c:
18368           Spelling fix in docs.
18369         * ChangeLog - remove conflict indicator
18370
18371 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18372
18373         Reviewed By: Andy Wingo
18374
18375         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18376         (gst_buffer_make_metadata_writable):
18377         * gst/gstbuffer.h:
18378           Add gst_buffer_(is|make)_metadata_writable as analogues of
18379           gst_buffer_(is|make)_writable.
18380
18381         * libs/gst/base/gstbasetransform.c:
18382         (gst_base_transform_prepare_output_buf):
18383         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18384           Use name gst_buffer_(is|make)_metadata_writable functions.
18385
18386         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18387           Test gst_buffer_(is|make)_metadata_writable
18388         
18389           (Closes: #324162)
18390
18391 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
18392
18393         * docs/manual/Makefile.am:
18394           don't do parallel make
18395         * configure.ac:
18396           AC_SUBST HOST_CPU
18397         * win32/common/config.h.in:
18398           add generations for HOST_CPU and GST_MAJORMINOR
18399         * win32/common/config.h:
18400           commit generated result
18401
18402 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
18403
18404         * docs/manual/appendix-integration.xml:
18405           Update GNOME integration section to use gst_init_get_option_group()
18406           instead of the old popt stuff (#322911). Also, GNOME applications
18407           should  now use gconf*sink and gconf*src instead of the old gconf
18408           helper lib we had.
18409
18410 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
18411
18412
18413         * docs/gst/gstreamer-docs.sgml:
18414         * docs/gst/gstreamer-sections.txt:
18415         * docs/libs/gstreamer-libs-sections.txt:
18416           add new API entries to the docs
18417         * libs/gst/controller/Makefile.am:
18418         * libs/gst/controller/gstcontroller.c:
18419         * libs/gst/controller/gstcontroller.h:
18420         * libs/gst/controller/gstcontrollerprivate.h:
18421         * libs/gst/controller/gsthelper.c:
18422         * libs/gst/controller/gstinterpolation.c:
18423           move private structs to private header
18424         * po/README:
18425           gstreamer-0.7 -> gstreamer-0.10
18426         * tests/check/libs/struct_i386.h:
18427           remove private structs
18428
18429 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18430
18431         * plugins/indexers/Makefile.am:
18432           Fixes as part of #317048
18433
18434 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18435
18436         * plugins/indexers/Makefile.am:
18437           fix #316086 - compilation when mmap is missing
18438
18439 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
18440
18441         * libs/gst/base/gstbasesink.c:
18442           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
18443           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
18444         * win32/common/config.h:
18445           added some defines GST_MAJORMINOR and HOST_CPU
18446         * win32/common/libgstbase.def:
18447         * win32/common/libgstreamer.def:
18448           added some exported functions.
18449
18450 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18451
18452         * libs/gst/controller/gstcontroller.c:
18453         (gst_controlled_property_set_interpolation_mode),
18454         (gst_controlled_property_new):
18455         * libs/gst/controller/gstcontroller.h:
18456         * libs/gst/controller/gstinterpolation.c:
18457         (interpolate_none_get_string_value_array):
18458           make G_TYPE_STRING controlable
18459
18460 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18461
18462         * tools/README:
18463         * tools/gst-feedback.1.in:
18464         * tools/gst-inspect.1.in:
18465         * tools/gst-launch.1.in:
18466         * tools/gst-md5sum.1.in:
18467         * tools/gst-typefind.1.in:
18468         * tools/gst-xmlinspect.1.in:
18469         * tools/gst-xmllaunch.1.in:
18470           cleanup man-pages, remove reference to gst-register, document env-vars
18471
18472 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
18473
18474         * gst/gstbuffer.c: (gst_buffer_span):
18475           gst_buffer_span should copy the timestamp of the first buffer
18476           if they were both originally overlapping subbuffers of the 
18477           same parent, using the same logic as the 'slow copy' case.
18478
18479 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
18480
18481         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
18482           Need to awaken ALL the pads when we pop a buffer, otherwise
18483           collectpads only works when there is 2 input streams.
18484
18485 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
18486
18487         * docs/random/ensonic/media-device-daemon.txt:
18488           more ideas (dbus)
18489         * gst/gstbuffer.c:
18490           fix doc example, add clarification
18491         * tools/gst-launch.1.in:
18492           add initial info about GST_PLUGIN_PATH, needs more work
18493
18494 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
18495
18496         * docs/manual/basics-bins.xml:
18497         * docs/manual/basics-elements.xml:
18498         * docs/manual/intro-basics.xml:
18499           Some more minor docs additions and updates.
18500
18501 2006-01-11  Wim Taymans  <wim@fluendo.com>
18502
18503         * docs/manual/basics-bins.xml:
18504         * docs/manual/basics-elements.xml:
18505         Some small fixes as pointed out by Ser-ver on IRC.
18506
18507 2006-01-10  Edward Hervey  <edward@fluendo.com>
18508
18509         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18510         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
18511         the single-segment mode.
18512
18513 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
18514
18515         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18516
18517         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
18518         (gst_base_src_perform_seek), (gst_base_src_send_event),
18519         (gst_base_src_set_property), (gst_base_src_get_property),
18520         (gst_base_src_loop), (gst_base_src_start),
18521         (gst_base_src_activate_push):
18522         * libs/gst/base/gstbasesrc.h:
18523           Name (private) union; makes Sun's Forte compiler happy (#324900).
18524
18525 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
18526
18527         * README:
18528           gst-register is gone.
18529
18530 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
18531
18532         * gst/gstvalue.c: (_gst_value_initialize):
18533           make the G_TYPE_DATE instantiation work if debug is disabled
18534
18535 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
18536
18537         * gst/gstmessage.c: (gst_message_parse_tag),
18538         (gst_message_parse_error), (gst_message_parse_warning):
18539           Don't crash when return location for error/warning debug
18540           string is NULL; add fact that return locations can be
18541           NULL to docs where appropriate.
18542
18543 2006-01-05  Wim Taymans  <wim@fluendo.com>
18544
18545         * gst/gstplugin.c: (gst_plugin_load_file):
18546         Replace strdup by g_strdup.
18547
18548 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18549
18550         * docs/pwg/advanced-types.xml:
18551           fix doc borkage
18552
18553 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18554
18555         submitted by: Abel Cheung
18556
18557         * po/LINGUAS:
18558         * po/zh_TW.po:
18559           Added Chinese (traditional) translation
18560
18561 2006-01-04  Wim Taymans  <wim@fluendo.com>
18562
18563         * docs/manual/basics-pads.xml:
18564         * docs/plugins/Makefile.am:
18565         * docs/plugins/gstreamer-plugins-docs.sgml:
18566         * docs/plugins/gstreamer-plugins-sections.txt:
18567         * docs/pwg/advanced-clock.xml:
18568         * docs/pwg/advanced-scheduling.xml:
18569         * docs/pwg/advanced-types.xml:
18570         * plugins/elements/gstfdsink.c:
18571         * plugins/elements/gstfdsrc.c:
18572         * plugins/elements/gstfdsrc.h:
18573         * plugins/elements/gstidentity.c: (gst_identity_class_init):
18574         * plugins/elements/gstidentity.h:
18575         * plugins/elements/gstqueue.h:
18576         * plugins/elements/gsttee.c:
18577         * plugins/elements/gsttee.h:
18578         * plugins/elements/gsttypefindelement.c:
18579         (gst_type_find_element_class_init):
18580         * plugins/elements/gsttypefindelement.h:
18581         Small updates to various docs.
18582         Added core plugins to docs.
18583
18584 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18585
18586         * common/gst.supp:
18587           add a suppression for liboil's uninitialized variable
18588
18589 2006-01-02  James Livingston  <jrl at ids dot org dot au>
18590
18591         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18592
18593         * gst/gstutils.h:
18594           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18595           macro, so that gcc doesn't complain if the -Wmissing-prototypes
18596           compiler switch is being used (#325429).
18597
18598 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
18599
18600         * gst/gstbin.c: (gst_bin_query):
18601           Disable duration query caching in bins until it gets
18602           fixed (see #324807).
18603
18604 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18605
18606         * tools/gst-inspect.c: (print_element_properties_info):
18607           Handle properties of POINTER and BOXED type.
18608
18609 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18610
18611         * gst/gst.c: (init_post):
18612           Init tags stuff and some other things before loading
18613           any static plugins (there may be other static plugins
18614           than just the GStreamer ones, and they may want to
18615           register their own tags or formats or whatever, and
18616           preferably without segfaulting).
18617
18618         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18619           Print at least a warning in the debug logs if we drop a
18620           query just because we don't know how to adjust the value
18621           in the particular format.
18622
18623 2005-12-24  David Schleef  <ds@schleef.org>
18624
18625         * tools/gstreamer-completion:
18626           Replacement for gst-complete written in sh and sed.  Only
18627           completes names of features, but that's 90% of what I want
18628           it for.  Properties are not available in registry.xml.  (Maybe
18629           they should be...)
18630
18631 === release 0.10.1 ===
18632
18633 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
18634
18635         * configure.ac:
18636           releasing 0.10.1, "Nollaig chridheil"
18637
18638 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
18639
18640         * docs/faq/cvs.xml:
18641           Add missing quote, should be make ERROR_CFLAGS="".
18642
18643 2005-12-20  Wim Taymans  <wim@fluendo.com>
18644
18645         * docs/design/part-trickmodes.txt:
18646         More documentation on trickmodes.
18647
18648 2005-12-20  Edward Hervey  <edward@fluendo.com>
18649
18650         * gst/gstcaps.c: (gst_static_caps_get_type):
18651         * gst/gstcaps.h:
18652           API addition: GST_TYPE_STATIC_CAPS
18653         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18654         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18655         * gst/gstpadtemplate.h:
18656           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18657         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18658         bindings.
18659
18660 2005-12-18  Wim Taymans  <wim@fluendo.com>
18661
18662         * libs/gst/base/gstadapter.c:
18663         * libs/gst/base/gstadapter.h:
18664         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18665         (gst_base_sink_get_position):
18666         * libs/gst/base/gstbasesink.h:
18667         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18668         (gst_base_src_default_query), (gst_base_src_default_do_seek),
18669         (gst_base_src_do_seek), (gst_base_src_perform_seek),
18670         (gst_base_src_send_event), (gst_base_src_update_length),
18671         (gst_base_src_get_range), (gst_base_src_loop),
18672         (gst_base_src_start):
18673         * libs/gst/base/gstbasesrc.h:
18674         * libs/gst/base/gstbasetransform.h:
18675         * libs/gst/base/gstcollectpads.h:
18676         * libs/gst/base/gstpushsrc.c:
18677         * libs/gst/base/gstpushsrc.h:
18678         * libs/gst/dataprotocol/dataprotocol.c:
18679         * libs/gst/dataprotocol/dataprotocol.h:
18680         * libs/gst/net/gstnetclientclock.h:
18681         * libs/gst/net/gstnettimeprovider.h:
18682         Documentation updates.
18683
18684 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
18685
18686         * docs/manual/basics-helloworld.xml:
18687           Remove superfluous closing bracket in helloworld example.
18688
18689 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
18690
18691         * tools/gst-launch.1.in:
18692           Update gst-launch man page; add a section with useful
18693           environment variables. Fixes #323882.
18694
18695 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
18696
18697         * gst/gst.c:
18698         * gst/gst_private.h:
18699           change some char* into char[]
18700
18701 2005-12-16  Wim Taymans  <wim@fluendo.com>
18702
18703         * gst/gstregistryxml.c: (load_feature):
18704         Cleanups.
18705         Don't use g_object_unref on GstObjects so that we avoid
18706         leaks on unsafe glibs.
18707
18708 2005-12-16  Wim Taymans  <wim@fluendo.com>
18709
18710         * gst/gstbin.c: (gst_bin_recalc_state):
18711         Small doc updates.
18712
18713 2005-12-16  Wim Taymans  <wim@fluendo.com>
18714
18715         * common/check.mak:
18716         Added make forever target for check.
18717
18718 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18719
18720         * gst/gst.c: (init_post):
18721           make the registry cache file HOST_CPU-dependent
18722
18723 2005-12-16  Andy Wingo  <wingo@pobox.com>
18724
18725         * plugins/elements/gstbufferstore.c
18726         (gst_buffer_store_cleared_func): Pay attention to g_list_append
18727         return value.
18728
18729         * tests/check/gst/gstobject.c
18730         (test_fake_object_name_threaded_unique): Pay attention to
18731         g_list_sort return value.
18732
18733 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
18734
18735         * tools/gst-feedback-m.m:
18736           Update for 0.9/0.10 (fixes #323870).
18737
18738 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
18739
18740         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18741           Fix lcopy for mini objects, the mini object needs to be ref'ed.
18742           
18743         * tests/check/gst/gstminiobject.c: (my_foo_init),
18744         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18745         (test_value_collection), (gst_mini_object_suite):
18746           Add test to ensure refcounts end up as expected when passing
18747           GstMiniObjects through g_object_get() and g_object_set().
18748
18749 2005-12-14  Julien MOUTTE  <julien@moutte.net>
18750
18751         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18752         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18753         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18754         of collectpads. This version removes a lot of races without
18755         touching API/ABI. Yay !
18756
18757 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
18758
18759         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18760           Don't allow activation of a srcpad in pull_range if it has no
18761           getrange function.
18762           Change some debug statements to be a little clearer
18763
18764         * plugins/elements/gsttypefindelement.c:
18765         (gst_type_find_handle_src_query):
18766           Check that we have a peer before executing queries thereupon.
18767
18768         * tests/examples/metadata/read-metadata.c: (message_loop):
18769           Use gst_bus_pop instead of gst_bus_poll when we just want it to
18770           immediately return us any available message with 0 timeout.
18771
18772 2005-12-12  Michael Smith  <msmith@fluendo.com>
18773
18774         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18775           Don't unref factories after calling them.
18776         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18777         * plugins/elements/gsttypefindelement.c:
18778         (gst_type_find_element_chain):
18779           Free lists of factories after using them. Fixing typefinding memory
18780           leaks.
18781
18782 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18783
18784         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18785         (gst_plugin_feature_load):
18786           more meaningful debug output
18787         * configure.ac:
18788         * tests/Makefile.am:
18789         * tests/old/examples/Makefile.am:
18790           make make distcheck happy again
18791
18792 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18793
18794         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18795           Catch the special case where we are operating chain-based,
18796           but the downstream peer pad has no chain function. Emit a
18797           custom error message in this case instead of letting the
18798           core generate one implying that this is some sort of core
18799           bug. It's not, it just means that whatever got plugged
18800           into the pipeline downstream when we announced the type
18801           can only operate pull-based, while our source can only
18802           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18803           Error string has not been marked for translation yet, as
18804           it probably needs some more work first.
18805
18806         (gst_type_find_element_get_best_possibility):
18807           Add helper function to find the best of all available
18808           found possibilities that qualify given the min. threshold.
18809
18810         (gst_type_find_element_handle_event):
18811           Fix the case where we get an EOS while still in TYPEFIND
18812           mode (we want to chose the best of all possible types,
18813           not just the first type that happens to be in our unsorted
18814           list of possible types).
18815
18816         (gst_type_find_element_chain):
18817           Make sure we return GST_FLOW_ERROR when we errored out
18818           in stop_typefinding(); also, don't just find the best of
18819           all found type entries and then use the last examined
18820           type entry, but actually use the best entry.
18821
18822 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18823
18824         * tests/examples/typefind/typefind.c: (type_found):
18825         * tests/examples/xml/runxml.c: (xml_loaded):
18826           More gcc4 fixes and a mem leak fix.
18827
18828 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18829
18830         * tests/examples/xml/createxml.c: (object_saved):
18831           gcc 4 fixes
18832
18833 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18834
18835         * tests/Makefile.am:
18836           enable the examples even more
18837
18838 2005-12-12  Andy Wingo  <wingo@pobox.com>
18839
18840         * libs/gst/net/gstnettimeprovider.c
18841         (gst_net_time_provider_class_init, gst_net_time_provider_init)
18842         (gst_net_time_provider_set_property)
18843         (gst_net_time_provider_get_property):
18844         API addition: Export "active" as a GObject property.
18845         (gst_net_time_provider_thread): Only respond to time queries if
18846         the time provider is active.
18847
18848         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18849         NetTimeProvider, preserving binary compat.
18850
18851 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18852
18853         * tests/examples/controller/audio-example.c: (main):
18854         * tests/examples/launch/Makefile.am:
18855           convert comments again
18856
18857 2005-12-12  Wim Taymans  <wim@fluendo.com>
18858
18859         * libs/gst/base/gstpushsrc.c:
18860         Fix typo.
18861
18862 2005-12-12  Wim Taymans  <wim@fluendo.com>
18863
18864         * docs/libs/gstreamer-libs-sections.txt:
18865         Added new symbol to docs.
18866
18867         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18868         (gst_base_src_init), (gst_base_src_set_format),
18869         (gst_base_src_default_query), (gst_base_src_query),
18870         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18871         (gst_base_src_perform_seek), (gst_base_src_send_event),
18872         (gst_base_src_default_event), (gst_base_src_event_handler),
18873         (gst_base_src_set_property), (gst_base_src_get_property),
18874         (gst_base_src_wait), (gst_base_src_do_sync),
18875         (gst_base_src_update_length), (gst_base_src_get_range),
18876         (gst_base_src_check_get_range), (gst_base_src_loop),
18877         (gst_base_src_default_negotiate), (gst_base_src_start),
18878         (gst_base_src_activate_push), (gst_base_src_activate_pull),
18879         (gst_base_src_change_state):
18880         * libs/gst/base/gstbasesrc.h:
18881         Implement seeking to other formats than _BYTES.
18882         Implement more seeking methods correctly.
18883         Doc updates.
18884         Added query vmethod.
18885         Added do_seek vmethod to make life easier for subclasses
18886         when seeking.
18887         API addition: gst_base_src_set_format()
18888
18889 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18890
18891         * tests/examples/Makefile.am:
18892           added that too
18893
18894 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18895
18896         * configure.ac:
18897         * docs/random/ensonic/media-device-daemon.txt:
18898         * tests/examples/controller/.cvsignore:
18899         * tests/examples/controller/Makefile.am:
18900         * tests/examples/controller/audio-example.c: (main):
18901         * tests/examples/helloworld/.cvsignore:
18902         * tests/examples/helloworld/Makefile.am:
18903         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18904         * tests/examples/launch/.cvsignore:
18905         * tests/examples/launch/Makefile.am:
18906         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18907         * tests/examples/metadata/.cvsignore:
18908         * tests/examples/metadata/Makefile.am:
18909         * tests/examples/metadata/read-metadata.c: (message_loop),
18910         (make_pipeline), (print_tag), (main):
18911         * tests/examples/queue/.cvsignore:
18912         * tests/examples/queue/Makefile.am:
18913         * tests/examples/queue/queue.c: (event_loop), (main):
18914         * tests/examples/typefind/.cvsignore:
18915         * tests/examples/typefind/Makefile.am:
18916         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18917         (main):
18918         * tests/examples/xml/.cvsignore:
18919         * tests/examples/xml/Makefile.am:
18920         * tests/examples/xml/createxml.c: (object_saved), (main):
18921         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18922         * tests/old/examples/Makefile.am:
18923         * tests/old/examples/TODO:
18924         * tests/old/examples/controller/.cvsignore:
18925         * tests/old/examples/controller/Makefile.am:
18926         * tests/old/examples/controller/audio-example.c:
18927         * tests/old/examples/helloworld/.cvsignore:
18928         * tests/old/examples/helloworld/Makefile.am:
18929         * tests/old/examples/helloworld/helloworld.c:
18930         * tests/old/examples/launch/.cvsignore:
18931         * tests/old/examples/launch/Makefile.am:
18932         * tests/old/examples/launch/mp3parselaunch.c:
18933         * tests/old/examples/launch/mp3play:
18934         * tests/old/examples/manual/Makefile.am:
18935         * tests/old/examples/metadata/Makefile.am:
18936         * tests/old/examples/metadata/read-metadata.c:
18937         * tests/old/examples/queue/.cvsignore:
18938         * tests/old/examples/queue/Makefile.am:
18939         * tests/old/examples/queue/queue.c:
18940         * tests/old/examples/typefind/.cvsignore:
18941         * tests/old/examples/typefind/Makefile.am:
18942         * tests/old/examples/typefind/typefind.c:
18943         * tests/old/examples/xml/.cvsignore:
18944         * tests/old/examples/xml/Makefile.am:
18945         * tests/old/examples/xml/createxml.c:
18946         * tests/old/examples/xml/runxml.c:
18947           applied some simple fixing to some examples
18948           re-enabled the working examples
18949
18950 2005-12-12  Wim Taymans  <wim@fluendo.com>
18951
18952         * gst/gstsegment.c: (gst_segment_init),
18953         (gst_segment_set_last_stop), (gst_segment_set_seek),
18954         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18955         (gst_segment_to_running_time):
18956         Added more documentation.
18957         Make sure the last_pos value is updated properly.
18958         Make sure to_stream_time and to_running_time don't
18959         operate on wrong values.
18960
18961         * tests/check/gst/gstsegment.c: (GST_START_TEST):
18962         Update check.
18963
18964 2005-12-12  Michael Smith  <msmith@fluendo.com>
18965
18966         * plugins/elements/gsttypefindelement.c: (free_entry),
18967         (gst_type_find_element_chain):
18968           Now that we're not leaking factories, make sure we keep references
18969           to them while we need them.
18970
18971 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18972
18973         * tests/check/gst/struct_i386.h:
18974           ifdef out the XML structs
18975
18976 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18977
18978         * gst/gstvalue.c: (gst_value_transform_double_fraction):
18979           floor is not needed, F is always positive; this obviates the
18980           need for adding -lm when building without libxml
18981
18982 2005-12-12  Wim Taymans  <wim@fluendo.com>
18983
18984         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18985         Take current playback rate into account when reporting
18986         the position.
18987
18988 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18989
18990         * docs/manual/mime-world.fig:
18991           Let's try this again, this time with a file that is
18992           actually in XFig format.
18993
18994 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18995
18996         * docs/manual/mime-world.fig:
18997           Add audioconvert element to diagram so that it
18998           matches the text and the code (fixes #319526).
18999
19000 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
19001
19002         * docs/pwg/building-chainfn.xml:
19003         * docs/pwg/building-pads.xml:
19004         * docs/pwg/building-state.xml:
19005         * docs/pwg/other-source.xml:
19006           Update state change stuff for 0.10 (fixes #322969).
19007
19008 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
19009
19010         * docs/manual/advanced-dataaccess.xml:
19011         * docs/manual/appendix-checklist.xml:
19012         * docs/manual/appendix-programs.xml:
19013         * docs/manual/basics-pads.xml:
19014         * docs/manual/highlevel-components.xml:
19015         * docs/manual/manual.xml:
19016           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
19017           add converters in front of pipelines; remove curly
19018           brackets for threads stuff, they no longer exist; use
19019           GST_TYPE_FRACTION for framerates; update some pieces of
19020           code to 0.10, but there's plenty more to do.
19021
19022         * docs/manual/appendix-porting.xml:
19023           Expand on asynchroneous state changes; s/0.9/0.10/;
19024           mention disappearance of gst_init_get_popt_table()
19025           (fixes #322916).
19026
19027 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
19028
19029         * docs/faq/using.xml:
19030           Spider no longer exists, and neither does gst-launch-ext.
19031           Update examples to use decodebin and playbin and put
19032           converters in front of sinks (fixes #323726).
19033
19034 2005-12-09  Michael Smith  <msmith@fluendo.com>
19035
19036         * plugins/elements/gsttypefindelement.c: (find_peek),
19037         (gst_type_find_element_chain):
19038           Fix leaking element factories in typefinding.
19039           Fix problem where we forgot about a probable type on non-seekable
19040           files, and thus later mis-typefound it.
19041
19042 2005-12-09  Michael Smith  <msmith@fluendo.com>
19043
19044         * common/m4/gst-makecontext.m4:
19045         * common/m4/gst-mcsc.m4:
19046         * configure.ac:
19047         * win32/common/config.h:
19048         * win32/common/config.h.in:
19049           Remove makecontext stuff; not used in 0.10 and causes problems on
19050           HPUX according to bug #322441
19051
19052 2005-12-07  Wim Taymans  <wim@fluendo.com>
19053
19054         * tests/check/Makefile.am:
19055         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
19056         (main):
19057         * tests/check/libs/struct_i386.h:
19058         Added ABI check for libs
19059
19060 2005-12-07  Wim Taymans  <wim@fluendo.com>
19061
19062         * tests/check/Makefile.am:
19063         And add the struct_i386.h to dist.
19064
19065 2005-12-07  Wim Taymans  <wim@fluendo.com>
19066
19067         * tests/check/Makefile.am:
19068         * tests/check/gst/.cvsignore:
19069         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
19070         (main):
19071         * tests/check/gst/struct_i386.h:
19072         Added check for ABI compatibility.
19073
19074 2005-12-07  Wim Taymans  <wim@fluendo.com>
19075
19076         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
19077         (gst_fake_src_get_times), (gst_fake_src_create):
19078         Fix broken sync option, fixes #323259
19079
19080 2005-12-07  Wim Taymans  <wim@fluendo.com>
19081
19082         * gst/gstbuffer.c:
19083         Small docs update.
19084
19085         * gst/gstcaps.c: (gst_caps_is_equal):
19086         Don't assert on NULL <--> X. Fixes #323260
19087
19088         * gst/gstminiobject.c: (gst_mini_object_replace):
19089         If we're doing atomic operations, we might just as well use
19090         the proper way to get an atomic pointer.
19091
19092         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
19093         Clean up debugging.
19094
19095 2005-12-07  Michael Smith  <msmith@fluendo.com>
19096
19097         * gst/parse/grammar.y:
19098           Remove handling of { } for threads.
19099
19100 2005-12-06  David Schleef  <ds@schleef.org>
19101
19102         * libs/gst/base/gstbasetransform.c: speling fix.
19103
19104 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19105
19106         * docs/libs/tmpl/gstdataprotocol.sgml:
19107         * docs/random/omega/testing/gstobject.c:
19108         * gst/gst.c:
19109         * gst/gstclock.c:
19110         * gst/gstelement.c:
19111         * gst/gstelementfactory.c:
19112         * gst/gsterror.c:
19113         * gst/gstevent.c:
19114         * gst/gstghostpad.c:
19115         * gst/gstinfo.c:
19116         * gst/gstpadtemplate.c:
19117         * gst/gstregistryxml.c:
19118         * gst/gsttaglist.c:
19119         * gst/gsttagsetter.c:
19120         * gst/gsttypefind.c:
19121         * gst/gstvalue.c:
19122         * libs/gst/base/gstbasesrc.c:
19123         * libs/gst/net/gstnetclientclock.c:
19124         * libs/gst/net/gstnettimeprovider.c:
19125         * plugins/elements/gstfakesrc.c:
19126         * plugins/elements/gstfdsrc.c:
19127         * plugins/elements/gstfilesrc.c:
19128         * plugins/elements/gstidentity.c:
19129         * plugins/elements/gstqueue.c:
19130         * plugins/elements/gsttypefindelement.c:
19131         * plugins/indexers/gstfileindex.c:
19132         * plugins/indexers/gstmemindex.c:
19133         * tests/check/gst/gsttag.c:
19134         * tests/old/examples/cutter/cutter.c:
19135         * tests/old/examples/mixer/mixer.c:
19136         * tests/old/examples/xml/runxml.c: (main):
19137         * tests/old/testsuite/caps/normalisation.c:
19138         * tests/old/testsuite/debug/global.c:
19139         * tests/old/testsuite/parse/parse1.c:
19140         * tools/gst-xmlinspect.c:
19141         * win32/common/dirent.c:
19142           expand tabs
19143
19144 === release 0.10.0 ===
19145
19146 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19147
19148         * configure.ac:
19149           releasing 0.10.0, "Maroilles"
19150
19151 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
19152
19153         submitted by: Funda Wang <fundawang@linux.net.cn>
19154
19155         * po/LINGUAS:
19156         * po/zh_CN.po:
19157           added Chinese (Traditional) translation
19158
19159 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
19160
19161         * docs/gst/gstreamer-sections.txt:
19162         * docs/libs/tmpl/gstdataprotocol.sgml:
19163         * docs/random/thomasvs/TODO:
19164         * gst/gstutils.c:
19165         * gst/gstutils.h:
19166           fix docs
19167
19168 2005-12-05  Andy Wingo  <wingo@pobox.com>
19169
19170         patch by: Wim Taymans <wim@fluendo.com>
19171
19172         * libs/gst/base/gstbasetransform.c
19173         (gst_base_transform_prepare_output_buf)
19174         (gst_base_transform_buffer_alloc):
19175         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
19176         alloc_buffer_and_set_caps.
19177
19178         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
19179         set_caps on the source pad.
19180         (gst_pad_alloc_buffer_and_set_caps): New function, does what
19181         alloc_buffer used to do. Fixes #322874.
19182
19183         * docs/gst/gstreamer-sections.txt: 
19184         * docs/design/part-negotiation.txt: 
19185         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
19186         changes.
19187
19188 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
19189
19190         patch by: Sebastien Moutte
19191
19192         * win32/MANIFEST:
19193         * win32/common/config.h.in:
19194         * win32/vs6/libgstcontroller.dsp:
19195           win32 build fixes
19196
19197 2005-12-05  Wim Taymans  <wim@fluendo.com>
19198
19199         * gst/gstcaps.c: (gst_caps_is_equal):
19200         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
19201         (gst_fake_src_create):
19202         Back out previous code changes, leave doc updates, file bugs 
19203         instead. 
19204
19205 2005-12-05  Wim Taymans  <wim@fluendo.com>
19206
19207         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
19208         (gst_fake_src_get_times), (gst_fake_src_create):
19209         * plugins/elements/gstfakesrc.h:
19210         Fix broken sync code.
19211
19212 2005-12-05  Wim Taymans  <wim@fluendo.com>
19213
19214         * gst/gstcaps.c: (gst_caps_is_equal):
19215         Comparing NULL against !NULL yields different caps, not a
19216         failure.
19217
19218 2005-12-05  Wim Taymans  <wim@fluendo.com>
19219
19220         * gst/gstpipeline.c:
19221         Fix small typo in docs.
19222
19223 2005-12-05  Andy Wingo  <wingo@pobox.com>
19224
19225         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
19226
19227         * gst/gst.c (init_post): remove hard-coded 0.9 location for
19228         registries/plugins with a MAJORMINOR one.
19229         (plugin_desc): Rename library from gstcoreleements to
19230         staticelements. Fixes #323222.
19231
19232 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
19233
19234         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
19235           Change debug category to 'collectpads' from 'collect_pads'
19236           (fixes #323250).
19237
19238 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
19239
19240         patch by: Sebastien Moutte
19241
19242         * libs/gst/controller/gstinterpolation.c:
19243           use convert function for uint64/double
19244         * win32/vs6/libgstcontroller.dsp:
19245           link to GLib
19246
19247 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
19248
19249         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
19250         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
19251         * gst/gstutils.h:
19252         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19253           add tests that seem to show that the guint64/gdouble conversions
19254           are correct.
19255
19256 2005-12-02  Wim Taymans  <wim@fluendo.com>
19257
19258         * gst/gstregistry.c: (gst_registry_add_path):
19259         * gst/gstregistry.h:
19260         * gst/gstregistryxml.c:
19261         Fix docs again.
19262
19263 2005-12-02  Wim Taymans  <wim@fluendo.com>
19264
19265         * gst/gstutils.c: (gst_util_uint64_scale_int64),
19266         (gst_util_uint64_scale_int):
19267         Small cleanup.
19268
19269         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19270         Add debug log line.
19271
19272         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
19273         Add FIXME.
19274
19275 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19276
19277         * win32/MANIFEST:
19278         * win32/common/config.h:
19279         * win32/vs6/gstreamer.dsw:
19280         * win32/vs6/libgstcoreelements.dsp:
19281         * win32/vs6/libgstelements.dsp:
19282           renamed core elements plugin
19283
19284 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19285
19286         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
19287         (get_candidates):
19288           do piece-wise major/minor comparison so 0.9 < 0.10
19289           also allow .exe extensions for tools
19290
19291 2005-12-02  Michael Smith  <msmith@fluendo.com>
19292
19293         * gst/gst.c:
19294           Escape a % to make gtkdoc happier; bug 322958.
19295
19296 === release 0.9.7 ===
19297
19298 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19299
19300         * configure.ac:
19301           releasing 0.9.7, "My Dog Has No Nose"
19302
19303 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19304
19305         * common/gst-xmlinspect.py:
19306         * configure.ac:
19307         * docs/libs/tmpl/gstdataprotocol.sgml:
19308         * docs/random/release:
19309         * po/af.po:
19310         * po/az.po:
19311         * po/bg.po:
19312         * po/ca.po:
19313         * po/cs.po:
19314         * po/de.po:
19315         * po/en_GB.po:
19316         * po/fr.po:
19317         * po/it.po:
19318         * po/nb.po:
19319         * po/nl.po:
19320         * po/ru.po:
19321         * po/sq.po:
19322         * po/sr.po:
19323         * po/sv.po:
19324         * po/tr.po:
19325         * po/uk.po:
19326         * po/vi.po:
19327         * win32/common/config.h:
19328         * win32/common/config.h.in:
19329         * win32/vs6/gst_inspect.dsp:
19330         * win32/vs6/gst_launch.dsp:
19331         * win32/vs6/libgstbase.dsp:
19332         * win32/vs6/libgstelements.dsp:
19333         * win32/vs6/libgstreamer.dsp:
19334         * win32/vs7/GStreamer.vcproj:
19335         * win32/vs7/gst-inspect.vcproj:
19336         * win32/vs7/gst-launch.vcproj:
19337         * win32/vs7/libgstbase.vcproj:
19338           bump GST_MAJORMINOR to 0.10
19339           reset libtool version
19340
19341 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19342
19343         * po/LINGUAS:
19344         * po/bg.po:
19345           Added Bulgarian translation by (Alexander Shopov)
19346
19347 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19348
19349         * tests/check/gst/gstplugin.c:
19350           fix test
19351
19352 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19353
19354         * common/gst-xmlinspect.py:
19355         * common/gtk-doc-plugins.mak:
19356         * configure.ac:
19357         * docs/Makefile.am:
19358         * docs/gst/Makefile.am:
19359         * docs/gst/gstreamer-docs.sgml:
19360         * docs/gst/gstreamer-sections.txt:
19361         * docs/gst/gstreamer.types:
19362         * docs/gst/gstreamer.types.in:
19363         * docs/plugins/Makefile.am:
19364         * docs/plugins/gstreamer-plugins-docs.sgml:
19365         * docs/plugins/gstreamer-plugins-sections.txt:
19366         * docs/plugins/gstreamer-plugins.types:
19367         * docs/plugins/inspect.stamp:
19368         * docs/plugins/inspect/plugin-coreelements.xml:
19369         * docs/plugins/inspect/plugin-coreindexers.xml:
19370         * docs/plugins/scanobj-build.stamp:
19371         * gstreamer.spec.in:
19372         * plugins/elements/Makefile.am:
19373         * plugins/elements/gstelements.c:
19374         * plugins/elements/gstfakesink.c:
19375         * plugins/elements/gstfakesrc.c:
19376         * plugins/elements/gstfilesink.c:
19377         * plugins/elements/gstfilesrc.c:
19378         * plugins/elements/gstqueue.c:
19379         * plugins/indexers/Makefile.am:
19380         * plugins/indexers/gstindexers.c:
19381           document core plugins in a separate document just like all the
19382           others
19383           rename these plugins to something starting with core
19384
19385 2005-12-01  Andy Wingo  <wingo@pobox.com>
19386
19387         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
19388         padding here before, but it missed the commit.
19389
19390 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19391
19392         * libs/gst/controller/gstinterpolation.c:
19393           whitespace prices have crashed, we should feel free to use some now
19394           use gst_guint64_to_gdouble
19395
19396 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19397
19398         * libs/gst/controller/gstcontroller.c:
19399         * libs/gst/controller/gsthelper.c:
19400         * libs/gst/controller/gstinterpolation.c:
19401         * libs/gst/controller/lib.c:
19402           wrap config.h include
19403
19404 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19405
19406         * docs/gst/gstreamer-sections.txt:
19407           update docs
19408
19409 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19410
19411         * plugins/elements/gstelements.c:
19412         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
19413         (gst_fd_sink__class_init), (gst_fd_sink__init),
19414         (gst_fd_sink__chain), (gst_fd_sink__set_property),
19415         (gst_fd_sink__get_property):
19416         * plugins/elements/gstfdsink.h:
19417         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
19418         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
19419         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
19420         (gst_fd_src_unlock), (gst_fd_src_set_property),
19421         (gst_fd_src_get_property), (gst_fd_src_create),
19422         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
19423         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
19424         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
19425         (gst_fd_src_uri_handler_init):
19426         * plugins/elements/gstfdsrc.h:
19427         * plugins/elements/gstqueue.c: (gst_queue_get_type):
19428           more anal cleanup
19429
19430 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19431
19432         * docs/gst/Makefile.am:
19433         * docs/gst/gstreamer.types.in:
19434         * gst/Makefile.am:
19435           fix the docs build
19436
19437 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19438
19439         * configure.ac:
19440         * gst/Makefile.am:
19441         * gst/gst.c:
19442         * gst/gstplugin.h:
19443         * gst/gstregistry.h:
19444         * tests/benchmarks/complexity.c:
19445         * tests/benchmarks/mass-elements.c:
19446         * tests/check/Makefile.am:
19447         * tools/Makefile.am:
19448         * tools/gst-inspect.c:
19449         * tools/gst-xmlinspect.c:
19450           various fixes to make
19451           --disable-nls --disable-registry --disable-loadsave
19452           --disable-parse --disable-gst-debug
19453           work and get the core .so down to 360444 bytes after stripping
19454
19455 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19456
19457         * Makefile.am:
19458         * configure.ac:
19459           descend into tests
19460         * docs/random/thomasvs/TODO:
19461         * tests/Makefile.am:
19462         * tests/README:
19463           add a README
19464
19465 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19466
19467         * win32/GStreamer.vcproj:
19468         * win32/MANIFEST:
19469         * win32/Makefile:
19470         * win32/Makefile.inspect:
19471         * win32/Makefile.launch:
19472         * win32/Makefile.register:
19473         * win32/README.txt:
19474         * win32/gst-inspect.vcproj:
19475         * win32/gst-launch.vcproj:
19476         * win32/gst-register.vcproj:
19477         * win32/gstelements.vcproj:
19478         * win32/gstgetbits.def:
19479         * win32/gstgetbits.vcproj:
19480         * win32/gstreamer-dbg.def:
19481         * win32/gstreamer.def:
19482         * win32/libgstbase.def:
19483         * win32/libgstbase.vcproj:
19484         * win32/link_oldruntime.c:
19485         * win32/mman.c:
19486         * win32/mman.h:
19487         * win32/mman.inl:
19488         * win32/msvc71.sln:
19489           move even more stuff, win32/ is nice and clean now
19490
19491 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19492
19493         * libs/gst/control/.cvsignore:
19494         * win32/MANIFEST:
19495         * win32/config.h:
19496         * win32/dirent.c:
19497         * win32/dirent.h:
19498         * win32/gstbytestream.def:
19499         * win32/gstbytestream.vcproj:
19500         * win32/gstconfig.h:
19501         * win32/gstenumtypes.c:
19502         * win32/gstenumtypes.h:
19503         * win32/gstoptimalscheduler.vcproj:
19504         * win32/gstversion.h:
19505         * win32/gtchar.h:
19506         * win32/testsuite/bins.vcproj:
19507         * win32/testsuite/bytestream.vcproj:
19508         * win32/testsuite/caps.vcproj:
19509         * win32/testsuite/cleanup.vcproj:
19510         * win32/testsuite/clock.vcproj:
19511         * win32/testsuite/debug.vcproj:
19512         * win32/testsuite/dlopen.vcproj:
19513         * win32/testsuite/dynparams.vcproj:
19514         * win32/testsuite/elements.vcproj:
19515         * win32/testsuite/ghostpads.vcproj:
19516         * win32/testsuite/indexers.vcproj:
19517         * win32/testsuite/negotiation.vcproj:
19518         * win32/testsuite/parse.vcproj:
19519         * win32/testsuite/plugin.vcproj:
19520         * win32/testsuite/refcounting.vcproj:
19521         * win32/testsuite/schedulers.vcproj:
19522         * win32/testsuite/states.vcproj:
19523         * win32/testsuite/tags.vcproj:
19524         * win32/testsuite/threads.vcproj:
19525           remove old win32 stuff that isn't maintained and should be
19526           reorganized
19527
19528 2005-11-30  Andy Wingo  <wingo@pobox.com>
19529
19530         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
19531         loading the gst.interfaces python module bork.
19532
19533         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
19534         available since GLib 2.2. Fixes #318031.
19535
19536 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19537
19538         * Makefile.am:
19539         * check/.cvsignore:
19540         * check/Makefile.am:
19541         * check/elements/.cvsignore:
19542         * check/elements/fakesrc.c:
19543         * check/elements/fdsrc.c:
19544         * check/elements/identity.c:
19545         * check/generic/.cvsignore:
19546         * check/generic/states.c:
19547         * check/gst-libs/.cvsignore:
19548         * check/gst-libs/controller.c:
19549         * check/gst-libs/gdp.c:
19550         * check/gst/.cvsignore:
19551         * check/gst/capslist.h:
19552         * check/gst/gst.c:
19553         * check/gst/gstbin.c:
19554         * check/gst/gstbuffer.c:
19555         * check/gst/gstbus.c:
19556         * check/gst/gstcaps.c:
19557         * check/gst/gstelement.c:
19558         * check/gst/gstevent.c:
19559         * check/gst/gstghostpad.c:
19560         * check/gst/gstiterator.c:
19561         * check/gst/gstmessage.c:
19562         * check/gst/gstminiobject.c:
19563         * check/gst/gstobject.c:
19564         * check/gst/gstpad.c:
19565         * check/gst/gstpipeline.c:
19566         * check/gst/gstplugin.c:
19567         * check/gst/gstsegment.c:
19568         * check/gst/gststructure.c:
19569         * check/gst/gstsystemclock.c:
19570         * check/gst/gsttag.c:
19571         * check/gst/gstutils.c:
19572         * check/gst/gstvalue.c:
19573         * check/net/.cvsignore:
19574         * check/net/gstnetclientclock.c:
19575         * check/net/gstnettimeprovider.c:
19576         * check/pipelines/.cvsignore:
19577         * check/pipelines/cleanup.c:
19578         * check/pipelines/simple_launch_lines.c:
19579         * check/pipelines/stress.c:
19580         * check/states/.cvsignore:
19581         * check/states/sinks.c:
19582         * configure.ac:
19583         * examples/Makefile.am:
19584         * examples/appreader/.cvsignore:
19585         * examples/appreader/Makefile.am:
19586         * examples/appreader/appreader.c:
19587         * examples/controller/.cvsignore:
19588         * examples/controller/Makefile.am:
19589         * examples/controller/audio-example.c:
19590         * examples/cutter/.cvsignore:
19591         * examples/cutter/Makefile.am:
19592         * examples/cutter/cutter.c:
19593         * examples/cutter/cutter.h:
19594         * examples/events/Makefile.am:
19595         * examples/events/seek.c:
19596         * examples/helloworld/.cvsignore:
19597         * examples/helloworld/Makefile.am:
19598         * examples/helloworld/helloworld.c:
19599         * examples/helloworld2/.cvsignore:
19600         * examples/helloworld2/Makefile.am:
19601         * examples/helloworld2/helloworld2.c:
19602         * examples/launch/.cvsignore:
19603         * examples/launch/Makefile.am:
19604         * examples/launch/mp3parselaunch.c:
19605         * examples/launch/mp3play:
19606         * examples/manual/.cvsignore:
19607         * examples/manual/Makefile.am:
19608         * examples/manual/extract.pl:
19609         * examples/metadata/Makefile.am:
19610         * examples/metadata/read-metadata.c:
19611         * examples/mixer/.cvsignore:
19612         * examples/mixer/Makefile.am:
19613         * examples/mixer/mixer.c:
19614         * examples/mixer/mixer.h:
19615         * examples/pingpong/.cvsignore:
19616         * examples/pingpong/Makefile.am:
19617         * examples/pingpong/pingpong.c:
19618         * examples/plugins/.cvsignore:
19619         * examples/plugins/Makefile.am:
19620         * examples/plugins/example.c:
19621         * examples/plugins/example.h:
19622         * examples/pwg/.cvsignore:
19623         * examples/pwg/Makefile.am:
19624         * examples/pwg/extract.pl:
19625         * examples/queue/.cvsignore:
19626         * examples/queue/Makefile.am:
19627         * examples/queue/queue.c:
19628         * examples/queue2/.cvsignore:
19629         * examples/queue2/Makefile.am:
19630         * examples/queue2/queue2.c:
19631         * examples/queue3/.cvsignore:
19632         * examples/queue3/Makefile.am:
19633         * examples/queue3/queue3.c:
19634         * examples/queue4/.cvsignore:
19635         * examples/queue4/Makefile.am:
19636         * examples/queue4/queue4.c:
19637         * examples/retag/.cvsignore:
19638         * examples/retag/Makefile.am:
19639         * examples/retag/retag.c:
19640         * examples/retag/transcode.c:
19641         * examples/thread/.cvsignore:
19642         * examples/thread/Makefile.am:
19643         * examples/thread/thread.c:
19644         * examples/typefind/.cvsignore:
19645         * examples/typefind/Makefile.am:
19646         * examples/typefind/typefind.c:
19647         * examples/xml/.cvsignore:
19648         * examples/xml/Makefile.am:
19649         * examples/xml/createxml.c:
19650         * examples/xml/runxml.c:
19651         * tests/Makefile.am:
19652         * tests/check/Makefile.am:
19653         * testsuite/.cvsignore:
19654         * testsuite/Makefile.am:
19655         * testsuite/Rules:
19656         * testsuite/caps/.cvsignore:
19657         * testsuite/caps/Makefile.am:
19658         * testsuite/caps/app_fixate.c:
19659         * testsuite/caps/audioscale.c:
19660         * testsuite/caps/caps.c:
19661         * testsuite/caps/caps.h:
19662         * testsuite/caps/caps_strings:
19663         * testsuite/caps/compatibility.c:
19664         * testsuite/caps/deserialize.c:
19665         * testsuite/caps/enumcaps.c:
19666         * testsuite/caps/eratosthenes.c:
19667         * testsuite/caps/filtercaps.c:
19668         * testsuite/caps/fixed.c:
19669         * testsuite/caps/fraction-convert.c:
19670         * testsuite/caps/fraction-multiply-and-zero.c:
19671         * testsuite/caps/intersect2.c:
19672         * testsuite/caps/intersection.c:
19673         * testsuite/caps/normalisation.c:
19674         * testsuite/caps/random.c:
19675         * testsuite/caps/renegotiate.c:
19676         * testsuite/caps/sets.c:
19677         * testsuite/caps/simplify.c:
19678         * testsuite/caps/string-conversions.c:
19679         * testsuite/caps/structure.c:
19680         * testsuite/caps/subtract.c:
19681         * testsuite/caps/union.c:
19682         * testsuite/debug/.cvsignore:
19683         * testsuite/debug/Makefile.am:
19684         * testsuite/debug/category.c:
19685         * testsuite/debug/commandline.c:
19686         * testsuite/debug/global.c:
19687         * testsuite/debug/output.c:
19688         * testsuite/debug/printf_extension.c:
19689         * testsuite/dlopen/.cvsignore:
19690         * testsuite/dlopen/Makefile.am:
19691         * testsuite/dlopen/dlopen_gst.c:
19692         * testsuite/dlopen/loadgst.c:
19693         * testsuite/elements/.cvsignore:
19694         * testsuite/elements/Makefile.am:
19695         * testsuite/elements/gst-inspect-check.in:
19696         * testsuite/elements/struct_i386.h:
19697         * testsuite/elements/struct_size.c:
19698         * testsuite/indexers/.cvsignore:
19699         * testsuite/indexers/Makefile.am:
19700         * testsuite/indexers/cache1.c:
19701         * testsuite/indexers/indexdump.c:
19702         * testsuite/parse/.cvsignore:
19703         * testsuite/parse/Makefile.am:
19704         * testsuite/parse/parse1.c:
19705         * testsuite/parse/parse2.c:
19706         * testsuite/plugin/.cvsignore:
19707         * testsuite/plugin/Makefile.am:
19708         * testsuite/plugin/README:
19709         * testsuite/plugin/dynamic.c:
19710         * testsuite/plugin/linked.c:
19711         * testsuite/plugin/loading.c:
19712         * testsuite/plugin/registry.c:
19713         * testsuite/plugin/static.c:
19714         * testsuite/plugin/static2.c:
19715         * testsuite/plugin/testplugin.c:
19716         * testsuite/plugin/testplugin2.c:
19717         * testsuite/plugin/testplugin2_s.c:
19718         * testsuite/plugin/testplugin_s.c:
19719         * testsuite/refcounting/.cvsignore:
19720         * testsuite/refcounting/Makefile.am:
19721         * testsuite/refcounting/bin.c:
19722         * testsuite/refcounting/element.c:
19723         * testsuite/refcounting/element_pad.c:
19724         * testsuite/refcounting/mainloop.c:
19725         * testsuite/refcounting/mem.c:
19726         * testsuite/refcounting/mem.h:
19727         * testsuite/refcounting/object.c:
19728         * testsuite/refcounting/pad.c:
19729         * testsuite/refcounting/sched.c:
19730         * testsuite/refcounting/thread.c:
19731         * testsuite/states/.cvsignore:
19732         * testsuite/states/Makefile.am:
19733         * testsuite/states/bin.c:
19734         * testsuite/states/locked.c:
19735         * testsuite/states/parent.c:
19736         * testsuite/threads/.cvsignore:
19737         * testsuite/threads/159566.c:
19738         * testsuite/threads/159852.c:
19739         * testsuite/threads/Makefile.am:
19740         * testsuite/threads/queue.c:
19741         * testsuite/threads/signals.c:
19742         * testsuite/threads/staticrec.c:
19743         * testsuite/threads/thread.c:
19744         * testsuite/threads/threadb.c:
19745         * testsuite/threads/threadc.c:
19746         * testsuite/threads/threadd.c:
19747         * testsuite/threads/threade.c:
19748         * testsuite/threads/threadf.c:
19749         * testsuite/threads/threadg.c:
19750         * testsuite/threads/threadh.c:
19751         * testsuite/threads/threadi.c:
19752           move all of these under tests
19753
19754 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19755
19756         * configure.ac:
19757         * tests/Makefile.am:
19758           fix distcheck
19759
19760 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19761
19762         * docs/gst/gstreamer-sections.txt:
19763         * tests/sched/.cvsignore:
19764         * tests/sched/Makefile.am:
19765         * tests/sched/cases/(fs-fs).xml:
19766         * tests/sched/cases/(fs-i-fs).xml:
19767         * tests/sched/cases/(fs-i-i-fs).xml:
19768         * tests/sched/cases/(fs-i-q[i-fs]).xml:
19769         * tests/sched/dynamic-pipeline.c:
19770         * tests/sched/interrupt1.c:
19771         * tests/sched/interrupt2.c:
19772         * tests/sched/interrupt3.c:
19773         * tests/sched/runtestcases:
19774         * tests/sched/runxml.c:
19775         * tests/sched/sched-stress.c:
19776         * tests/sched/sort.c:
19777         * tests/sched/testcases:
19778         * tests/sched/testcases1.tc:
19779         * tests/seeking/.cvsignore:
19780         * tests/seeking/Makefile.am:
19781         * tests/seeking/seeking1.c:
19782         * tests/threadstate/.cvsignore:
19783         * tests/threadstate/Makefile.am:
19784         * tests/threadstate/test1.c:
19785         * tests/threadstate/test2.c:
19786         * tests/threadstate/threadstate1.c:
19787         * tests/threadstate/threadstate2.c:
19788         * tests/threadstate/threadstate3.c:
19789         * tests/threadstate/threadstate4.c:
19790         * tests/threadstate/threadstate5.c:
19791           remove obsolete tests
19792         * configure.ac:
19793         * tests/bench-complexity.scm:
19794         * tests/bench-mass_elements.scm:
19795         * tests/complexity.c:
19796         * tests/complexity.gnuplot:
19797         * tests/instantiate/.cvsignore:
19798         * tests/instantiate/Makefile.am:
19799         * tests/instantiate/caps.c:
19800         * tests/mass_elements.c:
19801         * tests/network-clock-utils.scm:
19802         * tests/network-clock.scm:
19803         * tests/plot-data:
19804         First pass at cleaning up tests/ dir before moving the rest
19805         Combined with CVS surgery
19806
19807 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19808
19809         * po/POTFILES.in:
19810           queue has moved, update
19811
19812 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19813
19814         * docs/gst/gstreamer-sections.txt:
19815           remove double entries from the docs
19816         * gst/gst_private.h:
19817         * gst/gstinfo.c: (_gst_debug_init):
19818           remove the THREAD debug category
19819         * gst/Makefile.am:
19820         * gst/gstqueue.c:
19821         * gst/gstqueue.h:
19822         * docs/gst/gstreamer.types:
19823         * plugins/elements/gstqueue.c: (gst_queue_get_type),
19824         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19825           completely move queue and fix up debugging categories
19826
19827 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19828
19829         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19830           make initialization portable, using LL is not
19831
19832 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19833
19834         * win32/common/gstconfig.h:
19835           add large padding
19836
19837 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19838
19839         * win32/common/libgstreamer.def:
19840           rename symbols; sort base section
19841
19842 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19843
19844         * gst/gstclock.c: (do_linear_regression):
19845           remove crack non-portable handrolled DEBUG macro
19846
19847 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19848
19849         * docs/random/release:
19850           update notes
19851         * win32/common/gstenumtypes.c: (register_gst_object_flags),
19852         (gst_object_flags_get_type), (register_gst_bin_flags),
19853         (gst_bin_flags_get_type), (register_gst_buffer_flag),
19854         (gst_buffer_flag_get_type), (register_gst_bus_flags),
19855         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19856         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19857         (gst_caps_flags_get_type), (register_gst_clock_return),
19858         (gst_clock_return_get_type), (register_gst_clock_entry_type),
19859         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19860         (gst_clock_flags_get_type), (register_gst_state),
19861         (gst_state_get_type), (register_gst_state_change_return),
19862         (gst_state_change_return_get_type), (register_gst_state_change),
19863         (gst_state_change_get_type), (register_gst_element_flags),
19864         (gst_element_flags_get_type), (register_gst_core_error),
19865         (gst_core_error_get_type), (register_gst_library_error),
19866         (gst_library_error_get_type), (register_gst_resource_error),
19867         (gst_resource_error_get_type), (register_gst_stream_error),
19868         (gst_stream_error_get_type), (register_gst_event_type_flags),
19869         (gst_event_type_flags_get_type), (register_gst_event_type),
19870         (gst_event_type_get_type), (register_gst_seek_type),
19871         (gst_seek_type_get_type), (register_gst_seek_flags),
19872         (gst_seek_flags_get_type), (register_gst_format),
19873         (gst_format_get_type), (register_gst_index_certainty),
19874         (gst_index_certainty_get_type), (register_gst_index_entry_type),
19875         (gst_index_entry_type_get_type),
19876         (register_gst_index_lookup_method),
19877         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19878         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19879         (gst_index_resolver_method_get_type), (register_gst_index_flags),
19880         (gst_index_flags_get_type), (register_gst_debug_level),
19881         (gst_debug_level_get_type), (register_gst_debug_color_flags),
19882         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19883         (gst_iterator_result_get_type), (register_gst_iterator_item),
19884         (gst_iterator_item_get_type), (register_gst_message_type),
19885         (gst_message_type_get_type), (register_gst_mini_object_flags),
19886         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19887         (gst_pad_link_return_get_type), (register_gst_flow_return),
19888         (gst_flow_return_get_type), (register_gst_activate_mode),
19889         (gst_activate_mode_get_type), (register_gst_pad_direction),
19890         (gst_pad_direction_get_type), (register_gst_pad_flags),
19891         (gst_pad_flags_get_type), (register_gst_pad_presence),
19892         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19893         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19894         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19895         (gst_plugin_error_get_type), (register_gst_plugin_flags),
19896         (gst_plugin_flags_get_type), (register_gst_rank),
19897         (gst_rank_get_type), (register_gst_query_type),
19898         (gst_query_type_get_type), (register_gst_tag_merge_mode),
19899         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19900         (gst_tag_flag_get_type), (register_gst_task_state),
19901         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19902         (gst_alloc_trace_flags_get_type),
19903         (register_gst_type_find_probability),
19904         (gst_type_find_probability_get_type), (register_gst_uri_type),
19905         (gst_uri_type_get_type), (register_gst_parse_error),
19906         (gst_parse_error_get_type):
19907         * win32/common/gstenumtypes.h:
19908         * win32/common/gstversion.h:
19909           update visual studio generated files
19910
19911 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19912
19913         * win32/vs6/libgstbase.dsp:
19914         * win32/vs6/libgstelements.dsp:
19915           update project files for new locations
19916
19917 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19918
19919         * Makefile.am:
19920           remove some files
19921         * README:
19922           reinstate and update
19923         * DEVEL:
19924         * REQUIREMENTS:
19925           removed
19926         * LICENSE:
19927         * docs/random/LICENSE:
19928           moved to random
19929
19930 2005-11-30  Edward Hervey  <edward@fluendo.com>
19931
19932         * gst/gsttypefind.c: (gst_type_find_register):
19933         * gst/gsttypefind.h:
19934         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19935         (gst_type_find_factory_dispose):
19936         * gst/gsttypefindfactory.h:
19937         Fix memory leak in GstTypeFindFactory.
19938
19939 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19940
19941         * gst/gst.c:
19942         * plugins/elements/Makefile.am:
19943         * plugins/elements/gstelements.c:
19944         * plugins/elements/gstqueue.c:
19945           move queue from core to the elements plugin
19946
19947 2005-11-29  Andy Wingo  <wingo@pobox.com>
19948
19949         * libs/gst/base/gstbasetransform.h: 
19950         * libs/gst/base/gstbasesrc.h: 
19951         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19952
19953         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19954         of pointers by which to pad very extensible base classes (like the
19955         ones in libs/gst/base).
19956
19957 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19958
19959         * docs/gst/gstreamer-docs.sgml:
19960         * docs/gst/gstreamer-sections.txt:
19961         * docs/libs/gstreamer-libs-docs.sgml:
19962         * docs/libs/gstreamer-libs-sections.txt:
19963           moving documentation from core to lib
19964
19965 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19966
19967         * check/Makefile.am:
19968         * configure.ac:
19969         * docs/gst/Makefile.am:
19970         * gst/Makefile.am:
19971         * gst/base/.cvsignore:
19972         * gst/base/Makefile.am:
19973         * gst/base/README:
19974         * gst/base/gstadapter.c:
19975         * gst/base/gstadapter.h:
19976         * gst/base/gstbasesink.c:
19977         * gst/base/gstbasesink.h:
19978         * gst/base/gstbasesrc.c:
19979         * gst/base/gstbasesrc.h:
19980         * gst/base/gstbasetransform.c:
19981         * gst/base/gstbasetransform.h:
19982         * gst/base/gstcollectpads.c:
19983         * gst/base/gstcollectpads.h:
19984         * gst/base/gstpushsrc.c:
19985         * gst/base/gstpushsrc.h:
19986         * gst/base/gsttypefindhelper.c:
19987         * gst/base/gsttypefindhelper.h:
19988         * gst/check/Makefile.am:
19989         * gst/check/gstcheck.c:
19990         * gst/check/gstcheck.h:
19991         * gst/net/Makefile.am:
19992         * gst/net/gstnet.h:
19993         * gst/net/gstnetclientclock.c:
19994         * gst/net/gstnetclientclock.h:
19995         * gst/net/gstnettimepacket.c:
19996         * gst/net/gstnettimepacket.h:
19997         * gst/net/gstnettimeprovider.c:
19998         * gst/net/gstnettimeprovider.h:
19999         * libs/gst/Makefile.am:
20000         * libs/gst/base/Makefile.am:
20001         * libs/gst/base/gstbasetransform.c:
20002         * libs/gst/check/Makefile.am:
20003         * plugins/elements/Makefile.am:
20004         * po/POTFILES.in:
20005           CVS surgery + support to move base, check, and net out of gst
20006           and into libs/gst
20007
20008 2005-11-29  Andy Wingo  <wingo@pobox.com>
20009
20010         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
20011
20012         * gst/gststructure.h (struct _GstStructure): Only one pointer of
20013         padding.
20014
20015         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
20016
20017         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
20018
20019         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
20020
20021         * gst/gstobject.h: (struct _GstObject): Only one pointer of
20022         padding; reduces object size by about 30%. We don't expect
20023         anything else to go into gstobject.
20024
20025         * gst/gstminiobject.h (struct _GstMiniObject)
20026         (struct _GstMiniObjectClass): Only one pointer of padding; the
20027         payload is only a pointer and two ints anyway. For the class there
20028         are only two methods as well.
20029         
20030         * gst/gstelement.h (struct _GstElementClass): Removed
20031         the state_changed signal callback, it is not used.
20032
20033 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20034
20035         * docs/gst/gstreamer.types:
20036           fix includes, though they are a little dinky
20037
20038 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
20039
20040         * check/Makefile.am:
20041           look in the right place for elements, a lot more chance of
20042           success
20043         * gst/Makefile.am:
20044           remove indexers and elements subdirs
20045         * plugins/Makefile.am:
20046           make indexers conditional
20047
20048 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
20049
20050         * Makefile.am:
20051         * configure.ac:
20052         * plugins/elements/Makefile.am:
20053         * plugins/elements/gstcapsfilter.c:
20054         * plugins/elements/gstfilesink.c:
20055         * plugins/elements/gstfilesrc.c:
20056         * plugins/elements/gstidentity.c:
20057         * plugins/indexers/Makefile.am:
20058           do CVS surgery and related build fixery to move elements
20059           and indexers in a new gstreamer/plugins directory, out of the
20060           gst/ directory
20061
20062 2005-11-29  Andy Wingo  <wingo@pobox.com>
20063
20064         * check/Makefile.am:
20065         * pkgconfig/gstreamer-net-uninstalled.pc.in:
20066         * pkgconfig/gstreamer-net.pc.in:
20067         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
20068         #322257.
20069
20070 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20071
20072         * tools/Makefile.am:
20073         * tools/gst-complete.1.in:
20074         * tools/gst-complete.c:
20075         * tools/gst-compprep.1.in:
20076         * tools/gst-compprep.c:
20077           removing -compprep and -complete
20078
20079 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20080
20081         * gst/gstevent.c: (gst_event_new_new_segment),
20082         (gst_event_parse_new_segment):
20083         * gst/gstevent.h:
20084           fix #320529 - clean up new_segment API and structure.
20085           Let's hope everyone was using the methods, and not the structure.
20086
20087 2005-11-29  Edward Hervey  <edward@fluendo.com>
20088
20089         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20090         (gst_base_sink_event), (gst_base_sink_do_sync),
20091         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
20092         Properly handle non GST_FORMAT_TIME segment
20093         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20094         Properly handle non GST_FORMAT_TIME segment
20095         * gst/gstsegment.c:
20096         This function is valid if the accumulator is 0 and the format
20097         is different from the requested format.
20098         
20099 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
20100
20101         * docs/gst/gstreamer-sections.txt:
20102         Add gst_query_new_seeking and gst_query_parse_seeking to the
20103         docs.
20104
20105 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
20106
20107         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
20108           Treat a pad alloc with new caps the same as if we were not
20109           negotiated, in order to allow a changing upstream output
20110           to produce a new format of data.
20111
20112 2005-11-29  Edward Hervey  <edward@fluendo.com>
20113
20114         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
20115         (gst_base_transform_event), (gst_base_transform_eventfunc):
20116         The event virtual method is now properly implemented, with a default
20117         handler
20118         Sub classes should call the parent_class event method. They should
20119         return FALSE if they had a problem handling the given event, or don't
20120         want GstBaseTransform to send that even downstream
20121         * gst/elements/gstidentity.c: (gst_identity_class_init),
20122         (gst_identity_init), (gst_identity_event),
20123         (gst_identity_transform_ip), (gst_identity_set_property),
20124         (gst_identity_get_property):
20125         * gst/elements/gstidentity.h:
20126         Added the single-segment boolean property.
20127         If set to TRUE, it will output a single segment of data, starting from
20128         0, will eat up all incoming newsegment, and modify the timestamp of the
20129         buffers accordingly
20130
20131 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
20132
20133         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
20134           Don't ref NULL target pad (#322751). Improve docs.
20135
20136 2005-11-29  Michael Smith  <msmith@fluendo.com>
20137
20138         * gst/gstregistryxml.c: (load_plugin):
20139           Don't crash if we failed to load a feature from a plugin. 
20140
20141 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20142
20143         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
20144         (GST_START_TEST):
20145           use more check API and less GLib API
20146
20147 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20148
20149         * Makefile.am:
20150           don't run checks if we don't have check
20151         * common/check.mak:
20152           remove the registry when running make torture
20153         * docs/gst/gstreamer-sections.txt:
20154           remove second multiply
20155         * gst/gstqueue.c: (gst_queue_loop):
20156           fix a compile warning when disabling debug
20157
20158 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
20159
20160         * gst/gstinfo.h:
20161         Hey! Let's print the pad name if the pointer != NULL instead
20162         of when it == NULL :-)
20163
20164 2005-11-28  Wim Taymans  <wim@fluendo.com>
20165
20166         * check/gst/gstutils.c: (GST_START_TEST):
20167         Updated check, add some scaling accuracy checking code.
20168
20169         * gst/gstutils.c: (gst_util_div128_64),
20170         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
20171         (gst_util_uint64_scale_int):
20172         Fix 6 times faster division code. Optimize for common 
20173         1/1 and less common X/1 cases.
20174
20175 2005-11-28  Wim Taymans  <wim@fluendo.com>
20176
20177         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20178         More checks.
20179
20180         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
20181         (do_linear_regression), (gst_clock_add_observation):
20182         Cleanups.
20183         Release lock when the clock cannot be slaved.
20184         Catch the case where the regression returned an invalid denominator.
20185
20186         * gst/gstutils.c: (gst_util_div128_64_iterate),
20187         (gst_util_div128_64), (gst_util_uint64_scale_int64),
20188         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
20189         Add protentially more performant non-iterative 128/64 divide function
20190         that unfortunatly does not work yet.
20191         Shortcut the trivial 0/X = 0 case.
20192         Remove the warnings on overflow.
20193
20194 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20195
20196         * gst/gstplugin.c: (gst_plugin_register_func):
20197           everything causing a plugin not to load should be at least a WARNING
20198
20199 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
20200
20201         * docs/random/ensonic/dparams.txt:
20202           some TODOs for the next dev cycle
20203         * libs/gst/controller/gstcontroller.c:
20204         (gst_controlled_property_set_interpolation_mode),
20205         (gst_controlled_property_new):
20206         * libs/gst/controller/gstcontroller.h:
20207           use base type to assign acccessor functions
20208
20209 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
20210
20211         * check/Makefile.am:
20212         Oops, that should have been top_srcdir
20213
20214 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
20215
20216         * check/Makefile.am:
20217         * check/elements/fdsrc.c: (GST_START_TEST):
20218         Use a cmdline define to specify the location of a file to use for
20219         testing, to avoid breaking distcheck.
20220
20221 2005-11-28  Andy Wingo  <wingo@pobox.com>
20222
20223         * gst/gstpad.c (fixate_value): Use array functions for arrays.
20224
20225 2005-11-28  Edward Hervey  <edward@fluendo.com>
20226
20227         * tools/gst-launch.c: (main):
20228         Clarify the output strings, makes it easier to translate.
20229         Fixes #322626
20230
20231 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20232
20233         * gst/Makefile.am:
20234           don't try and build net if we don't even have <sys/socket.h>
20235
20236 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
20237
20238         * check/Makefile.am:
20239         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
20240         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
20241           Add tests for fdsrc seekability
20242
20243         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
20244         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
20245         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
20246         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
20247         * gst/elements/gstfdsrc.h:
20248           fdsrc should not be a 'live' source.
20249           Implement seeking on seekable fd's.
20250
20251         * gst/gstquery.c: (gst_query_new_seeking),
20252         (gst_query_parse_seeking):
20253         * gst/gstquery.h:
20254           Implement SEEKING query functions: 
20255             *_new_seeking and *_parse_seeking
20256
20257 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
20258
20259         * gst/gstelement.c: (gst_element_dispose):
20260           don't loop forever
20261
20262         * gst/gstiterator.c:
20263         * gst/gststructure.c:
20264           doc fixes
20265
20266         * libs/gst/controller/gstcontroller.c:
20267         (gst_controlled_property_set_interpolation_mode):
20268         * libs/gst/controller/gstcontroller.h:
20269         * libs/gst/controller/gstinterpolation.c:
20270         (interpolate_none_get_enum_value_array):
20271           support controlling enums
20272
20273 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
20274
20275         * gst/gstvalue.c:
20276           Improve documentation for gst_value_union().
20277
20278         * gst/gstvalue.h:
20279           Change return value for union, intersect and subtract functions
20280           from gint to gboolean.
20281
20282 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
20283
20284         * gst/gstvalue.c: (gst_value_serialize_any_list),
20285         (gst_value_transform_any_list_string),
20286         (gst_value_deserialize_list), (gst_value_deserialize_array),
20287         (gst_value_set_int_range), (gst_value_deserialize_int_range),
20288         (gst_value_set_double_range), (gst_value_deserialize_double_range),
20289         (gst_value_set_fraction_range_full),
20290         (gst_value_deserialize_fraction_range),
20291         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
20292         (gst_value_deserialize_boolean),
20293         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
20294         (gst_value_serialize_float), (gst_value_deserialize_float),
20295         (gst_string_wrap), (gst_value_deserialize_string),
20296         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
20297         (gst_value_union_int_range_int_range),
20298         (gst_value_intersect_int_range_int_range),
20299         (gst_value_intersect_double_range_double_range),
20300         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
20301         (gst_value_subtract_int_range_int_range),
20302         (gst_value_subtract_double_double_range),
20303         (gst_value_subtract_double_range_double_range),
20304         (gst_value_deserialize_fraction):
20305         * gst/gstvalue.h:
20306           Use gint, gdouble and gchar in our API instead of int, double and
20307           char (and make usage in gstvalue.c more consistent).
20308
20309 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20310
20311         * check/Makefile.am:
20312         * libs/gst/controller/Makefile.am:
20313         * libs/gst/dataprotocol/Makefile.am:
20314           fix up Makefile.am and remove GST_ENABLE_NEW
20315
20316 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20317
20318         * configure.ac:
20319         * gst/Makefile.am:
20320         * gst/base/Makefile.am:
20321         * gst/check/Makefile.am:
20322         * gst/elements/Makefile.am:
20323         * gst/net/Makefile.am:
20324           update LDFLAGS use some more
20325
20326 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20327
20328         * common/m4/gst-doc.m4:
20329           Fixes #312589
20330
20331 2005-11-26  Edward Hervey  <edward@fluendo.com>
20332
20333         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
20334         This shouldn't issue a g_warning since it returns NULL if it
20335         couldn't find the plugin, and all functions using this behave
20336         properly on a NULL return. Switching to a GST_WARNING.
20337
20338 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
20339
20340         * gst/gstbin.c: (gst_bin_handle_message_func):
20341         Don't leak clock messages.
20342
20343 2005-11-25  Wim Taymans  <wim@fluendo.com>
20344
20345         * gst/gstutils.c: (gst_util_uint64_scale_int64),
20346         (gst_util_uint64_scale_int):
20347         Optimisations, remove unneeded vars.
20348
20349 2005-11-25  Wim Taymans  <wim@fluendo.com>
20350
20351         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20352         Added more checks for the high precision uint64 cases.
20353
20354         * gst/gstutils.c: (gst_util_uint64_scale_int64),
20355         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
20356         Implement high precision (guint64 * guint64) / guint64.
20357
20358 2005-11-24  Wim Taymans  <wim@fluendo.com>
20359
20360         * gst/base/gstbasesrc.c: (gst_base_src_query):
20361         Fix wrong percentage query.
20362
20363         * gst/gstutils.c: (gst_util_uint64_scale),
20364         (gst_util_uint64_scale_int):
20365         Add some more common cases that can be handled 
20366         efficiently to _scale.
20367
20368 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20369
20370         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
20371         (gst_mini_object_suite):
20372           don't use check calls from threads; check probably isn't
20373           threadsafe and using a lock to make it threadsafe would
20374           defeat the purpose of this check
20375         * gst/check/gstcheck.c:
20376         * gst/check/gstcheck.h:
20377           use GST_DEBUG some more
20378
20379 2005-11-24  Wim Taymans  <wim@fluendo.com>
20380
20381         * gst/gstutils.c: (gst_util_uint64_scale),
20382         (gst_util_uint64_scale_int):
20383         Chain trivial case to _scale_int.
20384
20385 2005-11-24  Wim Taymans  <wim@fluendo.com>
20386
20387         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20388         Added test for scaling.
20389
20390         * gst/gstclock.h:
20391         Small doc fix.
20392
20393         * gst/gstutils.c: (gst_util_uint64_scale_int):
20394         Implemented high precision scaling code.
20395
20396 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
20397
20398         * gst/gstinfo.h:
20399           do not crash on pad==NULL
20400
20401 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20402
20403         Patch by: Stefan Kost
20404
20405         * common/gtk-doc.mak:
20406         * docs/gst/Makefile.am:
20407         * docs/libs/Makefile.am:
20408           Fix distcheck issues for the libraries docs build
20409           Closes #319599.
20410
20411 2005-11-24  Michael Smith <msmith@fluendo.com>
20412
20413         * docs/manual/basics-helloworld.xml:
20414           Fix bug #315027: memory leak in example code in docs.
20415
20416 2005-11-24  Michael Smith <msmith@fluendo.com>
20417
20418         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20419           Unlock the PREROLL_LOCK in a failure case.
20420
20421 2005-11-24  Wim Taymans  <wim@fluendo.com>
20422
20423         * docs/gst/gstreamer-sections.txt:
20424         * gst/base/gstadapter.h:
20425         * gst/base/gstbasesink.h:
20426         * gst/base/gstbasesrc.h:
20427         * gst/base/gstbasetransform.h:
20428         * gst/base/gstpushsrc.h:
20429         * gst/elements/gstfakesink.h:
20430         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
20431         * gst/elements/gstfakesrc.h:
20432         * gst/elements/gstfilesink.h:
20433         * gst/elements/gstfilesrc.h:
20434         * gst/gst.c:
20435         * gst/gstbin.c:
20436         * gst/gstbuffer.c: (_gst_buffer_copy):
20437         * gst/gstbus.h:
20438         * gst/gstcaps.c:
20439         * gst/gstchildproxy.c:
20440         * gst/gstclock.c:
20441         * gst/gstelement.c:
20442         * gst/gstelementfactory.c:
20443         * gst/gstelementfactory.h:
20444         * gst/gstevent.c:
20445         * gst/gstghostpad.h:
20446         * gst/gstindex.h:
20447         * gst/gstinterface.h:
20448         * gst/gstminiobject.c:
20449         * gst/gstminiobject.h:
20450         * gst/gstpad.c:
20451         * gst/gstpad.h:
20452         * gst/gstpadtemplate.h:
20453         * gst/gstpipeline.h:
20454         * gst/gstpluginfeature.h:
20455         * gst/gstquery.h:
20456         * gst/gstqueue.h:
20457         * gst/gsttaglist.c:
20458         * gst/gsttaglist.h:
20459         * gst/gsttagsetter.c:
20460         * gst/gsttagsetter.h:
20461         * gst/gsttrace.c:
20462         * gst/gsttrace.h:
20463         * gst/gsttypefind.h:
20464         * gst/gsturi.h:
20465         * gst/gstvalue.c:
20466         * gst/net/gstnetclientclock.c:
20467         * gst/net/gstnetclientclock.h:
20468         * gst/net/gstnettimepacket.c:
20469         * gst/net/gstnettimeprovider.c:
20470         * gst/net/gstnettimeprovider.h:
20471         Doc fixes.
20472
20473 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20474
20475         * configure.ac: back to HEAD
20476
20477 === release 0.9.6 ===
20478
20479 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
20480
20481         * configure.ac:
20482           releasing 0.9.6, "Always On Time"
20483
20484 2005-11-23  Wim Taymans  <wim@fluendo.com>
20485
20486         * docs/gst/gstreamer-sections.txt:
20487         * gst/glib-compat.c:
20488         * gst/gsttagsetter.c:
20489         * gst/gstvalue.c:
20490         * gst/net/gstnetclientclock.c:
20491         * gst/net/gstnettimepacket.h:
20492         Doc updates.
20493
20494 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20495
20496         * docs/faq/using.xml:
20497         * docs/libs/tmpl/gstcontrol.sgml:
20498         * docs/manual/advanced-dparams.xml:
20499         * docs/manual/appendix-checklist.xml:
20500         * docs/manual/basics-elements.xml:
20501         * docs/pwg/other-source.xml:
20502         * docs/random/moving-plugins:
20503         * gst/gstpad.c:
20504         * tools/gst-launch.1.in:
20505           remove mentions of sinesrc
20506
20507 2005-11-23  Michael Smith <msmith@fluendo.com>
20508
20509         * docs/gst/gstreamer-sections.txt:
20510           Update for new API and API changes.
20511         * gst/gstobject.h:
20512           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
20513         * gst/gstvalue.c:
20514           Documentation typo fix.
20515         * gst/net/gstnettimepacket.c:
20516           Documentation fixes for arguments.
20517
20518 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
20519
20520         * gst/gststructure.c: (gst_structure_get_fraction),
20521         (gst_structure_parse_value),
20522         (gst_structure_fixate_field_nearest_fraction):
20523         * gst/gststructure.h:
20524         * gst/gstutils.c: (gst_util_uint64_scale_int):
20525         * gst/gstutils.h:
20526         * scripts/update-funcnames:
20527         API Changes. 
20528         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
20529         Make gst_structure_fixate_field_nearest_fraction take a numerator
20530         and denominator argument instead of a GValue
20531         add gst_structure_get_fraction helper function.
20532
20533 2005-11-23  Wim Taymans  <wim@fluendo.com>
20534
20535         * docs/design/part-TODO.txt:
20536         Update TODO.
20537
20538         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
20539         * gst/net/gstnetclientclock.h:
20540         Use parent fields for timeout and window_size.
20541
20542 2005-11-23  Andy Wingo  <wingo@pobox.com>
20543
20544         * check/net/gstnetclientclock.c (test_functioning): Adjust to
20545         rate_num/rate_denom change.
20546
20547         * gst/net/gstnetclientclock.c
20548         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
20549         OBJECT_LOCK. Don't call add_observation with the lock.
20550
20551         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
20552         fraction.
20553         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
20554         rate fraction.
20555         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20556         deal with rate as a fraction whose numerator and denominator are
20557         GstClockTime values.
20558         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20559         master; the other fields are protected by the SLAVE_LOCK.
20560         (do_linear_regression): Note that this must be called with the
20561         SLAVE_LOCK.
20562         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20563         OBJECT_LOCK. Call set_calibration instead of touching the
20564         variables directly.
20565         (gst_clock_set_property, gst_clock_get_property): Protect
20566         master/slave parameters with the SLAVE_LOCK.
20567
20568         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20569         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20570         note that all of the instance variables that add_observation and
20571         the set_master functions use are protected by that lock and not
20572         the OBJECT_LOCK.
20573         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20574
20575         * gst/gstclock.c (gst_clock_add_observation): No longer requires
20576         the caller to take the object lock.
20577
20578 2005-11-23  Wim Taymans  <wim@fluendo.com>
20579
20580         * gst/gsterror.c: (_gst_core_errors_init):
20581         * gst/gsterror.h:
20582         Add error for clock stuff.
20583
20584         * gst/gstpipeline.c: (gst_pipeline_change_state),
20585         (gst_pipeline_set_clock):
20586         Post clock error when clock cannot be used in a pipeline.
20587
20588 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
20589
20590         * docs/gst/gstreamer-sections.txt:
20591           make two symbols from gstinfo private for the docs
20592         * gst/base/gstcollectpads.h:
20593         * gst/gstutils.c:
20594           fix doc typos, update docs
20595
20596 2005-11-22  Wim Taymans  <wim@fluendo.com>
20597
20598         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20599         (gst_base_sink_wait), (gst_base_sink_do_sync),
20600         (gst_base_sink_handle_event):
20601         * gst/base/gstbasesink.h:
20602         No need to store the clock, the parent element class already
20603         has it.
20604
20605         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20606         Updates for clock_set returning a gboolean
20607
20608         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20609         (gst_clock_id_wait_async), (gst_clock_class_init),
20610         (gst_clock_init), (gst_clock_finalize),
20611         (gst_clock_get_internal_time), (gst_clock_get_time),
20612         (gst_clock_slave_callback), (gst_clock_set_master),
20613         (gst_clock_get_master), (do_linear_regression),
20614         (gst_clock_add_observation), (gst_clock_set_property),
20615         (gst_clock_get_property):
20616         * gst/gstclock.h:
20617         Implement master/slave. When setting a clock as a slave, a
20618         periodic timeout is scheduled to sample master and slave times.
20619         Then the slave clock is recalibrated to match offset and rate
20620         of the master clock.
20621         Update logging a bit.
20622         Add flag so that a clock can state that is cannot be slaved to
20623         another clock.
20624
20625         * gst/gstelement.c: (gst_element_set_clock):
20626         * gst/gstelement.h:
20627         The set clock returns a gboolean for when an element cannot
20628         deal with the selected clock in the pipeline. 
20629
20630         * gst/gstpipeline.c: (gst_pipeline_change_state),
20631         (gst_pipeline_set_clock):
20632         * gst/gstpipeline.h:
20633         Handle the case where the selected clock cannot be set on
20634         the pipeline.
20635
20636         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20637         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20638         (gst_net_client_clock_set_property),
20639         (gst_net_client_clock_get_property),
20640         (gst_net_client_clock_observe_times):
20641         * gst/net/gstnetclientclock.h:
20642         Use regression code in GstClock parent, remove duplicated
20643         functionality.
20644
20645 2005-11-22  Michael Smith <msmith@fluendo.com>
20646
20647         * gst/gstutils.c: (gst_util_clock_time_scale):
20648         * gst/gstutils.h:
20649         * docs/gst/gstreamer-sections.txt:
20650           Rename method to have extra underscore.
20651
20652 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20653
20654         * gst/elements/Makefile.am:
20655         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20656         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20657         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20658         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20659         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20660         * gst/elements/gstfakesrc.h:
20661         * gst/gstqueue.c: (queue_leaky_get_type):
20662           correctly fix GEnumValues so that nick is the short lowercase
20663           dashed tag
20664         * tools/gst-inspect.c: (print_element_properties_info):
20665           also show the nick, since it's useful to use from parse_launch
20666           syntax
20667           Fixes #322139
20668
20669 2005-11-22  Michael Smith <msmith@fluendo.com>
20670
20671         * gst/gstutils.c: (gst_util_clocktime_scale):
20672         * gst/gstutils.h:
20673         * docs/gst/gstreamer-sections.txt:
20674           Add util method for scaling a clocktime by a fraction. Useful 
20675           implementation is left as an exercise for the reader.
20676
20677 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20678
20679         * gst/gstvalue.c: (gst_value_collect_fraction_range):
20680         If needed, allocate storage in the destination value during
20681         collection.
20682
20683 2005-11-22  Edward Hervey  <edward@fluendo.com>
20684
20685         * docs/gst/gstreamer-sections.txt:
20686         * gst/Makefile.am:
20687         * gst/gst.h:
20688         * gst/gsturitype.c:
20689         * gst/gsturitype.h:
20690         * gst/gstutils.c: (gst_util_set_object_arg):
20691         * tools/gst-compprep.c: (main):
20692         * tools/gst-inspect.c: (print_element_properties_info):
20693         Removed GstURI, closes bug #321061
20694
20695 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20696
20697         * check/gst/gststructure.c: (GST_START_TEST):
20698         * gst/gststructure.c: (gst_structure_parse_value):
20699           Oops, broke automatic string type parsing.
20700           Add a test to catch it in future.
20701
20702 2005-11-22  Andy Wingo  <wingo@pobox.com>
20703
20704         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
20705         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20706         Actually rename the function implementations. Grr.
20707
20708 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20709
20710         * check/gst/capslist.h:
20711           Comment test cases
20712         * check/gst/gststructure.c: (GST_START_TEST),
20713         (gst_structure_suite):
20714           Test automatic value type detection in gst_structure_from_string.
20715         * gst/gststructure.c: (gst_structure_parse_value):
20716           Add fraction as a type we try and guess automatically in
20717           caps/structure strings.
20718
20719 2005-11-22  Andy Wingo  <wingo@pobox.com>
20720
20721         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20722
20723         * gst/gsttagsetter.h:
20724         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20725         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20726         (gst_tag_setter_add_tag_valist)
20727         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20728         _add_values, _add_valist, and _add_valist_values. Since this is an
20729         interface the function suffixes should be more explicit so
20730         language binding don't end up with element.add_valist ->
20731         gst_tag_setter_add_valist, for example. Fixes #322069.
20732
20733 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20734
20735         * check/gst/gstcaps.c: (GST_START_TEST):
20736           Extend caps string tests to check that a caps to string
20737           conversion is reversible and produces the same caps.
20738
20739         * gst/gststructure.c: (gst_structure_value_get_generic_type):
20740           Output "fraction" as the generic type fraction range, so caps
20741           serialisation and deserialisation works.
20742         * check/gst/capslist.h:
20743         * gst/gstvalue.c: (gst_value_deserialize_fraction):
20744           Support 'MIN' and 'MAX' for deserialising fractions.
20745
20746 2005-11-22  Andy Wingo  <wingo@pobox.com>
20747
20748         * gst/gstevent.h (gst_event_new_new_segment)
20749         (gst_event_parse_new_segment, gst_event_new_buffer_size)
20750         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20751         Renamed from *_newsegment, *_buffersize, *_notarget.
20752
20753         * scripts/update-funcnames: New script, performs the changes
20754         listed above.
20755
20756 2005-11-22  Wim Taymans  <wim@fluendo.com>
20757
20758         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20759         Make sure the GstFlowReturn is returned.
20760
20761         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20762         (gst_bus_add_signal_watch):
20763         * gst/gstbus.h:
20764         add gst_bus_add_signal_watch_full.
20765
20766         * gst/gstplugin.c: (gst_plugin_load_file):
20767         Small style cleanup.
20768
20769 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20770
20771         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20772           Block the fakesrc srcpad when we send an event, to avoid
20773           contention on the stream_lock causing random test failures.
20774
20775 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20776
20777         * check/gst/gstvalue.c: (GST_START_TEST):
20778         * gst/gstvalue.c: (gst_value_fraction_subtract):
20779           Fix subtraction.
20780
20781 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
20782
20783         * gst/gst.h:
20784           include "gstchildproxy.h"
20785         * gst/gstchildproxy.h:
20786         * libs/gst/controller/gstcontroller.h:
20787           use G_GNUC_NULL_TERMINATED
20788
20789 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20790
20791         * check/gst/capslist.h:
20792         * check/gst/gstcaps.c: (GST_START_TEST):
20793         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20794         * gst/gststructure.c: (gst_structure_parse_range),
20795         (gst_structure_fixate_field_nearest_fraction):
20796         * gst/gststructure.h:
20797         * gst/gstvalue.c: (gst_value_init_fraction_range),
20798         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20799         (gst_value_collect_fraction_range),
20800         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20801         (gst_value_set_fraction_range_full),
20802         (gst_value_get_fraction_range_min),
20803         (gst_value_get_fraction_range_max),
20804         (gst_value_serialize_fraction_range),
20805         (gst_value_transform_fraction_range_string),
20806         (gst_value_compare_fraction_range),
20807         (gst_value_deserialize_fraction_range),
20808         (gst_value_intersect_fraction_fraction_range),
20809         (gst_value_intersect_fraction_range_fraction_range),
20810         (gst_value_subtract_fraction_fraction_range),
20811         (gst_value_subtract_fraction_range_fraction),
20812         (gst_value_subtract_fraction_range_fraction_range),
20813         (gst_value_collect_fraction), (gst_value_fraction_multiply),
20814         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20815         (gst_value_transform_string_fraction), (_gst_value_initialize):
20816         * gst/gstvalue.h:
20817           Implement fraction ranges and extend GstFraction to support
20818           arithmetic subtraction, as well as deserialization from integer
20819           strings such as "100"
20820           Add a testsuite as for int and double range set operations
20821
20822 2005-11-21  Andy Wingo  <wingo@pobox.com>
20823
20824         * gst/gsttaglist.h: 
20825         * gst/gstcaps.h: 
20826         * gst/gststructure.h: Add glib-compat.h.
20827
20828 2005-11-21  Wim Taymans  <wim@fluendo.com>
20829
20830         * gst/gstbin.c: (gst_bin_change_state_func):
20831         Fix for #321595
20832
20833 2005-11-21  Wim Taymans  <wim@fluendo.com>
20834
20835         * gst/gstsegment.h:
20836         And add a nice define too.
20837
20838 2005-11-21  Wim Taymans  <wim@fluendo.com>
20839
20840         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20841         (gst_segment_new), (gst_segment_free), (gst_segment_init),
20842         (gst_segment_set_duration), (gst_segment_set_last_stop),
20843         (gst_segment_set_seek), (gst_segment_set_newsegment),
20844         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20845         (gst_segment_clip):
20846         * gst/gstsegment.h:
20847         Make binding friendly.
20848
20849 2005-11-21  Andy Wingo  <wingo@pobox.com>
20850
20851         * gst/gsttagsetter.h: 
20852         * gst/gsttaglist.h: 
20853         * gst/gststructure.h: 
20854         * gst/gstcaps.h: 
20855         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20856         #319940.
20857
20858         * gst/gsterror.c (_gst_core_errors_init):
20859         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20860         category.
20861
20862         * gst/Makefile.am (gst_headers): Add glib-compat.h.
20863         (noinst_HEADERS): noinst the -private.
20864
20865 2005-11-21  Michael Smith <msmith@fluendo.com>
20866
20867         * gst/gstplugin.h:
20868         * gst/gstregistry.h:
20869           Remove unimplemented declarations for which we can see no sensible
20870           use.
20871
20872 2005-11-21  Andy Wingo  <wingo@pobox.com>
20873
20874         * gst/gst.h: Include glib-compat.h.
20875
20876         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20877
20878         * gst/glib-compat.c: Include the public and the private header.
20879
20880         * gst/glib-compat-private.h: Copied here from glib-compat.h.
20881
20882         * gst/gstvalue.c: 
20883         * gst/gstpad.c: 
20884         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20885
20886         * check/gst/gstevent.c (create_custom_events): Check that
20887         FLUSH_STOP is serialized.
20888
20889         * check/elements/identity.c (event_func): 
20890         * check/elements/fakesrc.c (event_func): No stream lock, the core
20891         takes it.
20892
20893         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20894         stream lock taking, yay.
20895
20896         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20897         ensure that core takes the stream lock.
20898
20899         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20900         lock name change.
20901
20902         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20903         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20904         it already. For the flush start we do take it though so we get the
20905         right preroll state change messages.
20906
20907         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20908         the stream lock here, the core does it for us.
20909
20910         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20911         GST_STREAM_GET_LOCK.
20912         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
20913         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
20914         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20915         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20916         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
20917         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20918
20919         * gst/gstpad.c: Update for stream lock name change.
20920
20921         * gst/base/gstbasesink.c: Update for preroll lock name change.
20922
20923 2005-11-21  Wim Taymans  <wim@fluendo.com>
20924
20925         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20926         (gst_clock_get_master):
20927         * gst/gstclock.h:
20928         * gst/gstsystemclock.c: (gst_system_clock_init):
20929         Convert Clock flags to object flags.
20930         Added methods to manage master/slave clocks.
20931
20932 2005-11-21  Wim Taymans  <wim@fluendo.com>
20933
20934         * check/gst/gstsegment.c: (GST_START_TEST):
20935         * docs/design/part-TODO.txt:
20936         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20937         (gst_base_sink_event), (gst_base_sink_do_sync),
20938         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20939         (gst_base_sink_query), (gst_base_sink_change_state):
20940         * gst/base/gstbasesink.h:
20941         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20942         (gst_base_src_default_newsegment),
20943         (gst_base_src_configure_segment), (gst_base_src_do_seek),
20944         (gst_base_src_get_range), (gst_base_src_loop),
20945         (gst_base_src_change_state):
20946         * gst/base/gstbasesrc.h:
20947         * gst/base/gstbasetransform.c:
20948         (gst_base_transform_prepare_output_buf),
20949         (gst_base_transform_event), (gst_base_transform_change_state):
20950         * gst/base/gstbasetransform.h:
20951         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20952         (gst_collect_pads_event):
20953         * gst/base/gstcollectpads.h:
20954         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20955         (gst_fake_src_create):
20956         * gst/elements/gstfakesrc.h:
20957         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20958         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20959         (gst_segment_set_last_stop), (gst_segment_set_seek),
20960         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20961         (gst_segment_to_running_time), (gst_segment_clip):
20962         * gst/gstsegment.h:
20963         More segment updates, replace code in plugins with segment
20964         helper functions.
20965
20966 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20967
20968         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20969         Don't ignore sscanf results
20970
20971 2005-11-21  Andy Wingo  <wingo@pobox.com>
20972
20973         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20974
20975         * *.h:
20976         * *.c: Ran scripts/update-macros. Oh yes.
20977
20978         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20979         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20980         GST_GET_LOCK, etc.
20981
20982         * scripts/update-macros: New script. Run it on your files to
20983         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20984         well.
20985
20986 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20987
20988         * docs/gst/Makefile.am:
20989         * docs/gst/gstreamer-docs.sgml:
20990         * docs/gst/gstreamer-sections.txt:
20991         * docs/gst/gstreamer.types:
20992         * gst/gstinfo.h:
20993           more docs fixes, add new api to the docs
20994
20995 2005-11-21  Andy Wingo  <wingo@pobox.com>
20996
20997         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20998         state_broadcast call.
20999
21000         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
21001
21002 2005-11-21  Julien MOUTTE  <julien@moutte.net>
21003
21004         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
21005         function calls for arrays.
21006
21007 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
21008
21009         * docs/random/ensonic/media-device-daemon.txt:
21010           wild idea, can this be done?
21011         * docs/gst/gstreamer-sections.txt:
21012         * gst/gsterror.h:
21013         * gst/gstfilter.c:
21014         * gst/gstfilter.h:
21015         * gst/gstplugin.h:
21016         * gst/gstpluginfeature.c:
21017         * gst/gsttrace.c:
21018         * gst/gstvalue.c:
21019         * gst/gstvalue.h:
21020           doc fixes and additions
21021
21022 2005-11-21  Andy Wingo  <wingo@pobox.com>
21023
21024         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
21025         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
21026         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
21027         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
21028         private to the basesrc implementation.
21029
21030         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
21031         behalf of event function if necessary. It should no longer be
21032         necessary to take the stream lock in pad's event functions. Fixes
21033         #320299.
21034
21035 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
21036         * docs/gst/gstreamer-sections.txt:
21037         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
21038         (gst_structure_fixate_field_nearest_double),
21039         (gst_structure_fixate_field_boolean):
21040         * gst/gststructure.h:
21041         * win32/common/libgstreamer.def:
21042         * win32/gstreamer.def:
21043
21044         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
21045         (#322027)
21046
21047 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
21048
21049         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
21050         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
21051         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
21052         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
21053         (gst_fdsrc_uri_handler_init):
21054         * gst/elements/gstfdsrc.h:
21055           Port fd:// URI handler from 0.8 to fdsrc
21056
21057 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
21058
21059         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
21060         (gst_value_serialize_fourcc):
21061         * gst/gstvalue.h:
21062           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
21063           consistent with our other format defines (#320324).
21064
21065 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
21066
21067         * gst/gstvalue.c: (gst_value_is_fixed):
21068           Revert previous commit. Value lists are by definition
21069           not fixed, as they are a list of possible values.
21070
21071 2005-11-21  Andy Wingo  <wingo@pobox.com>
21072
21073         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
21074         during the stable series if we need it. Fixes #319178.
21075
21076         * gst/gstevent.c (gst_event_new_filler): Removed.
21077
21078         * check/gst/gstevent.c: Update comment about filler events.
21079
21080 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
21081
21082         * gst/gstvalue.c: (gst_value_is_fixed):
21083           Should handle both value arrays and value lists.
21084
21085 2005-11-21  Andy Wingo  <wingo@pobox.com>
21086
21087         patch by: Alessandro Dessina <alessandro nnva org>
21088
21089         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
21090         functions to access arrays. Fixes #321962.
21091
21092 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
21093
21094         * docs/gst/gstreamer.types:
21095           gst_collectpads_get_type => gst_collect_pads_get_type.
21096           
21097         * gst/base/gstbasetransform.c:
21098           Remove unused SIGNAL_HANDOFF enum.
21099
21100 2005-11-21  Andy Wingo  <wingo@pobox.com>
21101
21102         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
21103         the event type (upstream, downstream, serialized). Renamed
21104         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
21105         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
21106         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
21107
21108         * gst/gstevent.c: Update for new CUSTOM event names.
21109
21110         * check/gst/gstevent.c: Update check for new CUSTOM event names.
21111
21112         * gst/gstevent.h:
21113         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
21114         bug #319392.
21115
21116 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
21117
21118         * docs/gst/gstreamer-sections.txt:
21119         * win32/common/libgstbase.def:
21120         * win32/libgstbase.def:
21121         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
21122         (gst_collect_pads_class_init), (gst_collect_pads_init),
21123         (gst_collect_pads_finalize), (gst_collect_pads_new),
21124         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
21125         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
21126         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
21127         (gst_collect_pads_start), (gst_collect_pads_stop),
21128         (gst_collect_pads_peek), (gst_collect_pads_pop),
21129         (gst_collect_pads_available), (gst_collect_pads_read),
21130         (gst_collect_pads_flush), (gst_collect_pads_event),
21131         (gst_collect_pads_chain):
21132         * gst/base/gstcollectpads.h:
21133           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
21134           unimplemented functions as unimplemented. Add padding to
21135           GstCollectData. (#320766, #320423)
21136
21137 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
21138
21139         * gst/gstmessage.c:
21140           Improve docs for DURATION message (usage of duration parameter)
21141           (#320113)
21142
21143 2005-11-20  Wim Taymans  <wim@fluendo.com>
21144
21145         * check/Makefile.am:
21146         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
21147         (main):
21148         * gst/Makefile.am:
21149         * gst/gst.h:
21150         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
21151         (gst_segment_set_seek), (gst_segment_set_newsegment),
21152         (gst_segment_to_stream_time), (gst_segment_to_running_time),
21153         (gst_segment_clip):
21154         * gst/gstsegment.h:
21155         Added segment helper structure and methods. Not fully implemented
21156         yet.
21157         Added segment check.
21158
21159 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
21160
21161         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
21162           Add a deserialisation test for fractions
21163         * examples/metadata/read-metadata.c: (message_loop),
21164         (make_pipeline), (main):
21165           Fix up metadata reading sample.
21166         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21167           Debug format fix
21168         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21169           Don't try and fixate empty caps
21170         * gst/gst_private.h:
21171           Wrap in G_BEGIN_DECLS/G_END_DECLS
21172         * gst/gstvalue.c: (gst_value_collect_fraction),
21173         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
21174         (gst_value_transform_string_fraction),
21175         (gst_value_compare_fraction):
21176           Add some extra guards to ensure that we don't end up 
21177           with an invalid denominator of 0 in a gstfraction and
21178           that fractions always get reduced.
21179
21180 2005-11-20  Wim Taymans  <wim@fluendo.com>
21181
21182         * docs/gst/gstreamer-sections.txt:
21183         * gst/gstbuffer.h:
21184         * gst/gstelement.c:
21185         * gst/gstformat.c:
21186         * gst/gstformat.h:
21187         * gst/gstindex.h:
21188         * gst/gstquery.c:
21189         * gst/gstquery.h:
21190         * gst/gstvalue.c:
21191         Doc fixes.
21192
21193 2005-11-20  Wim Taymans  <wim@fluendo.com>
21194
21195         * docs/design/part-TODO.txt:
21196         * gst/gstcaps.h:
21197         Make a proper enum of the flag.
21198
21199 2005-11-19  Wim Taymans  <wim@fluendo.com>
21200
21201         * docs/design/part-TODO.txt:
21202         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
21203         (gst_format_to_quark), (gst_format_register):
21204         * gst/gstformat.h:
21205         * gst/gstquery.c: (_gst_query_initialize),
21206         (gst_query_type_get_name), (gst_query_type_to_quark),
21207         (gst_query_type_register):
21208         * gst/gstquery.h:
21209         Add type to quark and type to string conversions.
21210
21211 2005-11-19  Andy Wingo  <wingo@pobox.com>
21212
21213         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
21214         #320097.
21215
21216 2005-11-19  Wim Taymans  <wim@fluendo.com>
21217
21218         * docs/design/part-TODO.txt:
21219         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
21220         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
21221         (gst_bin_handle_message_func):
21222         * gst/gstbin.h:
21223         Make message handling overridable.
21224
21225 2005-11-19  Andy Wingo  <wingo@pobox.com>
21226
21227         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
21228
21229         * gst/gstclock.h:
21230         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
21231         be a GstClockTime.
21232         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
21233         is a GstClockTime. Fixes #321710.
21234
21235         * gst/gstclock.h (GstClock): Remove offset property. Add
21236         internal_calibration and external_calibration. Fix padding. Pad
21237         also by GstClockTime so we don't run into problems.
21238
21239         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
21240         (gst_clock_get_rate_offset): Remove.
21241         (gst_clock_set_time_adjust): Remove. Fixes #321712.
21242
21243         * gst/gstutils.h:
21244         * gst/gstutils.c (g_static_rec_cond_wait)
21245         (g_static_rec_cond_timed_wait): Removed, no longer needed.
21246
21247         * gst/gstbin.c: Remove terrible continue_state prototype.
21248
21249         * gst/gstelement.h (gst_element_continue_state): Make public.
21250
21251         * gst/gstelement.h:
21252         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
21253         by continue_state. Fixes #319389.
21254
21255         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
21256         Really fixes #168438. However I don't see anywhere where the
21257         filter function is called... stupid GStreamer...
21258         
21259         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
21260         don't have a dispose function, so it won't get called when the
21261         object is unreffed, but oh well!
21262
21263         * gst/gstindex.c (gst_index_set_filter_full): New API function,
21264         allows a destroy function to be set so user_data can be freed.
21265         Fixes #168438.
21266         (gst_index_set_filter): Call gst_index_set_filter_full.
21267
21268         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
21269
21270         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
21271         string should produce an error, given the lack of a way to
21272         represent NULL strings. Fixes #165650.
21273         
21274         * gst/gstvalue.h: 
21275         * gst/gstvalue.c (gst_value_array_append_value) 
21276         (gst_value_array_prepend_value, gst_value_array_get_size) 
21277         (gst_value_array_get_value): New API, copied from
21278         gst_value_list_*, only operates on arrays.
21279         (gst_value_list_append_value, gst_value_list_prepend_value) 
21280         (gst_value_list_concat, gst_value_list_get_size) 
21281         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
21282
21283         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
21284         init_list, because it works on both.
21285         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
21286         (gst_value_copy_list_or_array): Renamed from copy_list.
21287         (gst_value_free_list_or_array): Renamed from free_list.
21288         (gst_value_collect_list_or_array): Renamed from collect_list.
21289         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
21290         (gst_value_list_or_array_peek_pointer): Renamed from
21291         list_peek_pointer.
21292         (_gst_value_array_value_table, _gst_value_list_value_table):
21293         Update value table functions.
21294         (gst_value_compare_list_or_array): Renamed from compare_list.
21295
21296         * gsttaglist.h: Whoops, foreach function returns void. Also fix
21297         some constness.
21298
21299         * gst/gsttaglist.c:
21300         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
21301         GstTagList*. Fixes #143472.
21302
21303         * gst/gststructure.h: Clarify what the foreach/map functions can
21304         or can't do to their arguments.
21305
21306 2005-11-18  Wim Taymans  <wim@fluendo.com>
21307
21308         * gst/gstclock.c: (gst_clock_set_calibration),
21309         (gst_clock_get_calibration):
21310         Doc and API fixes.
21311         Calibration can be set with internal time equal to current
21312         internal time too.
21313
21314 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21315
21316         * gst/gsterror.c:
21317         * gst/gsterror.h:
21318           document
21319
21320 2005-11-18  Andy Wingo  <wingo@pobox.com>
21321
21322         * configure.ac: 
21323         * pkgconfig/gstreamer-net.pc.in:
21324         * pkgconfig/gstreamer-net-uninstalled.pc.in:
21325         * pkgconfig/Makefile.am: Add net pkgconfig files.
21326
21327 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
21328
21329         * gst/gstcaps.c:
21330         * gst/gstghostpad.c:
21331         * gst/gsttrace.c:
21332         * gst/gstvalue.c:
21333         * gst/gstvalue.h:
21334           docs fixes
21335
21336 2005-11-18  Andy Wingo  <wingo@pobox.com>
21337
21338         * gst/net/gstnetclientclock.c: Turn off debugging.
21339
21340         * check/net/gstnetclientclock.c (test_functioning): Assert that the
21341         times connverge somewhat. Can't make a real test.
21342
21343         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
21344         integer arithmetic. Return the minimum of the domain, which can be
21345         set as "internal" for gst_clock_set_calibration.
21346         (gst_net_client_clock_observe_times): Call _set_calibration.
21347         (gst_net_client_clock_new): Call _set_calibration instead of
21348         rate_offset.
21349
21350         * check/net/gstnetclientclock.c (test_functioning): Use the right
21351         adjustment api.
21352
21353         * gst/gstclock.h:
21354         * gst/gstclock.c (gst_clock_get_calibration) 
21355         (gst_clock_set_calibration): New functions, obsolete the ones I
21356         added yesterday. Doh. Precision issues mean we have to extrapolate
21357         from a point in the more recent past than 1970.
21358         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
21359         obsolete.
21360         (gst_clock_adjust_unlocked): Use the right calibration data.
21361
21362 2005-11-18  Edward Hervey  <edward@fluendo.com>
21363
21364         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
21365         Also reset the ->current_* values in READY->PAUSED
21366
21367 2005-11-18  Andy Wingo  <wingo@pobox.com>
21368
21369         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
21370         Whoops, check the right fd. Also add some debugging.
21371         (gst_net_client_clock_observe_times): Adjust for int64 offset.
21372         (do_linear_regression): Add a crapload of debugging. Subtract off
21373         the minimum values from the input series to discard unneeded bits.
21374         Use only int arithmetic. There is still double arithmetic when
21375         calculating the intercept that needs fixing. Return boolean to
21376         indicate success; FALSE would mean the domain or range is too
21377         great. Still needs fixes.
21378
21379 2005-11-18  Wim Taymans  <wim@fluendo.com>
21380
21381         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
21382         For the current position in stream time, we need to subtract
21383         accumulated time.
21384         
21385         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
21386         Release lock before calling the callback function of async
21387         entries.
21388
21389 2005-11-18  Andy Wingo  <wingo@pobox.com>
21390
21391         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
21392         Port goes all the way to MAXUINT16.
21393
21394         * gst/net/gstnettimeprovider.c: Make the port range the same as
21395         for the kernel: 0 assigns, otherwise ports are less than
21396         MAXUINT16.
21397
21398         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
21399         port change.
21400
21401         * check/net/gstnetclientclock.c (test_functioning): Add the start
21402         of another test. 
21403
21404 2005-11-18  Wim Taymans  <wim@fluendo.com>
21405
21406         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21407         (gst_bin_remove_func), (bin_bus_handler):
21408         * gst/gstbin.h:
21409         Removing a clock provider from a bin, triggers a clock lost message
21410         so that a new clock will be selected.
21411         Adding a clock to a bin triggers a clock provider message.
21412         Make sure we reselect a clock when we received a clock lost message.
21413         Keep a reference to the element that provided the clock.
21414
21415 2005-11-18  Andy Wingo  <wingo@pobox.com>
21416
21417         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
21418         the clock initially so it produces values around the base time.
21419         (gst_net_client_clock_class_init): Typo fix.
21420         (gst_net_client_clock_thread): Add note on when the socket gets
21421         closed.
21422
21423 2005-11-17  Wim Taymans  <wim@fluendo.com>
21424
21425         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
21426         Free remote and local time arrays.
21427
21428 2005-11-17  Wim Taymans  <wim@fluendo.com>
21429
21430         * gst/net/gstnetclientclock.c: (do_linear_regression),
21431         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
21432         Fix compilation, uninitialized vars and a forgotten continue.
21433
21434 2005-11-17  Andy Wingo  <wingo@pobox.com>
21435
21436         * check/Makefile.am (check_PROGRAMS): 
21437         * check/net/gstnetclientclock.c: Add a most minimal test for the
21438         net client clock. More to come later.
21439
21440         * gst/net/gstnet.h: 
21441         * gst/net/Makefile.am: Add netclientclock.
21442
21443         * gst/net/gstnetclientclock.h:
21444         * gst/net/gstnetclientclock.c: New files, implement an untested
21445         GstClock that takes its time from a network time provider.
21446         Implements the algorithm in network-clock.scm.
21447
21448         * tests/network-clock.scm (*window-size*): Rename from
21449         *queue-length*.
21450         * tests/network-clock.scm (network-time): 
21451         * tests/network-clock-utils.scm (q-push): Update callers.
21452
21453 2005-11-17  Wim Taymans  <wim@fluendo.com>
21454
21455         * gst/gstbin.c: (gst_bin_provide_clock_func),
21456         (gst_bin_sort_iterator_new):
21457         And unref the child too..
21458
21459 2005-11-17  Wim Taymans  <wim@fluendo.com>
21460
21461         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
21462         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
21463         Refactor the sort iterator so it can be used while holding the
21464         LOCK too.
21465         Make clock selection select a clock closest to the source.
21466
21467 2005-11-17  Michael Smith <msmith@fluendo.com>
21468
21469         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
21470         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
21471         * gst/gstclock.h:
21472           Anonymous structs are a gcc (and some other compilers) extension, so
21473           don't use them. Since this is only for ABI-compatibility, and our
21474           API/ABI freeze is over in a few days, this whole thing will only
21475           last a few days, so don't bother trying to think up a meaningful
21476           name for the struct.
21477
21478 2005-11-17  Andy Wingo  <wingo@pobox.com>
21479
21480         * gst/gstclock.h (GstClock): Add rate and offset properties,
21481         preserving ABI stability. Add rate/offset accessors. Will file bug
21482         for the freeze break.
21483
21484         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
21485         and offset, trying to keep precision and avoiding
21486         underflow/overflow.
21487         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
21488         functions. Make gst_clock_set_time_adjust obsolete.
21489         (gst_clock_set_time_adjust): Note that this function is obsolete.
21490         Will file bug soon.
21491
21492         * gst/base/gstbasetransform.h: Make the ABI-stability hack
21493         greppable by using GST_PADDING-1+1.
21494
21495 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
21496
21497         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21498
21499         * gst/gstmessage.c: (gst_message_parse_clock_lost):
21500           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
21501
21502         * gst/gstpadtemplate.h:
21503         * gst/gstpluginfeature.h:
21504           Don't use c++ style comments in headers (#321638).
21505
21506 2005-11-16  Andy Wingo  <wingo@pobox.com>
21507
21508         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
21509         buffer.
21510
21511         * check/net/gstnettimeprovider.c: Check to see that the time
21512         provider actually provides times. Works, yo!
21513
21514 2005-11-16  Wim Taymans  <wim@fluendo.com>
21515
21516         * check/Makefile.am:
21517         Enable more tests.
21518
21519         * check/elements/fakesrc.c: (GST_START_TEST):
21520         Set element to NULL before disposing it.
21521
21522 2005-11-16  Andy Wingo  <wingo@pobox.com>
21523
21524         * gst/net/Makefile.am:
21525         * gst/net/gstnet.h:
21526         * gst/net/gstnettimeprovider.c: 
21527         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
21528         provider, include it from gstnet.h, and add it to the build.
21529
21530         * gst/net/gstnettimepacket.h: 
21531         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
21532         sending and receiving.
21533
21534 2005-11-16  Wim Taymans  <wim@fluendo.com>
21535
21536         * check/Makefile.am:
21537         Enable valgrind check.
21538
21539         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
21540         (gst_fake_src_alloc_buffer):
21541         Fix memleak.
21542
21543 2005-11-16  Wim Taymans  <wim@fluendo.com>
21544
21545         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
21546         Call parent finalize too.
21547
21548 2005-11-16  Wim Taymans  <wim@fluendo.com>
21549
21550         * check/Makefile.am:
21551         Enable valgrind check that should work fine now.
21552
21553         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21554         * gst/gstqueue.c: (gst_queue_init):
21555         Fix memleaks in pad allocation.
21556
21557 2005-11-16  Andy Wingo  <wingo@pobox.com>
21558
21559         * gst/net/Makefile.am:
21560         * gst/net/gstnet.h: New part of core to hold network elements and
21561         objects. Put in core because it exposes API that applications want
21562         to use. The library is named libgstnet-tempname right now because
21563         of the existing libgstnet in gst-plugins-base. Solution is
21564         probably to rename the one in plugins-base; will file a bug for
21565         the freeze break.
21566
21567         * gst/net/gstnettimeprovider.c: 
21568         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21569         get_time call over the network.
21570
21571         * configure.ac: 
21572         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21573
21574         * check/Makefile.am:
21575         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21576         get additions shortly.
21577
21578 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21579
21580         * gst/gstpad.c: (gst_pad_new_from_static_template):
21581         * gst/gstpad.h:
21582           add gst_pad_new_from_static_template functions
21583         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21584         (gst_check_setup_sink_pad):
21585         * gst/elements/gsttee.c: (gst_tee_init):
21586           and use them
21587
21588 2005-11-16  Wim Taymans  <wim@fluendo.com>
21589
21590         * gst/gstpad.c: (gst_pad_pause_task):
21591         Removed warning, it's not really an error either.
21592
21593 2005-11-16  Wim Taymans  <wim@fluendo.com>
21594
21595         * gst/base/gstbasetransform.c:
21596         (gst_base_transform_prepare_output_buf),
21597         (gst_base_transform_event):
21598         Check if the caps are NULL, this can happen if the element
21599         is shutting down and the pad caps are set to NULL.
21600
21601 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21602
21603         * gst/elements/gsttee.c: (gst_tee_init):
21604           fix pad template leak in tee
21605
21606 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21607
21608         * gst/glib-compat.c: (g_value_dup_gst_object):
21609         * gst/glib-compat.h:
21610         * gst/gstpad.c: (gst_pad_set_property):
21611           use gst_object_ref when setting the pad template; this will
21612           trigger the pad template leaks on GLib 2.6 and the slaves
21613
21614 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21615
21616         * gst/glib-compat.c: (gst_flags_get_first_value):
21617         * gst/glib-compat.h:
21618         * gst/gstregistryxml.c:
21619           remove functions copied from GLib 2.6
21620
21621 2005-11-16  Michael Smith <msmith@fluendo.com>
21622
21623         * gst/Makefile.am:
21624           Don't link against VALGRIND_LIBS. That was always the wrong thing to
21625           do, but only breaks with newer valgrind versions. We're not a
21626           valgrind tool, we have no link-time dependencies on libcoregrind.
21627
21628 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21629
21630         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21631           some debug changes
21632         * gst/gstmessage.h:
21633           typo fixes
21634
21635 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21636
21637         * gst/base/gstbasesrc.c: (gst_base_src_init):
21638         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21639         * gst/gstqueue.c: (gst_queue_init):
21640         * gst/gstregistryxml.c: (load_feature):
21641           Revert all these unrefs, they don't even pass make check !
21642
21643 2005-11-15  Johan Dahlin  <johan@gnome.org>
21644
21645         * gst/base/gstbasesrc.c: (gst_base_src_init):
21646         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21647         * gst/gstqueue.c: (gst_queue_init): 
21648         Free pad templates, fixes a couple of leaks.
21649
21650 2005-11-15  Daniel Fischer  <dan at f3c dot com>
21651
21652         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21653
21654         * gst/gstpad.c: (gst_pad_get_property):
21655           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21656           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21657           (#321452)
21658
21659 2005-11-15  Wim Taymans  <wim@fluendo.com>
21660
21661         * gst/gstevent.c:
21662         Small doc update.
21663
21664 2005-11-15  Andy Wingo  <wingo@pobox.com>
21665
21666         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21667
21668         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21669         using GST_CLOCK_TIME_NONE to disable base time management.
21670         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21671         time if it was NONE before.
21672         (gst_pipeline_change_state): Only munge the base time if
21673         stream_time != GST_CLOCK_TIME_NONE.
21674
21675         * check/gst/gstpipeline.c (test_base_time): Punt around the
21676         problem of the probe not being called, because that's not the
21677         issue I'm looking at. Add a check that setting stream_time to NONE
21678         disables base time management.
21679         
21680 2005-11-15  Wim Taymans  <wim@fluendo.com>
21681
21682         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21683         segment_stop == -1 at startup.
21684
21685         * gst/base/gstbasetransform.c: (gst_base_transform_event),
21686         (gst_base_transform_change_state):
21687         Init segment values at start.
21688
21689 2005-11-15  Wim Taymans  <wim@fluendo.com>
21690
21691         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21692         0 segment values are 0 in any format.
21693
21694         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21695         * gst/base/gstbasetransform.h:
21696         Parse newsegment correctly in basetransform
21697
21698         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21699         Sync to clock using updated segment values.
21700
21701 2005-11-15  Andy Wingo  <wingo@pobox.com>
21702
21703         * check/gst/gstpipeline.c (test_base_time): Add check that the
21704         base time and stream time are reset correctly.
21705
21706 2005-11-15  Wim Taymans  <wim@fluendo.com>
21707
21708         * docs/design/part-TODO.txt:
21709         Some more TODO items.
21710
21711 2005-11-15  Andy Wingo  <wingo@pobox.com>
21712
21713         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21714         error if the user selected "no clock" as the clocking method.
21715
21716         * check/gst/gstpipeline.c (test_base_time): New test for buffer
21717         timestamps with live capture.
21718
21719         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21720         is 0 but we are a live source, timestamp the buffers using the
21721         element's clock.
21722
21723 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
21724
21725         * docs/gst/gstreamer-sections.txt:
21726         * gst/gsterror.c:
21727         * gst/gstghostpad.c:
21728         * gst/gstobject.h:
21729         * gst/gstxml.c:
21730           more section docs
21731
21732 2005-11-14  Wim Taymans  <wim@fluendo.com>
21733
21734         * common/gst.supp:
21735           add suppressions from Wim's Debian machine
21736
21737 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
21738
21739         * common/gst.supp:
21740           add suppressions from Andy's AMD64 Ubuntu machine
21741
21742 2005-11-14  Andy Wingo  <wingo@pobox.com>
21743
21744         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21745         STATE_LOCK not necessary. Fixes #311489.
21746
21747         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21748         #305291.
21749
21750         * gst/gstindex.c (gst_index_add_object): Note in the docs that
21751         this function is not implemented.
21752
21753 2005-11-14  Julien MOUTTE  <julien@moutte.net>
21754
21755         * gst/base/gstbasetransform.c:
21756         (gst_base_transform_prepare_output_buf):
21757         Ref the source pad caps while we need them.
21758         Fixes (#321386)
21759
21760 2005-11-11  Wim Taymans  <wim@fluendo.com>
21761
21762         * docs/gst/gstreamer-sections.txt:
21763         Added some docs for GstCollectData.
21764
21765         * gst/base/gstadapter.c:
21766         Some small code example fix.
21767
21768         * gst/base/gstcollectpads.c:
21769         * gst/base/gstcollectpads.h:
21770         Document some more.
21771
21772 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21773
21774         * configure.ac: back to HEAD
21775
21776 === release 0.9.5 ===
21777
21778 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
21779
21780         * configure.ac:
21781           releasing 0.9.5, "Bike Lunch Day"
21782
21783 2005-11-11  Wim Taymans  <wim@fluendo.com>
21784
21785         * gst/gstbuffer.c: (_gst_buffer_copy):
21786         Copy more flags.
21787
21788         * gst/gstcaps.c: (gst_caps_is_equal):
21789         Fix some docs.
21790         Make _is_equal fast in the trivial cases.
21791
21792         * gst/gstminiobject.c:
21793         * gst/gstminiobject.h:
21794         More docs. Spifify .h file.
21795
21796         * gst/gstutils.c:
21797         Small doc update.
21798
21799 2005-11-11  Wim Taymans  <wim@fluendo.com>
21800
21801         * gst/base/gstbasetransform.c:
21802         (gst_base_transform_prepare_output_buf),
21803         (gst_base_transform_handle_buffer):
21804         Small cleanups.
21805         If we're processing a buffer and need to allocate an output
21806         buffer, we cannot accept a format change. If we did get a 
21807         format change, we have to alloc a buffer ourselves of the 
21808         right size.
21809
21810 2005-11-11  Wim Taymans  <wim@fluendo.com>
21811
21812         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21813         While checking the flag for reentrancy in the gstcaps function
21814         is nice to detect recursive invocations, it also makes it 
21815         impossible to call getcaps from multiple threads, which must be
21816         possible. So, checking for recursive calls has to go.
21817
21818 2005-11-11  Michael Smith <msmith@fluendo.com>
21819
21820         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21821           Don't sync on buffers that fall partially outside our current
21822           segment. Prevents an assertion failure/abort playing some files.
21823
21824 2005-11-10  Andy Wingo  <wingo@pobox.com>
21825
21826         * check/gst/gstbin.c (test_message_state_changed_children): Style
21827         fix..
21828
21829         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21830         gst_bus_poll with the signal watch. Ensures that poll and a signal
21831         watch see the same messages.
21832
21833         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21834         a poll and a watch at the same time get the same messages.
21835
21836 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21837
21838         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21839         * gst/gstcaps.c: (gst_caps_intersect):
21840           Don't call gst_caps_do_simplify - it doesn't respect order of caps
21841           and it's not needed.
21842
21843 2005-11-10  Wim Taymans  <wim@fluendo.com>
21844
21845         * docs/design/part-TODO.txt:
21846         Updated todo.
21847
21848 2005-11-10  Wim Taymans  <wim@fluendo.com>
21849
21850         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21851         * gst/base/gstbasesrc.c: (gst_base_src_wait),
21852         (gst_base_src_do_sync), (gst_base_src_get_range):
21853         Implement clock sync in base class.
21854
21855 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21856
21857         patch by: Tim-Philipp Müller <tim at centricular dot net>
21858
21859         * gst/gststructure.c: (gst_structure_parse_field),
21860         (gst_structure_from_string):
21861           Forward-port a 0.8 patch to handle escaped spaces in structure string,
21862           so that gst_parse_launch() can deal with spaces in filtered link
21863           caps (fixes #164479)
21864         * check/gst/capslist.h:
21865         * check/gst/gststructure.c: (GST_START_TEST):
21866           add unit tests for this change
21867
21868 2005-11-10  Wim Taymans  <wim@fluendo.com>
21869
21870         * docs/gst/gstreamer-sections.txt:
21871         * gst/gstelement.c:
21872         * gst/gstelement.h:
21873         Fix docs, move some STATE macros to private.
21874
21875 2005-11-10  Wim Taymans  <wim@fluendo.com>
21876
21877         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21878         Added check for bug #317341
21879
21880         * gst/gstbuffer.c:
21881         * gst/gstbuffer.h:
21882         Some more spiffifying.
21883
21884         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21885         Call peer linkfunction if we are a source pad. Totally fixes
21886         #317341
21887
21888         * gst/gstpad.c:
21889         Update docs, source pads should call the peer linkfunction
21890         so they can atomically perform the pad link.
21891
21892 2005-11-09  Wim Taymans  <wim@fluendo.com>
21893
21894         * gst/gstbuffer.c:
21895         * gst/gstbuffer.h:
21896         Uber-spiffy-spiffify some more.
21897
21898 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
21899
21900         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21901         * gst/elements/gstfilesink.c: (gst_file_sink_init):
21902         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21903         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21904         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21905         * gst/gstpad.c: (gst_pad_init):
21906           Use GST_DEBUG_FUNCPTR() more extensively.
21907
21908 2005-11-09  Wim Taymans  <wim@fluendo.com>
21909
21910         * gst/gstobject.c: (gst_object_class_init):
21911         * gst/gstobject.h:
21912         Documentation fixes.
21913
21914 2005-11-09  Edward Hervey  <edward@fluendo.com>
21915
21916         * gst/gsttypefindfactory.c:
21917         Fix docs.
21918         
21919 2005-11-09  Edward Hervey  <edward@fluendo.com>
21920
21921         * gst/base/gsttypefindhelper.c:
21922         * gst/gsttypefind.c:
21923         * gst/gsttypefind.h:
21924         Fix docs.
21925
21926 2005-11-09  Wim Taymans  <wim@fluendo.com>
21927
21928         * gst/gstiterator.c:
21929         Fix revision data.
21930
21931         * gst/gsttask.c:
21932         * gst/gsttask.h:
21933         Fix docs.
21934
21935 2005-11-09  Wim Taymans  <wim@fluendo.com>
21936
21937         * gst/gstevent.h:
21938         * gst/gsturi.h:
21939         Fix docs.
21940
21941 2005-11-09  Wim Taymans  <wim@fluendo.com>
21942
21943         * docs/gst/gstreamer-sections.txt:
21944         Moved the message async delivery private lock and cond
21945         to the private section.
21946
21947         * gst/gstmessage.c:
21948         * gst/gstmessage.h:
21949         Fixed docs.
21950
21951 2005-11-09  Edward Hervey  <edward@fluendo.com>
21952
21953         * docs/gst/gstreamer-sections.txt:
21954         * gst/gsturi.c:
21955         * gst/gsturi.h:
21956         Document GstURIHandler
21957
21958 2005-11-09  Wim Taymans  <wim@fluendo.com>
21959
21960         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21961         (gst_iterator_find_custom):
21962         * gst/gstiterator.h:
21963         Fix iterator docs.
21964
21965 2005-11-09  Wim Taymans  <wim@fluendo.com>
21966
21967         * gst/gstbin.h:
21968         Document another field.
21969
21970         * gst/gststructure.c:
21971         * gst/gststructure.h:
21972         Document.
21973
21974 2005-11-09  Wim Taymans  <wim@fluendo.com>
21975
21976         * gst/gstbin.h:
21977         Documented structs.
21978
21979 2005-11-09  Wim Taymans  <wim@fluendo.com>
21980
21981         * docs/gst/gstreamer-sections.txt:
21982         Added some new macros.
21983
21984         * gst/gstclock.c:
21985         * gst/gstclock.h:
21986         * gst/gstobject.h:
21987         Docs updates.
21988
21989 2005-11-09  Wim Taymans  <wim@fluendo.com>
21990
21991         * docs/design/part-TODO.txt:
21992         Some more items for the TODO
21993
21994         * gst/gstcaps.c:
21995         * gst/gstcaps.h:
21996         Document GstCaps.
21997
21998 2005-11-09  Andy Wingo  <wingo@pobox.com>
21999
22000         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
22001         to work on something else now tho...
22002
22003         * gst/base/gstadapter.c: More adapter docs.
22004
22005         * gst/elements/gstfilesink.c (gst_file_sink_start) 
22006         (gst_file_sink_stop): New functions, replace the state change
22007         handler.
22008         (gst_file_sink_class_init): Hook up the start and stop functions.
22009         (gst_file_sink_base_init): Don't set the state change handler any
22010         more. It was a bit ugly too, being set from here...
22011         (gst_file_sink_get_property, gst_file_sink_set_property):
22012         Cleanups...
22013         (gst_file_sink_set_location): More robust check that doesn't call
22014         GST_STATE. Ugggggg.
22015
22016 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
22017
22018         * gst/base/gstbasetransform.c: (gst_base_transform_event):
22019           Hold STREAM_LOCK while pushing newsegment or tag events as well.
22020
22021 2005-11-08  Wim Taymans  <wim@fluendo.com>
22022
22023         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
22024         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
22025         (gst_base_sink_chain), (gst_base_sink_change_state):
22026         * gst/base/gstbasesink.h:
22027         * gst/base/gstbasesrc.h:
22028         * gst/gstelement.h:
22029         * gst/gstevent.h:
22030         Avoid excessive typechecking in macros.
22031
22032         * gst/gstminiobject.c: (gst_mini_object_get_type),
22033         (gst_mini_object_init), (gst_mini_object_new),
22034         (gst_mini_object_free):
22035         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
22036         (gst_object_finalize):
22037         Remove cruft code, optimize alloc_trace.
22038
22039 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
22040
22041         * docs/faq/gst-uninstalled:
22042           fix up PS1 for systems that try to reset it
22043
22044 2005-11-07  Wim Taymans  <wim@fluendo.com>
22045
22046         * gst/base/gstbasesrc.c: (gst_base_src_init),
22047         (gst_base_src_get_range):
22048         Set the segment_end to -1 initially. Fixed typefind.
22049
22050 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
22051
22052         * gst/base/gstadapter.c:
22053           Debug category should be 'adapter', not 'GstAdapter'.
22054           
22055         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
22056         (gst_collectpads_class_init), (gst_collectpads_init),
22057         (gst_collectpads_peek), (gst_collectpads_pop),
22058         (gst_collectpads_event), (gst_collectpads_chain):
22059           Add debug category and some debugging output. Use boilerplate
22060           macros. Remove some extraneous words from docs.
22061
22062 2005-11-05  Andy Wingo  <wingo@pobox.com>
22063
22064         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
22065         macro.
22066
22067 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
22068
22069         * docs/gst/gstreamer-sections.txt:
22070         * gst/gstcaps.h:
22071         * gst/gstinfo.c:
22072         * gst/gstminiobject.h:
22073         * gst/gstobject.h:
22074         * gst/gstutils.h:
22075           more docs added
22076
22077 2005-11-04  Wim Taymans  <wim@fluendo.com>
22078
22079         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22080         Small update to stop at the configured segment_end
22081         position.
22082
22083 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
22084
22085         * gst/gstregistry.c:
22086         * gst/gstregistry.h:
22087           added missing docs
22088
22089 2005-11-04  Edward Hervey  <edward@fluendo.com>
22090
22091         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22092         Check if we are doing a segment seek and have arrived at the
22093         end of that segment.
22094
22095 2005-11-04  Wim Taymans  <wim@fluendo.com>
22096
22097         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
22098         Don't leak a mutex unlock in case of an error.
22099
22100         * gst/gstbus.h:
22101         Doc fixes.
22102
22103 2005-11-04  Wim Taymans  <wim@fluendo.com>
22104
22105         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
22106         (gst_bus_post):
22107         Get the context to wake up only once.
22108
22109 2005-11-03  Wim Taymans  <wim@fluendo.com>
22110
22111         * check/states/sinks.c: (GST_START_TEST):
22112         Uncomment fixed check.
22113
22114         * docs/design/part-TODO.txt:
22115         Updated TODO.
22116
22117         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22118         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
22119         (gst_base_sink_get_position):
22120         If we are going to PLAYING, post the right pending state
22121         when we post the intermediate paused message.
22122
22123         * gst/gstelement.c: (gst_element_continue_state),
22124         (gst_element_set_state_func), (gst_element_change_state):
22125         Don't post state changes that were between the same state
22126         and were not ASYNC.
22127
22128 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
22129
22130         * docs/gst/gstreamer-sections.txt:
22131         * gst/gstcaps.h:
22132         * gst/gstinfo.c:
22133         * gst/gstminiobject.h:
22134         * gst/gstobject.h:
22135         * gst/gstutils.h:
22136           more docs and doc style fixes
22137
22138 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
22139
22140         * docs/gst/gstreamer-sections.txt:
22141         * gst/gstelement.c:
22142         * gst/gstminiobject.c:
22143         doc fixes
22144
22145 2005-11-03  Andy Wingo  <wingo@pobox.com>
22146
22147         * check/states/sinks.c (test_livesrc_sink): Add checks that the
22148         state-changed messages actually have the right order and the right
22149         values.
22150
22151 2005-11-03  Wim Taymans  <wim@fluendo.com>
22152
22153         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
22154         Added some more checks. Specifically the case where NO_PREROLL
22155         elements are in the pipeline.
22156
22157         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22158         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
22159         (gst_base_sink_get_position):
22160         Post READY->PAUSED state change messages too.
22161         Fix bug where VOID was posted as pending state...
22162
22163         * gst/gstbin.c: (gst_bin_recalc_state):
22164         use _element_continue_state() to continue the state change.
22165
22166         * gst/gstelement.c: (gst_element_continue_state),
22167         (gst_element_commit_state), (gst_element_set_state_func),
22168         (gst_element_change_state), (gst_element_change_state_func):
22169         Lots of state change cleanups, assign the STATE_RETURN in
22170         a new continue_state() function that also propagates the
22171         last return value from a state change to the app.
22172         Update some debug statements with proper category.
22173
22174 2005-11-03  Wim Taymans  <wim@fluendo.com>
22175
22176         * docs/design/part-events.txt:
22177         * docs/design/part-gstpipeline.txt:
22178         * docs/design/part-messages.txt:
22179         * docs/design/part-overview.txt:
22180         * docs/design/part-seeking.txt:
22181         * docs/design/part-states.txt:
22182         * docs/design/part-trickmodes.txt:
22183         * docs/manual/advanced-position.xml:
22184         Small docs updates.
22185
22186         * gst/gstobject.h:
22187         People think !! is ugly, this looks better.
22188
22189         * gst/gstpad.c: (gst_pad_set_blocked_async):
22190         Remove !! since it's fixed elsewhere now.
22191
22192 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
22193
22194         * gst/gstminiobject.h:
22195         * gst/gstobject.h:
22196           Add !! to _FLAG_IS_SET macros to make the result boolean.
22197
22198 2005-11-03  Edward Hervey  <edward@fluendo.com>
22199
22200         * gst/gstpad.c: (gst_pad_set_blocked_async):
22201         comparing a flag and a gboolean rarely returns coherent results...
22202         Added two characters (!!) to make that work correctly.
22203         
22204 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
22205
22206         * gst/gstbus.c: (gst_bus_class_init):
22207           Fix some typos.
22208           
22209         * gst/gstqueue.c: (gst_queue_loop):
22210           Don't assume a miniobject that isn't a buffer is an
22211           event (it could be that there is a refcounting
22212           problem somewhere and the pointer is stale and
22213           refers to an already destroyed miniobject).
22214
22215 2005-11-03  Julien MOUTTE  <julien@moutte.net>
22216
22217         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
22218
22219 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
22220
22221         * docs/manual/advanced-position.xml:
22222           Update seek example and explanations to current 0.9 API.
22223
22224         * gst/elements/gsttypefindelement.c:
22225         (gst_type_find_element_activate):
22226           Remove FIXME comment now that the found caps
22227           are unreffed.
22228
22229 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
22230
22231         * gst/gstregistryxml.c: (load_feature):
22232           Add another GST_STR_NULL instance
22233
22234 2005-11-02  Edward Hervey  <edward@fluendo.com>
22235
22236         * gst/gstpad.c: (handle_pad_block):
22237         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
22238         
22239 2005-11-02  Wim Taymans  <wim@fluendo.com>
22240
22241         * gst/gstbin.c:
22242         Fix typo in docs.
22243
22244         * gst/gstelement.c: (gst_element_commit_state):
22245         Remove unused value.
22246
22247         * gst/gstiterator.c:
22248         Mention that the returned element is reffed in the docs.
22249
22250 2005-11-02  Wim Taymans  <wim@fluendo.com>
22251
22252         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
22253         (gst_pad_push), (gst_pad_push_event):
22254         Unlock blocked pads when they are flushed.
22255
22256 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22257
22258         * docs/README:
22259         * docs/gst/gstreamer-sections.txt:
22260         * gst/gstbin.c:
22261           doc updates
22262         * gst/gstregistry.c: (gst_registry_scan_path_level):
22263           fix for a nasty little missed situation where an installed plug-in
22264           which was in the cache did not get overridden by an uninstalled one
22265           which was earlier in the plugin path because the newly created plugin
22266           for the uninstalled one (not in the registry) didn't get its
22267           ->registered set to TRUE
22268
22269 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
22270
22271         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
22272         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
22273         (gst_collectpads_is_active), (gst_collectpads_collect),
22274         (gst_collectpads_collect_range), (gst_collectpads_start),
22275         (gst_collectpads_stop), (gst_collectpads_peek),
22276         (gst_collectpads_pop), (gst_collectpads_available),
22277         (gst_collectpads_read), (gst_collectpads_flush):
22278           Guard public API with assertions.
22279         
22280         * gst/gstpad.c:
22281           Fix docs for gst_pad_set_link_function().
22282
22283 2005-11-02  Johan Dahlin  <johan@gnome.org>
22284
22285         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
22286         Unref found_caps after we used it.
22287
22288 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
22289
22290         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
22291           Don't try to ref NULL.
22292
22293 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22294
22295         * win32/common/config.h.in:
22296           provide a GST_FUNCTION that just gives a string for now
22297
22298 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22299
22300         * win32/common/gstenumtypes.c: (register_gst_object_flags),
22301         (gst_object_flags_get_type), (register_gst_bin_flags),
22302         (gst_bin_flags_get_type), (register_gst_buffer_flag),
22303         (gst_buffer_flag_get_type), (register_gst_bus_flags),
22304         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
22305         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
22306         (gst_clock_return_get_type), (register_gst_clock_entry_type),
22307         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
22308         (gst_clock_flags_get_type), (register_gst_state),
22309         (gst_state_get_type), (register_gst_state_change_return),
22310         (gst_state_change_return_get_type), (register_gst_state_change),
22311         (gst_state_change_get_type), (register_gst_element_flags),
22312         (gst_element_flags_get_type), (register_gst_core_error),
22313         (gst_core_error_get_type), (register_gst_library_error),
22314         (gst_library_error_get_type), (register_gst_resource_error),
22315         (gst_resource_error_get_type), (register_gst_stream_error),
22316         (gst_stream_error_get_type), (register_gst_event_type),
22317         (gst_event_type_get_type), (register_gst_seek_type),
22318         (gst_seek_type_get_type), (register_gst_seek_flags),
22319         (gst_seek_flags_get_type), (register_gst_format),
22320         (gst_format_get_type), (register_gst_index_certainty),
22321         (gst_index_certainty_get_type), (register_gst_index_entry_type),
22322         (gst_index_entry_type_get_type),
22323         (register_gst_index_lookup_method),
22324         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
22325         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
22326         (gst_index_resolver_method_get_type), (register_gst_index_flags),
22327         (gst_index_flags_get_type), (register_gst_debug_level),
22328         (gst_debug_level_get_type), (register_gst_debug_color_flags),
22329         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
22330         (gst_iterator_result_get_type), (register_gst_iterator_item),
22331         (gst_iterator_item_get_type), (register_gst_message_type),
22332         (gst_message_type_get_type), (register_gst_mini_object_flags),
22333         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
22334         (gst_pad_link_return_get_type), (register_gst_flow_return),
22335         (gst_flow_return_get_type), (register_gst_activate_mode),
22336         (gst_activate_mode_get_type), (register_gst_pad_direction),
22337         (gst_pad_direction_get_type), (register_gst_pad_flags),
22338         (gst_pad_flags_get_type), (register_gst_pad_presence),
22339         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
22340         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
22341         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
22342         (gst_plugin_error_get_type), (register_gst_plugin_flags),
22343         (gst_plugin_flags_get_type), (register_gst_rank),
22344         (gst_rank_get_type), (register_gst_query_type),
22345         (gst_query_type_get_type), (register_gst_tag_merge_mode),
22346         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
22347         (gst_tag_flag_get_type), (register_gst_task_state),
22348         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
22349         (gst_alloc_trace_flags_get_type),
22350         (register_gst_type_find_probability),
22351         (gst_type_find_probability_get_type), (register_gst_uri_type),
22352         (gst_uri_type_get_type), (register_gst_parse_error),
22353         (gst_parse_error_get_type):
22354         * win32/common/gstversion.h:
22355           update win32 copies
22356
22357 2005-11-01  Luca Ognibene  <luogni@tin.it>
22358
22359         * gst/gst.c:
22360           fix docs. popt is dead, long live GOption.
22361
22362 2005-10-31  Wim Taymans  <wim@fluendo.com>
22363
22364         * gst/gstbuffer.h:
22365         Small doc fix.
22366
22367 2005-10-31  Andy Wingo  <wingo@pobox.com>
22368
22369         * Boo!
22370
22371         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
22372
22373         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
22374         need to serialize property notifications on GLib 2.8. GLib 2.6 has
22375         the possibility of deadlocks here if code calling notify() or
22376         set() has a lock that can be taken in another notify handler (ABBA
22377         with class lock and e.g. python GIL state lock).
22378
22379 2005-10-28  Julien MOUTTE  <julien@moutte.net>
22380
22381         * gst/gstbus.c: Doc updates.
22382
22383 2005-10-28  Wim Taymans  <wim@fluendo.com>
22384
22385         * docs/design/part-TODO.txt:
22386         * gst/gstiterator.c:
22387         * gst/gstsystemclock.c:
22388         * gst/gstsystemclock.h:
22389         Doc updates.
22390
22391 2005-10-28  Edward Hervey  <edward@fluendo.com>
22392
22393         * docs/gst/gstreamer-docs.sgml:
22394         * docs/gst/gstreamer-sections.txt:
22395         the GstURIType documentation page is private, it only defines GstURIType
22396         which should be defined in the GstURIHandler page
22397         
22398 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
22399
22400         * gst/gstbin.c: (gst_bin_class_init):
22401         * gst/gstbin.h:
22402         * gst/gstutils.c:
22403         Documentation updates.
22404
22405 2005-10-28  Wim Taymans  <wim@fluendo.com>
22406
22407         * docs/gst/gstreamer-sections.txt:
22408         * gst/gstclock.c:
22409         * gst/gstclock.h:
22410         Documented the clocks.
22411
22412 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
22413
22414         * docs/gst/gstreamer-sections.txt:
22415           move some macros to private sections
22416         * gst/gstminiobject.c:
22417         * gst/gstminiobject.h:
22418           add descriptions provided by ds and some more
22419         * gst/gstpad.h:
22420           mark macro as to be removed
22421
22422 2005-10-28  Wim Taymans  <wim@fluendo.com>
22423
22424         * docs/design/part-TODO.txt:
22425         Add an item to TODO.
22426
22427         * gst/gstiterator.c: (gst_iterator_fold),
22428         (gst_iterator_find_custom):
22429         * gst/gstiterator.h:
22430         Add iterator docs.
22431
22432 2005-10-28  Wim Taymans  <wim@fluendo.com>
22433
22434         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22435         (gst_base_transform_init):
22436         Don't leak class.
22437
22438         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
22439         An EOS event marks the queue as completely filled.
22440
22441 2005-10-27  Wim Taymans  <wim@fluendo.com>
22442
22443         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22444         (gst_base_sink_do_sync), (gst_base_sink_get_position):
22445         Some more debugging.
22446
22447         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
22448         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
22449         (gst_base_transform_event), (gst_base_transform_getrange),
22450         (gst_base_transform_chain):
22451         * gst/base/gstbasetransform.h:
22452         Fix debugging,
22453         Protect transform and concurrent buffer alloc with a new lock.
22454         Try not to break ABI/API.
22455
22456 2005-10-27  Wim Taymans  <wim@fluendo.com>
22457
22458         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22459         (gst_base_src_init), (gst_base_src_query),
22460         (gst_base_src_default_newsegment),
22461         (gst_base_src_configure_segment), (gst_base_src_do_seek),
22462         (gst_base_src_send_event), (gst_base_src_event_handler),
22463         (gst_base_src_pad_get_range), (gst_base_src_loop),
22464         (gst_base_src_unlock), (gst_base_src_default_negotiate),
22465         (gst_base_src_start), (gst_base_src_deactivate),
22466         (gst_base_src_activate_push), (gst_base_src_change_state):
22467         Move some stuff around and cleanup things.
22468
22469 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
22470
22471         * gst/base/gstbasesrc.c: (gst_base_src_query):
22472           Add missing break statements.
22473
22474 2005-10-27  Wim Taymans  <wim@fluendo.com>
22475
22476         * check/gst/gstbin.c: (GST_START_TEST):
22477         An extra refcount is taken in basesrc.
22478
22479         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
22480         (gst_base_src_get_range), (gst_base_src_pad_get_range),
22481         (gst_base_src_loop):
22482         Small cleanups, check for flushing after being unlocked from the 
22483         LIVE_LOCK. take refcounts correctly (not yet everywhere).
22484         Don't send out EOS when going to READY.
22485
22486 2005-10-27  Wim Taymans  <wim@fluendo.com>
22487
22488         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22489         (gst_base_sink_get_position):
22490         Some more debug.
22491
22492         * gst/gstbin.c: (message_check), (bin_replace_message),
22493         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22494         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22495         (bin_query_duration_init), (bin_query_duration_fold),
22496         (bin_query_duration_done), (bin_query_generic_fold),
22497         (gst_bin_query):
22498         * tools/gst-launch.c: (main):
22499         Remove old option.
22500
22501 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
22502
22503         * examples/controller/audio-example.c: (main):
22504         * examples/queue/queue.c: (event_loop):
22505         * gst/base/gstbasetransform.h:
22506         * gst/gstelement.c: (gst_element_send_event):
22507         * gst/gstevent.h:
22508         * gst/gstpad.c: (gst_pad_send_event):
22509           fixing examples
22510           fixing docs typos
22511           changing log priority in error situations
22512
22513 2005-10-25  Wim Taymans  <wim@fluendo.com>
22514
22515         * gst/gstbin.c: (message_check), (bin_replace_message),
22516         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22517         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22518         (bin_query_duration_init), (bin_query_duration_fold),
22519         (bin_query_duration_done), (bin_query_generic_fold),
22520         (gst_bin_query):
22521         Some doc and debug updates.
22522         Cache previously requested query DURATION for speed. invalidate
22523         cached duration if element posts a DURATION message.
22524
22525 2005-10-25  Wim Taymans  <wim@fluendo.com>
22526
22527         * docs/design/part-TODO.txt:
22528         Update TODO.
22529
22530         * gst/gstbin.c: (message_check), (bin_replace_message),
22531         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22532         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22533         (bin_query_duration_init), (bin_query_duration_fold),
22534         (bin_query_duration_done), (bin_query_generic_fold),
22535         (gst_bin_query):
22536         Handle SEGMENT_START/DONE messages correctly.
22537         More evolved query algorithm that handles duration queries
22538         correctly.
22539
22540         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
22541         (gst_element_get_state_func), (gst_element_abort_state),
22542         (gst_element_commit_state), (gst_element_lost_state):
22543         Some more debugging.
22544
22545         * gst/gstmessage.h:
22546         Added doc.
22547
22548 2005-10-25  Wim Taymans  <wim@fluendo.com>
22549
22550         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
22551         Don't use invalid stream_time.
22552
22553         * gst/gstevent.c: (gst_event_new_newsegment):
22554         stream_time in newsegment cannot be undefined.
22555
22556 2005-10-24  Wim Taymans  <wim@fluendo.com>
22557
22558         * gst/gstbus.c:
22559         Doc fix.
22560
22561         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22562         (gst_queue_loop):
22563         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22564
22565 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
22566
22567         * docs/libs/tmpl/gstdparam.sgml:
22568         * docs/libs/tmpl/gstdplinint.sgml:
22569         * docs/libs/tmpl/gstdpman.sgml:
22570         * docs/libs/tmpl/gstdpsmooth.sgml:
22571         * docs/libs/tmpl/gstunitconvert.sgml:
22572           these are obsolete
22573
22574 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22575
22576         * configure.ac:
22577           back to HEAD
22578
22579 === release 0.9.4 ===
22580
22581 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22582
22583         * configure.ac:
22584           releasing 0.9.4, "Tyrannosaurus Rex"
22585
22586 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
22587
22588         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22589         (gst_file_sink_get_current_offset):
22590           Use fseeko() and ftello() if available. When falling back on
22591           lseek() to get the current offset, fflush() first to make sure
22592           everything is up-to-date and we get the right offset.
22593
22594 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22595
22596         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22597         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22598         * gst/gsterror.c: (_gst_stream_errors_init):
22599         * gst/gsterror.h:
22600         * gst/gstqueue.c: (gst_queue_loop):
22601         * po/POTFILES.in:
22602           remove prematurely added error category and clean up the instances
22603
22604 2005-10-21  Wim Taymans  <wim@fluendo.com>
22605
22606         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22607         (gst_base_sink_get_position), (gst_base_sink_query),
22608         (gst_base_sink_change_state):
22609         Simply set the right flag when going to playing, that's all
22610         we need to do instead of calling a function inside the object
22611         lock (that could take the lock as well and deadlock)
22612
22613 2005-10-21  Wim Taymans  <wim@fluendo.com>
22614
22615         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22616         (gst_base_src_loop):
22617         Don't warn, the peer element knows what to do best when
22618         the seek failed, it might try something else.
22619
22620 2005-10-21  Wim Taymans  <wim@fluendo.com>
22621
22622         * gst/base/gstbasesrc.c: (gst_base_src_init),
22623         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22624         Fix seeking.
22625
22626 2005-10-21  Wim Taymans  <wim@fluendo.com>
22627
22628         * docs/design/part-segments.txt:
22629         More docs.
22630
22631         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22632         Correctly set caps, even on the subbufer.
22633
22634 2005-10-21  Wim Taymans  <wim@fluendo.com>
22635
22636         * docs/gst/gstreamer-docs.sgml:
22637         * docs/gst/gstreamer-sections.txt:
22638         * gst/gstelement.h:
22639         * gst/gstevent.c:
22640         * gst/gstevent.h:
22641         * gst/gstmessage.h:
22642         * gst/gstpad.h:
22643         * gst/gstparse.h:
22644         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22645         * gst/gsttask.h:
22646         * gst/gstutils.c:
22647         * gst/gstutils.h:
22648         And 2% more doc coverage.
22649
22650 2005-10-21  Andy Wingo  <wingo@pobox.com>
22651
22652         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22653         position reporting.
22654
22655 2005-10-20  Wim Taymans  <wim@fluendo.com>
22656
22657         * gst/gsterror.c: (gst_error_get_message):
22658         * gst/gstparse.h:
22659         * gst/gstquery.h:
22660         * gst/gststructure.c:
22661         * gst/gsttrace.c:
22662         * gst/gstutils.c:
22663         More docs.
22664
22665 2005-10-20  Wim Taymans  <wim@fluendo.com>
22666
22667         * gst/gstbuffer.h:
22668         * gst/gstpad.c:
22669         * gst/gstparse.c:
22670         Another 1% more coverage.
22671
22672 2005-10-20  Wim Taymans  <wim@fluendo.com>
22673
22674         * docs/gst/gstreamer-sections.txt:
22675         * gst/gstelement.c: (gst_element_get_state_func),
22676         (gst_element_abort_state), (gst_element_commit_state),
22677         (gst_element_lost_state):
22678         * gst/gstevent.h:
22679         * gst/gstquery.c: (gst_query_set_position),
22680         (gst_query_parse_position), (gst_query_set_duration),
22681         (gst_query_parse_duration), (gst_query_new_convert):
22682         * gst/gstutils.c:
22683         Yay! 1% more docs coverage.
22684
22685 2005-10-20  Wim Taymans  <wim@fluendo.com>
22686
22687         * gst/gstpad.h:
22688         * gst/gstquery.c: (gst_query_set_position),
22689         (gst_query_parse_position), (gst_query_set_duration),
22690         (gst_query_parse_duration), (gst_query_new_convert):
22691         * gst/gstquery.h:
22692         * gst/gstutils.c: (gst_element_query_convert):
22693         * gst/gstutils.h:
22694         Docs and consistency fixes.
22695
22696 2005-10-20  Wim Taymans  <wim@fluendo.com>
22697
22698         * gst/gsttask.c:
22699         * gst/gsttask.h:
22700         More docs.
22701
22702 2005-10-20  Wim Taymans  <wim@fluendo.com>
22703
22704         * gst/gstbin.c: (message_check), (bin_replace_message),
22705         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22706         (update_degree), (gst_bin_sort_iterator_next),
22707         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22708         Reworked the message handling a bit, cache the messages instead of
22709         only the senders. alows us to do more in the future.
22710
22711 2005-10-20  Wim Taymans  <wim@fluendo.com>
22712
22713         * docs/design/part-TODO.txt:
22714         Update TODO
22715
22716         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22717         (gst_base_sink_query):
22718         Don't use clock time to report position when in EOS.
22719
22720 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
22721
22722         * tools/gst-inspect.c: (print_interfaces),
22723         (print_element_properties_info), (print_element_info):
22724           Fix interface output with gst-inspect -a; don't print
22725           newlines after double/float properties.
22726
22727 2005-10-20  Wim Taymans  <wim@fluendo.com>
22728
22729         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22730         (gst_base_sink_query):
22731         Speed up current position calculation.
22732
22733         * gst/base/gstbasesrc.c: (gst_base_src_query),
22734         (gst_base_src_default_newsegment):
22735         Correctly set stream position in newsegment.
22736
22737         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22738         (update_degree), (gst_bin_sort_iterator_next),
22739         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22740         * gst/gstmessage.c: (gst_message_new_custom):
22741         Clean up debugging info
22742
22743         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22744         (gst_queue_loop), (gst_queue_handle_src_query):
22745         Pause task faster.
22746
22747 2005-10-19  Wim Taymans  <wim@fluendo.com>
22748
22749         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22750         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22751         Fix query handling again.
22752
22753 2005-10-19  Wim Taymans  <wim@fluendo.com>
22754
22755         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22756         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22757         * gst/base/gstbasesrc.c: (gst_base_src_query):
22758         * gst/elements/gstfilesink.c: (gst_file_sink_query):
22759         * gst/elements/gsttypefindelement.c:
22760         (gst_type_find_handle_src_query), (find_element_get_length),
22761         (gst_type_find_element_activate):
22762         API change fix.
22763
22764         * gst/gstquery.c: (gst_query_new_position),
22765         (gst_query_set_position), (gst_query_parse_position),
22766         (gst_query_new_duration), (gst_query_set_duration),
22767         (gst_query_parse_duration), (gst_query_set_segment),
22768         (gst_query_parse_segment):
22769         * gst/gstquery.h:
22770         Bundling query position/duration is not a good idea since duration
22771         does not change much and we don't want to recalculate it for every
22772         position query, so they are separated again..
22773         Base value in segment query is not needed.
22774
22775         * gst/gstqueue.c: (gst_queue_handle_src_query):
22776         * gst/gstutils.c: (gst_element_query_position),
22777         (gst_element_query_duration), (gst_pad_query_position),
22778         (gst_pad_query_duration):
22779         * gst/gstutils.h:
22780         Updates for query API change.
22781         Added some docs here and there.
22782
22783 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22784
22785         * check/gst/gstbin.c: (GST_START_TEST):
22786         * check/gst/gstghostpad.c: (GST_START_TEST):
22787         * check/pipelines/cleanup.c: (GST_START_TEST):
22788           wait on thread to die so we can check refcount correctly
22789
22790 2005-10-18  Wim Taymans  <wim@fluendo.com>
22791
22792         * check/pipelines/stress.c: (GST_START_TEST):
22793         Make check a little more time consuming.
22794
22795 2005-10-18  Wim Taymans  <wim@fluendo.com>
22796
22797         * check/Makefile.am:
22798         * check/pipelines/stress.c: (GST_START_TEST),
22799         (simple_launch_lines_suite), (main):
22800         Small state change torture test.
22801
22802         * docs/design/part-states.txt:
22803         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22804         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22805         (gst_base_sink_change_state):
22806         Never take state lock from streaming thread, clean up ugly
22807         hacks. Unfortunatly core does not yet support nice ways to
22808         async commit state.
22809         
22810         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22811         (bin_bus_handler):
22812         Start state recalc if a STATE_DIRTY message is posted, but only
22813         on the toplevel bin.
22814
22815         * gst/gstelement.c: (gst_element_sync_state_with_parent),
22816         (gst_element_get_state_func), (gst_element_abort_state),
22817         (gst_element_commit_state), (gst_element_lost_state),
22818         (gst_element_set_state_func), (gst_element_change_state):
22819         * gst/gstelement.h:
22820         State variables are now protected with the LOCK, the state
22821         lock is only used to serialize _set_state().
22822
22823 2005-10-18  Wim Taymans  <wim@fluendo.com>
22824
22825         * check/gst/gstbin.c: (GST_START_TEST):
22826         * check/gst/gstmessage.c: (GST_START_TEST):
22827         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22828         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22829         (bin_bus_handler):
22830         * gst/gstelement.c: (gst_element_abort_state),
22831         (gst_element_commit_state), (gst_element_lost_state):
22832         * gst/gstmessage.c: (gst_message_new_state_changed),
22833         (gst_message_new_state_dirty), (gst_message_new_segment_start),
22834         (gst_message_new_segment_done), (gst_message_new_duration),
22835         (gst_message_parse_state_changed),
22836         (gst_message_parse_segment_start),
22837         (gst_message_parse_segment_done), (gst_message_parse_duration):
22838         * gst/gstmessage.h:
22839         * tools/gst-launch.c: (event_loop):
22840         Seriously, this is better than a previous commit as we only need
22841         to notify the fact that an element changed state in a streaming
22842         thread, marking the state of the parents dirty, hence the 
22843         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22844         message.
22845
22846 2005-10-18  Wim Taymans  <wim@fluendo.com>
22847
22848         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22849         (gst_bin_recalc_func):
22850         * gst/gstelement.c: (gst_element_set_clock),
22851         (gst_element_abort_state), (gst_element_lost_state):
22852         Cleanups, prepare for state change fixes.
22853
22854 2005-10-18  Wim Taymans  <wim@fluendo.com>
22855
22856         * gst/gstbin.h:
22857         * gst/gstelement.c: (gst_element_class_init),
22858         (gst_element_set_state), (gst_element_set_state_func):
22859         * gst/gstelement.h:
22860         Pending ABI changes.
22861         GThreadPool in GstBinClass to monitor async state changes.
22862         state_cookie in GstElement to detect concurrent gst/set state.
22863         set_state is now virtual too in case a very complicated element
22864         has to be constructed.
22865
22866 2005-10-18  Wim Taymans  <wim@fluendo.com>
22867
22868         * check/gst/gstbin.c: (GST_START_TEST):
22869         * check/gst/gstmessage.c: (GST_START_TEST):
22870         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22871         * gst/gstbin.c: (bin_bus_handler):
22872         * gst/gstelement.c: (gst_element_commit_state),
22873         (gst_element_lost_state):
22874         * gst/gstmessage.c: (gst_message_new_state_changed),
22875         (gst_message_new_segment_start), (gst_message_new_segment_done),
22876         (gst_message_new_duration), (gst_message_parse_state_changed),
22877         (gst_message_parse_segment_start),
22878         (gst_message_parse_segment_done), (gst_message_parse_duration):
22879         * gst/gstmessage.h:
22880         * tools/gst-launch.c: (event_loop):
22881         Make messages future proof.
22882         state-change gets a flag if it was a message comming from the
22883         streaming thread.
22884         segment-start/stop can also be specified in other formats.
22885         A message to notify an app that a pipeline changed playback 
22886         duration.
22887         Also fix a GstMessage leak in -launch
22888
22889 2005-10-18  Andy Wingo  <wingo@pobox.com>
22890
22891         * gst/gstelement.c (gst_element_dispose): More helpful message.
22892
22893 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22894
22895         reviewed by: <delete if not using a buddy>
22896
22897         * common/gtk-doc.mak:
22898
22899 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22900
22901         * gst/gstregistry.c: (gst_registry_scan_path_level):
22902           unref a plug-in we get that was already initialized
22903
22904 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
22905
22906         * docs/gst/gstreamer-sections.txt:
22907         * docs/libs/gstreamer-libs-sections.txt:
22908         * gst/gstelement.h:
22909           add new api entries
22910           hide internal macro
22911
22912 2005-10-17  Andy Wingo  <wingo@pobox.com>
22913
22914         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22915         cleanup.
22916
22917         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22918
22919         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22920
22921         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22922         (gst_element_get_state_func): Better debug message.
22923         (gst_element_commit_state): s/INFO/DEBUG/.
22924         (gst_element_lost_state, gst_element_change_state): 
22925
22926         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22927         (gst_message_new_custom): s/INFO/LOG/.
22928
22929 2005-10-17  Michael Smith <msmith@fluendo.com>
22930
22931         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22932           Check if end time is valid using end time, not start time.
22933
22934 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
22935
22936         * check/gst-libs/controller.c: (GST_START_TEST),
22937         (gst_controller_suite):
22938         * libs/gst/controller/gstcontroller.c:
22939         (gst_controlled_property_set_interpolation_mode):
22940         * libs/gst/controller/gstcontroller.h:
22941         * libs/gst/controller/gstinterpolation.c:
22942         * testsuite/controller/.cvsignore:
22943         * testsuite/controller/Makefile.am:
22944         * testsuite/controller/interpolator.c:
22945           merge controller testsuites
22946           fix broken tests
22947           remove mem-chunk from docs
22948
22949 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22950
22951         * gst/gstmemchunk.c:
22952         * gst/gstmemchunk.h:
22953         * gst/gsttrashstack.c:
22954         * gst/gsttrashstack.h:
22955           out.  get out.  you're fired.  to the Attic !
22956
22957 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22958
22959         * gst/gstcaps.c: (gst_caps_intersect):
22960           fix signedness issues in a (hopefully) correct way
22961         * gst/gstelement.c: (gst_element_pads_activate):
22962           some debugging
22963         * gst/gstobject.c: (gst_object_set_parent):
22964           some debugging
22965
22966 2005-10-17  Julien MOUTTE  <julien@moutte.net>
22967
22968         * gst/gstvalue.h: Fix prototypes.
22969
22970 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22971
22972         * docs/gst/gstreamer-sections.txt:
22973         * gst/gst.c: (gst_version_string):
22974         * gst/gst.h:
22975         * gst/gstversion.h.in:
22976         * win32/common/libgstreamer.def:
22977           add gst_version_string ()
22978
22979 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22980
22981         * configure.ac:
22982           clean up further
22983         * gst/gst.c: (init_post):
22984         * win32/common/config.h.in:
22985           it's PLUGINDIR now
22986         * gst/gstcaps.c: (gst_caps_intersect):
22987           use gint64, the range could be bigger than a guint
22988
22989 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22990
22991         * gst/gstclock.h:
22992           document potential problem in 2038
22993
22994 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22995
22996         * gst/gstcaps.c: (gst_caps_intersect):
22997           Fix guint j diving under 0
22998
22999 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
23000
23001         * configure.ac:
23002         * win32/common/config.h:
23003         * win32/common/config.h.in:
23004           check for process.h, declares getpid() on Windows
23005         * gst/gstinfo.c:
23006           include process.h if we have it
23007         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
23008         * gst/gstmemchunk.h:
23009           fix signedness issues
23010         * win32/common/libgstreamer.def:
23011           fix get_type's
23012
23013 2005-10-16  Julien MOUTTE  <julien@moutte.net>
23014
23015         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
23016         fix. Because of unsigned ints, caps intersection was going nuts and
23017         trying to access structures with G_MAXUINT index. That fixes
23018         videotestsrc ! ffmpegcolorspace ! fakesink
23019         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
23020         consistency.
23021
23022 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
23023
23024         * configure.ac:
23025           use the gettext macro
23026         * gst/elements/gstelements.c:
23027         * gst/gst.c:
23028         * gst/indexers/gstindexers.c:
23029           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
23030         * win32/common/config.h:
23031           updated config.h
23032         * win32/common/config.h.in:
23033           add the template to generate config.h
23034         * win32/common/gstenumtypes.c:
23035         * win32/common/gstversion.h:
23036           updated copies
23037
23038 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
23039
23040         * gst/gst.c: (gst_version):
23041         * gst/gstversion.h.in:
23042           add the nano
23043
23044 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
23045
23046         * gst/gstevent.h:
23047           Oops, add missing closing bracket.
23048
23049 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23050
23051         * configure.ac:
23052           use common m4's for argument checking
23053
23054 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
23055
23056         * docs/gst/gstreamer-sections.txt:
23057         * gst/gstevent.h:
23058           Add GST_EVENT_TYPE_NAME() macro.
23059
23060 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23061
23062         * gst/gstinfo.c:
23063         * gst/gstpluginfeature.c:
23064         * gst/gsttask.c:
23065           privatize more symbols
23066
23067 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23068
23069         * configure.ac:
23070           add srcdir, builddir includes to GST_ALL_CFLAGS, since
23071           everything that uses GStreamer API should have the includes
23072
23073 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23074
23075         * docs/gst/gstreamer-sections.txt:
23076         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
23077         * gst/gstvalue.h:
23078           give each value a _get_type, removes the DATA exports
23079
23080 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23081
23082         * gst/gst.c:
23083         * gst/gst.h:
23084           remove _gst_registry_auto_load, not used anymore
23085         * gst/gstbin.c: (gst_bin_get_type):
23086         * gst/gstbin.h:
23087         * gst/gstelement.c: (gst_element_get_type):
23088         * gst/gstelement.h:
23089         * gst/gstobject.c: (gst_object_get_type):
23090         * gst/gstobject.h:
23091         * gst/gstpad.c: (gst_pad_get_type):
23092         * gst/gstpad.h:
23093           make _get_type functions similar, fixes data export from library
23094
23095 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23096
23097         * configure.ac:
23098           correctly make conditionals
23099         * gst/elements/Makefile.am:
23100         * gst/elements/gstelements.c:
23101           fix typo causing fdsrc not to build
23102
23103 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23104
23105         * testsuite/Makefile.am:
23106         * testsuite/bytestream/.cvsignore:
23107         * testsuite/bytestream/Makefile.am:
23108         * testsuite/bytestream/filepadsink.c:
23109         * testsuite/bytestream/gstbstest.c:
23110         * testsuite/bytestream/test1.c:
23111         * testsuite/bytestream/testfile1:
23112         * testsuite/caps/normalisation.c:
23113         * testsuite/caps/random.c: (main):
23114         * testsuite/cleanup/.cvsignore:
23115         * testsuite/cleanup/Makefile.am:
23116         * testsuite/cleanup/cleanup1.c:
23117         * testsuite/cleanup/cleanup2.c:
23118         * testsuite/cleanup/cleanup3.c:
23119         * testsuite/cleanup/cleanup4.c:
23120         * testsuite/cleanup/cleanup5.c:
23121         * testsuite/controller/interpolator.c:
23122         * testsuite/debug/printf_extension.c: (main):
23123         * testsuite/elements/tee.c:
23124         * testsuite/negotiation/.cvsignore:
23125         * testsuite/negotiation/Makefile.am:
23126         * testsuite/negotiation/pad_link.c:
23127         * testsuite/pad/Makefile.am:
23128         * testsuite/pad/chainnopull.c:
23129         * testsuite/pad/getnopush.c:
23130         * testsuite/pad/link.c:
23131         * testsuite/refcounting/sched.c: (create_pipeline):
23132         * testsuite/registry/Makefile.am:
23133         * testsuite/registry/gst-print-formats.c:
23134         * testsuite/schedulers/.cvsignore:
23135         * testsuite/schedulers/142183-2.c:
23136         * testsuite/schedulers/142183.c:
23137         * testsuite/schedulers/143777-2.c:
23138         * testsuite/schedulers/143777.c:
23139         * testsuite/schedulers/147713.c:
23140         * testsuite/schedulers/147819.c:
23141         * testsuite/schedulers/147894-2.c:
23142         * testsuite/schedulers/147894.c:
23143         * testsuite/schedulers/Makefile.am:
23144         * testsuite/schedulers/group_link.c:
23145         * testsuite/schedulers/queue_link.c:
23146         * testsuite/schedulers/relink.c:
23147         * testsuite/schedulers/unlink.c:
23148         * testsuite/schedulers/unref.c:
23149         * testsuite/schedulers/useless_iteration.c:
23150         * testsuite/states/bin.c:
23151           clean out/remove some stuff from the testsuite directories
23152
23153 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23154
23155         * configure.ac:
23156           check for some headers
23157         * gst/elements/Makefile.am:
23158         * gst/elements/gstelements.c:
23159           don't compile fdsrc without sys/socket.h
23160         * gst/indexers/Makefile.am:
23161         * gst/indexers/gstindexers.c: (plugin_init):
23162           don't compile fileindex without mmap
23163
23164 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23165
23166         * configure.ac:
23167           reorganize
23168           clean up
23169           document more
23170           remove cruft
23171         * check/Makefile.am:
23172         * docs/gst/Makefile.am:
23173         * examples/helloworld/Makefile.am:
23174         * gst/Makefile.am:
23175         * gst/base/Makefile.am:
23176         * gst/check/Makefile.am:
23177         * gst/elements/Makefile.am:
23178         * gst/indexers/Makefile.am:
23179         * gst/parse/Makefile.am:
23180         * libs/gst/controller/Makefile.am:
23181         * libs/gst/dataprotocol/Makefile.am:
23182         * examples/helloworld/helloworld.c: (event_loop):
23183           compile fixes, though it's not being compiled currently
23184
23185 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
23186
23187         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
23188           Add some simple tests for the new taglist date API.
23189
23190 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
23191
23192         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
23193         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
23194           Beautify 'last-message' output: print 'none' for buffer timestamps
23195           and durations if none is set; improve alignment with next messages.
23196
23197 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
23198
23199         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
23200         * gst/gstpluginfeature.h:
23201         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
23202         * gst/gstregistry.h:
23203         * docs/gst/gstreamer-sections.txt:
23204           Add new API to check plugin feature version requirements.
23205
23206         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
23207           Some basic tests for the above.         
23208
23209 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23210
23211         * gst/gststructure.c: (gst_structure_to_string):
23212           guard against NULL printf - happens when for example
23213           a message structure with GstClock gets serialized
23214
23215 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
23216
23217         * gst/base/gstcollectpads.c: (gst_collectpads_event):
23218           Fix presumable copy'n'pasto.
23219
23220 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23221
23222         * gst/elements/gstfakesrc.h:
23223         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
23224         * gst/elements/gsttypefindelement.c:
23225           fix some signedness
23226         * gst/elements/gstfilesink.c: (gst_file_sink_render):
23227           I wonder if this could actually write +2GB files before
23228
23229 2005-10-13  Andy Wingo  <wingo@pobox.com>
23230
23231         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
23232         Fix Timmeke Waymans bug.
23233         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
23234         string of the proper length to gst_caps_from_string. There's a
23235         potential for, before this fix, that this could cause someone
23236         connecting over the network to cause a segfault if the payload is
23237         not NUL-terminated.
23238
23239 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
23240
23241         * docs/design/draft-push-pull.txt:
23242         * docs/design/part-overview.txt:
23243         * docs/random/TODO-pre-0.9:
23244         * docs/random/old/ChangeLog.gstreamer:
23245         * gst/base/gstpushsrc.c:
23246         * gst/gstclock.c:
23247           fixed typos
23248
23249 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23250
23251         * gst/glib-compat.c: (gst_flags_get_first_value):
23252         * gst/glib-compat.h:
23253         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
23254         (gst_value_compare_double), (gst_value_serialize_flags):
23255           GLib 2.6 g_flags_get_first_value has a bug that triggers an
23256           infinite loop
23257
23258 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23259
23260         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23261         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
23262           fix up debugging
23263         * tools/gst-launch.c: (event_loop):
23264           print out clock nicely
23265
23266 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
23267
23268         * docs/gst/gstreamer-sections.txt:
23269         * gst/gsttaglist.h:
23270         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
23271         (gst_tag_list_get_date_index):
23272           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
23273           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
23274
23275 2005-10-13  Julien MOUTTE  <julien@moutte.net>
23276
23277         * gst/base/gstcollectpads.c: (gst_collectpads_event),
23278         (gst_collectpads_chain):
23279         * gst/base/gstcollectpads.h: Handle newsegment and store informations
23280         in CollectData.
23281
23282 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
23283
23284         * docs/gst/gstreamer-sections.txt:
23285         * gst/gst.c:
23286         * gst/gsterror.h:
23287         * tools/gst-inspect.c: (main):
23288         * tools/gst-launch.c: (main):
23289         * tools/gst-run.c: (main):
23290         * tools/gst-xmlinspect.c: (main):
23291           fix GOption context leaks
23292           doc fixes
23293
23294 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23295
23296         * gst/gstbus.c:
23297           use HAVE_UNISTD_H
23298         * win32/common/config.h:
23299           update config
23300         * win32/vs6/grammar.dsp:
23301         * win32/vs6/libgstelements.dsp:
23302         * win32/vs6/libgstreamer.dsp:
23303           update vs6 files
23304
23305 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23306
23307         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23308         * gst/base/gstbasesrc.c: (gst_base_src_query):
23309           fix more guint64<->gdouble conversions
23310
23311 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23312
23313         * Makefile.am:
23314           add win32-update target
23315         * win32/common/gstconfig.h:
23316         * win32/common/gstenumtypes.c:
23317         * win32/common/gstenumtypes.h:
23318         * win32/common/gstversion.h:
23319           add files that visual studio can't generate
23320
23321 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23322
23323         * Makefile.am:
23324           add a win32-update target
23325         * configure.ac:
23326
23327 2005-10-12  Wim Taymans  <wim@fluendo.com>
23328
23329         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23330         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
23331         * gst/gstelement.c: (gst_element_commit_state),
23332         (gst_element_set_state):
23333         Protect flags with proper lock.
23334         unref provided cached clock in dispose.
23335
23336 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
23337
23338         * gst/gst.c:
23339         * gst/gstminiobject.h:
23340         * gst/gstpad.h:
23341         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
23342           removed unused flags from miniobject
23343           doc fixes
23344
23345 2005-10-12  Wim Taymans  <wim@fluendo.com>
23346
23347         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
23348         (gst_file_sink_event), (gst_file_sink_render):
23349         Flush before seeking.
23350
23351 2005-10-12  Andy Wingo  <wingo@pobox.com>
23352
23353         * gst/gst.c (gst_init_check): Ignore unknown options, as has
23354         always been the case.
23355
23356 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
23357
23358         * check/gst/gstbin.c: (GST_START_TEST):
23359         * docs/gst/gstreamer-sections.txt:
23360         * gst/base/gstbasesink.c: (gst_base_sink_init):
23361         * gst/base/gstbasesrc.c: (gst_base_src_init),
23362         (gst_base_src_get_range), (gst_base_src_check_get_range),
23363         (gst_base_src_start), (gst_base_src_stop):
23364         * gst/base/gstbasesrc.h:
23365         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
23366         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23367         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
23368         (bin_bus_handler):
23369         * gst/gstbin.h:
23370         * gst/gstbuffer.h:
23371         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
23372         * gst/gstbus.h:
23373         * gst/gstelement.c: (gst_element_is_locked_state),
23374         (gst_element_set_locked_state), (gst_element_commit_state),
23375         (gst_element_set_state):
23376         * gst/gstelement.h:
23377         * gst/gstindex.c: (gst_index_init):
23378         * gst/gstindex.h:
23379         * gst/gstminiobject.h:
23380         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
23381         (gst_object_set_parent):
23382         * gst/gstobject.h:
23383         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
23384         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
23385         * gst/gstpad.h:
23386         * gst/gstpadtemplate.h:
23387         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
23388         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
23389         * gst/gstpipeline.h:
23390         * gst/indexers/gstfileindex.c: (gst_file_index_load),
23391         (gst_file_index_commit):
23392         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
23393         * testsuite/pad/link.c: (gst_test_src_init),
23394         (gst_test_filter_init), (gst_test_sink_init):
23395         * testsuite/states/locked.c: (main):
23396           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
23397           moved bitshift from macro to enum definition
23398
23399 2005-10-12  Wim Taymans  <wim@fluendo.com>
23400
23401         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
23402         * gst/elements/gstfilesink.c: (gst_file_sink_event),
23403         (gst_file_sink_render):
23404         Some more debugging info.
23405
23406 2005-10-12  Wim Taymans  <wim@fluendo.com>
23407
23408         * docs/design/part-states.txt:
23409         * tools/gst-launch.c: (main):
23410         Some doc updates.
23411         Revert non-intentional change.
23412
23413 2005-10-12  Wim Taymans  <wim@fluendo.com>
23414
23415         * check/gst/gstbin.c: (GST_START_TEST):
23416         * check/gst/gstelement.c: (GST_START_TEST):
23417         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
23418         * check/gst/gstghostpad.c: (GST_START_TEST):
23419         * check/gst/gstpipeline.c: (GST_START_TEST):
23420         * check/pipelines/simple_launch_lines.c: (run_pipeline):
23421         * check/states/sinks.c: (GST_START_TEST):
23422         * gst/elements/gsttypefindelement.c: (stop_typefinding):
23423         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23424         (gst_bin_remove_func), (gst_bin_get_state_func),
23425         (gst_bin_recalc_state), (gst_bin_change_state_func),
23426         (bin_bus_handler):
23427         * gst/gstelement.c: (gst_element_get_state_func),
23428         (gst_element_get_state), (gst_element_abort_state),
23429         (gst_element_commit_state), (gst_element_set_state),
23430         (gst_element_change_state), (gst_element_change_state_func):
23431         * gst/gstelement.h:
23432         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
23433         (gst_pipeline_provide_clock_func):
23434         * gst/gstutils.c: (gst_element_link_pads_filtered):
23435         * tools/gst-launch.c: (main):
23436         * tools/gst-typefind.c: (main):
23437         Use GstClockTime in _get_state() instead of GTimeVal.
23438         Remove old code in gstutils.c
23439
23440 2005-10-12  Andy Wingo  <wingo@pobox.com>
23441
23442         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
23443         removed.
23444
23445         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
23446         there is no task. Shouldn't affect any code, as nothing in our
23447         plugins checks this return value.
23448         (gst_pad_stop_task): Also take the stream lock if the pad has no
23449         task. Docs updated.
23450
23451 2005-10-12  Wim Taymans  <wim@fluendo.com>
23452
23453         * gst/gstpad.c: (pre_activate), (post_activate),
23454         (gst_pad_activate_pull), (gst_pad_activate_push):
23455         Cleanup activation code. Reset old state if
23456         activation failed.
23457
23458 2005-10-12  Wim Taymans  <wim@fluendo.com>
23459
23460         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23461         (gst_base_sink_change_state):
23462         No need to prerol after receiving EOS.
23463
23464         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23465         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
23466         * gst/elements/gstidentity.c: (gst_identity_event):
23467         Print events more verbosely.
23468
23469 2005-10-12  Wim Taymans  <wim@fluendo.com>
23470
23471         * check/Makefile.am:
23472         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
23473         * check/states/sinks2.c:
23474         Moved sinks2 testcode in sinks check.
23475
23476         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23477         (gst_bin_remove_func), (gst_bin_recalc_state),
23478         (gst_bin_change_state_func), (bin_bus_handler):
23479         Fix potential race condition when _get_state() iterated over an
23480         ASYNC element right before it posted a state completion.
23481
23482         * gst/gstclock.h:
23483         Do proper cast here.
23484
23485         * gst/gstevent.c: (gst_event_new_newsegment),
23486         (gst_event_parse_newsegment):
23487         A playback rate of 0.0 is not allowed.
23488
23489 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23490
23491         * win32/common/config.h:
23492         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
23493         (_trewinddir), (_ttelldir), (_tseekdir):
23494         * win32/common/dirent.h:
23495         * win32/common/gtchar.h:
23496         * win32/common/libgstbase.def:
23497         * win32/common/libgstreamer.def:
23498         * win32/vs6/grammar.dsp:
23499         * win32/vs6/gst_inspect.dsp:
23500         * win32/vs6/gst_launch.dsp:
23501         * win32/vs6/gstreamer.dsw:
23502         * win32/vs6/libgstbase.dsp:
23503         * win32/vs6/libgstelements.dsp:
23504         * win32/vs6/libgstreamer.dsp:
23505           Visual Studio 6 project files, and a new common directory.
23506           Phear.
23507
23508 2005-10-11  Wim Taymans  <wim@fluendo.com>
23509
23510         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23511         (gst_base_sink_do_sync), (gst_base_sink_query),
23512         (gst_base_sink_change_state):
23513         * gst/base/gstbasesink.h:
23514         Correctly parse newsegment info.
23515
23516 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23517
23518         * gst/gst.c: (init_post):
23519           split plugin paths correctly
23520
23521 2005-10-11  Wim Taymans  <wim@fluendo.com>
23522
23523         * check/gst/gstevent.c: (GST_START_TEST):
23524         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23525         (gst_base_sink_change_state):
23526         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
23527         * gst/base/gstbasetransform.c: (gst_base_transform_event):
23528         * gst/elements/gstfilesink.c: (gst_file_sink_event):
23529         * gst/gstevent.c: (gst_event_new_newsegment),
23530         (gst_event_parse_newsegment):
23531         * gst/gstevent.h:
23532         Added extra flag to newsegment for future API freeze.
23533         Updated check and base elements.
23534
23535 2005-10-11  Julien MOUTTE  <julien@moutte.net>
23536
23537         * gst/base/gstcollectpads.c: (gst_collectpads_init),
23538         (gst_collectpads_add_pad), (gst_collectpads_pop),
23539         (gst_collectpads_event), (gst_collectpads_chain):
23540         * gst/base/gstcollectpads.h: Handle EOS correctly.
23541
23542 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23543
23544         * tools/gst-launch.c: (main):
23545           more null protecting
23546
23547 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23548
23549         * gst/gst-i18n-lib.h:
23550           check for ENABLE_NLS, not GETTEXT_PACKAGE
23551         * gst/gstregistry.c: (gst_registry_add_plugin),
23552         (gst_registry_scan_path_level),
23553         (_gst_registry_remove_cache_plugins):
23554           protect possibly NULL strings
23555         * gst/parse/types.h:
23556           config.h already included before
23557         * tools/gst-inspect.c: (main):
23558           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23559           check for ENABLE_NLS, not GETTEXT_PACKAGE
23560         * tools/gst-launch.c: (main):
23561           check for ENABLE_NLS, not GETTEXT_PACKAGE
23562
23563 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23564
23565         * configure.ac:
23566           if we don't have glib, fail before testing 2.8
23567         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23568           fix a leak, should fix plugins-base testsuite
23569
23570 2005-10-11  Andy Wingo  <wingo@pobox.com>
23571
23572         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23573         take the mode we're going to as an arg. Go head and set the mode
23574         and flushing flags now, so that if the activate function starts a
23575         thread all the flags will be in the right state.
23576         (post_activate): Renamed also. Just handle making sure streaming
23577         finishes for the deactivation case, and setting the deactivated
23578         mode.
23579         (gst_pad_set_active): Complain loudly if deactivation fails.
23580         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23581         (gst_pad_activate_push): Adapt to pre/post_activate changes,
23582         remove the terrible hack.
23583
23584 2005-10-11  Wim Taymans  <wim@fluendo.com>
23585
23586         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23587         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23588         (gst_bin_recalc_state), (gst_bin_change_state_func),
23589         (gst_bin_dispose), (bin_bus_handler):
23590         * gst/gstbin.h:
23591         Prepare to make current EOS message queue more generic.
23592         Fix some typos.
23593
23594         * gst/gstevent.c: (gst_event_new_newsegment),
23595         (gst_event_parse_newsegment):
23596         * gst/gstevent.h:
23597         Rename base to stream_time.
23598
23599         * gst/gstmessage.h:
23600         Fix typo in docs.
23601
23602 2005-10-11  Wim Taymans  <wim@fluendo.com>
23603
23604         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23605         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23606         (gst_bin_change_state_func), (bin_bus_handler):
23607         * gst/gstbin.h:
23608         Work on proper clock selection.
23609
23610 2005-10-11  Edward Hervey  <edward@fluendo.com>
23611
23612         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
23613         * libs/gst/controller/gstcontroller.h:
23614         Added GList* version of _remove_properties() in order to be able to wrap
23615         it in bindings.
23616
23617 2005-10-11  Wim Taymans  <wim@fluendo.com>
23618
23619         * docs/design/part-states.txt:
23620         Some more docs.
23621
23622         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23623         (gst_bin_change_state_func), (bin_bus_handler):
23624         Doc updates. Don't distribute the same clock over and over again.
23625
23626         * gst/gstclock.c:
23627         * gst/gstclock.h:
23628         Doc updates.
23629
23630         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23631         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23632         (gst_pad_send_event):
23633         * gst/gstpad.h:
23634         Make probe emission threadsafe again.
23635         Register quarks and move _get_name() from utils.
23636         Doc updates.
23637
23638         * gst/gstpipeline.c: (gst_pipeline_class_init),
23639         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23640         Only redistribute the clock of it changed.
23641
23642         * gst/gstsystemclock.h:
23643         Doc updates. 
23644
23645         * gst/gstutils.c:
23646         * gst/gstutils.h:
23647         Moved the _flow_get_name() to GstPad.
23648
23649 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23650
23651         * check/gst-libs/gdp.c: (GST_START_TEST):
23652         * check/gst/gstcaps.c: (GST_START_TEST):
23653         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23654         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23655         (gst_dp_packet_from_caps):
23656           fix more valgrind warnings before turning up the heat
23657
23658 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23659
23660         * gst/parse/grammar.y:
23661           some cleanup before the hacking
23662
23663 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23664
23665         * gst/base/gstbasesrc.c: (gst_base_src_query):
23666           use conversions
23667         * gst/gstutils.c: (gst_guint64_to_gdouble),
23668         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23669         * gst/gstutils.h:
23670           externalize, basesrc uses it
23671           obviously the implementation needs testing
23672
23673 2005-10-10  Wim Taymans  <wim@fluendo.com>
23674
23675         * tests/sched/Makefile.am:
23676         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23677         (make_pipeline3), (make_pipeline4), (print_elem), (main):
23678
23679 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23680
23681         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23682           apparently converting from guint64 to double is not implemented
23683           on MSVC
23684
23685 2005-10-10  Wim Taymans  <wim@fluendo.com>
23686
23687         * check/Makefile.am:
23688         * check/generic/states.c: (GST_START_TEST):
23689         * check/gst/gstbin.c: (GST_START_TEST):
23690         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23691         * check/states/sinks.c: (GST_START_TEST):
23692         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23693         (main):
23694         Check fixes, use API as stated in design docs, remove hacks.
23695
23696         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23697         (gst_base_sink_change_state):
23698         Catch stopping our task while we're shutting down.
23699
23700         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23701         (gst_bin_remove_func), (gst_bin_get_state_func),
23702         (gst_bin_recalc_state), (gst_bin_change_state_func),
23703         (bin_bus_handler):
23704         * gst/gstbin.h:
23705         * gst/gstelement.c: (gst_element_init),
23706         (gst_element_get_state_func), (gst_element_abort_state),
23707         (gst_element_commit_state), (gst_element_lost_state),
23708         (gst_element_set_state), (gst_element_change_state),
23709         (gst_element_change_state_func):
23710         * gst/gstelement.h:
23711         New state change algorithm (see #318116)
23712
23713         * gst/gstpipeline.c: (gst_pipeline_class_init),
23714         (gst_pipeline_init), (gst_pipeline_set_property),
23715         (gst_pipeline_get_property), (do_pipeline_seek),
23716         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23717         * gst/gstpipeline.h:
23718         Remove crude state change hacks.
23719
23720         * gst/gstutils.h:
23721         Remove crude hacks.
23722
23723         * tools/gst-launch.c: (main):
23724         Fixes for state change. Needs some more work to fully use the
23725         new stuff.
23726
23727 2005-10-10  Andy Wingo  <wingo@pobox.com>
23728
23729         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23730
23731         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23732         this flag, but it's not even in GLib 2.6. Odd. Hack around the
23733         issue.
23734
23735 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23736
23737         * gst/gstiterator.c: (gst_iterator_new):
23738           Fix my previous commit: GTypes passed to gst_iterator_new()
23739           can be fundamental types.
23740
23741 2005-10-10  Wim Taymans  <wim@fluendo.com>
23742
23743         * gst/gstelement.c: (gst_element_iterate_pad_list),
23744         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23745         (gst_element_iterate_sink_pads):
23746         Use src/sink pads lists for the respective iterators instead
23747         of filtering.
23748
23749 2005-10-10  Andy Wingo  <wingo@pobox.com>
23750
23751         Merged in popt removal + GOption addition patch from Ronald, bug
23752         #169772.
23753
23754         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23755         GstElement macros around, remove popt-related symbols, add goption
23756         stuff.
23757
23758         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23759         
23760         * docs/gst/Makefile.am:
23761         * docs/libs/Makefile.am: No POPT_CFLAGS.
23762         
23763         * examples/manual/Makefile.am:
23764         * docs/manual/basics-init.xml: Doc updates with an example.
23765         
23766         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23767         (gst_init), (parse_one_option), (parse_goption_arg):
23768         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23769         bit of hand merging and debugging to get the GOption stuff working
23770         tho.
23771         
23772         * tests/Makefile.am:
23773         * tools/Makefile.am:
23774         * tools/gst-inspect.c: (main):
23775         * tools/gst-launch.c: (main):
23776         * tools/gst-run.c: (main):
23777         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23778
23779 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23780
23781         * gst/gstiterator.c: (gst_iterator_new):
23782           Add assertions to make sure passed GType is likely to really
23783           be a GType (as the compiler won't catch it if the size and
23784           GType arguments get mixed up, see #318447).
23785
23786 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
23787
23788         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23789
23790         * gst/gstbin.c: (gst_bin_iterate_sorted):
23791           Pass GType and size arguments to gst_iterator_new() in the right
23792           order (maybe we should make _new() take the GType as first argument
23793           just like _new_list()?) (#318447).
23794           
23795
23796 2005-10-10  Wim Taymans  <wim@fluendo.com>
23797
23798         * gst/gstelement.c: (gst_element_finalize):
23799         And free the GStaticRecMutex too
23800
23801 2005-10-10  Andy Wingo  <wingo@pobox.com>
23802
23803         * gst/gstelement.c (gst_element_init, gst_element_finalize):
23804         Allocate and free the mutex properly.
23805
23806         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23807         New macros.
23808         (GstElement): The state_lock is now recursive. Rebuild your
23809         plugins, suckers. Old macros adapted.
23810
23811         * docs/gst/gstreamer-sections.txt: Doc updates.
23812
23813         * gst/gstutils.h:
23814         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
23815         (g_static_rec_cond_wait): Ported from state changes patch, while
23816         we wait on bug #317802 to be solved in a well-distributed GLib.
23817
23818         * gst/gstelement.c (gst_element_change_state_func): Renamed from
23819         gst_element_change_state, variable name changes.
23820         (gst_element_change_state): Split out of gst_element_set_state in
23821         preparation for the state change merge. Doesn't pay attention to
23822         the 'transition' argument.
23823         (gst_element_set_state): Updates, hopefully purely cosmetic.
23824         (gst_element_sync_state_with_parent): MT-safety. Ported from the
23825         state change patch.
23826         (gst_element_get_state_func): Renamed from get_state, cosmetic
23827         changes.
23828
23829 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23830
23831         * gst/elements/gstelements.c:
23832         * win32/GStreamer.vcproj:
23833         * win32/config.h:
23834         * win32/dirent.c: (_tseekdir):
23835         * win32/gst-inspect.vcproj:
23836         * win32/gst-launch.vcproj:
23837         * win32/gstconfig.h:
23838         * win32/gstelements.vcproj:
23839         * win32/gstenumtypes.c: (gst_object_flags_get_type):
23840         * win32/gstreamer.def:
23841         * win32/msvc71.sln:
23842           updates for the win32 build (patch from Sebastien Moutte)
23843
23844 2005-10-10  Andy Wingo  <wingo@pobox.com>
23845
23846         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23847         gst_bin_get_state, cleaned up (but no logic changes).
23848         (bin_element_is_sink): Comment updates.
23849         (sink_iterator_filter): Remove needless cast.
23850         (gst_bin_iterate_sinks): Doc update.
23851         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23852         cleaned up (but no logic changes).
23853
23854         * check/states/sinks.c (test_src_sink): Cleanups from the state
23855         change patch.
23856         (test_livesrc_sink): Sync on the state.
23857
23858         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23859         the state change patch.
23860
23861         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23862         change patch.
23863
23864         * check/gst/gstbin.c: Merge in some style fixes and additional
23865         checks from Wim's state change patch.
23866
23867 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23868
23869         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23870         (gst_type_find_helper):
23871           Check whether we have the requested data already in our list of
23872           cached buffers before pulling a new buffer; also make the buffer
23873           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23874
23875 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23876
23877         * gst/gstcaps.c:
23878         * gst/gstevent.c:
23879           doc updates
23880         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23881           don't use long long, it's not portable.  Replacing with
23882           gint64 seems to work; let's hope no skeletons fall out of the closet.
23883
23884 2005-10-10  Andy Wingo  <wingo@pobox.com>
23885
23886         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23887
23888 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
23889
23890         * docs/gst/gstreamer-sections.txt:
23891         * gst/gstevent.c:
23892         * gst/gstevent.h:
23893         * gst/gstinfo.c:
23894         * gst/gstinfo.h:
23895         * gst/gstmessage.c: (gst_message_parse_state_changed):
23896         * gst/gstpad.c:
23897         * gst/gstpad.h:
23898           more docs, fix compilation
23899
23900 2005-10-09  Philippe Khalaf <burger@speedy.org>
23901         * gst/gstmessage.c:
23902           Fixed a few forgotten variables on previous commit
23903
23904 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
23905
23906         * gst/base/gsttypefindhelper.c: (helper_find_peek):
23907           Fix evil typefind crasher: getrange() might return a short
23908           buffer at the end of a file, but gst_type_find_peek() must
23909           either return the full data as requested or NULL, but
23910           never a short buffer.
23911
23912 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23913
23914         * gst/gstmessage.c: (gst_message_new_state_changed),
23915         (gst_message_parse_state_changed):
23916         * gst/gstmessage.h:
23917           don't use "new", it's a C++ keyword
23918
23919 2005-10-08  Wim Taymans  <wim@fluendo.com>
23920
23921         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23922         * gst/gstelement.c: (gst_element_post_message):
23923         * gst/gstpipeline.c: (gst_pipeline_change_state):
23924         Small docs and debug updates.
23925
23926 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23927
23928         * docs/gst/gstreamer-sections.txt:
23929         * gst/gstelementfactory.c:
23930         * gst/gstevent.c:
23931         * gst/gsttaglist.c:
23932           more docs
23933
23934 2005-10-08  Wim Taymans  <wim@fluendo.com>
23935
23936         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23937         (gst_bin_dispose), (bin_bus_handler):
23938         Fix typos, add comments.
23939         Clear EOS list when going to PAUSED from any direction and do it
23940         in a threadsafe way.
23941         Get base time in a threadsafe way too.
23942         Fix confusing debug in the change_state function.
23943         Various other small cleanups.
23944         
23945         * gst/gstelement.c: (gst_element_post_message):
23946         Fix very verbose bus posting code.
23947
23948         * gst/gstpipeline.c: (gst_pipeline_class_init),
23949         (gst_pipeline_set_property), (gst_pipeline_get_property),
23950         (gst_pipeline_change_state):
23951         Small ARG_ -> PROP_ cleanup
23952
23953 2005-10-08  Wim Taymans  <wim@fluendo.com>
23954
23955         * gst/gstbin.c: (is_eos), (bin_bus_handler):
23956         Do a less CPU demanding EOS check because we can.
23957
23958 2005-10-08  Wim Taymans  <wim@fluendo.com>
23959
23960         * libs/gst/dataprotocol/dataprotocol.c:
23961         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23962         (gst_dp_packet_from_event):
23963         * libs/gst/dataprotocol/dataprotocol.h:
23964         * libs/gst/dataprotocol/dp-private.h:
23965         It's about time we bump the version number.
23966         Since event types don't fit in the guint8 anymore describing
23967         the payload type, make payload type 16 bits wide.
23968
23969 2005-10-08  Wim Taymans  <wim@fluendo.com>
23970
23971         * docs/design/part-TODO.txt:
23972         * docs/design/part-clocks.txt:
23973         * docs/design/part-events.txt:
23974         * docs/design/part-gstbin.txt:
23975         * docs/design/part-gstelement.txt:
23976         * docs/design/part-gstpipeline.txt:
23977         * docs/design/part-live-source.txt:
23978         * docs/design/part-messages.txt:
23979         * docs/design/part-overview.txt:
23980         * docs/design/part-states.txt:
23981         Many doc updates.
23982
23983 2005-10-08  Wim Taymans  <wim@fluendo.com>
23984
23985         * gst/gstevent.c:
23986         * gst/gstevent.h:
23987         Fix event quark registration.
23988         Add some space between events so we can insert them in the
23989         right groups.
23990
23991 2005-10-08  Wim Taymans  <wim@fluendo.com>
23992
23993         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23994         (gst_base_sink_handle_buffer):
23995         Better log message.
23996
23997         * gst/gstbus.h:
23998         * gst/gstelement.h:
23999         More docs.
24000
24001         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
24002         (gst_queue_set_property), (gst_queue_get_property):
24003         * gst/gstqueue.h:
24004         Remove old unused properties.
24005
24006 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
24007         * docs/gst/gstreamer-sections.txt:
24008         * gst/gstmessage.c:
24009         * gst/gstmessage.h:
24010         * gst/gstminiobject.c:
24011         * gst/gstminiobject.h:
24012         * gst/gstobject.h:
24013         * gst/gstpad.h:
24014         * gst/gstutils.h:
24015           lots of new docs and doc fixes
24016
24017 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24018
24019         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
24020         * gst/gstplugin.h:
24021         * gst/gstregistry.c: (gst_registry_lookup_locked),
24022         (gst_registry_scan_path_level):
24023         * gst/gstregistryxml.c: (load_plugin):
24024           Only ever load one plugin for a given plugin basename.
24025           This ensures correct overriding of GST_PLUGIN_PATH over
24026           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
24027           system installed plugins.
24028
24029 2005-10-08  Wim Taymans  <wim@fluendo.com>
24030
24031         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24032         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
24033         Prepare for doing QOS.
24034
24035 2005-10-08  Wim Taymans  <wim@fluendo.com>
24036
24037         * check/gst/gstbin.c: (GST_START_TEST):
24038         * check/pipelines/cleanup.c: (GST_START_TEST):
24039         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
24040         Allow new clock message too.
24041
24042 2005-10-08  Wim Taymans  <wim@fluendo.com>
24043
24044         * gst/gstmessage.c: (gst_message_new_error),
24045         (gst_message_new_warning), (gst_message_new_tag),
24046         (gst_message_new_state_changed), (gst_message_new_clock_provide),
24047         (gst_message_new_clock_lost), (gst_message_new_new_clock),
24048         (gst_message_new_segment_start), (gst_message_new_segment_done),
24049         (gst_message_parse_state_changed),
24050         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
24051         (gst_message_parse_new_clock):
24052         * gst/gstmessage.h:
24053         Also carry the clock in question.
24054
24055 2005-10-08  Wim Taymans  <wim@fluendo.com>
24056
24057         * gst/gstmessage.c: (gst_message_new_custom),
24058         (gst_message_new_eos), (gst_message_new_error),
24059         (gst_message_new_warning), (gst_message_new_tag),
24060         (gst_message_new_state_changed), (gst_message_new_clock_provide),
24061         (gst_message_new_new_clock), (gst_message_new_segment_start),
24062         (gst_message_new_segment_done), (gst_message_parse_state_changed),
24063         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
24064         * gst/gstmessage.h:
24065         Clean up.
24066         Added clock related messages.
24067
24068         * gst/gstpipeline.c: (gst_pipeline_change_state):
24069         Post message when the clock changed.
24070
24071         * tools/gst-launch.c: (event_loop):
24072         Print new clock.
24073
24074 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
24075
24076         * tools/gst-inspect.c: (print_element_properties_info):
24077           Can't pass NULL strings to g_print() on windows.
24078
24079 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24080
24081         * docs/Makefile.am:
24082         * docs/gst/Makefile.am:
24083         * docs/gst/gstreamer-docs.sgml:
24084         * docs/gst/running.xml:
24085         * docs/version.entities.in:
24086           add a chapter on running GStreamer.
24087           document GST_DEBUG and GST_PLUGIN* env vars
24088
24089 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24090
24091         * Makefile.am:
24092           remove include dir
24093         * configure.ac:
24094           remove PLUGINS_BUILDDIR stuff
24095         * gst/gst.c: (init_post):
24096           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
24097         * idiottest.mak:
24098           remove, it was condescending and not needed
24099
24100 2005-10-08  Wim Taymans  <wim@fluendo.com>
24101
24102         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
24103         (gst_base_sink_handle_object), (gst_base_sink_event),
24104         (gst_base_sink_wait), (gst_base_sink_handle_event),
24105         (gst_base_sink_change_state):
24106         * gst/base/gstbasesink.h:
24107         Repost EOS message while going to PLAYING if still EOS.
24108         Make sure that when receiving a FLUSH_START we don't attempt
24109         to sync on the clock anymore.
24110
24111 2005-10-08  Wim Taymans  <wim@fluendo.com>
24112
24113         * tools/gst-launch.c: (event_loop):
24114         Better message printout.
24115
24116 2005-10-08  Wim Taymans  <wim@fluendo.com>
24117
24118         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
24119         (gst_bin_child_proxy_get_children_count):
24120         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
24121         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
24122         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
24123         (gst_child_proxy_set_valist):
24124         * gst/parse/grammar.y:
24125         Make ChildProxy threadsafe and fix mem leaks.
24126
24127 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24128
24129         * gst/gst.c: (init_post):
24130           debug the GST_PLUGIN_ env vars
24131
24132 2005-10-08  Wim Taymans  <wim@fluendo.com>
24133
24134         * check/gst/gstbin.c: (GST_START_TEST):
24135         * check/gst/gstmessage.c: (GST_START_TEST):
24136         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
24137         * gst/gstelement.c: (gst_element_commit_state),
24138         (gst_element_lost_state):
24139         * gst/gstmessage.c: (gst_message_new_state_changed),
24140         (gst_message_parse_state_changed):
24141         * gst/gstmessage.h:
24142         * tools/gst-launch.c: (event_loop):
24143         Added extra field to STATE_CHANGE message with the pending
24144         state, which will be different from the new state soon.
24145
24146 2005-10-08  Wim Taymans  <wim@fluendo.com>
24147
24148         * gst/gstbus.c: (gst_bus_pop):
24149         * gst/gstclock.c:
24150         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
24151         Small cleanups and doc updates.
24152
24153 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24154
24155         * gst/gst.c: (init_pre):
24156         * gst/gstbin.c: (gst_bin_add_func):
24157           log distributing clocks and base time
24158         * gst/gstregistry.c: (gst_registry_add_plugin),
24159         (gst_registry_scan_path_level), (gst_registry_scan_path):
24160           clean up the debugging output a little
24161         * gst/gstutils.c: (gst_element_state_get_name):
24162           warn about a memleak (I've actually seen this be used, though
24163           it was probably a bug)
24164
24165 2005-10-07  Wim Taymans  <wim@fluendo.com>
24166
24167         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24168         (gst_base_src_init), (gst_base_src_default_newsegment),
24169         (gst_base_src_newsegment), (gst_base_src_do_seek),
24170         (gst_base_src_loop), (gst_base_src_start):
24171         * gst/base/gstbasesrc.h:
24172         Make the newsegment event customizable by subclasses.
24173
24174 2005-10-07  Wim Taymans  <wim@fluendo.com>
24175
24176         * gst/gstevent.c: (gst_event_new_buffersize),
24177         (gst_event_parse_buffersize):
24178         * gst/gstevent.h:
24179         New event for future idea.
24180
24181 2005-10-07  Andy Wingo  <wingo@pobox.com>
24182
24183         * gst/gstelement.c (gst_element_post_message): Doc update.
24184
24185         * docs/gst/gstreamer-sections.txt: Update.
24186
24187         * gst/gstmessage.c (gst_message_new_application): Made into a
24188         function like honest API calls.
24189         (gst_message_new_element): New message type.
24190
24191         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
24192
24193         * check/elements/fakesrc.c (test_no_preroll): New check, checks
24194         that setting a live fakesrc to PAUSED returns NO_PREROLL both
24195         times.
24196
24197         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
24198         NO_PREROLL from gst_element_change_state to fall through.
24199
24200 2005-10-07  Wim Taymans  <wim@fluendo.com>
24201
24202         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
24203         (gst_ghost_pad_do_activate_push):
24204         Activating a ghostpad with no internal pad in push mode
24205         is ok.
24206
24207 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
24208
24209         * gst/gstobject.h:
24210           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
24211           Fixes compilation on Windows.
24212
24213 2005-10-07  Michael Smith <msmith@fluendo.com>
24214
24215         * tools/gst-inspect.c:
24216           Print out feature and plugin count at the end when printing out
24217           all features.
24218
24219 2005-10-04  Michael Smith <msmith@fluendo.com>
24220
24221         * gst/gsterror.c: (_gst_stream_errors_init):
24222           Add another error string used in a few existing plugins.
24223
24224         * gst/gstplugin.c:
24225         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
24226         * tools/gst-inspect.c: (print_element_info):
24227           When a feature disappears from a plugin (and the feature exists in
24228           the cached registry file), things went horribly wrong. This isn't a
24229           complete fix, we should actually be removing the 'missing' features
24230           from the features list when we load the actual plugin. That's not
24231           yet implemented. 
24232
24233 2005-10-04  Johan Dahlin  <johan@gnome.org>
24234
24235         * check/gst/gstiterator.c: (GST_START_TEST):
24236         * gst/gstbin.c: (gst_bin_iterate_elements),
24237         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
24238         * gst/gstelement.c: (gst_element_iterate_pads):
24239         * gst/gstformat.c: (gst_format_iterate_definitions):
24240         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
24241         (gst_iterator_new_list), (gst_iterator_filter):
24242         * gst/gstiterator.h:
24243         * gst/gstquery.c: (gst_query_type_iterate_definitions):
24244         Add a GType to GstIterator, update callsites and tests.
24245
24246 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24247
24248         * gst/gstpad.c: (gst_pad_event_default_dispatch):
24249           give events a chance to be handled by event probes when the pad
24250           is not linked
24251
24252 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24253
24254         * gst/gstevent.c: (gst_event_type_get_name),
24255         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
24256         * gst/gstevent.h:
24257           add string representations for event types
24258
24259 2005-10-06  Wim Taymans  <wim@fluendo.com>
24260
24261         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
24262         Don't use NULL pointers.
24263
24264 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24265
24266         * gst/gst_private.h:
24267         * gst/gstbus.c:
24268         * gst/gstelement.c:
24269         * gst/gstinfo.c:
24270         * gst/gstpluginfeature.c:
24271           widen the debug category in output to fit the biggest one we have
24272           add a bus category and use it
24273           play with the colors
24274           fix up some categories
24275
24276 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24277
24278         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
24279           add push activation of sink ghost pads.
24280           Andye, please verify
24281
24282 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
24283
24284         * gst/gstutils.c: (gst_element_link_pads):
24285           fix a bug in the case where neither element has a pad
24286         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
24287           add a test for that case
24288
24289 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
24290
24291         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
24292           emit have-data before checking for peers.  This allows
24293           for probe handlers to connect elements.  This helps autopluggers.
24294         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
24295         (gst_pad_suite):
24296           add six checks, linked/unlinked with no/true/false probe
24297
24298 2005-10-04  Wim Taymans  <wim@fluendo.com>
24299
24300         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
24301         (gst_fake_sink_event), (gst_fake_sink_preroll),
24302         (gst_fake_sink_render), (gst_fake_sink_change_state):
24303         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
24304         (gst_fake_src_get_property), (gst_fake_src_create),
24305         (gst_fake_src_stop):
24306         * gst/elements/gstidentity.c: (gst_identity_stop):
24307         Protect last_message with lock.
24308
24309 2005-10-04  Edward Hervey  <edward@fluendo.com>
24310
24311         * gst/gstformat.h: 
24312         Added precision in the comments for GST_FORMAT_DEFAULT
24313
24314 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
24315
24316         * tools/gst-launch.c: (main):
24317           Don't try to run erroneous pipelines.
24318
24319 2005-10-04  Julien MOUTTE  <julien@moutte.net>
24320
24321         * gst/gstbus.c: We don't need this header.
24322
24323 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24324
24325         * configure.ac:
24326           back to development
24327
24328 === release 0.9.3 ===
24329
24330 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24331
24332         * README:
24333         * configure.ac:
24334           Releasing 0.9.3, "Unregistered"
24335
24336 2005-10-03  Andy Wingo  <wingo@pobox.com>
24337
24338         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
24339         whereby calling a pad's activatepush() function can start a thread
24340         that starts to push or pull before the pad gets the FLUSHING flag
24341         unset. Hack around it by holding the stream lock until the flag is
24342         set. Need to replace this with a proper solution. Together with
24343         the ghost pad fixes, this fixes mp3 playing/tagreading.
24344
24345         * docs/design/part-gstghostpad.txt: Add a note about activation of
24346         proxy pads outside of ghost pads.
24347
24348         * gst/gstghostpad.c: Implement the ghost pad activation design.
24349
24350 2005-10-02  Andy Wingo  <wingo@pobox.com>
24351
24352         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
24353         It is volatile, after all.
24354
24355         * docs/design/part-gstghostpad.txt: Flesh out activation with
24356         ghost pads.
24357
24358         * gst/base/gstbasesrc.c (gst_base_src_init): Use
24359         GST_DEBUG_FUNCPTR.
24360
24361 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
24362
24363         * configure.ac:
24364           Fix (unused) AM_CONDITIONAL tests.
24365
24366 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
24367
24368         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24369
24370         * gst/gstutils.c: (gst_pad_query_convert):
24371           Add assertion that makes sure src_val is >=0, just like
24372           gst_query_new_convert() has. (#315895)
24373
24374 2005-09-30  Edward Hervey  <edward@fluendo.com>
24375
24376         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
24377         Let's not iterate pads we're not interested in, it avoids getting 
24378         sky-high refcounts on sinkpad.
24379
24380 2005-09-30  Wim Taymans  <wim@fluendo.com>
24381
24382         * gst/gstelement.c: (gst_element_set_state),
24383         (gst_element_change_state):
24384         Small tweak, element in ASYNC remains ASYNC.
24385
24386 2005-09-30  Wim Taymans  <wim@fluendo.com>
24387
24388         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
24389         Only error is an error.
24390
24391         * gst/gstbin.c: (gst_bin_change_state):
24392         Better debugging.
24393
24394         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
24395         Also call pad_block in pad alloc.
24396
24397         * gst/gstutils.c: (gst_flow_get_name):
24398         Better debugging.
24399
24400 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24401
24402         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24403         (gst_base_src_get_range):
24404           Fix documentation typos. Add some more debug info.
24405
24406 2005-09-29  David Schleef  <ds@schleef.org>
24407
24408         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
24409           more end-user friendly.
24410         * tools/gst-inspect.c: (main): Check if command-line argument is
24411           a file and attempt to load that file as a plugin.
24412
24413 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24414
24415         * check/gst/gstbin.c:
24416         * check/states/sinks.c:
24417           fix tests for the new warning
24418         * check/gst/gstpipeline.c:
24419           add a test for pipeline and bus interaction
24420         * gst/gstelement.c:
24421           elements should be NULL if they get disposed; add a warning if not
24422
24423 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24424
24425         * gst/gstobject.c:
24426           for 2.6 refcounting, make debug log more correct by printing
24427           the actual refcounts at the time of swap (Wim)
24428
24429 2005-09-29  Andy Wingo  <wingo@pobox.com>
24430
24431         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
24432         removes signal watches previously added via
24433         gst_bus_add_signal_watch.
24434         (gst_bus_add_signal_watch): Don't return the source id, just store
24435         it on the bus if there wasn't an id already.
24436
24437         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
24438         add_signal_watch and remove_signal_watch.
24439
24440 2005-09-29  Edward Hervey  <edward@fluendo.com>
24441
24442         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
24443         Better if we actually iterate the list :)
24444
24445 2005-09-29  Wim Taymans  <wim@fluendo.com>
24446
24447         * check/gst/gstbin.c: (GST_START_TEST):
24448         Change for new bus API.
24449
24450         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24451         (send_messages), (GST_START_TEST), (gstbus_suite):
24452         Change for new bus signal API.
24453
24454         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
24455         (gst_bus_source_prepare), (gst_bus_source_check),
24456         (gst_bus_create_watch), (gst_bus_add_watch_full),
24457         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
24458         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
24459         * gst/gstbus.h:
24460         Remove support for multiple GSources operating on different
24461         message types as it is too complex and unneeded when using
24462         signals.
24463         Added support for receiving signals from the bus.
24464
24465 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24466
24467         * docs/libs/tmpl/gstdataprotocol.sgml:
24468         * docs/manual/advanced-dataaccess.xml:
24469         * gst/elements/gstcapsfilter.c:
24470         * gst/gstutils.c:
24471           rename filter-caps to caps property
24472
24473 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24474
24475         * gst/gstvalue.c: (gst_value_deserialize_fraction):
24476           More robust fraction string parsing.
24477
24478         * docs/pwg/appendix-porting.xml:
24479           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
24480
24481 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24482
24483         * gst/gstcaps.c: (gst_caps_do_simplify):
24484           Thou shalt not free a structure and then continue using it
24485           in the next loop iteration.
24486
24487         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
24488         (gst_caps_suite):
24489           Add test case for caps simplification.
24490
24491 2005-09-29  Wim Taymans  <wim@fluendo.com>
24492
24493         * check/gst/gstbin.c: (GST_START_TEST):
24494         Oops.
24495
24496 2005-09-29  Wim Taymans  <wim@fluendo.com>
24497
24498         * check/gst/gstbin.c: (GST_START_TEST):
24499         Add bus to bin.
24500
24501         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
24502         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24503         (find_element), (gst_bin_sort_iterator_next),
24504         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24505         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24506         (gst_bin_change_state), (gst_bin_dispose):
24507         A bin does not have a bus, it gets the bus from the parent.
24508
24509         * gst/gstelement.c: (gst_element_requires_clock),
24510         (gst_element_provides_clock), (gst_element_is_indexable),
24511         (gst_element_is_locked_state), (gst_element_change_state),
24512         (gst_element_set_bus_func):
24513         Small cleanups.
24514
24515         * gst/gstpipeline.c: (gst_pipeline_class_init),
24516         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
24517         The pipeline provides a bus.
24518
24519 2005-09-28  Johan Dahlin  <johan@gnome.org>
24520
24521         * gst/gstmessage.c (gst_message_parse_state_changed): Use
24522         gst_structure_get_enum instead of gst_structure_get_int
24523
24524         * gst/gststructure.c (gst_structure_get_enum): Impl.
24525
24526         * gst/gststructure.h (gst_structure_get_enum): Add
24527
24528         * docs/gst/gstreamer-sections.txt: Ditto
24529
24530         * gst/gstmessage.c (gst_message_new_state_changed): Use
24531         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
24532         which does introspection.
24533         Reviewed by Christian Schaller
24534
24535 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24536
24537         * gst/gstinfo.c: (gst_debug_log_default):
24538           don't do dummy g_strdup()s
24539         * libs/gst/controller/gstcontroller.c:
24540         (on_object_controlled_property_changed),
24541         (gst_controlled_property_new), (gst_controller_new_valist),
24542         (gst_controller_new_list),
24543         (gst_controller_remove_properties_valist), (gst_controller_set),
24544         (gst_controller_get), (gst_controller_sync_values),
24545         (gst_controller_get_value_array), (_gst_controller_class_init),
24546         (gst_controller_get_type):
24547         * libs/gst/controller/gstcontroller.h:
24548         * libs/gst/controller/gstinterpolation.c:
24549         (gst_controlled_property_find_timed_value_node):
24550           convert // to /**/ comments
24551
24552 2005-09-28  Wim Taymans  <wim@fluendo.com>
24553
24554         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
24555         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24556         (gst_bus_sync_signal_handler):
24557         * gst/gstbus.h:
24558         Added async-message and sync-message signals to the bus.
24559         Added helper BusFunc to emit signals for all posted messages.
24560
24561         * gst/gstmessage.c: (gst_message_type_get_name),
24562         (gst_message_type_to_quark), (gst_message_get_type):
24563         * gst/gstmessage.h:
24564         Register quarks for message names.
24565
24566 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24567
24568         * docs/libs/gstreamer-libs-sections.txt:
24569         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24570         (gst_controller_new_list):
24571         * libs/gst/controller/gstcontroller.h:
24572           added another constructor for language bindings
24573
24574 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
24575
24576         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24577           add another check
24578         * gst/gstbus.c:
24579           add some doc
24580         * gst/gstinfo.c: (_gst_debug_init):
24581           slightly more readable color for refcount debugging
24582
24583 2005-09-28  Wim Taymans  <wim@fluendo.com>
24584
24585         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24586         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24587         (find_element), (gst_bin_sort_iterator_next),
24588         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24589         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24590         (gst_bin_change_state), (gst_bin_dispose):
24591         Small doc fixes. get_clock -> provide_clock.
24592
24593         * gst/gstelement.c: (gst_element_class_init),
24594         (gst_element_provides_clock), (gst_element_provide_clock),
24595         (gst_element_get_clock), (gst_element_commit_state),
24596         (gst_element_lost_state):
24597         * gst/gstelement.h:
24598         Make get/set_clock() symetric. Add provide_clock vmethod since
24599         that is actually what this function does.
24600
24601         * gst/gstpipeline.c: (gst_pipeline_class_init),
24602         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24603         (gst_pipeline_get_clock):
24604         get_clock -> provide_clock.
24605
24606 2005-09-28  Andy Wingo  <wingo@pobox.com>
24607
24608         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24609         lieu of real docs...
24610
24611         * gst/elements/gstfdsrc.c: Cleaned up a bit.
24612
24613 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
24614
24615         * gst/elements/gstcapsfilter.c:
24616         * gst/elements/gstfakesink.c:
24617         * gst/elements/gstfakesrc.c:
24618         * gst/elements/gstfdsink.c:
24619         * gst/elements/gstfdsrc.c:
24620         * gst/elements/gstfilesink.c:
24621         * gst/elements/gstfilesrc.c:
24622         * gst/elements/gstidentity.c:
24623         * gst/elements/gsttee.c:
24624         * gst/elements/gsttypefindelement.c:
24625           Make element details static.
24626
24627 2005-09-28  Wim Taymans  <wim@fluendo.com>
24628
24629         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24630         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24631         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24632         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24633         (gst_bin_change_state), (gst_bin_dispose):
24634         Some documentation updates.
24635         Clean up dispose handlers.
24636
24637         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24638         * gst/gstpad.c: (gst_pad_dispose):
24639         Clean up dispose handler.
24640
24641         * gst/gstpipeline.c: (gst_pipeline_change_state):
24642         Removed spurious UNLOCK.
24643
24644 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
24645
24646         * docs/gst/gstreamer-sections.txt:
24647         * gst/base/gstbasesrc.h:
24648         * gst/gstelement.h:
24649         * gst/gstevent.h:
24650         * gst/gstobject.h:
24651         * gst/gstpad.h:
24652         * gst/gstpipeline.c:
24653         * gst/gstpipeline.h:
24654         * gst/gstutils.h:
24655         * gst/gstxml.h:
24656           added two new functions to the docs
24657                 documents all undocumented GstXXXFlags
24658                 completed some incomplete docs 
24659
24660 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
24661
24662         * gst/gstbin.c: (gst_bin_dispose):
24663         * gst/gstelement.c: (gst_element_dispose):
24664           remove now useless and leaky resurrection code in dispose
24665         * gst/base/gstbasesrc.c: (gst_base_src_init):
24666         * gst/gstelementfactory.c: (gst_element_factory_create):
24667         * gst/gstobject.c: (gst_object_set_parent):
24668           add some debugging
24669
24670 2005-09-27  Wim Taymans  <wim@fluendo.com>
24671
24672         * docs/design/part-TODO.txt:
24673         Update TODO.
24674
24675         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24676         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24677         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24678         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24679         (gst_bin_change_state):
24680         * gst/gstelement.h:
24681         Remove element variable, we keep element info in the iterator now.
24682
24683 2005-09-27  Andy Wingo  <wingo@pobox.com>
24684
24685         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24686         values.
24687
24688 2005-09-27  Wim Taymans  <wim@fluendo.com>
24689
24690         * check/gst/gstbin.c: (GST_START_TEST):
24691         Enable check that works now.
24692
24693         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24694         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24695         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24696         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24697         (gst_bin_change_state):
24698         * gst/gstbin.h:
24699         Redid the state change algorithm using a topological sort algo.
24700         Handles all cases correctly.
24701         Exposed iterator for state change order.
24702
24703         * gst/gstelement.h:
24704         Temp storage for state changes. Need to get rid of this soon.
24705
24706 2005-09-27  Wim Taymans  <wim@fluendo.com>
24707
24708         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24709         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24710         (link_fold_func), (gst_pad_proxy_setcaps):
24711         Leak fixes, the fold functions need to unref the passed object and
24712         _get_parent_*() returns ref to parent.
24713
24714 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24715
24716         * check/gst/gstbuffer.c: (test_make_writable):
24717           Plug leak in test case and fix 'make check-valgrind'
24718
24719 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24720
24721         * gst/gstbuffer.c: (gst_subbuffer_init):
24722           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24723           works correctly in all circumstances (we could have just copied
24724           the parent buffer's readonly flag, but conceptually it seems
24725           cleaner to mark all subbuffers as read-only). (based on patch
24726           by Alessandro Decina, #314710).
24727         
24728         * check/gst/gstbuffer.c: (create_read_only_buffer),
24729         (test_make_writable), (test_subbuffer_make_writable),
24730         (gst_test_suite):
24731           Add some tests for gst_buffer_make_writable().
24732
24733 2005-09-27  Wim Taymans  <wim@fluendo.com>
24734
24735         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24736         use gst_object_has_ancestor().
24737
24738         * gst/gstobject.c: (gst_object_has_ancestor):
24739         * gst/gstobject.h:
24740         gst_object_has_ancestor() copied from gstbin.c as it is a
24741         useful function.
24742
24743         * tests/instantiate/create.c: (create_all_elements):
24744         * tests/lat.c: (handoff_src), (handoff_sink):
24745         * tests/sched/runxml.c: (main):
24746         * tests/seeking/seeking1.c: (main):
24747         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24748         (main):
24749         Fix compilation of some tests.
24750
24751 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24752
24753         * gst/gsterror.h:
24754           Remove comment. GST_TYPE_G_ERROR is here to stay,
24755           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24756           (#316961, #300610).
24757
24758 2005-09-26  Wim Taymans  <wim@fluendo.com>
24759
24760         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24761         Added check that shows error in state change order.
24762
24763 2005-09-26  Wim Taymans  <wim@fluendo.com>
24764
24765         * gst/gstbin.c: (gst_bin_change_state):
24766         Make state change function use 3 queues again, we were
24767         adding elements in the wrong order.
24768
24769         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24770         Some debug info,
24771
24772         * gst/gstpad.c: (gst_pad_dispose):
24773         Added some debug info first.
24774
24775 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
24776
24777         * docs/design/draft-push-pull.txt:
24778         * docs/design/part-events.txt:
24779         * docs/design/part-overview.txt:
24780         * docs/design/part-scheduling.txt:
24781           Replace all _pull_region() with _pull_range()
24782           
24783 2005-09-26  Andy Wingo  <wingo@pobox.com>
24784
24785         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24786
24787         * check/gst-libs/controller.c: Update for controller api change.
24788
24789         * configure.ac: 
24790         * tests/Makefile.am:
24791         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24792         over by GLib bug 118439.
24793         
24794         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24795         routines to a function.
24796
24797         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24798
24799         * libs/gst/controller/gsthelper.c:
24800         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24801         (gst_object_sync_values): Renamed from sink_values. Ugh.
24802
24803         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24804
24805         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24806         Renamed from controller_key, as it is exported.
24807
24808         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24809
24810 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
24811
24812         * gst/Makefile.am:
24813         * gst/gst.h:
24814         * gst/gstpad.h:
24815         * gst/gstpadtemplate.h:
24816         * gst/gstquery.c:
24817         * gst/gstquery.h:
24818         * gst/gstqueryutils.c:
24819         * gst/gstqueryutils.h:
24820           remove queryutils headers after moving the two used functions
24821           to gstquery.  also fixes build problem for gstsiddec
24822
24823 2005-09-26  Michael Smith <msmith@fluendo.com>
24824
24825         * tools/gst-launch.1.in:
24826         Correct documentation in manpage of debug syntax
24827
24828 2005-09-26  Wim Taymans  <wim@fluendo.com>
24829
24830         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24831         (gst_base_src_is_seekable), (gst_base_src_change_state):
24832         Some more debugging info.
24833
24834 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24835
24836         * docs/gst/gstreamer-sections.txt:
24837         * gst/base/gstbasetransform.h:
24838         * gst/gstindex.h:
24839           added more docs
24840
24841 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24842
24843         * docs/gst/.cvsignore:
24844         * docs/gst/tmpl/.cvsignore:
24845         * docs/gst/tmpl/gstpipeline.sgml:
24846         * docs/gst/tmpl/gstplugin.sgml:
24847         * gst/gstpipeline.c:
24848         * gst/gstplugin.c:
24849         * gst/gstplugin.h:
24850           inlined the last two docs files
24851           removed the tmpl directory from cvs (no more conflicts here!)
24852
24853 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24854
24855         * docs/gst/gstreamer-sections.txt:
24856         * docs/gst/tmpl/.cvsignore:
24857         * docs/gst/tmpl/gstpad.sgml:
24858         * docs/gst/tmpl/gstpadtemplate.sgml:
24859         * gst/Makefile.am:
24860         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24861         (gst_pad_finalize), (gst_pad_set_pad_template):
24862         * gst/gstpad.h:
24863         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24864         (gst_pad_template_class_init), (gst_pad_template_init),
24865         (gst_pad_template_dispose), (name_is_valid),
24866         (gst_static_pad_template_get), (gst_pad_template_new),
24867         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24868         (gst_pad_template_pad_created):
24869         * gst/gstpadtemplate.h:
24870           inlined two more docs
24871           factored gstpadtemplate out of gstpad
24872
24873 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
24874
24875         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24876         (test_children_state_change_order_semi_sink):
24877           Fix test case: we can't rely on a fixed state change order when
24878           going from READY => PAUSED because the sink might commit its 
24879           new state first when the first buffer created by the source 
24880           reaches the sink before the source has finished its change state.
24881           (Test case still fails at times, see #316856, comment 5 onwards)
24882
24883 2005-09-24  Wim Taymans  <wim@fluendo.com>
24884
24885         * docs/design/part-events.txt:
24886         * docs/design/part-gstbus.txt:
24887         * docs/design/part-gstpipeline.txt:
24888         * docs/design/part-messages.txt:
24889         * docs/design/part-overview.txt:
24890         * docs/design/part-segments.txt:
24891         * gst/gstbin.c:
24892         * gst/gstbuffer.c:
24893         * gst/gstclock.c:
24894         * gst/gstelement.c:
24895         * gst/gstevent.c:
24896         * gst/gstfilter.c:
24897         * gst/gstiterator.c:
24898         Various documentation updates.
24899
24900 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24901
24902         * gst/gstclock.h:
24903           Well, that's embarassing.  Luckily we weren't using
24904           GST_CLOCK_DIFF anywhere.
24905
24906 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24907
24908         * common/gtk-doc.mak:
24909           don't fail on building XML, FC4 slave shows a bunch of doc
24910           missing bits that I don't get
24911         * gst/gstpad.c:
24912         * gst/gstpipeline.c:
24913         * gst/gststructure.c:
24914           some doc updates
24915
24916 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24917
24918         * docs/design/part-gstbin.txt:
24919         * docs/design/part-gstbus.txt:
24920         * gst/gstbus.c:
24921           Add blurb about how the bus goes into flushing mode and
24922           drops all messages when its bin goes from READY into NULL 
24923           state.
24924
24925 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24926
24927         * docs/gst/gstreamer-sections.txt:
24928         * gst/gststructure.c: (gst_structure_get_clock_time):
24929         * gst/gststructure.h:
24930           add a method to get a GstClockTime out of a structure
24931
24932 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24933
24934         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24935         (test_children_state_change_order_semi_sink), (gst_bin_suite):
24936           Added test to check state change order in bins (can still be made
24937           to fail here under heavy disk load; bails out with 'Push on pad
24938           fakesink:sink0, but it was not activated in push mode').
24939
24940         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24941           Fix state change order when there is only a semi sink (#316856)
24942
24943         * gst/gstbus.c: (gst_bus_class_init):
24944           Use _class_peek_parent(), not _class_ref(); fix docs to say
24945           'default main context' instead of 'mainloop' where that is
24946           what's meant.
24947
24948         * gst/gstelement.c: (gst_element_commit_state),
24949         (gst_element_set_state):
24950           Fix typos in debug messages
24951
24952 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24953
24954         * docs/README:
24955         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24956         * gst/gstpluginfeature.c:
24957         * gst/gstutils.c:
24958           various doc updates
24959         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24960           change an assert into an error until it gets fixed properly
24961
24962 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
24963
24964         * docs/gst/gstreamer-sections.txt:
24965         * docs/gst/tmpl/.cvsignore:
24966         * docs/gst/tmpl/gstelement.sgml:
24967         * docs/gst/tmpl/gstinfo.sgml:
24968         * docs/gst/tmpl/gstobject.sgml:
24969         * gst/gstelement.c:
24970         * gst/gstelement.h:
24971         * gst/gstinfo.c:
24972         * gst/gstinfo.h:
24973         * gst/gstobject.c: (gst_object_class_init):
24974         * gst/gstobject.h:
24975           inlined 3 more biiiig doc files and added some missing docs on the fly
24976
24977 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24978
24979         * check/gst/.cvsignore:
24980         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24981         * gst/gstregistryxml.c: (load_plugin),
24982         (gst_registry_xml_save_plugin):
24983           put back source in registry.  add checks for find_plugin.
24984         * testsuite/states/bin.c: (assert_state), (empty_bin),
24985         (test_adding_one_element), (main):
24986         * testsuite/states/locked.c: (main):
24987           some compile/run fixes
24988
24989 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24990
24991         * check/gst/gstvalue.c: (GST_START_TEST):
24992           fix leaks in the test itself
24993
24994 2005-09-22  Wim Taymans  <wim@fluendo.com>
24995
24996         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24997         (gst_base_sink_send_event), (gst_base_sink_peer_query),
24998         (gst_base_sink_query):
24999         Prepare for more accurate position reporting and query
25000         handling.
25001
25002         * gst/gstelement.c: (gst_element_send_event),
25003         (gst_element_set_state):
25004         Add some comment.
25005
25006 2005-09-22  Wim Taymans  <wim@fluendo.com>
25007
25008         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
25009         (gst_query_parse_segment):
25010         * gst/gstquery.h:
25011         More documentation.
25012         Add segment query for future use.
25013
25014 2005-09-22  Wim Taymans  <wim@fluendo.com>
25015
25016         * gst/gstbin.c: (gst_bin_add_func):
25017         Some more debug info.
25018
25019         * gst/gstelement.c: (gst_element_send_event):
25020         Simplify send_event
25021
25022         * gst/gstelement.h:
25023         Don't know how flags got broken.
25024
25025         * gst/gstquery.h:
25026         Added new query.
25027
25028 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
25029
25030         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
25031           Add simplistic test suite for GST_TYPE_DATE serialisation and
25032           deserialisation.
25033
25034 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
25035
25036         * docs/gst/gstreamer-sections.txt:
25037         * gst/gststructure.c: (gst_structure_set_valist),
25038         (gst_structure_get_date):
25039         * gst/gststructure.h:
25040         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
25041         (gst_date_copy), (gst_value_compare_date),
25042         (gst_value_serialize_date), (gst_value_deserialize_date),
25043         (gst_value_transform_date_string),
25044         (gst_value_transform_string_date), (_gst_value_initialize):
25045         * gst/gstvalue.h:
25046           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
25047           bunch of utility functions along with a hack that checks that
25048           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
25049           is required. Part of the grand scheme in #170777.
25050
25051 2005-09-22  Andy Wingo  <wingo@pobox.com>
25052
25053         * gst/gstconfig.h.in: Psych out gtk-doc.
25054
25055         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
25056
25057         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
25058
25059         * tools/gst-inspect.c (print_element_list): Plug some
25060         inconsequential leaks.
25061
25062         * gst/gstregistry.c (gst_registry_get_default): Doc.
25063
25064         * check/gst/gstplugin.c: 
25065         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
25066         * gst/gstelementfactory.c (gst_element_factory_create): 
25067         * gst/gstindexfactory.c (gst_index_factory_create): Update for
25068         refcount changes.
25069
25070         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
25071         (gst_plugin_feature_load): Doc, don't eat refs.
25072
25073         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
25074         (gst_plugin_list_free): Doc.
25075         (gst_plugin_load_file): Doc updates.
25076
25077         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
25078         accessors returning refcounted objects, return a ref.
25079
25080         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
25081         accessor for caps. IDEMPOTENCE. Oh yes.
25082
25083 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
25084
25085         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
25086
25087         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
25088         (_gst_debug_register_funcptr):
25089           Add mutex to serialise access to the hash table with
25090           the function pointer => function name string mapping;
25091           make that hash table static scope (#316809).
25092
25093         * gst/registries/.cvsignore:
25094           Remove left-over file.
25095
25096 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
25097
25098         * docs/pwg/appendix-porting.xml:
25099           And something about newsegment events and caps-on-buffers to
25100           the porting guide (feel free to improve).
25101
25102 2005-09-21  Andy Wingo  <wingo@pobox.com>
25103
25104         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
25105         data and event probes on the same pad.
25106         (test_buffer_probe_once): Test that removing probes from within
25107         the probe functions works.
25108
25109 2005-09-21  Andy Wingo  <wingo@pobox.com>
25110
25111         * check/gst/gstutils.c: New file.
25112         (test_buffer_probe_n_times): A simple buffer probe test. More to
25113         come, foolios.
25114
25115         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
25116         have-data::buffer, not have-data.
25117         (gst_pad_add_event_probe): Likewise for have-data::event.
25118         (gst_pad_add_data_probe): More docs. The part about 'resolving the
25119         peer' isn't quite right yet though.
25120         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
25121         (gst_pad_remove_data_probe): Change to take the guint handler_id
25122         as their arg, not the function+data, which is more glib-like.
25123
25124         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
25125         the signal emission to indicate if the data is a buffer or an
25126         event.
25127         (gst_pad_get_type): Initialize buffer and event quarks.
25128         (gst_pad_class_init): have-data is now a detailed signal, yes it
25129         is.
25130
25131 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
25132
25133         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
25134         * gst/gstutils.c: (gst_util_set_value_from_string),
25135         (gst_util_set_object_arg):
25136           Don't put functional code in g_return_if_fail() or
25137           g_return_val_if_fail() statements, otherwise things will 
25138           break when G_DISABLE_CHECKS is defined during compilation.
25139
25140 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
25141
25142         * docs/gst/tmpl/.cvsignore:
25143         * docs/gst/tmpl/gstvalue.sgml:
25144         * gst/gstvalue.c:
25145         * gst/gstvalue.h:
25146           inlied another one and added  some obvious docs
25147
25148 2005-09-21  Wim Taymans  <wim@fluendo.com>
25149
25150         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
25151         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
25152         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
25153         (gst_fdsrc_get_property), (gst_fdsrc_create):
25154         * gst/elements/gstfdsrc.h:
25155         Properly implement fdsrc. Removed signal and timeout,
25156         better implemented somewhere else.
25157
25158 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
25159
25160         * docs/gst/tmpl/.cvsignore:
25161         * docs/gst/tmpl/gstimplementsinterface.sgml:
25162         * gst/gstinterface.c:
25163           inlined more docs
25164
25165 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
25166
25167         * docs/gst/gstreamer-sections.txt:
25168         * docs/gst/tmpl/.cvsignore:
25169         * docs/gst/tmpl/gstenumtypes.sgml:
25170           remove obsolete doc file
25171
25172 2005-09-21  David Schleef  <ds@schleef.org>
25173
25174         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
25175         little beer, fix a little leak.
25176
25177 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
25178
25179         * docs/gst/gstreamer-docs.sgml:
25180         * docs/gst/gstreamer-sections.txt:
25181         * docs/gst/tmpl/.cvsignore:
25182         * gst/Makefile.am:
25183         * gst/gst.h:
25184         * gst/gstbin.c:
25185         * gst/gstelement.h:
25186         * gst/gstindex.c: (gst_index_class_init):
25187         * gst/gstindex.h:
25188         * gst/gstindexfactory.c: (gst_index_factory_get_type),
25189         (gst_index_factory_class_init), (gst_index_factory_init),
25190         (gst_index_factory_finalize), (gst_index_factory_new),
25191         (gst_index_factory_destroy), (gst_index_factory_find),
25192         (gst_index_factory_create), (gst_index_factory_make):
25193         * gst/gstindexfactory.h:
25194         * gst/gstpluginfeature.c:
25195         * gst/gstpluginfeature.h:
25196         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
25197           more docs inlined, splitted gstindex.{c,h}
25198
25199 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25200
25201         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
25202           fix a leak
25203
25204 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
25205
25206         * gst/elements/gstfilesink.c: (gst_file_sink_init):
25207           Set sync to FALSE by default.
25208
25209 2005-09-20  Wim Taymans  <wim@fluendo.com>
25210
25211         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
25212         (gst_base_sink_init):
25213         Make sync property settable from subclass.
25214
25215         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25216         (gst_fake_sink_change_state):
25217         Set sync to FALSE by default.
25218
25219 2005-09-20  Wim Taymans  <wim@fluendo.com>
25220
25221         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
25222         * tools/gst-launch.c: (main):
25223         The timeout handler should have lower priority than the source
25224         so we don't timeout before popping a message with 0 timeout.
25225         Dump error messages after failed state change.
25226
25227 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
25228
25229         * tools/gst-inspect.c: (print_element_properties_info):
25230           Fix two typos.
25231
25232 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25233
25234         * check/gst/gstevent.c:
25235         * gst/elements/gstfakesink.c:
25236         * gst/elements/gstfakesink.h:
25237           remove the sync property from fakesink.
25238           has the side effect of setting sync TRUE
25239           for fakesink, which is a change.  Anyone who knows how
25240           to fix this nicely in a GObject-y way, feel free.
25241
25242 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25243
25244         * docs/gst/gstreamer-docs.sgml:
25245           remove probe refsection
25246
25247 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25248
25249         * check/Makefile.am:
25250           disable valgrinding the controller test again
25251         * docs/gst/gstreamer-sections.txt:
25252           update for api-changes
25253
25254 2005-09-20  Wim Taymans  <wim@fluendo.com>
25255
25256         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
25257         (gst_base_sink_set_property), (gst_base_sink_get_property),
25258         (gst_base_sink_do_sync):
25259         * gst/base/gstbasesink.h:
25260         Added sync property to basesink to disable clock sync.
25261
25262 2005-09-20  Andy Wingo  <wingo@pobox.com>
25263
25264         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
25265         eating the caller's refcount.
25266
25267         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
25268         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
25269         refcount.
25270
25271         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
25272         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
25273         of GLib 2.8 public, so we can know which refcount to check in
25274         tests.
25275
25276         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
25277         (gst_object_init): Only set the gst refcount if we're going ahead
25278         with the refcount hack.
25279
25280 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25281
25282         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
25283         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
25284           more leaks plumbed, added more debug-logging
25285         * gst/gstmacros.h:
25286           whitespace fix
25287
25288 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25289
25290         * gst/gstmessage.c:
25291           remove include of gstmemchunk.h
25292
25293 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25294
25295         * gst/gstclock.c: (_gst_clock_id_free):
25296           Commit from the Political Party For More Atomic CVS Commits,
25297           so that people don't waste too much of their day fishing
25298           out obvious leaks out of massive commits.
25299           Oh, and fix a pretty damn obvious leak in the memchunk
25300           removal code.
25301
25302 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25303
25304         * check/Makefile.am:
25305         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
25306           plug mem-leak, re-add to valgrindable tests
25307
25308 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25309
25310         * gst/gstplugin.h:
25311           unbreak the build for those who have chronic arthritis
25312           and typing "make check" is just too taxing on the hands
25313
25314 2005-09-20  Andy Wingo  <wingo@pobox.com>
25315
25316         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
25317         really want it out, you should fix plugins at the same time.
25318
25319 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
25320
25321         * configure.ac:
25322         * docs/gst/gstreamer-sections.txt:
25323         * gst/gstobject.c:
25324           added missing symbols to api docs
25325           disable ref-count hack if we have glib >= 2.8
25326
25327 2005-09-19  David Schleef  <ds@schleef.org>
25328
25329         * docs/gst/Makefile.am: Ignore a few more internal headers
25330         * docs/gst/gstreamer-docs.sgml: Remove old sections
25331         * docs/gst/gstreamer-sections.txt: Remove old sections
25332         * docs/gst/tmpl/gstobject.sgml: update
25333         * docs/gst/tmpl/gstplugin.sgml: update
25334         * docs/gst/tmpl/gstpluginfeature.sgml: update
25335         * docs/random/ds/0.9-suggested-changes: update.
25336         * gst/Makefile.am: remove memchunk and trashstack, since they're
25337           not used.
25338         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
25339         * gst/gst.h: don't include some headers
25340         * gst/gstchildproxy.c: add gstmarshal.h
25341         * gst/gstclock.c: Don't use memchunks
25342         * gst/gstminiobject.c: Add some docs
25343         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
25344         * gst/gstobject.h: same
25345         * gst/gstplugin.c: include gstmacros.h
25346         * gst/gstplugin.h: don't include gstmacros.h, since it's private
25347         * gst/gstquery.c: don't use memchunks
25348         * gst/gstregistry.c: rename gst_registry_deinit()
25349         * gst/gstregistry.h: same
25350
25351 2005-09-19  David Schleef  <ds@schleef.org>
25352
25353         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
25354         * docs/libs/gstreamer-libs-sections.txt:
25355         * docs/libs/tmpl/gstgetbits.sgml:
25356         * docs/libs/tmpl/gstputbits.sgml:
25357
25358 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
25359
25360         * win32/gstenumtypes.c:
25361         * win32/gstenumtypes.h:
25362           Update.
25363
25364 2005-09-19  Wim Taymans  <wim@fluendo.com>
25365
25366         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
25367         Automatically PAUSE and RESUME a pipeline when a flushing seek
25368         is performed.
25369
25370 2005-09-19  Andy Wingo  <wingo@pobox.com>
25371
25372         * gst/gstregistry.h: Spacing fixen.
25373
25374 2005-09-19  Wim Taymans  <wim@fluendo.com>
25375
25376         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
25377         Handle state change failure more correctly.
25378
25379 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25380
25381         * check/Makefile.am:
25382         * check/pipelines/cleanup.c: (run_pipeline):
25383         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25384         (GST_START_TEST):
25385           enable cleanup again after fixing the leak
25386         * docs/README:
25387           some more info on docs
25388
25389 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25390
25391         * check/Makefile.am:
25392           re-enable tests now that leaks are plugged
25393         * check/gst/gst.c:
25394         * check/gst/gstbin.c:
25395         * check/gst/gstpipeline.c:
25396           add some more tests while fixing leaks
25397         * common/check.mak:
25398           make sure binaries are uptodate when valgrinding/gdbing
25399         * gst/gst.c:
25400         * gst/gstelementfactory.c:
25401           remove a ref too many, and add a FIXME for when we get
25402           round to disposing of classes
25403         * gst/gstplugin.c:
25404           fix the refcounting when loading a plugin from a file and
25405           the code pretends that the pointer is the same even though
25406           of course it can change
25407         * gst/gstpluginfeature.c:
25408           unref plugins marked cached (a bit confusing as a name)
25409           as the docs state should be done
25410           various doc additions to explain refcounting
25411         * gst/gstregistry.c:
25412         * gst/gstregistryxml.c:
25413           debugging
25414
25415 2005-09-19  Wim Taymans  <wim@fluendo.com>
25416
25417         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
25418         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
25419         (send_messages), (GST_START_TEST), (gstbus_suite):
25420         * check/gst/gstpipeline.c: (GST_START_TEST):
25421         * check/pipelines/cleanup.c: (run_pipeline):
25422         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25423         (GST_START_TEST):
25424         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
25425         (gst_bus_source_check), (gst_bus_source_dispatch),
25426         (gst_bus_create_watch), (gst_bus_add_watch_full),
25427         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
25428         * gst/gstbus.h:
25429         * tools/gst-launch.c: (event_loop):
25430         * tools/gst-md5sum.c: (event_loop):
25431         GstBusHandler -> GstBusFunc, return value has the same meaning as
25432         any other GSource (FALSE == remove source).
25433         _add_watch() and _add_watch_full() now take a MessageType mask to
25434         only handle specific types of messages.
25435         _poll() returns the GstMessage instead of the message type to avoid
25436         race conditions.
25437         _have_pending() takes a MessageType mask now too.
25438         Added testsuite for multiple bus watches.
25439         Fix testsuites and applications for new bus API.
25440
25441 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25442
25443         * check/Makefile.am:
25444           mark a bunch of the tests as to fix until we fix them
25445
25446 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25447
25448         * common/check.mak:
25449           use GST_PLUGIN settings for valgrind tests as well, so we're
25450           valgrinding the correct thing
25451         * gst/gst.c: (init_post):
25452           plug another leak
25453
25454 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25455
25456         * gst/gst.c: (init_post), (gst_deinit):
25457         * gst/gstelementfactory.c: (gst_element_factory_class_init),
25458         (gst_element_factory_finalize), (gst_element_factory_cleanup):
25459         * gst/gstindex.c: (gst_index_factory_class_init),
25460         (gst_index_factory_finalize):
25461         * gst/gstobject.c: (gst_object_dispose):
25462         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
25463         (gst_plugin_load_file), (gst_plugin_desc_free):
25464         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
25465         (gst_plugin_feature_finalize):
25466         * gst/gstregistry.c: (gst_registry_class_init),
25467         (gst_registry_init), (gst_registry_finalize),
25468         (gst_registry_get_default), (gst_registry_deinit):
25469         * gst/gstregistry.h:
25470         * gst/gstregistryxml.c: (load_feature), (load_plugin):
25471           various cleanups and memleak plugging.  make valgrind is happy now.
25472
25473 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25474
25475         * common/check.mak:
25476           add a check-valgrind target
25477
25478 2005-09-18  David Schleef  <ds@schleef.org>
25479
25480         * tools/gst-inspect.c: Revert the GOption code.
25481
25482 2005-09-17  David Schleef  <ds@schleef.org>
25483
25484         * check/Makefile.am: Fix environment variables.
25485         * check/gst/gstplugin.c: Fix for API changes.
25486         * tools/gst-inspect.c: Fix for API changes.
25487         * tools/gst-xmlinspect.c: Fix for API changes.
25488         * gst/gstelementfactory.c:
25489         * gst/gstplugin.c:
25490         * gst/gstplugin.h:
25491         * gst/gstpluginfeature.c:
25492         * gst/gstpluginfeature.h:
25493         * gst/gstregistry.c:
25494         * gst/gstregistry.h:
25495         * gst/gstregistryxml.c:
25496         * gst/gsttypefind.c:
25497         * gst/gsttypefindfactory.c:
25498         * gst/indexers/gstfileindex.c:
25499         * gst/indexers/gstmemindex.c:
25500         * gst/schedulers/Makefile.am:
25501           Change registry to keep track of both plugins and features,
25502           removing the feature tracking from plugins themselves.
25503
25504 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
25505
25506         * check/Makefile.am:
25507         * tools/gst-register.1.in:
25508           remove gst-register
25509
25510 2005-09-15  David Schleef  <ds@schleef.org>
25511
25512         * check/gst/gstplugin.c:
25513         * gst/gstelementfactory.c:
25514         * gst/gstplugin.c:
25515         * gst/gstpluginfeature.c:
25516         * gst/gstregistry.c:
25517           Getting tired of debugging.  Disabled all the unreffing of
25518           plugins and features, which fixes the segfaults, but of
25519           course leaks like crazy.  At least playbin works.
25520
25521 2005-09-15  David Schleef  <ds@schleef.org>
25522
25523         * check/gst/gstplugin.c: (register_check_elements),
25524         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
25525         More testing
25526         * gst/elements/gsttypefindelement.c: Fix refcounting.
25527         * gst/gsttypefind.c:
25528         * gst/gsttypefindfactory.c:
25529         * gst/gsttypefindfactory.h:
25530
25531 2005-09-15  David Schleef  <ds@schleef.org>
25532
25533         * gst/gstindex.c: get refcounting correct.
25534         * gst/gstregistry.c: Handle the case where a feature/plugin is
25535           not found.
25536
25537 2005-09-15  David Schleef  <ds@schleef.org>
25538
25539         * check/Makefile.am:
25540         * check/gst/gstplugin.c: Add test
25541         * gst/gstplugin.c: Fix problems noticed by testsuite
25542         * gst/gstplugin.h:
25543         * gst/gstregistry.c: 
25544         * gst/gstregistry.h:
25545
25546 2005-09-15  David Schleef  <ds@schleef.org>
25547
25548         * gst/gstplugin.c: Implement semi-decent recounting and locking
25549           in plugins and plugin features.
25550         * gst/gstplugin.h:
25551         * gst/gstpluginfeature.c:
25552         * gst/gstpluginfeature.h:
25553         * gst/gstregistry.c:
25554
25555 2005-09-15  Michael Smith <msmith@fluendo.com>
25556
25557         * gst/gstregistry.c: (gst_registry_get_feature_list):
25558           Implement this. Makes oggdemux work; decodebin still broken.
25559
25560 2005-09-14  David Schleef  <ds@schleef.org>
25561
25562         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25563           #316076)
25564         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25565         * gst/check/Makefile.am:
25566         * libs/gst/controller/Makefile.am:
25567         * libs/gst/dataprotocol/Makefile.am:
25568
25569 2005-09-14  David Schleef  <ds@schleef.org>
25570
25571         * configure.ac: Remove getbits library.  Nothing uses it, and
25572           it should be in something like liboil if someone did want
25573           to use it.
25574         * libs/gst/Makefile.am:
25575         * libs/gst/getbits/Makefile.am:
25576         * libs/gst/getbits/gbtest.c:
25577         * libs/gst/getbits/getbits.c:
25578         * libs/gst/getbits/getbits.h:
25579         * libs/gst/getbits/gstgetbits_generic.c:
25580         * libs/gst/getbits/gstgetbits_i386.s:
25581         * libs/gst/getbits/gstgetbits_inl.h:
25582
25583 2005-09-14  David Schleef  <ds@schleef.org>
25584
25585         * gst/Makefile.am: Dist glib-compat.h
25586
25587 2005-09-14  David Schleef  <ds@schleef.org>
25588
25589         * configure.ac: Remove gst/registries, since it's no longer used.
25590         * gst/registries/Makefile.am:
25591         * gst/registries/gstlibxmlregistry.c:
25592         * gst/registries/gstlibxmlregistry.h:
25593         * gst/registries/gstxmlregistry.c:
25594         * gst/registries/gstxmlregistry.h:
25595         * gst/registries/registrytest.c:
25596
25597 2005-09-14  David Schleef  <ds@schleef.org>
25598
25599         * gst/glib-compat.h:
25600         * gst/gstregistryxml.c:
25601           Convergence is near.  Seriously.
25602
25603 2005-09-14  David Schleef  <ds@schleef.org>
25604
25605         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25606         * gst/glib-compat.h:
25607           Attempt #4 to appease the buildbots.
25608
25609 2005-09-14  David Schleef  <ds@schleef.org>
25610
25611         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25612           Attempt #3.
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         Attempt #2.
25618
25619 2005-09-14  David Schleef  <ds@schleef.org>
25620
25621         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25622           the new functions.
25623
25624 2005-09-14  David Schleef  <ds@schleef.org>
25625
25626         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25627         * gst/glib-compat.h: Add some functions that are in newer versions
25628           of glib than we care to require.
25629         * gst/gstregistryxml.c: Use them.
25630
25631 2005-09-14  David Schleef  <ds@schleef.org>
25632
25633         * po/POTFILES.in: remove gst-register.c
25634
25635 2005-09-14  David Schleef  <ds@schleef.org>
25636
25637         * docs/gst/gstreamer-docs.sgml:
25638         * docs/gst/gstreamer-sections.txt:
25639         * docs/gst/gstreamer.types:
25640         * docs/gst/tmpl/gstelement.sgml:
25641         * docs/gst/tmpl/gstplugin.sgml:
25642         * docs/gst/tmpl/gstpluginfeature.sgml:
25643           Documentation updates for registry changes.
25644
25645 2005-09-14  David Schleef  <ds@schleef.org>
25646
25647         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25648           because we don't require glib-2.8.
25649
25650 2005-09-14  David Schleef  <ds@schleef.org>
25651
25652         * gst/gstregistryxml.c: Added.  Essentially moved out of the
25653           registries directory.
25654
25655 2005-09-14  David Schleef  <ds@schleef.org>
25656
25657         * check/Makefile.am:
25658         * check/generic/states.c:
25659         * gst/Makefile.am:
25660         * gst/gst.c:
25661         * gst/gst.h:
25662         * gst/gst_private.h:
25663         * gst/gstelementfactory.c:
25664         * gst/gstindex.c:
25665         * gst/gstinfo.c:
25666         * gst/gstplugin.c:
25667         * gst/gstplugin.h:
25668         * gst/gstpluginfeature.c:
25669         * gst/gstpluginfeature.h:
25670         * gst/gstregistry.c:
25671         * gst/gstregistry.h:
25672         * gst/gstregistrypool.c: remove
25673         * gst/gstregistrypool.h: remove
25674         * gst/gsttypefind.c:
25675         * gst/gsttypefindfactory.c:
25676         * gst/gsturi.c:
25677         * tools/Makefile.am:
25678         * tools/gst-compprep.c:
25679         * tools/gst-inspect.c:
25680         * tools/gst-register.c: remove
25681         * tools/gst-xmlinspect.c:
25682           Registry rewrite.  Changes registry from being a file created
25683           by a tool into a simple cache file created automatically by 
25684           libgstreamer.  Removed gst-register (because it's no longer
25685           needed).  Remove registry pools, because we only have one
25686           registry implementation (XML).  Fix up other subsystems as
25687           necessary.
25688
25689 2005-09-13  Michael Smith <msmith@fluendo.com>
25690
25691         * gst/gstconfig.h.in:
25692           Don't Use windows linking attributes for MinGW. Fixes #316157
25693
25694 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
25695
25696         * gst/gstutils.c: (set_state_async_thread_func),
25697         (gst_element_set_state_async):
25698           Apparently people think it's better if this function doesn't
25699           try to set the state to whatever state was asked for on the first
25700           call to this function for any object.  Seriously.
25701
25702 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25703
25704         * check/gst/gstpipeline.c: (GST_START_TEST):
25705         * docs/gst/gstreamer-sections.txt:
25706         * gst/gstutils.c: (set_state_async_thread_func),
25707         (gst_element_set_state_async):
25708         * gst/gstutils.h:
25709           add a "gst_element_set_state_async" method that
25710           sets the state and starts a thread to make sure the state
25711           change completes as best as it can
25712
25713 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25714
25715         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25716           codify design+behaviour in testsuite after discussion
25717
25718 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25719
25720         * docs/gst/tmpl/gstelement.sgml:
25721         * docs/manual/appendix-quotes.xml:
25722           add a quote
25723         * gst/gstelement.c: (gst_element_set_state):
25724           add some debug
25725
25726 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
25727
25728         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25729         (gst_base_transform_prepare_output_buf),
25730         (gst_base_transform_handle_buffer):
25731         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25732         (gst_capsfilter_prepare_buf):
25733           Remove the requirement for sub-classes to call the parent
25734           implementation of prepare_output_buffer with a wrapper function.
25735           
25736         * gst/gsttaglist.h:
25737         * gst/gsttagsetter.h:
25738           Fix #define wrapper
25739
25740 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
25741
25742         * docs/gst/gstreamer-sections.txt:
25743           more doc cleanups
25744
25745 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25746
25747         * docs/gst/gstreamer-sections.txt:
25748         * docs/gst/tmpl/gstelement.sgml:
25749         * docs/gst/tmpl/gstplugin.sgml:
25750         * gst/gstminiobject.c:
25751         * gst/gstvalue.h:
25752           docs now stop throwing warnings
25753
25754 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25755
25756         * docs/gst/gstreamer-sections.txt:
25757         * docs/gst/gstreamer.types:
25758         * docs/gst/tmpl/gstpad.sgml:
25759         * docs/gst/tmpl/gsttypes.sgml:
25760         * gst/base/gstadapter.h:
25761         * gst/base/gstbasesink.h:
25762         * gst/base/gstbasesrc.h:
25763         * gst/gstbin.h:
25764         * gst/gstbuffer.h:
25765         * gst/gstbus.h:
25766         * gst/gstcaps.h:
25767         * gst/gstclock.h:
25768         * gst/gstelement.h:
25769         * gst/gstevent.h:
25770         * gst/gstmessage.h:
25771         * gst/gstpad.h:
25772         * gst/gststructure.c:
25773         * gst/registries/gstlibxmlregistry.h:
25774           various documentation fixes
25775
25776 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25777
25778         * docs/gst/gstreamer-sections.txt:
25779         * docs/gst/tmpl/gstvalue.sgml:
25780           rearrange gstvalue section
25781         * gst/gstutils.c: (gst_element_state_get_name):
25782           NONE -> VOID
25783         * gst/gstvalue.c: (_gst_value_initialize):
25784         * gst/gstvalue.h:
25785           doc updates
25786
25787 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
25788
25789         * check/gst-libs/controller.c:
25790           Header include fix.
25791         * gst/base/gstbasetransform.c:
25792         (gst_base_transform_default_prepare_buf),
25793         (gst_base_transform_handle_buffer):
25794         * gst/base/gstbasetransform.h:
25795           Some more basetransform changes and fixes to enable sub-classes
25796           that modify buffer metadata only.
25797         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25798         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25799         (gst_capsfilter_prepare_buf):
25800           If the output pad has fixed allowed caps and input buffers 
25801           don't have any, set the fixed caps on outgoing buffers.
25802
25803 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
25804         * check/elements/identity.c: (GST_START_TEST):
25805           Make the error a little clearer when the test fails because
25806           identity made a copy of the buffer.
25807         * docs/gst/gstreamer-sections.txt:
25808           New symbols in gstbasetransform.h
25809         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25810         (gst_base_transform_init), (gst_base_transform_transform_size),
25811         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25812         (gst_base_transform_default_prepare_buf),
25813         (gst_base_transform_get_unit_size),
25814         (gst_base_transform_buffer_alloc),
25815         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25816         (gst_base_transform_change_state),
25817         (gst_base_transform_set_passthrough),
25818         (gst_base_transform_set_in_place),
25819         (gst_base_transform_is_in_place):
25820         * gst/base/gstbasetransform.h:
25821           Change BaseTransform to separate in_place operate from same_caps
25822           output. in_place implies that the element can perform the transform
25823           on incoming buffers in-place, even if the caps on the output are
25824           different.
25825           Sub-class elements can now implement special buffer allocation
25826           methods for outgoing buffers if they wish to.
25827           Big documentation addition.
25828         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25829         * gst/elements/gstelements.c:
25830           Changes for basetransform modifications.
25831         * gst/elements/Makefile.am:
25832         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25833           Compile fix. Extra debug output.
25834
25835 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25836
25837         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25838         (gst_pad_suite):
25839           add tests for valid pad naming
25840         * gst/check/gstcheck.c: (gst_check_log_message_func),
25841         (gst_check_log_critical_func):
25842           add ASSERT_WARNING
25843           remove printing of code, it is fragile when the code contains
25844           % and the line number is enough info
25845         * gst/check/gstcheck.h:
25846         * gst/gstpad.c: (gst_pad_template_new):
25847           fix memleaks
25848
25849 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25850
25851         * configure.ac:
25852           say what CHECK flags we use
25853         * docs/libs/gstreamer-libs.types:
25854         * libs/gst/controller/Makefile.am:
25855         * libs/gst/controller/gst-controller.c:
25856         * libs/gst/controller/gst-controller.h:
25857         * libs/gst/controller/gst-helper.c:
25858         * libs/gst/controller/gst-interpolation.c:
25859         * libs/gst/controller/gstcontroller.c:
25860         * libs/gst/controller/gsthelper.c:
25861         * libs/gst/controller/gstinterpolation.c:
25862         * tools/gst-inspect.c: (print_plugin_info):
25863           we don't use dashes in header names
25864
25865 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25866
25867         * check/Makefile.am:
25868         * check/gst/.cvsignore:
25869         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25870         (gst_pipeline_suite), (main):
25871           adding a test for pipelines and state changes
25872         * gst/gstutils.c: (get_state_func):
25873           add some debugging
25874         * gstreamer.spec.in:
25875           fix up spec file
25876
25877 2005-09-08  Michael Smith <msmith@fluendo.com>
25878
25879         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25880         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25881         (gst_file_src_is_seekable), (gst_file_src_get_size),
25882         (gst_file_src_start):
25883         * gst/elements/gstfilesrc.h:
25884           Various fixes for unseekable, unmmapable, and non-normal files, so
25885           that fallback to read() rather than mmap() works.
25886         * gst/gstevent.c: (gst_event_new_newsegment):
25887           Allow newsegment events with segment_start == segment_end, as will
25888           correctly happen if you use filesrc on a zero-size file, for
25889           example.
25890
25891 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25892
25893         * gst/gstplugin.c: (gst_plugin_load_file):
25894           Call g_module_close when we don't load the module
25895
25896         * gst/registries/gstlibxmlregistry.c:
25897         (gst_xml_registry_get_property):
25898           Port leak fix from 0.8
25899
25900 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25901
25902         * docs/gst/gstreamer-docs.sgml:
25903         * docs/gst/tmpl/.cvsignore:
25904         * docs/gst/tmpl/gsttrace.sgml:
25905         * docs/gst/tmpl/gsttrashstack.sgml:
25906         * gst/Makefile.am:
25907         * gst/gst.h:
25908         * gst/gstelement.h:
25909         * gst/gstevent.h:
25910         * gst/gstmessage.c:
25911         * gst/gstmessage.h:
25912         * gst/gsttag.c:
25913         * gst/gsttag.h:
25914         * gst/gsttaginterface.c:
25915         * gst/gsttaginterface.h:
25916         * gst/gsttaglist.c:
25917         * gst/gsttaglist.h:
25918         * gst/gsttagsetter.c:
25919         * gst/gsttagsetter.h:
25920         * gst/gsttrace.c:
25921         * gst/gsttrace.h:
25922         * gst/gsttrashstack.c:
25923           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25924           inlined docs for gsttrace, gsttrashstack
25925
25926 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25927
25928         * gst/Makefile.am:
25929         * gst/elements/gstbufferstore.h:
25930         * gst/elements/gsttypefindelement.c:
25931         * gst/elements/gsttypefindelement.h:
25932         * gst/gst.h:
25933         * gst/gsttypefind.c:
25934         * gst/gsttypefind.h:
25935         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25936         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25937         (gst_type_find_factory_dispose),
25938         (gst_type_find_factory_unload_thyself),
25939         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25940         (gst_type_find_factory_get_caps),
25941         (gst_type_find_factory_get_extensions),
25942         (gst_type_find_factory_call_function):
25943         * gst/gsttypefindfactory.h:
25944         * gst/registries/gstlibxmlregistry.c:
25945         * gst/registries/gstxmlregistry.c:
25946           splitted gsttypefind into gsttypefind, gsttypefindfactory
25947
25948 2005-09-07  Andy Wingo  <wingo@pobox.com>
25949
25950         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25951         condition whereby the pad's task function is entered before the
25952         pad_mode variable was set.
25953
25954 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25955
25956         * gst/gstpad.c: (gst_pad_alloc_buffer):
25957           Catch misbehaving pad_alloc functions that don't
25958           set up caps and do it for them.
25959
25960 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25961
25962         * check/pipelines/simple_launch_lines.c: (run_pipeline):
25963           test for pipe!=NULL
25964         * docs/gst/tmpl/.cvsignore:
25965         * docs/gst/tmpl/gstmemchunk.sgml:
25966         * docs/gst/tmpl/gstparse.sgml:
25967         * docs/gst/tmpl/gsttaglist.sgml:
25968         * docs/gst/tmpl/gsttagsetter.sgml:
25969         * docs/gst/tmpl/gsttypefind.sgml:
25970         * docs/gst/tmpl/gsttypefindfactory.sgml:
25971         * gst/gstmemchunk.c:
25972         * gst/gstparse.c:
25973         * gst/gsttag.c:
25974         * gst/gsttaginterface.c:
25975         * gst/gsttypefind.c:
25976         * gst/gsttypefind.h:
25977           inlined more docs
25978
25979 === release 0.9.2 ===
25980
25981 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
25982
25983         * NEWS:
25984         * RELEASE:
25985         * configure.ac:
25986           releasing 0.9.2, "South"
25987
25988 2005-09-05  Andy Wingo  <wingo@pobox.com>
25989
25990         * gst/registries/gstxmlregistry.h:
25991         * gst/registries/gstxmlregistry.c: Um... resurrect...
25992         
25993         * gst/registries/gstxmlregistry.h:
25994         * gst/registries/gstxmlregistry.c: and update to newer API.
25995         Incidentally they should be a bit faster now that they don't have
25996         to parse the caps.
25997         
25998 2005-09-05  Andy Wingo  <wingo@pobox.com>
25999
26000         * gst/registries/gstxmlregistry.h:
26001         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
26002         replaced by the libxml registry a while back
26003
26004 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
26005
26006         * docs/gst/tmpl/gstplugin.sgml:
26007         * gst/elements/gstelements.c:
26008         * gst/gst.c:
26009         * gst/gstplugin.c: (gst_plugin_register_func),
26010         (gst_plugin_desc_copy), (gst_plugin_desc_free),
26011         (gst_plugin_get_source):
26012         * gst/gstplugin.h:
26013         * gst/registries/gstlibxmlregistry.c: (load_plugin),
26014         (gst_xml_registry_save_plugin):
26015         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
26016         (gst_xml_registry_save_plugin):
26017         * tools/gst-inspect.c: (print_plugin_info):
26018           add a "source" plugin description field, to represent the source
26019           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
26020           will set it to PACKAGE, which is automake's idea of the name of
26021           the source project.
26022
26023 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
26024
26025         * Makefile.am:
26026         * autogen.sh:
26027         * configure.ac:
26028         * docs/Makefile.am:
26029         * docs/faq/Makefile.am:
26030         * docs/gst/tmpl/gstelement.sgml:
26031         * docs/gst/tmpl/gsttypes.sgml:
26032         * docs/htmlinstall.mak:
26033         * docs/manual/Makefile.am:
26034         * docs/pwg/Makefile.am:
26035           reorganize doc build a little
26036           split out docbook and gtk-doc stuff
26037           have two separate --enable's and enable them through autogen
26038           but disable by default in configure (to be similar to other
26039           projects)
26040         * gstreamer.spec.in:
26041           clean up docs install
26042         * po/af.po:
26043         * po/az.po:
26044         * po/ca.po:
26045         * po/cs.po:
26046         * po/de.po:
26047         * po/en_GB.po:
26048         * po/fr.po:
26049         * po/it.po:
26050         * po/nb.po:
26051         * po/nl.po:
26052         * po/ru.po:
26053         * po/sq.po:
26054         * po/sr.po:
26055         * po/sv.po:
26056         * po/tr.po:
26057         * po/uk.po:
26058         * po/vi.po:
26059           translation updates
26060
26061 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
26062
26063         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
26064           Add comment.
26065           
26066         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
26067         (gst_fake_sink_change_state):
26068           Make state change function thread-safe.
26069           
26070         * gst/gstpad.c: (gst_pad_alloc_buffer):
26071           Set offset on generic buffer allocated by fallback.
26072
26073 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
26074
26075         * docs/gst/gstreamer-sections.txt:
26076         * docs/gst/tmpl/gstelement.sgml:
26077         * gst/gstpad.c:
26078         * libs/gst/controller/gst-controller.c:
26079         (gst_controlled_property_set_interpolation_mode),
26080         (gst_controlled_property_new),
26081         (gst_controller_find_controlled_property):
26082          run the wingo-magic script against the docs
26083
26084 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
26085
26086         * docs/gst/gstreamer-docs.sgml:
26087         * docs/gst/gstreamer-sections.txt:
26088         * docs/gst/tmpl/.cvsignore:
26089         * docs/gst/tmpl/gstelementdetails.sgml:
26090         * docs/gst/tmpl/gstelementfactory.sgml:
26091         * gst/gst.c:
26092         * gst/gstbus.c:
26093         * gst/gstelementfactory.c:
26094         * gst/gstelementfactory.h:
26095           merged elementdetails docs into elementfactory docs
26096           inlined both
26097
26098 2005-09-02  Andy Wingo  <wingo@pobox.com>
26099
26100         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
26101         consider this enum an enum and not a flags.
26102
26103 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
26104
26105         * docs/gst/gstreamer-docs.sgml:
26106         * docs/gst/tmpl/.cvsignore:
26107         * docs/gst/tmpl/gstghostpad.sgml:
26108         * docs/gst/tmpl/gstiterator.sgml:
26109         * docs/gst/tmpl/gstmacros.sgml:
26110         * docs/gst/tmpl/gstrealpad.sgml:
26111         * docs/gst/tmpl/gstregistry.sgml:
26112         * docs/gst/tmpl/gstregistrypool.sgml:
26113         * docs/gst/tmpl/gststructure.sgml:
26114         * docs/gst/tmpl/gstsystemclock.sgml:
26115         * docs/gst/tmpl/gsttrace.sgml:
26116         * gst/gstghostpad.c:
26117         * gst/gstmacros.h:
26118         * gst/gstmemchunk.c:
26119         * gst/gstmemchunk.h:
26120         * gst/gstqueue.c:
26121         * gst/gstregistry.c:
26122         * gst/gstregistrypool.c:
26123         * gst/gststructure.c:
26124         * gst/gstsystemclock.c:
26125           more docs inlined
26126
26127 2005-09-02  Andy Wingo  <wingo@pobox.com>
26128
26129         * gst/gstelement.h (GstState): Renamed from GstElementState,
26130         changed to be a normal enum instead of flags.
26131         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
26132         munged to be GST_STATE_CHANGE_*.
26133         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
26134         work with the new state representation.
26135         (GstStateChange): New enumeration of possible state transitions.
26136         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
26137         (GstElementClass::change_state): Pass the GstStateChange along as
26138         an argument. Helps language bindings, so they don't have to use
26139         tricky lock-needing macros like GST_STATE_CHANGE ().
26140
26141         * scripts/update-states (file): New script. Run it on a file to
26142         update it for state naming and API changes. Updates files in
26143         place.
26144
26145         * All files updated for the new API.
26146
26147 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
26148
26149         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
26150         * gst/gstutils.c: (gst_util_set_value_from_string),
26151         (gst_util_set_object_arg):
26152           fix a bunch of unchecked return values
26153         * tools/gst-complete.c: (main):
26154         * gstreamer.spec.in:
26155           clean up a little
26156
26157 2005-09-01  Wim Taymans  <wim@fluendo.com>
26158
26159         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26160         (gst_base_sink_event), (gst_base_sink_do_sync),
26161         (gst_base_sink_handle_event):
26162         * gst/base/gstbasesink.h:
26163         Handle newsegments more correctly.
26164
26165         * gst/gstbus.c:
26166         Fix docs.
26167
26168         * gst/gstevent.c: (gst_event_new_newsegment):
26169         A newsegment cannot have a start_time of -1
26170
26171 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
26172
26173         * win32/gstenumtypes.c:
26174         * win32/gstenumtypes.h:
26175           Update
26176
26177 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
26178
26179         * libs/gst/controller/gst-controller.c:
26180         (gst_controlled_property_set_interpolation_mode),
26181         (gst_controlled_property_new):
26182          fixed boolean again
26183
26184 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
26185
26186         * docs/faq/gst-uninstalled:
26187           add -good
26188         * gst/gstevent.c:
26189         * gst/gstevent.h:
26190           remove wrong docs
26191         * gst/gstutils.c: (gst_element_link_filtered):
26192         * gst/gstutils.h:
26193           add gst_element_link_filtered
26194
26195 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
26196
26197         * docs/gst/gstreamer-docs.sgml:
26198         * docs/gst/gstreamer-sections.txt:
26199         * docs/gst/tmpl/.cvsignore:
26200         * docs/gst/tmpl/gsterror.sgml:
26201         * docs/gst/tmpl/gstfilter.sgml:
26202         * docs/gst/tmpl/gsturihandler.sgml:
26203         * docs/gst/tmpl/gsturitype.sgml:
26204         * docs/gst/tmpl/gstutils.sgml:
26205         * docs/gst/tmpl/gstxml.sgml:
26206         * gst/gsterror.c:
26207         * gst/gsterror.h:
26208         * gst/gstfilter.c:
26209         * gst/gsturi.c:
26210         * gst/gsturitype.c:
26211         * gst/gstutils.c:
26212         * gst/gstxml.c:
26213           inlined more docs, fixed double id-ref
26214
26215 2005-08-31  Wim Taymans  <wim@fluendo.com>
26216
26217         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
26218         (gst_base_transform_handle_buffer):
26219         Passthrough elements don't need the caps as they don't care.
26220
26221 2005-08-31  Wim Taymans  <wim@fluendo.com>
26222
26223         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
26224         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
26225         Don't leak refcounts on buffers.
26226
26227 2005-08-31  Wim Taymans  <wim@fluendo.com>
26228
26229         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
26230         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
26231         (gst_base_transform_chain), (gst_base_transform_change_state):
26232         * gst/base/gstbasetransform.h:
26233         Handle the case where we are not negotiated more gracefully.
26234
26235 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
26236
26237         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
26238         (gst_file_src_map_region):
26239           Set READONLY flag on mmap'ed buffers, otherwise
26240           gst_buffer_make_writable() won't work properly (#314708).
26241
26242 2005-08-31  Wim Taymans  <wim@fluendo.com>
26243
26244         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
26245         passthrough elements can even do inplace on non writable
26246         buffers (as they don't touch them).
26247
26248 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
26249
26250         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
26251         (gst_test_mono_source_set_property),
26252         (gst_test_mono_source_class_init), (GST_START_TEST),
26253         (gst_controller_suite):
26254           more tests (hehe I have the most)
26255         * gst/gstbus.c:
26256           describe popping messages whenusing mulltiple sources
26257         * libs/gst/controller/gst-controller.c:
26258         (gst_controlled_property_set_interpolation_mode),
26259         (gst_controlled_property_new):
26260         * libs/gst/controller/gst-controller.h:
26261         * libs/gst/controller/gst-interpolation.c:
26262           implement boolean properties
26263
26264 2005-08-31  Wim Taymans  <wim@fluendo.com>
26265
26266         * gst/gstminiobject.c: (gst_mini_object_ref):
26267         Cannot assert that the refcount has to be positive
26268         since a disposed object can be resurrected.
26269
26270 2005-08-31  Wim Taymans  <wim@fluendo.com>
26271
26272         * gst/gstpad.c: (gst_pad_init):
26273         Revert change, need to first fix badly behaving 
26274         apps.
26275
26276 2005-08-30  Wim Taymans  <wim@fluendo.com>
26277
26278         * check/elements/fakesrc.c: (setup_fakesrc):
26279         * check/elements/identity.c: (setup_identity):
26280         Activate pads before using them.
26281
26282 2005-08-30  Wim Taymans  <wim@fluendo.com>
26283
26284         * gst/base/gstadapter.c: (gst_adapter_flush):
26285         Flushing out 0 bytes is ok for this function.
26286
26287         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26288         no newsegment gives a warning and sets the start/stop to 
26289         invalid.
26290
26291         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
26292         (gst_base_transform_set_passthrough):
26293         Some debug info.
26294
26295         * gst/gstminiobject.c: (gst_mini_object_ref):
26296         Check refcount here too.
26297
26298         * gst/gstpad.c: (gst_pad_init):
26299         Pads are initially flushing and refusing data.
26300
26301         * gst/gstutils.c: (gst_element_link_pads_filtered):
26302         When adding a capsfilter element make sure it has the
26303         same state as the parent bin.
26304
26305 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26306
26307         * docs/gst/tmpl/.cvsignore:
26308         * docs/gst/tmpl/gstformat.sgml:
26309         * docs/gst/tmpl/gstversion.sgml:
26310         * gst/gstbus.h:
26311         * gst/gstformat.c:
26312         * gst/gstformat.h:
26313         * gst/gstversion.h.in:
26314           more docs and two more inlined
26315
26316 2005-08-30  Wim Taymans  <wim@fluendo.com>
26317
26318         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
26319         Don't sync to clock.
26320
26321 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26322
26323         * docs/gst/gstreamer-sections.txt:
26324           ultral33t func10ns deserve to appear in the docs actually
26325         * docs/gst/tmpl/.cvsignore:
26326         * docs/gst/tmpl/gstcompat.sgml:
26327         * docs/gst/tmpl/gstconfig.sgml:
26328         * gst/check/gstcheck.c:
26329         * gst/gstcompat.h:
26330         * gst/gstconfig.h.in:
26331           inlined more docs
26332
26333 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26334
26335         * docs/gst/tmpl/.cvsignore:
26336         * docs/gst/tmpl/gstquery.sgml:
26337         * docs/gst/tmpl/gstutils.sgml:
26338         * gst/gstquery.c:
26339         * gst/gstquery.h:
26340           inlined and extended docs
26341
26342 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26343
26344         * check/gst-libs/controller.c: (GST_START_TEST),
26345         (gst_controller_suite):
26346           more tests
26347         * docs/gst/tmpl/gstutils.sgml:
26348         * docs/libs/gstreamer-libs-sections.txt:
26349         * docs/libs/tmpl/gstdataprotocol.sgml:
26350           include path fixes
26351         * examples/controller/audio-example.c: (main):
26352           controller example works now
26353         * gst/gstclock.h:
26354           doc fixes
26355         * tools/gst-inspect.c: (print_element_properties_info):
26356           show param spec flags
26357
26358 2005-08-29  Andy Wingo  <wingo@pobox.com>
26359
26360         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
26361
26362 2005-08-28  Andy Wingo  <wingo@pobox.com>
26363
26364         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
26365         as having two arguments instead of just one. Allows superclasses
26366         to access information on subclasses -- see the terrible for() loop
26367         in gtype.c:g_type_create_instance for the reason why. All callers
26368         changed.
26369
26370 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26371
26372         * docs/design/part-messages.txt:
26373           update info
26374         * docs/gst/tmpl/.cvsignore:
26375         * docs/gst/tmpl/gstcaps.sgml:
26376         * docs/gst/tmpl/gstclock.sgml:
26377         * gst/gstbus.c:
26378         * gst/gstcaps.c:
26379         * gst/gstcaps.h:
26380         * gst/gstclock.c:
26381         * gst/gstclock.h:
26382         * gst/gstmessage.c:
26383           added descriptions for bus and message
26384           inline caps and clock docs
26385
26386 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26387
26388         * gst/gstmessage.c:
26389         * gst/gstmessage.h:
26390           doc fixes
26391
26392 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26393
26394         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
26395           fix div-by-zero
26396
26397 2005-08-26  Andy Wingo  <wingo@pobox.com>
26398
26399         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
26400         element_set_state's return val.
26401         (test_2_elements): Add test that's been disabled for months.
26402
26403         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
26404         can-activate-pull properties.
26405
26406         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
26407         can-activate-pull properties. Implement is_seekable so fakesrc can
26408         operate in pull mode.
26409
26410         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
26411         properties.
26412         (gst_base_sink_activate, gst_base_sink_activate_pull)
26413         (gst_base_sink_activate_push): Make activation mode choosing work.
26414         Cleanups.
26415         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
26416         is right. Make pull mode work. Post an eos before pausing in pull
26417         mode.
26418         (gst_base_sink_change_state): Pay attention to the core's
26419         change_state() return val.
26420         
26421         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
26422         has-getrange properties. Cleanups.
26423         
26424         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
26425         has_getrange and replace with can_activate_pull and
26426         can_activate_push.
26427
26428         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
26429         locking comments. Remove has_loop, has_chain and replace with
26430         can_activate_pull and can_activate_push.
26431
26432 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
26433
26434         * configure.ac:
26435         * examples/Makefile.am:
26436         * examples/metadata/Makefile.am:
26437         * examples/metadata/read-metadata.c: (message_loop),
26438         (have_pad_handler), (make_pipeline), (print_tag), (main):
26439           Add metadata reading example that loops over a list of filenames,
26440           dumping any tags found.
26441
26442         * gst/gstbus.c: (gst_bus_dispose):
26443         * gst/gstelement.c: (gst_element_dispose):
26444           Release a few potentially-held references in dispose.
26445
26446 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26447
26448         * docs/gst/tmpl/gstminiobject.sgml:
26449           do *not* add tmpl/*.sgml files to CVS!
26450
26451 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26452
26453         * libs/gst/bytestream/.cvsignore:
26454         * libs/gst/bytestream/Makefile.am:
26455         * libs/gst/bytestream/adapter.c:
26456         * libs/gst/bytestream/adapter.h:
26457         * libs/gst/bytestream/bytestream.c:
26458         * libs/gst/bytestream/bytestream.h:
26459         * libs/gst/bytestream/filepad.c:
26460         * libs/gst/bytestream/filepad.h:
26461           removing obsolete files
26462
26463 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26464
26465         * docs/gst/gstreamer-docs.sgml:
26466         * docs/libs/gstreamer-libs-docs.sgml:
26467           disabed additional index entries again, as this makes docs-gen just
26468           slow and they aren't useful yet
26469         * docs/libs/gstreamer-libs-sections.txt:
26470           little -section.txt cleanup for libs
26471
26472 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
26473
26474         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26475         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
26476           fix up some debugging
26477         (gst_base_transform_get_unit_size),
26478         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26479         (gst_base_transform_handle_buffer):
26480         * gst/base/gstbasetransform.h:
26481           handle and store timed NEWSEGMENT events so that subclasses that
26482           calculate time by counting samples have a segment_start time they
26483           need to add to their timestamps - see audioresample
26484
26485 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26486
26487         * gst/gstbin.h:
26488           removed ';' from the end of macro defs
26489         * docs/gst/gstreamer-docs.sgml:
26490         * docs/gst/gstreamer-sections.txt:
26491         * docs/gst/tmpl/.cvsignore:
26492         * gst/gstbus.h:
26493         * gst/gstelement.c: (gst_element_class_init),
26494         (gst_element_set_state), (activate_pads),
26495         (gst_element_save_thyself):
26496         * gst/gstevent.c: (gst_event_new_newsegment):
26497         * gst/gstevent.h:
26498         * gst/gstiterator.c:
26499         * gst/gstiterator.h:
26500         * gst/gstpad.c:
26501         * gst/gstprobe.h:
26502         * gst/gstutils.c: (gst_pad_query_convert):
26503         * gst/gstutils.h:
26504           fixed parameter name mismatches between source, header and docs
26505           added some more docs, resolved the last batch of unused elements in
26506           docs (now someone needs to doc them)
26507
26508 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26509
26510         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
26511         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
26512           don't walk through the plugins backwards.  Where is all this
26513           reversed logic coming from ?
26514
26515 2005-08-25  Wim Taymans  <wim@fluendo.com>
26516
26517         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26518         (gst_base_transform_transform_size),
26519         (gst_base_transform_configure_caps),
26520         (gst_base_transform_get_unit_size),
26521         (gst_base_transform_buffer_alloc),
26522         (gst_base_transform_change_state):
26523         * gst/base/gstbasetransform.h:
26524         Cache caps unit_size.
26525         Make sure we cannot negotiate up and downstream at the
26526         same time.
26527
26528 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26529
26530         * gst/gst.c: (init_pre), (init_post):
26531           register the installed plugin path after the env var
26532         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26533         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
26534           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
26535           directories, so the tests can prefer uninstalled over installed
26536
26537 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26538
26539         * gst/base/gstbasetransform.h:
26540           comment
26541         * gst/gstpad.c:
26542           add to docs
26543
26544 2005-08-25  Wim Taymans  <wim@fluendo.com>
26545
26546         * gst/gstbin.c: (bin_bus_handler):
26547         Be a bit more conservative about the posted message.
26548         
26549         * gst/gstbus.c: (gst_bus_post):
26550         Some cleanups, warn wrong return values.
26551
26552 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
26553
26554         * check/gst/gstbin.c: (GST_START_TEST):
26555         * gst/gstbin.c: (bin_bus_handler):
26556         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26557         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26558         (gst_message_new_warning), (gst_message_new_tag),
26559         (gst_message_new_state_changed), (gst_message_new_segment_start),
26560         (gst_message_new_segment_done), (gst_message_new_custom):
26561         * gst/gstmessage.h:
26562         * tools/gst-launch.c: (event_loop):
26563         * tools/gst-md5sum.c: (event_loop):
26564           Revert unpopular change for GST_MESSAGE_SRC to GObject.
26565
26566 2005-08-25  Wim Taymans  <wim@fluendo.com>
26567
26568         * check/generic/states.c: (GST_START_TEST):
26569         Cleanup can be done at the end.
26570
26571         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26572         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26573         (gst_task_get_state), (gst_task_start), (gst_task_pause):
26574         Oh boy.. Thanks for finding this, Thomas. 
26575
26576 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26577
26578         * docs/gst/gstreamer.types:
26579           added missing types
26580
26581 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26582
26583         * docs/gst/gstreamer-docs.sgml:
26584         * docs/gst/gstreamer-sections.txt:
26585         * docs/gst/tmpl/.cvsignore:
26586         * gst/gstbin.c:
26587         * gst/gstiterator.c:
26588         * gst/gstutils.c:
26589         * gst/registries/gstxmlregistry.h:
26590           added missing classes and symbols (123 more to go)
26591           removed removed symbols from section file
26592           fixed many doc-comments
26593
26594 2005-08-24  Wim Taymans  <wim@fluendo.com>
26595
26596         * check/generic/states.c: (GST_START_TEST):
26597         Make sure all tasks are stopped.
26598
26599         * check/gst/gstbin.c: (GST_START_TEST):
26600         Unref after usage for proper valgrinding.
26601
26602         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26603         Really wait for the task to stop before destroying the
26604         mutex.
26605
26606         * gst/gstqueue.c: (gst_queue_sink_activate_push),
26607         (gst_queue_src_activate_push):
26608         Small cleanups. Don't stop the task when we did not start
26609         it.
26610
26611         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26612         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26613         (gst_task_get_state), (gst_task_start), (gst_task_pause),
26614         (gst_task_join):
26615         * gst/gsttask.h:
26616         Protect the stream lock with the object lock.
26617         Disallow setting the stream lock when running.
26618         Add cleanup_all to wait for the threadpool to finish.
26619         Remove code to autoallocate a mutex if none was provided.
26620         Add _join() to wait for a task to stop.
26621         Protect the thread pool with a global lock.
26622
26623 2005-08-24  Wim Taymans  <wim@fluendo.com>
26624
26625         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26626         (gst_base_sink_get_times), (gst_base_sink_do_sync),
26627         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26628         * gst/base/gstbasesink.h:
26629         Handle newsegment events correctly.
26630         Drop buffers out of the segment range.
26631
26632 2005-08-22  Andy Wingo  <wingo@pobox.com>
26633
26634         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26635         macro, implements an interface and gstimplementsinterface for a
26636         new type.
26637
26638 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26639
26640         * check/Makefile.am:
26641         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26642           add a test that does a bunch of state changes on elements
26643           needs some fixing for valgrind
26644         * check/states/sinks.c: (gst_object_suite):
26645           whitespace
26646         * gst/gstcaps.h:
26647           add prototype for gst_caps_is_equal_fixed
26648         * gst/gstplugin.c:
26649         * gst/gstregistrypool.c:
26650           doc fixes
26651
26652 2005-08-24  Andy Wingo  <wingo@pobox.com>
26653
26654         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26655         convert a negative value. Doesn't make much sense. Mostly this is
26656         here to force callers to ensure -1 maps to -1.
26657
26658 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26659
26660         * docs/pwg/advanced-types.xml:
26661           Well done to Michael for catching my deliberate introduction
26662           of this spelling mistake. 
26663         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26664         * gst/gstelement.h:
26665           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26666           unlink pads before removing the element from the bin.
26667
26668 2005-08-24  Andy Wingo  <wingo@pobox.com>
26669
26670         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26671         the same thing as GST_DEBUG=*:4.
26672         (parse_debug_level, parse_debug_category): New helper parsers.
26673
26674 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26675
26676         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26677         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26678         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26679         (gst_base_transform_buffer_alloc),
26680         (gst_base_transform_handle_buffer):
26681           use gboolean return values and pointers to size so we can use the
26682           full GST_BUFFER_SIZE range (guint) for buffer sizes
26683           use GstPadDirection for transform_caps
26684         * gst/base/gstbasetransform.h:
26685           rename get_size to get_unit_size since that's what it is
26686         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26687           use GstPadDirection for transform_caps
26688         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26689         * gst/gstutils.h:
26690           cleanup and debugging
26691
26692 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26693
26694         * gst/gstelement.c: (gst_element_class_init),
26695         (gst_element_set_state), (activate_pads),
26696         (gst_element_save_thyself):
26697         * tools/gst-compprep.c: (main):
26698         * tools/gst-inspect.c: (print_element_properties_info):
26699         * tools/gst-xmlinspect.c: (print_element_properties):
26700           Fixed long standing mem-leak
26701
26702 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26703
26704         * check/gst/gstbin.c: (GST_START_TEST):
26705         * gst/gstbin.c: (bin_bus_handler):
26706         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26707         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26708         (gst_message_new_warning), (gst_message_new_tag),
26709         (gst_message_new_state_changed), (gst_message_new_segment_start),
26710         (gst_message_new_segment_done), (gst_message_new_custom):
26711         * gst/gstmessage.h:
26712         * tools/gst-launch.c: (event_loop):
26713         * tools/gst-md5sum.c: (event_loop):
26714           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26715           that applications can sensibly post custom messages with references
26716           to their own objects.
26717
26718 2005-08-24  Andy Wingo  <wingo@pobox.com>
26719
26720         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26721         already.
26722
26723 2005-08-24  Wim Taymans  <wim@fluendo.com>
26724
26725         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26726         (gst_base_transform_transform_caps),
26727         (gst_base_transform_transform_size),
26728         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26729         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26730         (gst_base_transform_handle_buffer):
26731         * gst/base/gstbasetransform.h:
26732         Many fixes and new features added by Thomas. Can now also do
26733         transforms with variable sizes and a custom fixate_caps function.
26734
26735 2005-08-24  Wim Taymans  <wim@fluendo.com>
26736
26737         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26738         Some debugging.
26739
26740         * gst/gstclock.h:
26741         Cast to ClockTime before formatting to time.
26742
26743         * gst/gstutils.h:
26744         Cleanups.
26745
26746 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26747
26748         * check/gst-libs/controller.c: (GST_START_TEST),
26749         (gst_controller_suite):
26750         * docs/gst/tmpl/gstcaps.sgml:
26751         * docs/gst/tmpl/gstghostpad.sgml:
26752         * docs/gst/tmpl/gstquery.sgml:
26753         * docs/gst/tmpl/gstutils.sgml:
26754         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26755         (gst_object_sink_values), (gst_object_get_value_arrays),
26756         (gst_object_get_value_array):
26757           gracefully handle helper method calls to objects that are not beeing
26758           controlled, added test case for that          
26759
26760 2005-08-23  Wim Taymans  <wim@fluendo.com>
26761
26762         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26763         (gst_event_new_newsegment), (gst_event_parse_newsegment),
26764         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26765         (gst_event_parse_qos), (gst_event_new_seek),
26766         (gst_event_parse_seek):
26767         * gst/gstevent.h:
26768         Some more debugging output and doc cleanups.
26769
26770         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26771         Fix possible deadlock.
26772
26773 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26774
26775         * docs/gst/gstreamer-docs.sgml:
26776         * docs/gst/gstreamer-sections.txt:
26777         * docs/gst/gstreamer.types:
26778         * docs/gst/tmpl/.cvsignore:
26779         * gst/gstbin.h:
26780         * gst/gstbus.c:
26781         * gst/gstelement.c:
26782         * gst/gstevent.h:
26783           added 100 symbols from gstreamer-unused.txt to the right sections
26784           fixed more broken comments
26785           added GstBus to docs
26786
26787 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26788
26789         * docs/gst/gstreamer-sections.txt:
26790         * docs/gst/tmpl/.cvsignore:
26791         * docs/gst/tmpl/gstbin.sgml:
26792         * docs/gst/tmpl/gstbuffer.sgml:
26793         * gst/base/gstbasesrc.c:
26794         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26795         * gst/gstbuffer.c:
26796         * gst/gstbuffer.h:
26797         * tools/gst-launch.1.in:
26798           inlined more doc comments, added missing comments and fixed comments
26799           fixed typos
26800
26801 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26802
26803         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26804           some debugging
26805         * gst/gstcaps.h:
26806           whitespace fixes
26807         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26808           more debugging
26809         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26810         * gst/gststructure.h:
26811           add a fixate function for booleans; add a FIXME that these func
26812           names should probably be gst_structure_fixate_*
26813
26814 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26815
26816         * docs/gst/gstreamer-docs.sgml:
26817         * docs/gst/gstreamer-sections.txt:
26818         * gst/Makefile.am:
26819         * gst/gstbin.c: (gst_bin_get_type),
26820         (gst_bin_child_proxy_get_child_by_index),
26821         (gst_bin_child_proxy_get_children_count),
26822         (gst_bin_child_proxy_init):
26823         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26824         (gst_child_proxy_get_child_by_index),
26825         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26826         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26827         (gst_child_proxy_get), (gst_child_proxy_set_property),
26828         (gst_child_proxy_set_valist), (gst_child_proxy_set),
26829         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26830         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26831         * gst/gstchildproxy.h:
26832         * gst/parse/grammar.y:
26833         * tools/gst-inspect.c: (print_interfaces),
26834         (print_element_properties_info), (print_element_info):
26835           ported gstchildproxy over from 0.8
26836           ported gst-inspect fixes and enhancements over from 0.8
26837
26838 2005-08-22  Wim Taymans  <wim@fluendo.com>
26839
26840         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26841         (gst_base_transform_handle_buffer):
26842         Also call the transform function if we have ANY caps.
26843
26844         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26845         Fix debug info.
26846
26847 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26848
26849         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26850           Don't pretend to handle seek events if the source is not seekable
26851
26852 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26853
26854         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26855           Remove extra parameter to debug output
26856
26857         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26858         (gst_base_src_do_seek), (gst_base_src_activate_push):
26859           Fix seek event handling.
26860
26861         * gst/gstpipeline.c: (gst_pipeline_change_state):
26862         * gst/gstqueue.c: (gst_queue_handle_sink_event),
26863         (gst_queue_src_activate_push):
26864           Don't start the src pad task on FLUSH_STOP if the pad
26865           isn't linked.
26866           Debug changes.
26867
26868 2005-08-22  Wim Taymans  <wim@fluendo.com>
26869
26870         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26871         Added check for gst_static_caps_get() refcounting.
26872
26873 2005-08-22  Wim Taymans  <wim@fluendo.com>
26874
26875         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26876         Make _static_caps_get() refcounting sane.
26877         
26878         * gst/gstelement.c: (gst_element_set_state):
26879         Add g_return_val_if_fail() to protect against segfaults.
26880
26881 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
26882
26883         * docs/gst/tmpl/gstevent.sgml:
26884         * gst/gstevent.c:
26885         * gst/gstevent.h:
26886           inlined remaining docs, added missing doc comments
26887
26888 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26889
26890         * check/gst/gstbin.c: (GST_START_TEST):
26891           since we don't know when preroll is done, use refcount range
26892           check for the sink
26893         * gst/check/gstcheck.h:
26894           add macro for checking refcount range
26895
26896 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26897
26898         * check/Makefile.am:
26899           clean up environment for when registry gets built versus
26900           when actual tests are run; valgrind seems to not report
26901           leaks if GST_PLUGIN_PATH is set to some specific values
26902         * check/gst/gstbin.c: (GST_START_TEST):
26903           add more refcounting checks; maybe this exposes a
26904           preroll lock bug ?
26905         * common/check.mak:
26906         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26907         * gst/check/gstcheck.h:
26908         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26909         (gst_bin_change_state):
26910         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26911           add/fix debugging/whitespace
26912
26913 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26914
26915         * check/gst/gstevent.c: (event_probe), (test_event),
26916         (GST_START_TEST):
26917          Er, don't call gst_bin_watch_for_state_change you idiot.
26918
26919 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26920
26921         * check/Makefile.am:
26922           Use CHECK_CFLAGS and CHECK_LIBS
26923         * check/gst/gstevent.c: (event_probe), (test_event),
26924         (GST_START_TEST):
26925           Don't leak events.
26926         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26927         (gst_base_src_start), (gst_base_src_stop),
26928         (gst_base_src_activate_push), (gst_base_src_activate_pull),
26929         (gst_base_src_change_state):
26930           Sprinkle gst_base_src_stop liberally around error paths to fix
26931           problems reusing a source after failed state changes.
26932         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26933         (helper_find_suggest), (gst_type_find_helper):
26934           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26935         * gst/gstevent.h:
26936         * docs/gst/tmpl/gstevent.sgml:
26937           Migrate part of the docs from the SGML file. Wait for ensonic to
26938           tell me how I did it wrong ;)
26939         * tools/gst-typefind.c: (main):
26940           Extra robustness to state changes between files.
26941
26942 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26943
26944         * check/Makefile.am:
26945           don't valgrind the controller test - it's leaking - Stefan, HELP
26946         * gst/check/gstcheck.c: (gst_check_message_error),
26947         (gst_check_chain_func), (gst_check_setup_element),
26948         (gst_check_teardown_element), (gst_check_setup_src_pad),
26949         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26950         (gst_check_teardown_sink_pad):
26951         * gst/check/gstcheck.h:
26952           add a bunch of methods to set up elements, and src and sink pads
26953         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26954         * check/elements/identity.c: (setup_identity), (cleanup_identity),
26955         (GST_START_TEST):
26956           use them
26957         * gst/gstmessage.c:
26958         * gst/gsttag.h:
26959           whitespace/doc fixes
26960
26961 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26962
26963         * gst/gstelement.h:
26964           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26965           be handled by the application and not always printed as well
26966
26967 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26968
26969         * check/Makefile.am:
26970           set GST_TOOLS_DIR
26971         * gst/check/gstcheck.c: (gst_check_message_error):
26972         * gst/check/gstcheck.h:
26973           add a fail_unless_equals_int
26974           add fail_unless for error messages
26975
26976 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26977
26978         * check/Makefile.am:
26979         * check/gst.supp:
26980         * common/Makefile.am:
26981         * common/check.mak:
26982         * common/gst.supp:
26983           factor out some of the common stuff so we can use it
26984
26985 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26986
26987         * check/Makefile.am:
26988         * check/gst/gstiterator.c: (GST_START_TEST):
26989         * check/gst/gstsystemclock.c: (GST_START_TEST),
26990         (gst_systemclock_suite):
26991         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26992         * gst/gstclock.c:
26993           valgrind more tests
26994
26995 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26996
26997         * check/elements/.cvsignore:
26998         * check/elements/gstfakesrc.c:
26999           rename to name of element
27000         * check/elements/identity.c: (chain_func), (event_func),
27001         (setup_identity), (cleanup_identity), (GST_START_TEST),
27002         (identity_suite), (main):
27003           add a test for identity
27004         * check/Makefile.am:
27005         * pkgconfig/Makefile.am:
27006         * pkgconfig/gstreamer-check.pc.in:
27007         * pkgconfig/gstreamer-check-uninstalled.pc.in:
27008         * gst/check:
27009         * gst/Makefile.am:
27010         * configure.ac:
27011           move the check stuff to a library that gets installed
27012         * check/gst-libs/controller.c: (GST_START_TEST):
27013         * check/gst-libs/gdp.c:
27014         * check/gst/gst.c: (GST_START_TEST):
27015         * check/gst/gstbin.c:
27016         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
27017         * check/gst/gstbus.c:
27018         * check/gst/gstcaps.c: (GST_START_TEST):
27019         * check/gst/gstelement.c:
27020         * check/gst/gstghostpad.c:
27021         * check/gst/gstiterator.c:
27022         * check/gst/gstmessage.c:
27023         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
27024         * check/gst/gstobject.c:
27025         * check/gst/gstpad.c: (GST_START_TEST):
27026         * check/gst/gststructure.c: (GST_START_TEST):
27027         * check/gst/gstsystemclock.c: (GST_START_TEST),
27028         (gst_systemclock_suite):
27029         * check/gst/gsttag.c: (gst_tag_suite):
27030         * check/gst/gstvalue.c:
27031         * check/pipelines/cleanup.c:
27032         * check/pipelines/simple_launch_lines.c:
27033         * check/states/sinks.c:
27034           change include statement
27035
27036         * docs/gst/gstreamer-sections.txt:
27037         * docs/gst/tmpl/gstpad.sgml:
27038           document more pad stuff
27039         * gst/gstminiobject.c: (gst_mini_object_ref),
27040         (gst_mini_object_unref):
27041           debug refcounting
27042
27043 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
27044
27045         * docs/gst/tmpl/gst.sgml:
27046         * gst/gst.c:
27047           eliminate another tmpl file, fix spelling in the long-description
27048
27049 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
27050
27051         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
27052         (test_event), (timediff), (gstevents_suite):
27053           Should fix build on 64-bit arch's
27054
27055 2005-08-18  Andy Wingo  <wingo@pobox.com>
27056
27057         Make sure that when a pipeline goes to PLAYING, that data has
27058         actually hit the sink.
27059
27060         * check/states/sinks.c (test_sink): A sink that doesn't get any
27061         data shouldn't return SUCCESS for going to either PLAYING or
27062         PAUSED. Test also the return values on the way back down.
27063
27064         * gst/gstelement.c (gst_element_set_state): When changing the
27065         state of an element currently changing state asynchronously, go to
27066         lost-state after commiting the pending state. Makes future calls
27067         to get_state continue to return ASYNC.
27068
27069         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
27070         ASYNC when going to PLAYING if we still don't have preroll, as can
27071         happen with live sources.
27072
27073 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
27074
27075         * docs/pwg/advanced-types.xml:
27076           Hack long paragraph into 2 chunks as a workaround for buggy
27077           jadetex version in sid and breezy that loops infinitely and
27078           eats all RAM.
27079
27080 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
27081
27082         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
27083         (test_event), (timediff), (gstevents_suite):
27084           Provide more error margin in clock measurements to allow for 
27085           g_get_current_time inaccuracies.
27086
27087 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
27088
27089         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
27090         (test_event), (timediff), (gstevents_suite):
27091            Fix error message output so I might be able to tell why the
27092            test works here but fails on the build farm.
27093
27094 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
27095
27096         * check/Makefile.am:
27097         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
27098         (test_event), (timediff), (gstevents_suite), (main):
27099           I wrote a test!
27100
27101         * docs/design/part-seeking.txt:
27102           Spelling correction
27103
27104         * docs/gst/tmpl/gstevent.sgml:
27105         * docs/gst/tmpl/gstfakesrc.sgml:
27106           Docs updates.
27107
27108         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
27109           Treat a buffer-without-newsegment the same as a receiving 
27110           a newsegment not in time format, and disable syncing to the clock
27111           with a warning.
27112
27113         * gst/gstbus.c: (gst_bus_set_sync_handler):
27114           Assert if anyone tries to replace the existing sync_handler for bus, 
27115           as only the owner should be setting it.
27116
27117         * gst/gstevent.h:
27118           Have a fixed set of custom event enums with events identified by
27119           their structure name (as in 0.8), rather than a free-for-all
27120           allowing collisions between enum values from different plugins.
27121
27122         * gst/gstpad.c: (gst_pad_class_init):
27123           Docs change.
27124           
27125         * gst/gstqueue.c: (gst_queue_handle_sink_event):
27126           Handle out-of-band downstream events from the sending thread.
27127
27128 2005-08-17  Andy Wingo  <wingo@pobox.com>
27129
27130         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
27131         play-timeout==0 to mean no timeout at all. In that case, don't
27132         bother with a get_state or a warning, just return directly, even
27133         if it's ASYNC.
27134
27135         * gst/base/gstbasetransform.c: Debug changes.
27136
27137         * gst/gstutils.h:
27138         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
27139         ensure bins post state change messages. A bit of a hack but I can't
27140         think of a way to avoid it.
27141
27142         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
27143
27144 2005-08-16  Andy Wingo  <wingo@pobox.com>
27145
27146         * gst/base/gstadapter.h:
27147         * gst/base/gstadapter.c (gst_adapter_take): New function, like
27148         peek() but you own the data. Not terribly efficient atm.
27149
27150 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27151
27152         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
27153         (gst_element_found_tags):
27154         * gst/gstutils.h:
27155           Add two utility functions for tag handling.
27156
27157 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27158
27159         * docs/manual/advanced-dataaccess.xml:
27160         * docs/manual/basics-helloworld.xml:
27161           Fix docs to use _bin_add() before _link(), which fixes the examples
27162           with recent core versions (reported by Madhan Raj M
27163           <raj_madan@rediffmail.com>, #313199).
27164
27165 2005-08-16  Wim Taymans  <wim@fluendo.com>
27166
27167         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
27168         Added subtract checks.
27169
27170         * docs/design/part-events.txt:
27171         Some more docs about newsegment
27172
27173         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
27174         Fix FIXME
27175
27176         * gst/gstcaps.c: (gst_caps_to_string):
27177         Add comments, cleanups.
27178         
27179         * gst/gstelement.c: (gst_element_save_thyself):
27180         cleanups
27181         
27182         * gst/gstvalue.c: (gst_value_collect_int_range),
27183         (gst_string_unwrap), (gst_value_union_int_int_range),
27184         (gst_value_union_int_range_int_range),
27185         (gst_value_intersect_int_int_range),
27186         (gst_value_intersect_int_range_int_range),
27187         (gst_value_intersect_double_double_range),
27188         (gst_value_intersect_double_range_double_range),
27189         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
27190         (gst_value_subtract_int_range_int),
27191         (gst_value_subtract_double_range_double),
27192         (gst_value_subtract_double_range_double_range),
27193         (gst_value_subtract_from_list), (gst_value_subtract_list),
27194         (gst_value_can_compare), (gst_value_compare_fraction):
27195         Cleanups, add comments, remove unneeded asserts.
27196
27197 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
27198
27199         * tools/gst-launch.c: (event_loop):
27200           don't convert NULL structures to strings
27201
27202 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
27203
27204         * docs/gst/gstreamer-sections.txt:
27205           made some defines private
27206         * docs/gst/tmpl/gstconfig.sgml:
27207         * docs/gst/tmpl/gstqueue.sgml:
27208         * docs/gst/tmpl/gsttaglist.sgml:
27209         * docs/gst/tmpl/gsttypes.sgml:
27210         * docs/gst/tmpl/gstutils.sgml:
27211         * docs/pwg/appendix-porting.xml:
27212         * gst/base/gstbasesink.h:
27213         * gst/base/gstbasesrc.c:
27214         * gst/base/gstbasesrc.h:
27215         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
27216         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
27217         * gst/gstelement.c: (gst_element_class_init):
27218         * gst/gstpad.c: (gst_pad_class_init):
27219         * gst/gstqueue.c: (gst_queue_class_init):
27220         * gst/gstxml.c: (gst_xml_class_init):
27221           documented all undocumented signal inline
27222         * libs/gst/controller/gst-controller.h:
27223           added padding
27224
27225 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27226
27227         * docs/pwg/appendix-porting.xml:
27228           Document _set_link_function -> _set_setcaps_function.
27229
27230 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
27231
27232         * check/Makefile.am:
27233           add a .check target for running the check
27234         * check/gst-libs/controller.c: (GST_START_TEST):
27235           cosmetic fixups
27236         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
27237           complete checks for gstbuffer; would be nice if I could get the
27238           gcov stuff to work so I can see if I actually completed gstbuffer.c
27239         * check/gstcheck.h:
27240           add ASSERT_BUFFER_REFCOUNT
27241
27242 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
27243
27244         * docs/gst/gstreamer-sections.txt:
27245         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
27246         * gst/gsttag.h:
27247           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
27248           spew out a warning if a tag that is already registered
27249           is re-registered, unless it is re-registered with a 
27250           different type (#308438).
27251
27252 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
27253
27254         * docs/pwg/appendix-porting.xml:
27255         * docs/pwg/building-state.xml:
27256           Add some paragraphs about state changes in 0.9 to the PWG
27257           and the porting guide, in particular about the new meaning
27258           of GST_STATE_PAUSED and how to write state change functions
27259           with concurrent access by multiple threads in mind.
27260
27261 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
27262
27263         * docs/gst/gstreamer-docs.sgml:
27264         * docs/libs/gstreamer-libs-docs.sgml:
27265           added deprecation and since indexes
27266         * libs/gst/controller/gst-controller.c:
27267         * libs/gst/controller/gst-helper.c:
27268           added since tags
27269
27270
27271 2005-08-11  Wim Taymans  <wim@fluendo.com>
27272
27273         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
27274         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
27275         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
27276         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
27277         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
27278         (gst_ghost_pad_set_target):
27279         Actually implement (re)setting the target on a ghostpad
27280         as described in the docs.
27281
27282 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
27283
27284         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
27285           Check whether GST_DEBUG_NO_COLOR environment variable is
27286           set and disable coloured debug output if that is the case.
27287
27288 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
27289
27290         * gst/base/gsttypefindhelper.c: (helper_find_peek),
27291         (gst_type_find_helper):
27292           The memory returned by gst_type_find_peek() needs to
27293           stay valid until the end of a typefind function, and
27294           typefind functions may keep results from different 
27295           offsets around, so we can't just unref the buffer from
27296           the previous _peek(), but have to save all buffers 
27297           returned by _peek() until typefinding is done and only
27298           free them then.
27299
27300 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
27301
27302         * docs/gst/gstreamer-sections.txt:
27303         * gst/gstutils.h:
27304           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
27305
27306 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27307
27308         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
27309           Fix a pretty good memleak.
27310
27311 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
27312
27313         * gst/gstiterator.h:
27314           Fix wrong include and 'make distcheck'.
27315
27316 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27317
27318         * gst/gstbin.c: (bin_bus_handler):
27319           Use gst_element_post_message() instead.
27320
27321 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
27322
27323         * gst/base/gstadapter.h:
27324         * gst/base/gstbasesink.h:
27325         * gst/base/gstbasesrc.h:
27326         * gst/base/gstbasetransform.h:
27327         * gst/base/gstcollectpads.h:
27328         * gst/base/gstpushsrc.h:
27329         * gst/gstiterator.h:
27330           Add padding to our base elements' class and instance structs and
27331           to GstIterator (you will need to rebuild all plugins and apps!)
27332
27333 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27334
27335         * gst/gstbin.c: (bin_bus_handler):
27336           Make default message forwarding from child->bus to bin->bus
27337           threadsafe and make it not emit warnings if the parent has no bus.
27338
27339 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27340
27341         * gst/gstelement.c: (activate_pads):
27342           On paused->ready, set pad->caps to NULL, as is the documented
27343           behaviour in this state change. Fixes playback of series of
27344           media files when visualization is enabled in Totem.
27345
27346 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27347
27348         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
27349           Allow NULL as filter-caps (which means "any").
27350
27351 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27352
27353         * docs/libs/gstreamer-libs-sections.txt:
27354         * libs/gst/controller/gst-controller.c:
27355         * libs/gst/controller/gst-controller.h:
27356         * libs/gst/controller/gst-helper.c:
27357           adding more entries to the docs and fix small doc-bugs
27358
27359 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27360
27361         * docs/gst/gstreamer-docs.sgml:
27362         * docs/gst/gstreamer-sections.txt:
27363         * docs/gst/gstreamer.types:
27364         * docs/gst/tmpl/gstbasesink.sgml:
27365         * docs/gst/tmpl/gstbasesrc.sgml:
27366         * docs/gst/tmpl/gstbasetransform.sgml:
27367         * docs/gst/tmpl/gstfakesrc.sgml:
27368         * gst/base/gstcollectpads.c:
27369         * gst/base/gstcollectpads.h:
27370         * libs/gst/controller/gst-controller.c:
27371         * libs/gst/controller/gst-controller.h:
27372         * libs/gst/controller/gst-helper.c:
27373         * libs/gst/controller/gst-interpolation.c:
27374         * libs/gst/controller/lib.c:
27375           added long/short desc for controller docs
27376           added collectpads base class docs
27377           added correct includes to base-class docs
27378
27379 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27380
27381         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
27382         (gst_test_mono_source_set_property),
27383         (gst_test_mono_source_class_init), (GST_START_TEST),
27384         (gst_controller_suite):
27385         * docs/gst/gstreamer-docs.sgml:
27386         * docs/gst/gstreamer-sections.txt:
27387         * docs/gst/gstreamer.types:
27388         * docs/libs/gstreamer-libs-docs.sgml:
27389         * docs/libs/gstreamer-libs-sections.txt:
27390         * gst/base/gstadapter.c:
27391         * libs/gst/controller/gst-controller.c:
27392         (gst_controlled_property_new), (gst_controlled_property_free),
27393         (gst_controller_new_valist),
27394         (gst_controller_remove_properties_valist),
27395         (gst_controller_sink_values), (_gst_controller_finalize):
27396         * libs/gst/controller/gst-controller.h:
27397         * libs/gst/controller/gst-helper.c:
27398         (gst_object_control_properties), (gst_object_uncontrol_properties),
27399         (gst_object_get_controller), (gst_object_set_controller),
27400         (gst_object_sink_values), (gst_object_get_value_arrays),
27401         (gst_object_get_value_array):
27402           more tests (and fixes) for the controller
27403           more docs for the controller
27404           integrated companies docs for the adapter 
27405
27406 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
27407
27408         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
27409         (GST_START_TEST), (fakesrc_suite):
27410           add tests for sizetype
27411
27412 2005-08-04  Andy Wingo  <wingo@pobox.com>
27413
27414         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
27415         fixes buffer_alloc proxying among other things.
27416
27417         * gst/base/gstbasetransform.c:
27418         * gst/base/gstbasetransform.h:
27419         Revert patch to gstbasetransform from 7-28 removing
27420         delay_configure.
27421
27422         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
27423         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
27424         Semantics changed, should return not the size of the output buffer
27425         but the byte size of a buffer with a given caps.
27426
27427         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
27428         debug object.
27429         (gst_base_transform_configure_caps): Don't set out_size here: (in,
27430         out) are not the pad caps until setcaps finishes.
27431         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
27432         not-in-place case as well. Deal with changing from in-place to
27433         not-in-place within calling pad_alloc_buffer. Still a bit
27434         concerned about the overhead here...
27435
27436 2005-08-03  Andy Wingo  <wingo@pobox.com>
27437
27438         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
27439         fixating is an error.
27440
27441 2005-08-04  Edward Hervey  <edward@fluendo.com>
27442
27443         * gst/base/gstadapter.h: 
27444         Added gst_adapter_get_type() to the header
27445
27446 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27447
27448         * check/Makefile.am:
27449         * check/gst-libs/controller.c:
27450         * libs/gst/controller/gst-controller.c:
27451         (gst_controller_new_valist):
27452           added check test suite for the controller
27453         * gst/base/gstpushsrc.c:
27454           fixed a doc typo
27455
27456 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27457
27458         * docs/gst/Makefile.am:
27459         * docs/gst/gstreamer-docs.sgml:
27460         * docs/gst/gstreamer-sections.txt:
27461         * docs/gst/gstreamer.types:
27462         * docs/gst/tmpl/gstfakesrc.sgml:
27463         * gst/base/README:
27464         * gst/base/gstbasesink.c:
27465         * gst/base/gstbasesink.h:
27466         * gst/base/gstbasesrc.c:
27467         * gst/base/gstbasesrc.h:
27468         * gst/base/gstbasetransform.c:
27469         * gst/base/gstpushsrc.c:
27470         * gst/base/gstpushsrc.h:
27471           add short/long description docs to base classes
27472           add pushsrc to the docs
27473           remove consolidated doc fragments
27474
27475 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27476
27477         * configure.ac:
27478         * docs/libs/Makefile.am:
27479         * docs/libs/gstreamer-libs-docs.sgml:
27480         * docs/libs/gstreamer-libs-sections.txt:
27481         * docs/libs/gstreamer-libs.types:
27482         * examples/Makefile.am:
27483         * examples/controller/.cvsignore:
27484         * examples/controller/Makefile.am:
27485         * examples/controller/audio-example.c: (main):
27486         * libs/gst/Makefile.am:
27487         * libs/gst/controller/.cvsignore:
27488         * libs/gst/controller/Makefile.am:
27489         * libs/gst/controller/gst-controller.c:
27490         (on_object_controlled_property_changed), (gst_timed_value_compare),
27491         (gst_timed_value_find),
27492         (gst_controlled_property_set_interpolation_mode),
27493         (gst_controlled_property_new), (gst_controlled_property_free),
27494         (gst_controller_find_controlled_property),
27495         (gst_controller_new_valist), (gst_controller_new),
27496         (gst_controller_remove_properties_valist),
27497         (gst_controller_remove_properties), (gst_controller_set),
27498         (gst_controller_set_from_list), (gst_controller_unset),
27499         (gst_controller_get), (gst_controller_get_all),
27500         (gst_controller_sink_values), (gst_controller_get_value_arrays),
27501         (gst_controller_get_value_array),
27502         (gst_controller_set_interpolation_mode),
27503         (_gst_controller_finalize), (_gst_controller_init),
27504         (_gst_controller_class_init), (gst_controller_get_type):
27505         * libs/gst/controller/gst-controller.h:
27506         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
27507         (g_object_uncontrol_properties), (g_object_get_controller),
27508         (g_object_set_controller), (g_object_sink_values),
27509         (g_object_get_value_arrays), (g_object_get_value_array):
27510         * libs/gst/controller/gst-interpolation.c:
27511         (gst_controlled_property_find_timed_value_node),
27512         (interpolate_none_get), (interpolate_trigger_get),
27513         (interpolate_trigger_get_value_array):
27514         * libs/gst/controller/lib.c: (gst_controller_init):
27515         * pkgconfig/Makefile.am:
27516         * pkgconfig/gstreamer-control-uninstalled.pc.in:
27517         * pkgconfig/gstreamer-control.pc.in:
27518         * testsuite/Makefile.am:
27519         * testsuite/controller/.cvsignore:
27520         * testsuite/controller/Makefile.am:
27521         * testsuite/controller/interpolator.c: (main):
27522           added controller code
27523           removed dparam pc files
27524
27525 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27526         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
27527         (gst_collectpads_stop):
27528           Broadcast the condition when shutting down, to make sure we wake all
27529           threads up. Shut down pads on finalize, for safety.
27530
27531 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27532         * gst/base/gstbasetransform.c: (gst_base_transform_init),
27533         (gst_base_transform_handle_buffer),
27534         (gst_base_transform_change_state):
27535           Handle PAUSED->READY->PAUSED transition after negotiation
27536           occurred already.
27537         * gst/gstmessage.c: (gst_message_init):
27538           Extra piece of debug for new messages.
27539
27540 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
27541
27542         * configure.ac:
27543         * docs/gst/tmpl/gstbasesrc.sgml:
27544         * docs/gst/tmpl/gstelement.sgml:
27545         * docs/gst/tmpl/gstevent.sgml:
27546         * docs/gst/tmpl/gstfakesrc.sgml:
27547         * docs/gst/tmpl/gstformat.sgml:
27548         * docs/gst/tmpl/gstghostpad.sgml:
27549         * docs/gst/tmpl/gstpad.sgml:
27550         * docs/gst/tmpl/gstquery.sgml:
27551         * docs/gst/tmpl/gststructure.sgml:
27552         * docs/gst/tmpl/gsttaglist.sgml:
27553         * docs/gst/tmpl/gstvalue.sgml:
27554         * docs/libs/gstreamer-libs-docs.sgml:
27555         * docs/libs/gstreamer-libs-sections.txt:
27556         * docs/libs/gstreamer-libs.types:
27557         * libs/gst/Makefile.am:
27558         * libs/gst/control/.cvsignore:
27559         * libs/gst/control/Makefile.am:
27560         * libs/gst/control/control.c:
27561         * libs/gst/control/control.h:
27562         * libs/gst/control/dparam.c:
27563         * libs/gst/control/dparam.h:
27564         * libs/gst/control/dparam_smooth.c:
27565         * libs/gst/control/dparam_smooth.h:
27566         * libs/gst/control/dparamcommon.h:
27567         * libs/gst/control/dparammanager.c:
27568         * libs/gst/control/dparammanager.h:
27569         * libs/gst/control/dplinearinterp.c:
27570         * libs/gst/control/dplinearinterp.h:
27571         * libs/gst/control/unitconvert.c:
27572         * libs/gst/control/unitconvert.h:
27573         * testsuite/Makefile.am:
27574         * testsuite/dynparams/.cvsignore:
27575         * testsuite/dynparams/Makefile.am:
27576         * testsuite/dynparams/dparamstest.c:
27577         * tools/Makefile.am:
27578         * tools/gst-inspect.c: (print_element_info), (main):
27579         * tools/gst-xmlinspect.c: (print_element_info), (main):
27580           deactivate and remove dparams (libgstcontrol)
27581
27582 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27583
27584         * gst/elements/gsttypefindelement.c:
27585         (gst_type_find_element_have_type), (gst_type_find_element_init),
27586         (stop_typefinding), (gst_type_find_element_handle_event),
27587         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27588         * gst/elements/gsttypefindelement.h:
27589           Set caps on all outgoing buffers, not just the first one.
27590
27591 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27592
27593         * gst/elements/gsttypefindelement.c:
27594         (gst_type_find_element_have_type),
27595         (gst_type_find_element_check_set_buffer_caps),
27596         (gst_type_find_element_init), (stop_typefinding),
27597         (gst_type_find_element_handle_event),
27598         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27599         * gst/elements/gsttypefindelement.h:
27600           Set caps on first outgoing buffer when we've found the type.
27601
27602 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27603
27604         * docs/gst/gstreamer-docs.sgml:
27605         * docs/gst/gstreamer-sections.txt:
27606         * docs/gst/tmpl/gstscheduler.sgml:
27607         * docs/gst/tmpl/gstschedulerfactory.sgml:
27608           Remove some old cruft from docs.
27609
27610 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
27611
27612         * gst/gstpad.h:
27613           Fix inline docs for GstPadLinkReturn.
27614           
27615         * gst/gststructure.c: (gst_structure_has_name):
27616         * gst/gststructure.h:
27617         * docs/gst/gstreamer-sections.txt:
27618           New API: gst_structure_has_name().
27619
27620 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
27621
27622         * configure.ac:
27623           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27624           and _LARGEFILE_SOURCE in config.h as required. Do not 
27625           export those flags in our .pc files any longer (#142209).
27626
27627           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27628
27629         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27630         (gst_file_sink_do_seek), (gst_file_sink_event),
27631         (gst_file_sink_get_current_offset), (gst_file_sink_render):
27632           Redo seek/tell calls with large file support in mind; add some
27633           debugging messages; add log message that tells us when large
27634           file support is unavailable or not enabled for some reason.
27635
27636         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27637           Add log message that tells us when large file support 
27638           is unavailable or not enabled for some reason.
27639
27640 2005-07-29  Wim Taymans  <wim@fluendo.com>
27641
27642         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27643         Added test for removing an element with ghostpad from a bin.
27644         Fixed test as current implementation does the right thing.
27645
27646         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27647         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27648         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27649         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27650         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27651         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27652         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27653         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27654         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27655         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27656         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27657         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27658         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27659         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27660         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27661         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27662         * gst/gstghostpad.h:
27663         Clean up ghostpads, remove properties for internal stuff.
27664         Make threadsafe.
27665         Fix refcounting.
27666         Prepare for switching targets, not all use cases work yet.
27667
27668 2005-07-29  Wim Taymans  <wim@fluendo.com>
27669
27670         * docs/design/part-gstghostpad.txt:
27671         Small update.
27672
27673         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27674         (gst_bin_remove_func):
27675         Unlinking pads while holding the bin LOCK is not a good
27676         idea.
27677
27678         * gst/gstpad.c: (gst_pad_class_init),
27679         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27680         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27681         No prob setting template after creating the pad.
27682
27683 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
27684
27685         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27686         (gst_bus_peek), (gst_bus_source_dispatch),
27687         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27688         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27689           gst_bus_poll may be called from other threads. Handle
27690           this nicely by not making poll_data disappear off the
27691           stack once gst_bus_poll returns.
27692           gst_bus_peek now increments the refcount on the returned
27693           message.
27694
27695 2005-07-29  Wim Taymans  <wim@fluendo.com>
27696
27697         * docs/design/part-gstghostpad.txt:
27698         Overview of current GhostPad datastructures and use
27699         cases for changing the target.
27700
27701 2005-07-28  Wim Taymans  <wim@fluendo.com>
27702
27703         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27704         Added checks for hierarchy consistency whan adding linked
27705         elements to bins.
27706
27707         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27708         Added check to test element scheduling without bin/pipeline.
27709
27710         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27711         First add elements to bin, then link.
27712         
27713         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27714         (gst_bin_remove_func):
27715         Unlink pads from elements added/removed from bin to maintain
27716         hierarchy consistency.
27717
27718 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27719
27720         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27721         (gst_base_transform_handle_buffer):
27722         * gst/base/gstbasetransform.h:
27723           Remove broken delay_configure (fixes renegotiation of software
27724           scaling pipelines); remove some leftover printf()s.
27725
27726 2005-07-28  Wim Taymans  <wim@fluendo.com>
27727
27728         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27729         Added some more tests for wrong hierarchy
27730
27731         * docs/design/part-overview.txt:
27732         Some updates.
27733
27734         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27735         Cleanups.
27736
27737         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27738         (gst_element_dispose):
27739         Some more cleanups.
27740
27741         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27742         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27743         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27744         (gst_pad_set_caps), (gst_pad_send_event):
27745         Check for correct hierarchy when linking pads. Moving to
27746         strict requirement for ghostpads when linking elements in
27747         different bins.
27748
27749         * gst/gstpad.h:
27750         Clean ups. Added WRONG_HIERARCHY return value.
27751
27752 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27753
27754         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27755           Better debug if no transform is possible.
27756
27757 2005-07-27  Wim Taymans  <wim@fluendo.com>
27758
27759         * docs/random/wtay/network-transp:
27760         Some old doc I had.
27761
27762 2005-07-27  Wim Taymans  <wim@fluendo.com>
27763
27764         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27765         (gst_dp_event_from_packet):
27766         Fix serialization of seek events.
27767
27768 2005-07-27  Wim Taymans  <wim@fluendo.com>
27769
27770         * check/gst-libs/gdp.c: (GST_START_TEST):
27771         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27772         Fix compilation and fix event serialization.
27773
27774 2005-07-27  Wim Taymans  <wim@fluendo.com>
27775
27776         * CHANGES-0.9:
27777         * docs/design/part-TODO.txt:
27778         * docs/design/part-events.txt:
27779         Some docs updates
27780
27781         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27782         (gst_base_sink_event), (gst_base_sink_do_sync),
27783         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27784         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27785         (gst_base_src_do_seek), (gst_base_src_event_handler),
27786         (gst_base_src_loop):
27787         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27788         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27789         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27790         (gst_base_transform_event), (gst_base_transform_handle_buffer),
27791         (gst_base_transform_set_passthrough),
27792         (gst_base_transform_is_passthrough):
27793         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27794         * gst/elements/gstfilesink.c: (gst_file_sink_event):
27795         Event updates.
27796
27797         * gst/gstbuffer.h:
27798         Use faster casts.
27799
27800         * gst/gstelement.c: (gst_element_seek):
27801         * gst/gstelement.h:
27802         Update gst_element_seek.
27803
27804         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27805         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27806         (gst_event_new_flush_start), (gst_event_new_flush_stop),
27807         (gst_event_new_eos), (gst_event_new_newsegment),
27808         (gst_event_parse_newsegment), (gst_event_new_tag),
27809         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27810         (gst_event_parse_qos), (gst_event_new_seek),
27811         (gst_event_parse_seek), (gst_event_new_navigation):
27812         * gst/gstevent.h:
27813         Make GstEvent use GstStructure. Add parsing code, make sure the
27814         API is sufficiently generic.
27815         Mark possible directions of events and serialization.
27816
27817         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27818         (_gst_message_copy), (gst_message_new_segment_start),
27819         (gst_message_new_segment_done), (gst_message_new_custom),
27820         (gst_message_parse_segment_start),
27821         (gst_message_parse_segment_done):
27822         Small cleanups.
27823
27824         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27825         (gst_pad_set_caps), (gst_pad_send_event):
27826         Update for new events. 
27827         Catch events sent in wrong directions.
27828
27829         * gst/gstqueue.c: (gst_queue_link_src),
27830         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27831         (gst_queue_handle_src_query):
27832         Event updates.
27833
27834         * gst/gsttag.c:
27835         * gst/gsttag.h:
27836         Remove event code from this file.
27837
27838         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27839         (gst_dp_event_from_packet):
27840         Event updates.
27841
27842 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27843
27844         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27845         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27846         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27847           Make debugging actually useful.
27848
27849 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27850
27851         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27852         (gst_pad_fixate_caps):
27853           Implement default fixation once again, so that gst_pad_fixate()
27854           actually does anything at all. This probably needs to be some
27855           sort of a last resort, and use profile-based fixation first, but
27856           since that doesn't exist yet, this is the best we have. Fixes
27857           visualization in Totem.
27858
27859 2005-07-22  Wim Taymans  <wim@fluendo.com>
27860
27861         * docs/design/part-events.txt:
27862         Small update.
27863
27864         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27865         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27866         (gst_base_sink_activate_pull):
27867         Some more comments.
27868
27869         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27870         (gst_fake_src_create):
27871         Fix handoff marshall.
27872
27873         * gst/elements/gstidentity.c: (gst_identity_class_init),
27874         (gst_identity_transform_ip):
27875         We're a real inplace element.
27876
27877         * gst/gstbus.c: (gst_bus_post):
27878         Added some comments.
27879
27880         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27881         * tests/muxing/case1.c: (main):
27882         * tests/sched/dynamic-pipeline.c: (main):
27883         * tests/sched/interrupt1.c: (main):
27884         * tests/sched/interrupt2.c: (main):
27885         * tests/sched/interrupt3.c: (main):
27886         * tests/sched/runxml.c: (main):
27887         * tests/sched/sched-stress.c: (main):
27888         * tests/seeking/seeking1.c: (event_received), (main):
27889         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27890         (main):
27891         * tests/threadstate/threadstate3.c: (main):
27892         * tests/threadstate/threadstate4.c: (main):
27893         * tests/threadstate/threadstate5.c: (main):
27894         Fix the tests.
27895
27896 2005-07-21  Wim Taymans  <wim@fluendo.com>
27897
27898         * docs/design/part-seeking.txt:
27899         Some small additions.
27900
27901         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27902         (gst_base_sink_get_times), (gst_base_sink_do_sync),
27903         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27904         * gst/base/gstbasesink.h:
27905         discont values are gint64, handle the math correctly.
27906
27907         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27908         Make the basesrc report error if the source pad is not linked.
27909
27910         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27911         (gst_queue_loop), (gst_queue_handle_src_query),
27912         (gst_queue_src_activate_push):
27913         Make queue collect data even if the srcpad is not linked.
27914         Start pushing out data as soon as it is linked.
27915
27916         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27917         * gst/gstutils.h:
27918         Added gst_flow_get_name() to ease error reporting.
27919
27920 2005-07-20  Wim Taymans  <wim@fluendo.com>
27921
27922         * gst/gstmessage.c: (gst_message_new_segment_start),
27923         (gst_message_new_segment_done), (gst_message_parse_segment_start),
27924         (gst_message_parse_segment_done):
27925         * gst/gstmessage.h:
27926         Added a bunch of messages for advanced seeking.
27927
27928         * gst/parse/grammar.y:
27929         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27930         (gst_dpman_state_changed):
27931         Fix some new-pad -> pad-added signals
27932
27933 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27934
27935         * docs/manual/appendix-porting.xml:
27936         * docs/pwg/appendix-porting.xml:
27937           Document new-pad/state-change signal renames and the FixedList
27938           type rename.
27939
27940 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27941
27942         * docs/manual/advanced-autoplugging.xml:
27943         * docs/manual/basics-helloworld.xml:
27944         * docs/manual/basics-pads.xml:
27945         * docs/random/ds/0.9-suggested-changes:
27946         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27947         * gst/gstelement.h:
27948         * gst/gstevent.h:
27949         * gst/gstformat.h:
27950         * gst/gstquery.h:
27951         * gst/gststructure.c: (gst_structure_value_get_generic_type),
27952         (gst_structure_parse_array), (gst_structure_parse_value):
27953         * gst/gstvalue.c: (gst_type_is_fixed),
27954         (gst_value_list_prepend_value), (gst_value_list_append_value),
27955         (gst_value_list_get_size), (gst_value_list_get_value),
27956         (gst_value_transform_array_string), (gst_value_serialize_array),
27957         (gst_value_deserialize_array), (gst_value_intersect_array),
27958         (gst_value_is_fixed), (_gst_value_initialize):
27959         * gst/gstvalue.h:
27960           GstElement::new-pad -> pad-added, GstElement::state-change ->
27961           state-changed, GstValueFixedList -> GstValueArray, add format and
27962           flags as their own arguments in gst_element_seek() (should improve
27963           "bindeability"), remove function generators since they don't work
27964           under a whole bunch of compilers (they were deprecated already
27965           anyway).
27966
27967 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27968
27969         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27970         (_gst_debug_register_funcptr):
27971         * gst/gstinfo.h:
27972           Fix illegal cast on some platforms (#309253).
27973
27974 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27975
27976         * gst/gstmessage.c: (gst_message_new_custom):
27977         * gst/gstmessage.h:
27978           Add _new_custom, make _new_application a macro to _new_custom.
27979
27980 2005-07-20  Wim Taymans  <wim@fluendo.com>
27981
27982         * gst/base/gstbasesrc.c: (gst_base_src_init),
27983         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27984         * gst/base/gstbasesrc.h:
27985         Add a gboolean to decide when to push out a discont.
27986
27987         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27988         (gst_queue_loop), (gst_queue_handle_src_query),
27989         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27990         (gst_queue_set_property), (gst_queue_get_property):
27991         Some cleanups.
27992
27993         * tests/threadstate/threadstate1.c: (main):
27994         Make a thread test compile and run... very silly..
27995
27996
27997 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27998
27999         * docs/manual/appendix-porting.xml:
28000           Mention removal of libgstgconf-0.9.la and existence of gconf
28001           elements.
28002
28003 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28004
28005         * docs/pwg/advanced-clock.xml:
28006         * docs/pwg/appendix-porting.xml:
28007         * docs/pwg/intro-preface.xml:
28008         * docs/pwg/other-base.xml:
28009         * docs/pwg/other-manager.xml:
28010         * docs/pwg/other-nton.xml:
28011         * docs/pwg/other-ntoone.xml:
28012         * docs/pwg/other-oneton.xml:
28013         * docs/pwg/pwg.xml:
28014           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
28015           demuxer), remove n-to-n (was never written), fix some code examples
28016           and links and update the porting section to include all this.
28017
28018 2005-07-19  Wim Taymans  <wim@fluendo.com>
28019
28020         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
28021         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
28022         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
28023         (gst_queue_src_activate_push), (gst_queue_change_state),
28024         (gst_queue_get_property):
28025         * gst/gstqueue.h:
28026         Propagate GstFlowReturn more intelligently upstream and output
28027         an ERROR/EOS when streaming stopped due to fatal error.
28028
28029 2005-07-19  Wim Taymans  <wim@fluendo.com>
28030
28031         * tools/gst-launch.c: (check_intr), (event_loop), (main):
28032         Don't block forever for the state change to complete, the
28033         pipeline already did with a sensible timeout.
28034
28035 2005-07-19  Wim Taymans  <wim@fluendo.com>
28036
28037         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
28038         Make sure we never call the create function is we
28039         got deactivated.
28040
28041 2005-07-19  Andy Wingo  <wingo@pobox.com>
28042
28043         * gst/parse/parse.l: Attempt to solve bug #172815.
28044
28045 2005-07-19  Wim Taymans  <wim@fluendo.com>
28046
28047         * docs/design/part-clocks.txt:
28048         * docs/design/part-events.txt:
28049         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
28050         Small docs updates.
28051         Only update the seeking values when we are not
28052         busy streaming.
28053
28054 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
28055
28056         * gst/base/gstbasesrc.c: (gst_base_src_loop):
28057           Oops, ignore the result of gst_pad_push_event here.
28058
28059 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
28060
28061         * gst/base/gstbasesrc.c: (gst_base_src_loop),
28062         (gst_base_src_activate_push):
28063           Send discont event from the loop function, as pads
28064           aren't activated yet in the activate_push handler.
28065
28066         * gst/gstbin.c: (bin_bus_handler):
28067           Don't leak element name.
28068
28069 2005-07-18  Andy Wingo  <wingo@pobox.com>
28070
28071         * configure.ac: Use AS_LIBTOOL_TAGS.
28072
28073 2005-07-18  Wim Taymans  <wim@fluendo.com>
28074
28075         * docs/gst/gstreamer.types:
28076         Remove deleted types.
28077
28078 2005-07-18  Wim Taymans  <wim@fluendo.com>
28079
28080         * check/elements/gstfakesrc.c: (GST_START_TEST):
28081         * configure.ac:
28082         * gst/Makefile.am:
28083         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
28084         (init_popt_callback):
28085         * gst/gst.h:
28086         * gst/gst_private.h:
28087         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
28088         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
28089         * gst/gstbin.h:
28090         * gst/gstbus.h:
28091         * gst/gstconfig.h.in:
28092         * gst/gstelement.c: (gst_element_class_init),
28093         (gst_element_set_base_time), (gst_element_get_base_time),
28094         (iterator_fold_with_resync), (gst_element_change_state),
28095         (gst_element_dispose), (gst_element_get_bus):
28096         * gst/gstelement.h:
28097         * gst/gstelementfactory.h:
28098         * gst/gsterror.c: (_gst_core_errors_init):
28099         * gst/gsterror.h:
28100         * gst/gstevent.h:
28101         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
28102         * gst/gstindex.c:
28103         * gst/gstinfo.c: (_gst_debug_init):
28104         * gst/gstmessage.c: (_gst_message_copy):
28105         * gst/gstmessage.h:
28106         * gst/gstminiobject.h:
28107         * gst/gstobject.c:
28108         * gst/gstobject.h:
28109         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
28110         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
28111         * gst/gstpad.h:
28112         * gst/gstparse.h:
28113         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28114         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
28115         (gst_pipeline_get_last_stream_time):
28116         * gst/gstpipeline.h:
28117         * gst/gstpluginfeature.h:
28118         * gst/gstquery.h:
28119         * gst/gstscheduler.c:
28120         * gst/gstscheduler.h:
28121         * gst/gststructure.h:
28122         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
28123         (gst_task_finalize), (gst_task_func), (gst_task_create),
28124         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
28125         (gst_task_stop), (gst_task_pause):
28126         * gst/gsttask.h:
28127         * gst/gsttypefind.h:
28128         * gst/gsttypes.h:
28129         * gst/registries/gstlibxmlregistry.c: (load_feature),
28130         (gst_xml_registry_load), (gst_xml_registry_save_feature):
28131         * gst/registries/gstxmlregistry.c:
28132         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
28133         * gst/schedulers/threadscheduler.c:
28134         * libs/gst/control/dparammanager.h:
28135         * tools/gst-inspect.c: (print_element_list),
28136         (print_plugin_features), (print_element_features):
28137         * tools/gst-xmlinspect.c: (print_element_list),
28138         (print_plugin_info), (main):
28139         Removed plugable schedulers.
28140         Removed Scheduler/Manager from elements.
28141         Removed gsttypes.h, rearranged includes.
28142         Removed dependency pad<->element, element<>pipeline, and
28143         various others,  fix includes.
28144         implement gst_pad_get_parent() with gst_object_get_parent()
28145         Make GstTask sefcontained.
28146         Fix _get_state() on GstBin, it did not return ASYNC with a 0
28147         timeout.
28148         Fix endless loop in iterator_fold_with_resync.
28149
28150
28151 2005-07-18  Wim Taymans  <wim@fluendo.com>
28152
28153         * gst/Makefile.am:
28154         * gst/gstarch.h:
28155         Remove old file.
28156
28157 2005-07-18  Wim Taymans  <wim@fluendo.com>
28158
28159         * gst/Makefile.am:
28160         No more cothreads.h
28161
28162 2005-07-18  Wim Taymans  <wim@fluendo.com>
28163
28164         * gst/cothreads.c:
28165         * gst/cothreads.h:
28166         Let's remove these.
28167
28168 2005-07-18  Wim Taymans  <wim@fluendo.com>
28169
28170         * docs/design/part-dynamic.txt:
28171         * docs/design/part-events.txt:
28172         * docs/design/part-seeking.txt:
28173         Some more docs in the works.
28174
28175         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
28176         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
28177         (gst_base_transform_setcaps), (gst_base_transform_get_size),
28178         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
28179         (gst_base_transform_handle_buffer),
28180         (gst_base_transform_sink_activate_push),
28181         (gst_base_transform_src_activate_pull),
28182         (gst_base_transform_set_passthrough),
28183         (gst_base_transform_is_passthrough):
28184         Refcounting fixes.
28185
28186         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
28187         Cleanups.
28188
28189         * gst/gstevent.c: (gst_event_finalize):
28190         Set SRC to NULL.
28191
28192         * gst/gstutils.c: (gst_element_unlink),
28193         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
28194         (gst_pad_proxy_setcaps):
28195         * gst/gstutils.h:
28196         Add _get_parent_element() to get a pads parent as an element.
28197
28198 2005-07-18  Wim Taymans  <wim@fluendo.com>
28199
28200         * check/gst/gstbin.c: (GST_START_TEST):
28201         Remove bogus test.
28202
28203 2005-07-18  Wim Taymans  <wim@fluendo.com>
28204
28205         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28206         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28207         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28208         (gst_base_sink_event), (gst_base_sink_do_sync),
28209         (gst_base_sink_chain), (gst_base_sink_loop),
28210         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
28211         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
28212         Refcounting fixes.
28213         Fix logic for returning ASYNC when not prerolled.
28214
28215 2005-07-18  Wim Taymans  <wim@fluendo.com>
28216
28217         * gst/gstqueue.c: (gst_queue_handle_sink_event):
28218         Fix nasty refcount bug.
28219
28220 2005-07-16 Philippe Khalaf <burger@speedy.org>
28221
28222         * gst/elements/gstfdsrc.c:
28223         * gst/elements/gstfdsrc.h:
28224         * gst/elements/gstelements.c:
28225         * gst/elements/Makefile.am:
28226         Ported fdsrc to 0.9.
28227
28228 2005-07-16  Wim Taymans  <wim@fluendo.com>
28229
28230         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28231         (gst_base_sink_do_sync):
28232         Fix compile error.
28233
28234 2005-07-16  Wim Taymans  <wim@fluendo.com>
28235
28236         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28237         (gst_base_sink_event), (gst_base_sink_get_times),
28238         (gst_base_sink_do_sync), (gst_base_sink_change_state):
28239         * gst/base/gstbasesink.h:
28240         Store and use discont values when syncing buffers as described
28241         in design docs.
28242         
28243         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
28244         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
28245         (gst_base_src_activate_push):
28246         Push discont event when starting.
28247
28248         * gst/elements/gstidentity.c: (gst_identity_transform):
28249         Small cleanups.
28250
28251         * gst/gstbin.c: (gst_bin_change_state):
28252         Small cleanups in base_time  distribution.
28253
28254         * gst/gstelement.c: (gst_element_set_base_time),
28255         (gst_element_get_base_time), (gst_element_change_state):
28256         * gst/gstelement.h:
28257         Added methods for the base_time of the element.
28258         Some MT fixes.
28259
28260         * gst/gstpipeline.c: (gst_pipeline_send_event),
28261         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
28262         (gst_pipeline_get_last_stream_time):
28263         * gst/gstpipeline.h:
28264         MT fixes.
28265         Handle seeking as described in design doc, remove stream_time
28266         hack.
28267         Cleanups clock and stream_time selection code. Added accessors
28268         for the stream_time.
28269         
28270
28271 2005-07-16  Andy Wingo  <wingo@pobox.com>
28272
28273         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
28274         (#305291).
28275
28276 2005-07-16  Wim Taymans  <wim@fluendo.com>
28277
28278         * check/gst/gstbin.c: (GST_START_TEST):
28279         Make elements silent as the deep_notify refs the
28280         parent, which might make the test fail.
28281
28282         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
28283         Don't hold the lock for too long.
28284
28285 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
28286
28287         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
28288           Don't unref the caps we passed to gst_caps_make_writable() after
28289           passing them. gst_caps_make_writable() will do that for us.
28290
28291 2005-07-15  Andy Wingo  <wingo@pobox.com>
28292
28293         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
28294         (#157311).
28295
28296         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
28297         own marshalling function for the handoff signal. Properly type the
28298         buffer as a buffer. Fixes some warnings. Should do a more general
28299         solution.
28300         (gst_identity_class_init): Plug into the right marshaller.
28301
28302 2005-07-15  Wim Taymans  <wim@fluendo.com>
28303
28304         * docs/design/part-TODO.txt:
28305         * docs/design/part-clocks.txt:
28306         * docs/design/part-element-sink.txt:
28307         * docs/design/part-events.txt:
28308         * docs/design/part-gstpipeline.txt:
28309         Updated docs, mostly DISCONT related.
28310
28311 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
28312
28313         * docs/pwg/building-pads.xml:
28314           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
28315
28316 2005-07-15  Andy Wingo  <wingo@pobox.com>
28317
28318         * tools/gst-typefind.c: Update, add copyright block.
28319
28320         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
28321         Normalize and truncate caps before fixation.
28322
28323         * gst/gstcaps.h:
28324         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
28325         discards all but the first structure from its argument.
28326
28327 2005-07-15  Wim Taymans  <wim@fluendo.com>
28328
28329         * gst/base/gstbasetransform.c: (gst_base_transform_init),
28330         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
28331         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
28332         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
28333         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
28334         (gst_base_transform_chain), (gst_base_transform_change_state),
28335         (gst_base_transform_set_passthrough),
28336         (gst_base_transform_is_passthrough):
28337         * gst/base/gstbasetransform.h:
28338         Make passthrough work using the bufferpools.
28339         Changed API a bit, subclasses have to write into a buffer
28340         provided by the base class.
28341         More debug info in nego functions.
28342         
28343         * gst/elements/gstidentity.c: (gst_identity_init),
28344         (gst_identity_transform):
28345         Port to new base class.
28346
28347 2005-07-15  Wim Taymans  <wim@fluendo.com>
28348
28349         * gst/gstmessage.c: (gst_message_new_state_changed):
28350         * tools/gst-launch.c: (event_loop), (main):
28351         Totally dump messages in -launch with the -m option.
28352         Fix message name for State messages,
28353
28354 2005-07-14  Wim Taymans  <wim@fluendo.com>
28355
28356         * gst/base/gstbasesrc.c: (gst_base_src_loop):
28357         Post error messages on errors.
28358
28359 2005-07-14  Wim Taymans  <wim@fluendo.com>
28360
28361         * gst/gstcaps.c: (gst_caps_do_simplify):
28362         Remove debug info.
28363
28364         * gst/gsterror.h:
28365         Define error for stream stopped.
28366
28367         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28368         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
28369         Do proper return values.
28370
28371         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
28372         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
28373         (gst_pad_get_range):
28374         Better return values.
28375
28376         * gst/gstpad.h:
28377         Reorganise return values, add macro to check for fatal errors.
28378
28379         * gst/gstqueue.c: (gst_queue_chain):
28380         Return proper GstFlowReturn values,
28381
28382 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
28383
28384         * docs/gst/gstreamer-sections.txt:
28385         * docs/gst/gstreamer.types:
28386         * docs/gst/tmpl/gst.sgml:
28387         * docs/gst/tmpl/gstbasesink.sgml:
28388         * docs/gst/tmpl/gstbasesrc.sgml:
28389         * docs/gst/tmpl/gstbasetransform.sgml:
28390         * docs/gst/tmpl/gstbin.sgml:
28391         * docs/gst/tmpl/gstbuffer.sgml:
28392         * docs/gst/tmpl/gstcaps.sgml:
28393         * docs/gst/tmpl/gstclock.sgml:
28394         * docs/gst/tmpl/gstcompat.sgml:
28395         * docs/gst/tmpl/gstconfig.sgml:
28396         * docs/gst/tmpl/gstelement.sgml:
28397         * docs/gst/tmpl/gstelementdetails.sgml:
28398         * docs/gst/tmpl/gstelementfactory.sgml:
28399         * docs/gst/tmpl/gstenumtypes.sgml:
28400         * docs/gst/tmpl/gsterror.sgml:
28401         * docs/gst/tmpl/gstevent.sgml:
28402         * docs/gst/tmpl/gstfakesink.sgml:
28403         * docs/gst/tmpl/gstfakesrc.sgml:
28404         * docs/gst/tmpl/gstfilesink.sgml:
28405         * docs/gst/tmpl/gstfilesrc.sgml:
28406         * docs/gst/tmpl/gstfilter.sgml:
28407         * docs/gst/tmpl/gstformat.sgml:
28408         * docs/gst/tmpl/gstghostpad.sgml:
28409         * docs/gst/tmpl/gstimplementsinterface.sgml:
28410         * docs/gst/tmpl/gstindex.sgml:
28411         * docs/gst/tmpl/gstindexfactory.sgml:
28412         * docs/gst/tmpl/gstinfo.sgml:
28413         * docs/gst/tmpl/gstiterator.sgml:
28414         * docs/gst/tmpl/gstmacros.sgml:
28415         * docs/gst/tmpl/gstmemchunk.sgml:
28416         * docs/gst/tmpl/gstminiobject.sgml:
28417         * docs/gst/tmpl/gstobject.sgml:
28418         * docs/gst/tmpl/gstpad.sgml:
28419         * docs/gst/tmpl/gstpadtemplate.sgml:
28420         * docs/gst/tmpl/gstparse.sgml:
28421         * docs/gst/tmpl/gstpipeline.sgml:
28422         * docs/gst/tmpl/gstplugin.sgml:
28423         * docs/gst/tmpl/gstpluginfeature.sgml:
28424         * docs/gst/tmpl/gstquery.sgml:
28425         * docs/gst/tmpl/gstqueue.sgml:
28426         * docs/gst/tmpl/gstregistry.sgml:
28427         * docs/gst/tmpl/gstregistrypool.sgml:
28428         * docs/gst/tmpl/gstscheduler.sgml:
28429         * docs/gst/tmpl/gstschedulerfactory.sgml:
28430         * docs/gst/tmpl/gststructure.sgml:
28431         * docs/gst/tmpl/gstsystemclock.sgml:
28432         * docs/gst/tmpl/gsttaglist.sgml:
28433         * docs/gst/tmpl/gsttagsetter.sgml:
28434         * docs/gst/tmpl/gsttrace.sgml:
28435         * docs/gst/tmpl/gsttrashstack.sgml:
28436         * docs/gst/tmpl/gsttypefind.sgml:
28437         * docs/gst/tmpl/gsttypefindfactory.sgml:
28438         * docs/gst/tmpl/gsttypes.sgml:
28439         * docs/gst/tmpl/gsturihandler.sgml:
28440         * docs/gst/tmpl/gsturitype.sgml:
28441         * docs/gst/tmpl/gstutils.sgml:
28442         * docs/gst/tmpl/gstvalue.sgml:
28443         * docs/gst/tmpl/gstversion.sgml:
28444         * docs/gst/tmpl/gstxml.sgml:
28445         * docs/libs/tmpl/gstcontrol.sgml:
28446         * docs/libs/tmpl/gstdataprotocol.sgml:
28447         * docs/libs/tmpl/gstdparam.sgml:
28448         * docs/libs/tmpl/gstdplinint.sgml:
28449         * docs/libs/tmpl/gstdpman.sgml:
28450         * docs/libs/tmpl/gstdpsmooth.sgml:
28451         * docs/libs/tmpl/gstgetbits.sgml:
28452         * docs/libs/tmpl/gstunitconvert.sgml:
28453         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
28454         (gst_push_src_base_init), (gst_push_src_class_init),
28455         (gst_push_src_init), (gst_push_src_create):
28456         * gst/base/gstpushsrc.h:
28457         * gst/elements/gstelements.c:
28458         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
28459         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
28460         (gst_fake_sink_init), (gst_fake_sink_set_property),
28461         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
28462         (gst_fake_sink_event), (gst_fake_sink_preroll),
28463         (gst_fake_sink_render), (gst_fake_sink_change_state):
28464         * gst/elements/gstfakesink.h:
28465         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
28466         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
28467         (gst_fake_src_base_init), (gst_fake_src_class_init),
28468         (gst_fake_src_init), (gst_fake_src_event_handler),
28469         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
28470         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
28471         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
28472         (gst_fake_src_create_buffer), (gst_fake_src_create),
28473         (gst_fake_src_start), (gst_fake_src_stop):
28474         * gst/elements/gstfakesrc.h:
28475         * gst/elements/gstfilesink.c: (_do_init),
28476         (gst_file_sink_base_init), (gst_file_sink_class_init),
28477         (gst_file_sink_init), (gst_file_sink_dispose),
28478         (gst_file_sink_set_location), (gst_file_sink_set_property),
28479         (gst_file_sink_get_property), (gst_file_sink_open_file),
28480         (gst_file_sink_close_file), (gst_file_sink_query),
28481         (gst_file_sink_event), (gst_file_sink_render),
28482         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
28483         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
28484         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
28485         * gst/elements/gstfilesink.h:
28486         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
28487         (gst_file_src_class_init), (gst_file_src_init),
28488         (gst_file_src_finalize), (gst_file_src_set_location),
28489         (gst_file_src_set_property), (gst_file_src_get_property),
28490         (gst_file_src_map_region), (gst_file_src_map_small_region),
28491         (gst_file_src_create_mmap), (gst_file_src_create_read),
28492         (gst_file_src_create), (gst_file_src_is_seekable),
28493         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
28494         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
28495         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
28496         (gst_file_src_uri_handler_init):
28497         * gst/elements/gstfilesrc.h:
28498           more autistic cleanliness in functions/names/defines
28499
28500 2005-07-13  Andy Wingo  <wingo@pobox.com>
28501
28502         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
28503         source couldn't negotiate.
28504
28505         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
28506         connections again.
28507
28508         * gst/gstutils.h:
28509         * gst/gstutils.c (gst_element_link_pads_filtered): New old
28510         function. I am channeling Hades. Put your boots on suckers!!!
28511
28512 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
28513
28514         * testsuite/caps/Makefile.am:
28515         * testsuite/caps/value_compare.c:
28516         * testsuite/caps/value_intersect.c:
28517         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
28518           move two testsuite apps over to the check dir
28519
28520 2005-07-12  Wim Taymans  <wim@fluendo.com>
28521
28522         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
28523         Added more debug info in the negotiate process.
28524
28525         * gst/gstmessage.h:
28526         Prepare for segment playback.
28527
28528         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
28529         Better debugging.
28530
28531         * gst/gstutils.c:
28532         Some more docs.
28533
28534         * tools/gst-launch.c: (main):
28535         NULL pipeline on errors.
28536
28537 2005-07-12  Andy Wingo  <wingo@pobox.com>
28538
28539         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
28540         not it comes from a malloc region. Make sure our copy gets freed.
28541
28542 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28543
28544         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
28545         * check/gst/gstmessage.c: (GST_START_TEST):
28546         * check/gst/gststructure.c: (GST_START_TEST),
28547         (gst_structure_suite), (main):
28548           more testing
28549         * gst/gstelement.c: (gst_element_message_full):
28550           clean up GError and debug string now that they get copied
28551         * gst/gstmessage.c: (gst_message_new_error),
28552         (gst_message_new_warning), (gst_message_parse_error),
28553         (gst_message_parse_warning):
28554           use GST_TYPE_G_ERROR for structure_new, and take copies of
28555           arguments, so that we don't mess up refcounting
28556
28557 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28558
28559         * check/Makefile.am:
28560           add per-test valgrind targets
28561         * check/gst-libs/gdp.c: (GST_START_TEST),
28562         (gst_data_protocol_suite), (main):
28563           clean up
28564
28565 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28566
28567         * check/Makefile.am:
28568           instate more valgrindable tests
28569         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28570         (GST_START_TEST), (fakesrc_suite):
28571         * check/gst/gstpad.c: (GST_START_TEST):
28572         * check/gst/gststructure.c: (GST_START_TEST):
28573           fix test leaks
28574         * docs/gst/tmpl/gstminiobject.sgml:
28575         * gst/gstpad.c: (gst_pad_finalize):
28576           fix the static mutex leak
28577
28578 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28579
28580         * check/Makefile.am:
28581           add two more tests for valgrinding
28582         * check/gst/gstvalue.c: (GST_START_TEST):
28583           test refcount of deserialized buffer, found a leak
28584         * docs/gst/gstreamer-docs.sgml:
28585         * docs/gst/gstreamer-sections.txt:
28586         * docs/gst/gstreamer.types:
28587         * docs/gst/tmpl/gstminiobject.sgml:
28588           add miniobject to docs
28589         * gst/gstminiobject.c:
28590           add some docs
28591         * gst/gstvalue.c: (gst_value_deserialize_buffer),
28592         (gst_string_unwrap):
28593           fix a hard-to-find invalid write for one of the tests
28594           fix a leak for deserialized buffers
28595
28596 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28597
28598         * docs/pwg/advanced-events.xml:
28599         * docs/pwg/advanced-request.xml:
28600         * docs/pwg/advanced-scheduling.xml:
28601         * docs/pwg/appendix-porting.xml:
28602         * docs/pwg/building-boiler.xml:
28603         * docs/pwg/intro-preface.xml:
28604         * docs/pwg/other-ntoone.xml:
28605           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28606           of example code and explanation for pad activation, loop() and
28607           getrange() functions and a bit more. Remove old comments pointing
28608           to loop-functions.
28609         * examples/pwg/Makefile.am:
28610           Add loop/getrange examples.
28611
28612 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28613
28614         * configure.ac:
28615           check for valgrind binary + some fixes
28616         * check/gst.supp:
28617           valgrind suppressions for the tests
28618         * check/Makefile.am:
28619           add a valgrind: target that valgrinds the unit tests
28620         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28621         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28622         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28623         * check/gst/gstghostpad.c:
28624           added some cleanup
28625         * check/gst/gstdata.c:
28626           removed
28627         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28628         (thread_unref), (gst_mini_object_suite), (main):
28629           added
28630         * gst/gst.c: (gst_deinit):
28631         * gst/gst.h:
28632           add a method to clean up.
28633         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28634         (gst_system_clock_obtain):
28635           allow for disposing the system clock.
28636         * tools/gst-launch.c: (main):
28637           deinit
28638
28639 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28640
28641         * docs/gst/tmpl/gstbasesrc.sgml:
28642         * docs/gst/tmpl/gstfakesrc.sgml:
28643         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28644         (gst_base_src_init), (gst_base_src_set_property),
28645         (gst_base_src_get_property), (gst_base_src_get_range),
28646         (gst_base_src_start):
28647         * gst/base/gstbasesrc.h:
28648           add num-buffers property
28649         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28650         (gst_fakesrc_init), (gst_fakesrc_set_property),
28651         (gst_fakesrc_get_property), (gst_fakesrc_create),
28652         (gst_fakesrc_start):
28653           remove num-buffers property
28654
28655 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28656
28657         * docs/gst/gstreamer-sections.txt:
28658         * docs/gst/tmpl/gstbasesink.sgml:
28659         * docs/gst/tmpl/gstbasesrc.sgml:
28660         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28661         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28662         (gst_base_sink_finalize), (gst_base_sink_set_clock),
28663         (gst_base_sink_set_property), (gst_base_sink_get_property),
28664         (gst_base_sink_handle_object), (gst_base_sink_event),
28665         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28666         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28667         (gst_base_sink_loop), (gst_base_sink_deactivate),
28668         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28669         (gst_base_sink_change_state):
28670         * gst/base/gstbasesink.h:
28671         * gst/base/gstbasesrc.h:
28672         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28673         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28674         (gst_filesink_init):
28675           more macro splitting
28676
28677 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28678
28679         * gst/gstelement.c: (gst_element_get_bus):
28680           add debug
28681         * tools/gst-launch.c: (check_intr), (event_loop):
28682           fix bus leaks
28683
28684 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28685
28686         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28687           fix a caps leak
28688
28689 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28690
28691         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28692         (gst_base_src_finalize):
28693           add finalize method and clean up properly
28694         * gst/gstpipeline.c: (gst_pipeline_dispose):
28695           add debug
28696
28697 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28698
28699         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28700         (gst_bin_suite):
28701           add more things to check
28702         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28703         * gst/gstelement.c:
28704           more debug
28705
28706 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28707
28708         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28709         (GST_START_TEST), (fakesrc_suite):
28710         * check/gst-libs/gdp.c: (GST_START_TEST):
28711         * check/gst/gst.c: (GST_START_TEST):
28712         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28713         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28714         * check/gst/gstbus.c: (GST_START_TEST):
28715         * check/gst/gstcaps.c: (GST_START_TEST):
28716         * check/gst/gstdata.c: (GST_START_TEST):
28717         * check/gst/gstelement.c: (GST_START_TEST):
28718         * check/gst/gstghostpad.c: (GST_START_TEST):
28719         * check/gst/gstiterator.c: (GST_START_TEST):
28720         * check/gst/gstmessage.c: (GST_START_TEST):
28721         * check/gst/gstobject.c: (GST_START_TEST):
28722         * check/gst/gstpad.c: (GST_START_TEST):
28723         * check/gst/gststructure.c: (GST_START_TEST):
28724         * check/gst/gstsystemclock.c: (GST_START_TEST),
28725         (gst_systemclock_suite):
28726         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28727         * check/gst/gstvalue.c: (GST_START_TEST):
28728         * check/pipelines/cleanup.c: (GST_START_TEST):
28729         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28730         * check/states/sinks.c: (GST_START_TEST):
28731         * check/gstcheck.c: (gst_check_init):
28732         * check/gstcheck.h:
28733           add debugging category
28734           use GST_START_TEST now, so we add a debug line
28735
28736 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28737
28738         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28739           add test for state change message on a bin
28740         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28741           add another test
28742         * gst/gstbin.c: (gst_bin_init):
28743         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28744         * gst/gstelement.c: (gst_element_post_message),
28745         (gst_element_set_state):
28746         * gst/gstelementfactory.c: (gst_element_factory_create):
28747         * gst/gstmessage.c: (gst_message_new):
28748         * gst/gstscheduler.c:
28749           various debugging additions and cleanups
28750
28751 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28752
28753         * check/Makefile.am:
28754         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28755         (main):
28756           adding tests for elements
28757         * gst/gstelement.c: (gst_element_dispose):
28758
28759 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28760
28761         * gst/registries/gstlibxmlregistry.c: (load_feature):
28762           plug more leaks.  A simple gst_init() now is leakfree, yay.
28763
28764 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28765
28766         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28767         (gst_xml_registry_load):
28768           plug another memleak
28769
28770 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28771
28772         * configure.ac:
28773           use GST_SET_ERROR_CFLAGS
28774         * docs/faq/cvs.xml:
28775           change to ERROR_CFLAGS
28776
28777 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28778
28779         * configure.ac:
28780           make GST_ERROR_CFLAGS overridable and re-enable Werror
28781         * docs/faq/cvs.xml:
28782           add a note about error CFLAGS
28783         * docs/gst/tmpl/gstfakesrc.sgml:
28784         * gst/elements/gstfakesrc.c:
28785           comment out some unused code
28786         * gst/gst.c: (split_and_iterate):
28787         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28788         (load_feature):
28789           plug some memleaks
28790
28791 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28792
28793         * common/Makefile.am:
28794         * common/gtk-doc.mak:
28795         * docs/gst/Makefile.am:
28796           factor out gtk-doc.mak
28797
28798 2005-07-07  Wim Taymans  <wim@fluendo.com>
28799
28800         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28801         (gst_thread_scheduler_dispose):
28802         Unlock the STREAM_LOCK completely.
28803
28804 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28805
28806         * check/Makefile.am:
28807         * check/elements/.cvsignore:
28808         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28809         (START_TEST), (fakesrc_suite), (main):
28810         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28811         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28812         (gst_fakesrc_create), (gst_fakesrc_start):
28813         * gst/elements/gstfakesrc.h:
28814           adding a first element test
28815
28816 2005-07-07  Andy Wingo  <wingo@pobox.com>
28817
28818         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28819         debug message.
28820
28821 2005-07-07  Wim Taymans  <wim@fluendo.com>
28822
28823         * gst/gstquery.c:
28824         * gst/gstquery.h:
28825         Remove old types
28826
28827 2005-07-07  Wim Taymans  <wim@fluendo.com>
28828
28829         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28830         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28831         Allow subclasses to implement their own negotiation.
28832
28833 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28834
28835         * docs/design/part-gstbin.txt:
28836         * docs/design/part-gstpipeline.txt:
28837           Update design notes to reflect the movement of
28838           responsibility for bus handling from GstPipeline to
28839           GstBin
28840
28841 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28842
28843         * configure.ac:
28844           Remove unnecessary queue2/3/4 examples.
28845
28846 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28847
28848         * examples/Makefile.am:
28849         * examples/helloworld/helloworld.c: (event_loop), (main):
28850         * examples/queue/queue.c: (event_loop), (main):
28851         * examples/queue2/queue2.c: (main):
28852           Update a couple of the examples to work again.
28853
28854         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28855         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28856          Spelling corrections and extra debug.
28857         
28858         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28859         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28860         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28861         * gst/gstbin.h:
28862         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28863         (gst_pipeline_change_state):
28864         * gst/gstpipeline.h:
28865           Move the bus handler for children to the GstBin, and create a
28866           separate bus for receiving messages from children to the one the
28867           bus sends 'upwards' on.
28868
28869 2005-07-06  Wim Taymans  <wim@fluendo.com>
28870
28871         * gst/base/README:
28872         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28873         (gst_base_sink_handle_object), (gst_base_sink_loop),
28874         (gst_base_sink_change_state):
28875         * gst/base/gstbasesink.h:
28876         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28877         (gst_base_src_init), (gst_base_src_setcaps),
28878         (gst_base_src_getcaps), (gst_base_src_loop),
28879         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28880         (gst_base_src_start), (gst_base_src_change_state):
28881         * gst/base/gstbasesrc.h:
28882         Make basesrc negotiate.
28883         Handle the case where preroll fails in basesink.
28884         Update README.
28885
28886 2005-07-06  Wim Taymans  <wim@fluendo.com>
28887
28888         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28889         Implement the fixate function.
28890         Clean up acceptcaps.
28891
28892 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28893
28894         * docs/pwg/building-filterfactory.xml:
28895         * docs/pwg/pwg.xml:
28896           Remove never-written filter-factory chapter; I'll add the various
28897           base classes to part 4 ("other element types") later on.
28898
28899 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28900
28901         * docs/pwg/advanced-negotiation.xml:
28902         * docs/pwg/building-boiler.xml:
28903         * docs/pwg/building-pads.xml:
28904         * docs/pwg/pwg.xml:
28905         * examples/pwg/Makefile.am:
28906           Add a chapter on caps negotiation, simplify the original code
28907           samples a bit w.r.t. caps negotiation, add link to the advanced
28908           section. Add a bunch of examples showing different use cases of
28909           different types of caps negotiation. Upstream renegotiation isn't
28910           fully documented yet since nobody knows how that works.
28911
28912 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
28913
28914         * check/gst/gstpad.c:
28915         * check/gstcheck.c:
28916         * gst/gstpad.c: (gst_pad_get_internal_links_default):
28917           if pad has no parent, return NULL as list of internal links
28918
28919 2005-07-05  Andy Wingo  <wingo@pobox.com>
28920
28921         * gst/elements/gstfilesrc.c:
28922         * gst/elements/gstfakesrc.c: 
28923         * gst/base/gstpushsrc.c:
28924         * gst/base/gstbasesrc.h: 
28925         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28926         
28927 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
28928
28929         * Makefile.am:
28930           better report generation target (lcov needs a patch)
28931
28932 2005-07-05  Andy Wingo  <wingo@pobox.com>
28933
28934         * gst/elements, testsuite: Null if we got it...
28935
28936 2005-07-05  Wim Taymans  <wim@fluendo.com>
28937
28938         * configure.ac:
28939         * libs/gst/dataprotocol/Makefile.am:
28940         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28941         * libs/gst/dataprotocol/dataprotocol.h:
28942         * pkgconfig/Makefile.am:
28943         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28944         * pkgconfig/gstreamer-dataprotocol.pc.in:
28945         Ported dataprotol to 0.9. 
28946         Added pkgconfig files.
28947
28948 2005-07-05  Andy Wingo  <wingo@pobox.com>
28949
28950         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28951         Default to returning TRUE for the case when tranform_caps returns
28952         a fixed caps, like for identity or volume.
28953
28954         * check/gst/gstbus.c (pound_bus_with_messages): 
28955         * check/gst/gstmessage.c (START_TEST): 
28956         * check/pipelines/simple_launch_lines.c (got_handoff): Application
28957         message API change.
28958
28959         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28960         logic weaks here: always run transform_caps, trying passthrough
28961         operation only if the original caps intersects with the transform.
28962
28963         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28964         source and sink caps.
28965
28966         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28967         Intersect the peer caps with the pad template before going into
28968         transform_caps.
28969         (gst_base_transform_transform_caps): More debugging.
28970
28971         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28972         src argument.
28973
28974 2005-07-04  Edward Hervey  <edward@fluendo.com>
28975
28976         * gst/gstutils.c:
28977         * gst/gstutils.h:
28978         (gst_pad_add_*_probe): now returns the signal id for better wrapping
28979         in bindings.
28980
28981 2005-07-04  Andy Wingo  <wingo@pobox.com>
28982
28983         * check/gst/gstpad.c: Only set explicit caps on pads.
28984
28985 2005-07-01  Andy Wingo  <wingo@pobox.com>
28986
28987         * tests/network-clock.scm: Commentary update.
28988
28989         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28990         Didn't really make sense, not implementable with basetransform,
28991         etc.
28992         (gst_identity_transform): Unref inbuf via make_writable. Feeble
28993         attempt at implementing the sync property, needs an unlock method.
28994
28995         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28996         New func, by default returns the same caps (the identity
28997         transformation).
28998         (gst_base_transform_getcaps): Uses transform_caps to return
28999         something sensible.
29000         (gst_base_transform_setcaps): Complicated logic to get caps on
29001         both pads, even if they are different, and to call set_caps once
29002         for every time both pads get their caps set.
29003         (gst_base_transform_handle_buffer): Give the ref to the transform
29004         function. Allows in-place modification of the buffer.
29005
29006         * gst/base/gstbasetransform.h (transform_caps): New class method.
29007         Given caps on one side, what can I do on the other.
29008         (set_caps): Take two caps, one for each side of the element.
29009
29010         * gst/gstpad.h:
29011         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
29012         caps in place. This is safe because we can check the mutability of
29013         the caps, and a good idea because fixate functions are just called
29014         as a matter of last resort. (Not actually implemented.)
29015         (gst_pad_set_caps): If the caps we're setting is actually the same
29016         as the existing pad caps, just update the pointer without calling
29017         setcaps. Assert that caps is either NULL or fixed, as per the
29018         docs.
29019
29020         * gst/gstghostpad.c: Update for fixate changes.
29021
29022 2005-07-02  Andy Wingo  <wingo@pobox.com>
29023
29024         * gst/gstcaps.c:
29025         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
29026         two refcounts makes it immutable, which is enough. Doc more.
29027
29028 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
29029
29030         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
29031           Put the mini_object into GValue as a mini_object,
29032           not a gpointer, since that's how we declared
29033           the signal.
29034
29035 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29036
29037         * examples/pwg/Makefile.am:
29038           Fix buildbot again.
29039
29040 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29041
29042         * docs/pwg/building-testapp.xml:
29043           Add extra check.
29044         * examples/pwg/Makefile.am:
29045           Fix buildbot.
29046
29047 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29048
29049         * configure.ac:
29050         * examples/Makefile.am:
29051         * examples/pwg/Makefile.am:
29052         * examples/pwg/extract.pl:
29053           Enable building the PWG examples.
29054         * docs/pwg/advanced-interfaces.xml:
29055           Add URI interface stub.
29056         * docs/pwg/advanced-types.xml:
29057         * docs/pwg/other-autoplugger.xml:
29058         * docs/pwg/appendix-porting.xml:
29059         * docs/pwg/pwg.xml:
29060           Add porting guide (mostly stubs), remove autoplugging (see ADM).
29061         * docs/pwg/building-boiler.xml:
29062         * docs/pwg/building-chainfn.xml:
29063         * docs/pwg/building-pads.xml:
29064         * docs/pwg/building-props.xml:
29065         * docs/pwg/building-state.xml:
29066         * docs/pwg/building-testapp.xml:
29067           Update the building-*.xml parts for 0.9 changes. All examples
29068           code blocks compile in examples/pwg/*.
29069
29070 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29071
29072         * docs/manual/advanced-autoplugging.xml:
29073         * docs/manual/appendix-checklist.xml:
29074         * docs/manual/appendix-integration.xml:
29075         * docs/manual/highlevel-components.xml:
29076           Fix playbin/decodebin examples, update docs a bit, mention bus
29077           instead of signals in various places, mention kmplayer and
29078           kaffeine since they have a working GStreamer backend in the KDE
29079           section.
29080
29081 2005-06-30  Wim Taymans  <wim@fluendo.com>
29082
29083         * CHANGES-0.9:
29084         * docs/design/draft-ghostpads.txt:
29085         * docs/design/draft-push-pull.txt:
29086         * docs/design/draft-query.txt:
29087         * docs/design/part-TODO.txt:
29088         * docs/design/part-query.txt:
29089         Added CHANGES-0.9 doc, updated status of other docs.
29090         
29091         * gst/gstquery.h:
29092         Remove "hmm" macro
29093
29094 2005-06-30  Wim Taymans  <wim@fluendo.com>
29095
29096         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
29097         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
29098         (gst_base_sink_change_state):
29099         * gst/base/gstbasesink.h:
29100         Some tweaks, only EOS and a buffer complete a preroll.
29101
29102 2005-06-30  Andy Wingo  <wingo@pobox.com>
29103
29104         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
29105         activate_push down to the internal pad as well.
29106
29107 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
29108
29109         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29110
29111         * gst/gsttaginterface.c:
29112           Some documentation fixes (#307394 and #307397).
29113
29114 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
29115
29116         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29117
29118         * gst/gstvalue.c: (gst_value_intersect_list):
29119           Fix memleak (#309125).
29120
29121 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29122
29123         * docs/manual/advanced-dataaccess.xml:
29124           Fix fakesrc example to compile; doesn't work, bug somewhere...?
29125         * docs/manual/basics-pads.xml:
29126           Add reference for filtered caps to above chapter.
29127
29128 2005-06-30  Wim Taymans  <wim@fluendo.com>
29129
29130         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
29131         (gst_bin_change_state):
29132         Probes are gone.
29133         Lame attempt at making the state change function a bit
29134         more readable.
29135
29136 2005-06-30  Wim Taymans  <wim@fluendo.com>
29137
29138         * docs/design/part-clocks.txt:
29139         * docs/design/part-element-sink.txt:
29140         * docs/design/part-events.txt:
29141         * docs/design/part-preroll.txt:
29142         * docs/design/part-states.txt:
29143         Some more tweeks and additions to the docs.
29144
29145 2005-06-30  Wim Taymans  <wim@fluendo.com>
29146
29147         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
29148         (default_have_data), (gst_pad_class_init), (gst_pad_init),
29149         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
29150         (gst_pad_check_pull_range), (gst_pad_get_range),
29151         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
29152         * gst/gstpad.h:
29153         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
29154         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
29155         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
29156         (gst_pad_remove_buffer_probe):
29157         Removed atomic operations, use existing LOCK.
29158         Move exception handling out of main code path.
29159
29160 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29161
29162         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
29163         (silly_return_true_function), (gst_pad_class_init),
29164         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
29165         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
29166         (gst_pad_send_event):
29167           Fix accumulator, add default value by using _emitv() instead
29168           of _emit() for signal emission.
29169
29170 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29171
29172         * docs/manual/advanced-dataaccess.xml:
29173         * examples/manual/Makefile.am:
29174           Add probe example.
29175         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
29176           Make work (??).
29177
29178 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
29179
29180         * gst/elements/gstfilesink.c: (gst_filesink_render):
29181           Simplify code so that we don't have to handle short
29182           writes and return GST_FLOW_ERROR if an error occured.
29183
29184 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29185
29186         * docs/gst/gstreamer-docs.sgml:
29187           Remove probes more.
29188
29189 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29190
29191         * docs/gst/gstreamer-sections.txt:
29192         * docs/gst/tmpl/gstpad.sgml:
29193         * docs/gst/tmpl/gstprobe.sgml:
29194         * gst/Makefile.am:
29195         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
29196         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
29197         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29198         (gst_pad_push_event), (gst_pad_send_event):
29199         * gst/gstpad.h:
29200         * gst/gstutils.c: (gst_pad_add_data_probe),
29201         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
29202         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
29203         (gst_pad_remove_buffer_probe):
29204         * gst/gstutils.h:
29205           Remove old probes, add new g-signal-based probes and some utility
29206           functions.
29207
29208 2005-06-29  Edward Hervey  <edward@fluendo.com>
29209
29210         * gst/gstelementfactory.c:
29211         * gst/gstutils.h:
29212         * gst/gstutils.c:
29213         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
29214         the definition to the header file.
29215
29216 2005-06-29  Andy Wingo  <wingo@pobox.com>
29217
29218         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
29219         plugins from the source directory.
29220
29221 2005-06-29  Wim Taymans  <wim@fluendo.com>
29222
29223         * docs/gst/tmpl/gstbuffer.sgml:
29224         * docs/gst/tmpl/gstclock.sgml:
29225         Some fixings for blantently wrong text.
29226
29227 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
29228
29229         * check/Makefile.am:
29230         * gst/gst.c: (add_path_func), (init_pre):
29231         * gst/gstregistry.c: (gst_registry_add_path):
29232           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
29233           only scan the GST_PLUGIN_PATH locations, and not add
29234           system locations
29235
29236 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
29237
29238         * docs/gst/gstreamer-sections.txt:
29239         * docs/gst/tmpl/gstbasesrc.sgml:
29240         * gst/gstelement.c:
29241         * gst/gstelement.h:
29242         * gst/gstevent.c:
29243         * gst/gstutils.c:
29244           doc fixes
29245
29246 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29247
29248         * docs/manual/advanced-autoplugging.xml:
29249           Fix autoplugging example.
29250
29251 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29252
29253         * docs/manual/advanced-autoplugging.xml:
29254         * docs/manual/mime-world.fig:
29255           Try to get autoplugging working, fix type detection. Fix text
29256           in hello-world image.
29257
29258 2005-06-29  Wim Taymans  <wim@fluendo.com>
29259
29260         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
29261         (gst_base_sink_change_state):
29262         Small debug line.
29263
29264         * gst/gstclock.h:
29265         map SIGNAL and BROADCAST to the right function.
29266
29267         * gst/gstobject.h:
29268         Remove redundant braces.
29269
29270         * gst/gstpad.c: (gst_pad_set_caps):
29271         Don't call setcaps function when reseting caps to NULL.
29272
29273         * gst/gstsystemclock.c: (gst_system_clock_dispose),
29274         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
29275         (gst_system_clock_id_unschedule):
29276         Use BROADCAST as this is what we do.
29277
29278 2005-06-29  Wim Taymans  <wim@fluendo.com>
29279
29280         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
29281         We are actually prerolling before commiting the state
29282         change. 
29283
29284 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29285
29286         * docs/manual/advanced-clocks.xml:
29287         * docs/manual/advanced-interfaces.xml:
29288         * docs/manual/advanced-metadata.xml:
29289         * docs/manual/advanced-position.xml:
29290         * docs/manual/advanced-schedulers.xml:
29291         * docs/manual/advanced-threads.xml:
29292         * docs/manual/appendix-porting.xml:
29293         * docs/manual/basics-bins.xml:
29294         * docs/manual/basics-bus.xml:
29295         * docs/manual/basics-elements.xml:
29296         * docs/manual/basics-helloworld.xml:
29297         * docs/manual/basics-pads.xml:
29298         * docs/manual/highlevel-components.xml:
29299         * docs/manual/manual.xml:
29300         * docs/manual/thread.fig:
29301           Update (until threads/scheduling) Application Development Manual;
29302           remove GstThread, add GstBus, add simple porting checklist, add
29303           documentation for tag writing, clocks, make all examples until this
29304           part compile and run.
29305         * examples/manual/Makefile.am:
29306           Update from changes to Application Development Manual; add bus
29307           example, remove thread example.
29308
29309 2005-06-28  Wim Taymans  <wim@fluendo.com>
29310
29311         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
29312         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
29313         (gst_bus_source_dispatch):
29314         Add debugging messages.
29315         Make internal methods static.
29316         Handle the case where the bus is flushed in the handler.
29317         
29318         * gst/gstelement.c: (gst_element_get_bus):
29319         Fix refcount in _get_bus();
29320
29321         * gst/gstpipeline.c: (gst_pipeline_change_state),
29322         (gst_pipeline_get_clock_func):
29323         Clock refcounting fixes.
29324         Handle the case where preroll timed out more gracefully.
29325         
29326         * gst/gstsystemclock.c: (gst_system_clock_dispose):
29327         Clean up the internal thread in dispose. This is needed
29328         for subclasses that actually get disposed.
29329         
29330         * gst/schedulers/threadscheduler.c:
29331         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
29332         (gst_thread_scheduler_dispose):
29333         Free thread pool in dispose.
29334
29335 2005-06-28  Andy Wingo  <wingo@pobox.com>
29336
29337         * tests/network-clock-utils.scm (debug, print-event): New utils.
29338
29339         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
29340         (*packet-loss*): Unified loss probability.
29341         (network-time): Report out-of-band events.
29342
29343         * tests/plot-data: Add support for out-of-band events. Hack it
29344         into this script instead of passing it down the pipe; should fix
29345         this later.
29346
29347 2005-06-28  Wim Taymans  <wim@fluendo.com>
29348
29349         * docs/gst/gstreamer.types:
29350         * docs/gst/tmpl/gstbasesrc.sgml:
29351         * docs/gst/tmpl/gstpad.sgml:
29352         Docs fixes.
29353
29354 2005-06-28  Wim Taymans  <wim@fluendo.com>
29355
29356         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29357         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
29358         (gst_proxy_pad_do_fixatecaps):
29359         Correctly proxy the check_pull_range function.
29360
29361 2005-06-28  Andy Wingo  <wingo@pobox.com>
29362
29363         * tests/network-clock.scm: Removed need for slib.
29364         
29365 2005-06-28  Wim Taymans  <wim@fluendo.com>
29366
29367         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
29368         (gst_basesink_preroll_queue_flush):
29369         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
29370         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
29371         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29372         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
29373         (gst_proxy_pad_set_property):
29374         * gst/gstpad.c:
29375         * gst/gstpad.h:
29376         * gst/gstqueue.c: (gst_queue_init):
29377         The deprecated pad loop function is removed now.
29378
29379 2005-06-28  Andy Wingo  <wingo@pobox.com>
29380
29381         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
29382         New parameters, simulate network packet loss.
29383
29384         * tests/network-clock-utils.scm: Initialize the RNG.
29385
29386 2005-06-28  Wim Taymans  <wim@fluendo.com>
29387
29388         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
29389         (gst_basesink_event), (gst_basesink_deactivate):
29390         Flushing the preroll queue always needs to unlock the waiters.
29391
29392 2005-06-28  Edward Hervey  <edward@fluendo.com>
29393
29394         * gst/gstpipeline.c: (gst_pipeline_send_event): 
29395         Wheen a seek was successful on a pipeline, set the stream_time to the
29396         seek offset in order to have a synchronized stream_time.
29397
29398 2005-06-28  Wim Taymans  <wim@fluendo.com>
29399
29400         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29401         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
29402         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
29403         (gst_proxy_pad_do_fixatecaps):
29404         Call wrapper function instead of just calling the function
29405         pointers. This takes care of any locking and whatmore.
29406
29407 2005-06-28  Wim Taymans  <wim@fluendo.com>
29408
29409         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
29410         (gst_pad_pull_range):
29411         * gst/gstpad.h:
29412         CONNECTED -> LINKED.
29413
29414 2005-06-28  Andy Wingo  <wingo@pobox.com>
29415
29416         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
29417         source-munging commit!!!
29418
29419         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
29420         (gst_object_sink): Take gpointer arguments, not GstObject --
29421         avoids casts. Like GLib.
29422
29423         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
29424         activate.
29425
29426 2005-06-27  Andy Wingo  <wingo@pobox.com>
29427
29428         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
29429         remaining buffer.
29430
29431         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
29432         returns a sorted copy of the trace list.
29433         (gst_alloc_trace_print_live): New API, only prints traces with
29434         live objects. Sort the list.
29435         (gst_alloc_trace_print_all): Sort the list.
29436         (gst_alloc_trace_print): Align columns.
29437
29438         * gst/elements/gstttypefindelement.c:
29439         * gst/elements/gsttee.c:
29440         * gst/base/gstbasesrc.c:
29441         * gst/base/gstbasesink.c:
29442         * gst/base/gstbasetransform.c:
29443         * gst/gstqueue.c: Adapt for pad activation changes.
29444
29445         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
29446         sched.
29447         (gst_pipeline_dispose): Drop ref on sched.
29448
29449         * gst/gstpad.c (gst_pad_init): Set the default activate func.
29450         (gst_pad_activate_default): Push mode by default.
29451         (pre_activate_switch, post_activate_switch): New stubs, things to
29452         do before and after switching activation modes on pads.
29453         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
29454         the pad's activate function to choose which mode to activate.
29455         Shortcut on deactivation and call the right function directly.
29456         (gst_pad_activate_pull): New API, (de)activates a pad in pull
29457         mode.
29458         (gst_pad_activate_push): New API, same for push mode.
29459         (gst_pad_set_activate_function) 
29460         (gst_pad_set_activatepull_function) 
29461         (gst_pad_set_activatepush_function): Setters for new API.
29462
29463         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
29464         Trace all miniobjects.
29465         (gst_mini_object_make_writable): Unref the arg if we copy, like
29466         gst_caps_make_writable.
29467
29468         * gst/gstmessage.c (_gst_message_initialize): No trace init.
29469
29470         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
29471         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
29472         Adapt for new pad API.
29473
29474         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
29475
29476         * gst/gstelement.h:
29477         * gst/gstelement.c (gst_element_iterate_src_pads) 
29478         (gst_element_iterate_sink_pads): New API functions.
29479         
29480         * gst/gstelement.c (iterator_fold_with_resync): New utility,
29481         should fold into gstiterator.c in some form.
29482         (gst_element_pads_activate): Simplified via use of fold and
29483         delegation of decisions to gstpad->activate.
29484
29485         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
29486         help in debugging.
29487
29488         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
29489         class once in init, like gstmessage. Didn't run into this issue
29490         but it seems correct. Don't initialize a trace, gstminiobject does
29491         that.
29492
29493         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
29494         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
29495         to the bus.
29496         (assert_live_count): New util function, uses alloc traces to check
29497         cleanup.
29498
29499         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
29500         To be modified when unlink drops the internal pad.
29501
29502 2005-06-27  Wim Taymans  <wim@fluendo.com>
29503
29504         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
29505         (gst_bin_change_state):
29506         Cleanup the get_state() function a little, make sure it
29507         iterates the same set of elements.
29508         Added stub iterate_state_order().
29509
29510 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
29511
29512         * docs/gst/gstreamer-docs.sgml:
29513         * docs/gst/gstreamer-sections.txt:
29514         * docs/gst/gstreamer.types:
29515         * docs/gst/tmpl/gstbasesink.sgml:
29516         * docs/gst/tmpl/gstbasesrc.sgml:
29517         * docs/gst/tmpl/gstbasetransform.sgml:
29518         * docs/gst/tmpl/gstelement.sgml:
29519         * docs/gst/tmpl/gstiterator.sgml:
29520         * gst/base/gstbasesrc.c:
29521         * gst/base/gstbasesrc.h:
29522         * gst/base/gstbasetransform.h:
29523         * gst/gstelement.c:
29524         * gst/gstiterator.h:
29525           adding basetransform and iterator docs
29526
29527 2005-06-27  Andy Wingo  <wingo@pobox.com>
29528
29529         * docs/design/part-activation.txt: Notes on how activation should
29530         work -- not quite implemented yet.
29531
29532 2005-06-25  Wim Taymans  <wim@fluendo.com>
29533
29534         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
29535         At least get the chain function correct, needs more
29536         fixing.
29537
29538 2005-06-25  Wim Taymans  <wim@fluendo.com>
29539
29540         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29541         (gst_basesink_handle_object), (gst_basesink_event),
29542         (gst_basesink_do_sync), (gst_basesink_handle_event),
29543         (gst_basesink_change_state):
29544         * gst/gsttask.h:
29545         Right, two problems here: ghostpads don't take locks and
29546         glib _rec_mutex_lock_full() with depth==0 still locks.
29547         Catch illegal locking and g_warn them.
29548
29549 2005-06-25  Wim Taymans  <wim@fluendo.com>
29550
29551         * check/states/sinks.c: (START_TEST), (gst_object_suite):
29552         Have to check for completion now...
29553
29554 2005-06-25  Wim Taymans  <wim@fluendo.com>
29555
29556         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29557         (gst_basesink_handle_object), (gst_basesink_event),
29558         (gst_basesink_do_sync), (gst_basesink_handle_event),
29559         (gst_basesink_change_state):
29560         * gst/gstpad.h:
29561         Unlock STREAM_LOCK whatever the recursion was.
29562
29563 2005-06-25  Wim Taymans  <wim@fluendo.com>
29564
29565         * gst/base/gstbasesink.c: (gst_basesink_set_property),
29566         (gst_basesink_preroll_queue_empty),
29567         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29568         (gst_basesink_event), (gst_basesink_do_sync),
29569         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29570         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29571         (gst_basesink_change_state):
29572         Reworked the base sink, handle event and buffer serialisation
29573         correctly and removed possible deadlock.
29574         Handle EOS correctly.
29575
29576 2005-06-25  Wim Taymans  <wim@fluendo.com>
29577
29578         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29579         (gst_pipeline_change_state):
29580         * tools/gst-launch.c: (check_intr), (event_loop), (main):
29581         Allow elements to post EOS in the state change function.
29582         Fix up -launch, make it exit the poll loop when the
29583         pipeline actually changed state.
29584         Fix up warning parsing in -launch.
29585
29586 2005-06-25  Wim Taymans  <wim@fluendo.com>
29587
29588         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29589         (gst_tee_sink_activate):
29590         Core takes STREAM_LOCK for us now.
29591
29592 2005-06-25  Wim Taymans  <wim@fluendo.com>
29593
29594         * gst/gstelement.c: (gst_element_get_state_func),
29595         (gst_element_set_state):
29596         * gst/gstelement.h:
29597         * gst/gstmessage.c: (gst_message_parse_error),
29598         (gst_message_parse_warning):
29599         Keep track of current target state while performing a state
29600         change so that subclasses can do something interesting.
29601         Fix parsing of warning/error messages when GError is NULL.
29602
29603 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
29604
29605         * docs/gst/Makefile.am:
29606         * docs/gst/gstreamer-docs.sgml:
29607         * docs/gst/gstreamer-sections.txt:
29608         * docs/gst/gstreamer.types:
29609         * docs/gst/tmpl/gstbasesink.sgml:
29610         * docs/gst/tmpl/gstbasesrc.sgml:
29611         * docs/gst/tmpl/gstbin.sgml:
29612         * docs/gst/tmpl/gstcompat.sgml:
29613         * docs/gst/tmpl/gstfakesink.sgml:
29614         * docs/gst/tmpl/gstfakesrc.sgml:
29615         * docs/gst/tmpl/gstfilesink.sgml:
29616         * docs/gst/tmpl/gstfilesrc.sgml:
29617         * docs/gst/tmpl/gstindex.sgml:
29618         * docs/manual/appendix-quotes.xml:
29619         * gst/base/gstbasesrc.h:
29620         * gst/elements/gstfakesrc.h:
29621         * gst/gstmessage.h:
29622           start pulling in base classes and elements in our docs
29623
29624 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
29625
29626         * docs/gst/Makefile.am:
29627         * docs/libs/Makefile.am:
29628           fixed make distcheck with gtk-doc 1.3
29629
29630 2005-06-23  Wim Taymans  <wim@fluendo.com>
29631
29632         * gst/gstelement.c: (gst_element_get_state_func),
29633         (gst_element_set_state), (gst_element_change_state):
29634         When the state did not change, also report NO_PREROLL
29635         when it matters.
29636
29637 2005-06-23  Wim Taymans  <wim@fluendo.com>
29638
29639         * gst/gstpad.c: (gst_pad_event_default):
29640         * gst/gstqueue.c: (gst_queue_loop):
29641         No unsafe task pausing please.
29642
29643 2005-06-23  Wim Taymans  <wim@fluendo.com>
29644
29645         * gst/schedulers/threadscheduler.c:
29646         (gst_thread_scheduler_task_start),
29647         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29648         Ref the task before pushing it on the threadpool. This
29649         makes sure that we have a ref when the threadfunction is
29650         actually called.
29651
29652 2005-06-23  Andy Wingo  <wingo@pobox.com>
29653
29654         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29655         offset is greater than the file's size.
29656
29657         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
29658         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29659         * gst/gstobject.c (gst_object_class_init): Make the class lock
29660         recursive. Wim won't let me drop deep_notify. Decodebin works
29661         again, whoopdy doo.
29662
29663         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29664         internal pad, and hacks accordingly. Doesn't do it on the target
29665         pad because we change its caps. Probably catches all cases of
29666         interest tho.
29667         (gst_ghost_pad_set_property): Connect to notify::caps as
29668         appropritate.
29669
29670         * tests/network-clock.scm (plot-simulation): Pipe data to the
29671         elite python skript.
29672
29673         * tests/network-clock-utils.scm (define-parameter): New macro,
29674         defines a parameter that can be set via the command line.
29675         (set-parameter!, parse-parameter-arguments): Command line args
29676         parser.
29677
29678         * tests/plot-data: Simple matplotlib-based plotter, takes input on
29679         stdin.
29680
29681 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
29682
29683         * gst/elements/gsttypefindelement.c:
29684         (gst_type_find_element_handle_event):
29685           Don't restart typefinding on a discont.
29686         * gst/gstelement.c: (gst_element_set_state):
29687           Debug spelling fix.
29688         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29689           Allow changing mode of an active pad.
29690           Debug output fixes.
29691         * gst/registries/gstlibxmlregistry.c: (load_feature):
29692           Don't cast a static pad template to a normal pad template.
29693
29694 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
29695
29696         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29697         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29698           remove gst_strtoll completely, since it didn't actually do
29699           anything more than what g_ascii_strtoull already does.
29700           check for range errors when deserializing
29701           do a cast for the unsigned cases; but further fixing needs
29702           a decision on what the interpretation of "(int)" and
29703           deserialization should be for values that fall outside the
29704           type's boundaries (ie, refuse, or interpret as casting)
29705
29706 2005-06-23  Wim Taymans  <wim@fluendo.com>
29707
29708         * check/Makefile.am:
29709         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29710         * docs/design/part-live-source.txt:
29711         * docs/design/part-states.txt:
29712         * gst/base/gstbasesrc.c: (gst_basesrc_init),
29713         (gst_basesrc_set_live), (gst_basesrc_is_live),
29714         (gst_basesrc_get_range), (gst_basesrc_activate),
29715         (gst_basesrc_change_state):
29716         * gst/base/gstbasesrc.h:
29717         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29718         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29719         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29720         * gst/gstelement.c: (gst_element_get_state_func),
29721         (gst_element_set_state):
29722         * gst/gstelement.h:
29723         * gst/gsttypes.h:
29724         * tools/gst-launch.c: (event_loop), (main):
29725         Added support for live sources and other elements that
29726         cannot do preroll.
29727         Updated design docs, added live-source design doc.
29728         Implemented live source functionality in basesrc
29729         Fix error condition in _bin_get_state()
29730         Implement live source handling in -launch.
29731         Added check for live sources.
29732         Fixed case in GstBin where elements were changed state
29733         multiple times.
29734
29735
29736 2005-06-23  Andy Wingo  <wingo@pobox.com>
29737
29738         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29739         borken refcounting.
29740
29741         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29742         gst_caps_replace takes care of this for us.
29743
29744         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29745         gst_pad_set_caps on the target, not just its setcaps() function.
29746
29747         * tests/network-clock.scm: 
29748         * tests/network-clock-utils.scm: A network clock simulator.
29749         Something of an algorithmic testbed before doing something in C.
29750
29751 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29752
29753         * check/Makefile.am:
29754         * check/gst/capslist.h:
29755           copy over from 0.8, and add two with bitmasks specified with
29756           (int) 0xFF...
29757         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29758           add test to parse everything from capslist.h
29759         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29760         (main):
29761           add test for structure deserialization
29762         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29763           add tests for deserialization of strings to int types
29764         * gst/gststructure.c: (gst_structure_nth_field_name):
29765         * gst/gststructure.h:
29766           add a way to get the name of a field referenced by index
29767         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29768           instead of checking if the resulting long long lies between
29769           min and max, we check if the long long would fit into
29770           a number of bytes for the final type.
29771           This fixes cases where a string represents 2^32 - 1, which
29772           when cast to int would be the (valid) -1, but is bigger than
29773           G_MAXINT
29774
29775 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29776
29777         * gst/parse/grammar.y:
29778           add a log line for type deserialization
29779
29780 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29781
29782         * check/gst/gstvalue.c: (START_TEST):
29783         * gst/gstvalue.c: (gst_value_deserialize):
29784           return long long, not int, so gint64 deserialization actually
29785           works.  Is there any flag that makes the compiler check this ?
29786           Fixes #308559
29787
29788 2005-06-22  Wim Taymans  <wim@fluendo.com>
29789
29790         * gst/gstbuffer.h:
29791         Added convenience macros for setting buffers in GValue.
29792
29793 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29794
29795         * check/gst/.cvsignore:
29796         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29797           add a test deserializing int64, and comment part out because
29798           it fails, yay !
29799
29800 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29801
29802         * check/Makefile.am:
29803         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29804         * testsuite/Makefile.am:
29805         * testsuite/caps/Makefile.am:
29806         * testsuite/caps/value_serialize.c:
29807         * testsuite/test_gst_init.c:
29808           move a value_serialize test over
29809
29810 2005-06-20  Wim Taymans  <wim@fluendo.com>
29811
29812         * gst/gstpad.c:
29813         Small doc updates.
29814         
29815         * gst/gstvalue.c: (gst_value_compare_buffer),
29816         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29817         (gst_value_compare_flags), (gst_value_serialize_flags),
29818         (gst_value_deserialize_flags), (_gst_value_initialize):
29819         Fix serialisation of buffers, they are not boxed types anymore
29820
29821 2005-06-20  Wim Taymans  <wim@fluendo.com>
29822
29823         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29824         Testcase to show error in buffer-on-caps serialisation.
29825
29826 2005-06-20  Andy Wingo  <wingo@pobox.com>
29827
29828         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29829         will be adding to later.
29830
29831         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29832         if its socks fill with rocks.
29833         (gst_system_clock_obtain): Set the name on object construction.
29834         Avoid double-checked locking.
29835
29836 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
29837
29838         * gst/gsturi.c: (gst_element_make_from_uri):
29839           Fix potential endless loop.
29840
29841 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29842
29843         * check/Makefile.am:
29844           add gsttag
29845         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29846         (main):
29847           move over from testsuite dir and clean up
29848         * configure.ac:
29849         * gst/gsttag.c:
29850         * testsuite/Makefile.am:
29851         * testsuite/tags/.cvsignore:
29852         * testsuite/tags/Makefile.am:
29853         * testsuite/tags/merge.c:
29854           remove testsuite/tags
29855
29856 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29857
29858         * docs/gst/gstreamer-sections.txt:
29859         * docs/gst/tmpl/gstenumtypes.sgml:
29860         * win32/gstenumtypes.c:
29861           clean up documentation build a little
29862
29863 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29864
29865         * check/gstcheck.h:
29866           add macros for checking refcounts on objects and caps
29867         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29868           add some more unit tests
29869         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29870         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29871           fix leaked refcounts (I hope :)) so unittest works
29872         * gst/gstpad.h:
29873           whitespace removal
29874
29875 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29876
29877         * configure.ac: back to HEAD
29878
29879 === release 0.9.1 ===
29880
29881 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
29882
29883         * NEWS:
29884         * RELEASE:
29885           updated
29886
29887 2005-06-17  Andy Wingo  <wingo@pobox.com>
29888
29889         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29890         assert; it's always possible that the pad gets deactivated in
29891         between the checks in gstpad.c and the implementation. Rely on
29892         finish_preroll() to return a FLUSHING or similar instead of on the
29893         assert.
29894         
29895         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29896         clock and post an EOS message if we come out of finish_preroll in
29897         the playing state.
29898
29899 2005-06-16  David Schleef  <ds@schleef.org>
29900
29901         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29902         (gst_capsfilter_set_property): Allow NULL as possible value
29903         for filter_caps property, indicating GST_CAPS_ANY.
29904
29905 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29906
29907         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29908           fix debug output
29909         * gst/schedulers/Makefile.am:
29910           use libgst prefix
29911         * gstreamer.spec.in:
29912           fix spec for it
29913
29914 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29915
29916         * gstreamer.spec.in:
29917           clean up
29918
29919 2005-06-08  Andy Wingo  <wingo@pobox.com>
29920
29921         * gst/gstutils.c: RPAD fixes all around.
29922         (gst_element_link_pads): Refcounting fixes.
29923
29924         * tools/gst-inspect.c:
29925         * tools/gst-xmlinspect.c:
29926         * parse/grammar.y:
29927         * gst/base/gsttypefindhelper.c:
29928         * gst/base/gstbasesink.c:
29929         * gst/gstqueue.c: RPAD fixes.
29930
29931         * gst/gstghostpad.h:
29932         * gst/gstghostpad.c: New ghost pad implementation as full proxy
29933         pads. The tricky thing is they provide both source and sink
29934         interfaces, since they proxy the internal pad for the external
29935         pad, and vice versa. Implement with lower-level ProxyPad objects,
29936         with the interior proxy pad as a child of the exterior ghost pad.
29937         Should write a doc on this.
29938         
29939         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29940         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29941         gst_object API.
29942         
29943         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29944         pads are real pads. No ghost pads in this file. Not documenting
29945         the myriad s/RPAD/PAD/ and REALIZE fixes.
29946         (gst_pad_class_init): Add properties for "direction" and
29947         "template". Both are construct-only, so they can't change during
29948         the life of the pad. Fixes properly deriving from GstPad.
29949         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29950         derived objects, just set properties when creating the objects via
29951         g_object_new.
29952         (gst_pad_get_parent): Implement as a function, return NULL if the
29953         parent is not an element.
29954         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29955         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29956         
29957         * gst/gstobject.c (gst_object_class_init): Make name a construct
29958         property. Don't set it in the object init.
29959
29960         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29961         with UNKNOWN direction.
29962         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29963         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29964         (gst_element_remove_pad): Remove ghost-pad special cases.
29965         (gst_element_pads_activate): Remove rpad cruft.
29966
29967         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29968         catch the pad's-parent-not-an-element case.
29969
29970         * gst/gst.h: Include gstghostpad.h.
29971
29972         * gst/gst.c (init_post): No more real, ghost pads.
29973
29974         * gst/Makefile.am: Add gstghostpad.[ch].
29975
29976         * check/Makefile.am:
29977         * check/gst/gstbin.c:
29978         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29979         into a bin creates ghost pads, and that the refcounts are right.
29980         Partly moved from gstbin.c.
29981
29982 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29983
29984         * check/gst-libs/.cvsignore:
29985         * check/gst/.cvsignore:
29986         * check/pipelines/.cvsignore:
29987           ignore more
29988         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29989         (START_TEST), (cleanup_suite), (main):
29990           add some tests related to cleanup after running pipelines
29991
29992 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29993
29994         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29995           add a testsuite for GstBuffer
29996
29997 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29998
29999         * gst/gstminiobject.h:
30000           add defines for accessing the refcount
30001
30002 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
30003
30004         * Makefile.am: added support for html unit test coverage reports
30005
30006 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
30007
30008         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
30009           Free existing caps if the capsfilter changes. Add a FIXME about
30010           setting those caps on the pads.
30011
30012         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
30013           Before adding a ghost pad to a parent bin, check that there isn't
30014           already one for the element on the bin. Prevents infinite recursion
30015           when using decodebin in parse pipelines. Andy says he'll rewrite the
30016           way this works anyway, so ignore the hack.
30017
30018 2005-06-02  Andy Wingo  <wingo@pobox.com>
30019
30020         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
30021         file size, pass it on to the type find helper.
30022
30023         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
30024         segment_start and segment_end properly according to the seek
30025         method. Segment_end is still a bit flaky because offset can be
30026         negative for CUR and END cases, but it takes -1 as an "unset"
30027         value.
30028
30029 2005-06-02  Wim Taymans  <wim@fluendo.com>
30030
30031         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
30032         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
30033         (gst_basesink_activate):
30034         * gst/base/gstbasesink.h:
30035         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
30036         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
30037         (gst_pad_query), (gst_pad_start_task):
30038         * gst/gstpad.h:
30039         * gst/gstqueue.c: (gst_queue_bufferalloc),
30040         (gst_queue_handle_sink_event), (gst_queue_chain):
30041         Bufferalloc: return GstFlowReturn to more accuratly report
30042         why allocation failed.
30043
30044 2005-06-02  Wim Taymans  <wim@fluendo.com>
30045
30046         * gst/gstpipeline.c: (gst_pipeline_send_event):
30047         Take snapshot of state without blocking.
30048
30049 2005-06-02  Wim Taymans  <wim@fluendo.com>
30050
30051         * docs/design/part-TODO.txt:
30052         * docs/design/part-caps.txt:
30053         * docs/design/part-clocks.txt:
30054         * docs/design/part-negotiation.txt:
30055         * docs/design/part-preroll.txt:
30056         Small doc updates 
30057
30058 2005-05-30  Wim Taymans  <wim@fluendo.com>
30059
30060         * gst/elements/gstidentity.c: (gst_identity_event),
30061         (gst_identity_transform), (gst_identity_get_property):
30062         Protect last_message property as it is accessed from
30063         multiple threads.
30064
30065 2005-05-30  Wim Taymans  <wim@fluendo.com>
30066
30067         * gst/gstelement.c: (gst_element_init),
30068         (gst_element_pads_activate), (gst_element_change_state):
30069         Slicker pad activation code.
30070
30071 2005-05-30  Wim Taymans  <wim@fluendo.com>
30072
30073         * gst/Makefile.am:
30074         * gst/gstelement.h:
30075         * gst/gstelementfactory.h:
30076         * gst/gsttypes.h:
30077         Move elementfactory methods to separate .h file.
30078
30079 2005-05-30  Wim Taymans  <wim@fluendo.com>
30080
30081         * docs/design/part-overview.txt:
30082         * gst/gstsystemclock.h:
30083         Small typo fixes, doc updates.
30084
30085 2005-05-30  Wim Taymans  <wim@fluendo.com>
30086
30087         * gst/gst.c: (gst_init_get_popt_table), (init_post),
30088         (init_popt_callback):
30089         Remove cpu-opt flag.
30090
30091 2005-05-30  Wim Taymans  <wim@fluendo.com>
30092
30093         * gst/gstbuffer.c: (gst_subbuffer_finalize),
30094         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
30095         * gst/gstbuffer.h:
30096         Avoid typechecking in places where not needed.
30097         Added accessor for malloc_data.
30098
30099 2005-05-30  Wim Taymans  <wim@fluendo.com>
30100
30101         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
30102         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
30103         (gst_pad_configure_sink), (gst_pad_configure_src),
30104         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
30105         (gst_pad_start_task):
30106         Propagate errors from _set_caps() in configure_src/sink
30107         functions instead of returning TRUE.
30108         FLUSH events can travel up and downstream
30109
30110
30111 2005-05-30  Wim Taymans  <wim@fluendo.com>
30112
30113         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
30114         (gst_basesink_activate):
30115         Handle EOS in preroll.
30116
30117 2005-05-30  Wim Taymans  <wim@fluendo.com>
30118
30119         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
30120         (gst_queue_loop), (gst_queue_handle_src_event):
30121         Remove old pieces of code
30122         Flushing the queue in an upstream event is a very bad idea.
30123
30124 2005-05-26  Andy Wingo  <wingo@pobox.com>
30125
30126         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
30127         gst_value_set_mini_object so as to add a ref on the object (which
30128         will be removed when the value is unset).
30129
30130         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
30131         arg type in ::handoff.
30132
30133         * gst/gstelement.c (gst_element_change_state): Also deactivate
30134         pads in READY->NULL, just in case the element didn't make it to
30135         PAUSED. Wingo tested, Wim approved.
30136
30137 2005-05-26  Wim Taymans  <wim@fluendo.com>
30138
30139         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
30140         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
30141         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
30142         A flushing pad cannot be used to alloc_buffer from.
30143
30144 2005-05-26  Wim Taymans  <wim@fluendo.com>
30145
30146         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
30147         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
30148         (gst_bus_source_dispatch), (gst_bus_source_finalize),
30149         (gst_bus_create_watch), (gst_bus_add_watch_full):
30150         * gst/gstbus.h:
30151         Implement a real GSource and use g_main_context_wakeup() to
30152         signal new messages instead of the socketpair.
30153
30154 2005-05-25  Wim Taymans  <wim@fluendo.com>
30155
30156         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
30157         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
30158         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
30159         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
30160         (gst_pad_send_event), (gst_pad_start_task):
30161         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
30162         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
30163         (gst_queue_sink_activate), (gst_queue_src_activate),
30164         (gst_queue_change_state):
30165         * gst/gstqueue.h:
30166         Fix state changes for non sinks. We now change sinks, then elements
30167         with unconnected srcpads, then the rest.
30168         More efficient queue unlocking in flush and state changes.
30169         Set the pad activate mode even if it does not have an activate
30170         function.
30171
30172 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30173
30174         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
30175           Don't go in pull mode for non-seekable sources.
30176         * gst/elements/gsttypefindelement.h:
30177         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30178         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
30179         (free_entry), (stop_typefinding),
30180         (gst_type_find_element_handle_event), (find_peek),
30181         (gst_type_find_element_chain), (do_pull_typefind),
30182         (gst_type_find_element_change_state):
30183           Allow typefinding (w/o seeking) in push-mode, simplified version
30184           of what was in 0.8.
30185         * gst/gstutils.c: (gst_buffer_join):
30186         * gst/gstutils.h:
30187           gst_buffer_join() from 0.8.
30188
30189 2005-05-25  Wim Taymans  <wim@fluendo.com>
30190
30191         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
30192         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
30193         (gst_pad_send_event), (gst_pad_start_task):
30194         Disable attempt at mode switching until it is figured out.
30195
30196 2005-05-25  Wim Taymans  <wim@fluendo.com>
30197
30198         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
30199         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
30200         (gst_basesink_finish_preroll), (gst_basesink_chain),
30201         (gst_basesink_loop), (gst_basesink_activate),
30202         (gst_basesink_change_state):
30203         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
30204         (gst_basesrc_get_range), (gst_basesrc_loop),
30205         (gst_basesrc_activate):
30206         * gst/elements/gsttee.c: (gst_tee_sink_activate):
30207         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
30208         (gst_real_pad_init), (gst_real_pad_set_property),
30209         (gst_real_pad_get_property), (gst_pad_set_active),
30210         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
30211         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
30212         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
30213         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
30214         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30215         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
30216         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
30217         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
30218         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
30219         (gst_pad_stop_task):
30220         * gst/gstpad.h:
30221         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
30222         (gst_queue_loop), (gst_queue_src_activate):
30223         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
30224         (gst_task_get_state):
30225         * gst/gsttask.h:
30226         * gst/schedulers/threadscheduler.c:
30227         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
30228         Implement gst_pad_pause/start/stop_task(), take STREAM lock
30229         in task function.
30230         Remove ACTIVE pad flag, use FLUSHING everywhere
30231         Added _pad_chain(), _pad_get_range() to call chain/getrange 
30232         functions.
30233         Add locks around IS_FLUSHING when reading.
30234         Take STREAM lock in chain(), get_range() functions so plugins
30235         don't need to take it anymore.
30236         
30237
30238
30239 2005-05-25  Wim Taymans  <wim@fluendo.com>
30240
30241         * tools/gst-launch.c: (event_loop):
30242         Unref message after using its contents instead of
30243         before.
30244
30245 2005-05-24  Wim Taymans  <wim@fluendo.com>
30246
30247         * docs/design/draft-ghostpads.txt:
30248         * docs/design/draft-push-pull.txt:
30249         * docs/design/draft-query.txt:
30250         * docs/design/part-overview.txt:
30251         Docs updates, added general overview doc.
30252
30253 2005-05-21  David Schleef  <ds@schleef.org>
30254
30255         * docs/gst/tmpl/old/GstBin.sgml:
30256         * docs/gst/tmpl/old/GstBuffer.sgml:
30257         * docs/gst/tmpl/old/GstCaps.sgml:
30258         * docs/gst/tmpl/old/GstClock.sgml:
30259         * docs/gst/tmpl/old/GstCompat.sgml:
30260         * docs/gst/tmpl/old/GstData.sgml:
30261         * docs/gst/tmpl/old/GstElement.sgml:
30262         * docs/gst/tmpl/old/GstEvent.sgml:
30263         * docs/gst/tmpl/old/GstIndex.sgml:
30264         * docs/gst/tmpl/old/GstStructure.sgml:
30265         * docs/gst/tmpl/old/GstTag.sgml:
30266         * docs/gst/tmpl/old/cothreads.sgml:
30267         * docs/gst/tmpl/old/cothreads_compat.sgml:
30268         * docs/gst/tmpl/old/gettext.sgml:
30269         * docs/gst/tmpl/old/gobject2gtk.sgml:
30270         * docs/gst/tmpl/old/grammar.tab.sgml:
30271         * docs/gst/tmpl/old/gst-i18n-app.sgml:
30272         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
30273         * docs/gst/tmpl/old/gst_private.sgml:
30274         * docs/gst/tmpl/old/gstaggregator.sgml:
30275         * docs/gst/tmpl/old/gstarch.sgml:
30276         * docs/gst/tmpl/old/gstatomic_impl.sgml:
30277         * docs/gst/tmpl/old/gstbufferstore.sgml:
30278         * docs/gst/tmpl/old/gstdata_private.sgml:
30279         * docs/gst/tmpl/old/gstdisksink.sgml:
30280         * docs/gst/tmpl/old/gstdisksrc.sgml:
30281         * docs/gst/tmpl/old/gstelementfactory.sgml:
30282         * docs/gst/tmpl/old/gstextratypes.sgml:
30283         * docs/gst/tmpl/old/gstfakesink.sgml:
30284         * docs/gst/tmpl/old/gstfakesrc.sgml:
30285         * docs/gst/tmpl/old/gstfdsink.sgml:
30286         * docs/gst/tmpl/old/gstfdsrc.sgml:
30287         * docs/gst/tmpl/old/gstfilesink.sgml:
30288         * docs/gst/tmpl/old/gstfilesrc.sgml:
30289         * docs/gst/tmpl/old/gsthttpsrc.sgml:
30290         * docs/gst/tmpl/old/gstidentity.sgml:
30291         * docs/gst/tmpl/old/gstindexfactory.sgml:
30292         * docs/gst/tmpl/old/gstmarshal.sgml:
30293         * docs/gst/tmpl/old/gstmd5sink.sgml:
30294         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
30295         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
30296         * docs/gst/tmpl/old/gstpadtemplate.sgml:
30297         * docs/gst/tmpl/old/gstpipefilter.sgml:
30298         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
30299         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
30300         * docs/gst/tmpl/old/gstshaper.sgml:
30301         * docs/gst/tmpl/old/gstspider.sgml:
30302         * docs/gst/tmpl/old/gstspideridentity.sgml:
30303         * docs/gst/tmpl/old/gststatistics.sgml:
30304         * docs/gst/tmpl/old/gsttee.sgml:
30305         * docs/gst/tmpl/old/gsttimecache.sgml:
30306         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
30307         * docs/gst/tmpl/old/gstxmlregistry.sgml:
30308         * docs/gst/tmpl/old/gthread-cothreads.sgml:
30309         * docs/gst/tmpl/old/types.sgml:
30310           I didn't intend to add these or check them in.
30311
30312 2005-05-19  David Schleef  <ds@schleef.org>
30313
30314         * configure.ac: Use -no-common everywhere.  In a sane world, it
30315           would be the default in libtool, because without it, you can't
30316           build DLLs on Windows.
30317         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
30318         * docs/gst/gstreamer-sections.txt:
30319         * docs/gst/tmpl/gstcpu.sgml:
30320         * docs/gst/tmpl/gstdata.sgml:
30321         * docs/gst/tmpl/gstthread.sgml:
30322
30323 2005-05-19  David Schleef  <ds@schleef.org>
30324
30325         * gst/gstminiobject.c: (gst_value_set_mini_object),
30326         (gst_value_take_mini_object), (gst_value_get_mini_object):
30327         * gst/gstminiobject.h: Add GValue set/get functions.
30328
30329 2005-05-19  Wim Taymans  <wim@fluendo.com>
30330
30331         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
30332         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
30333         (gst_subbuffer_init), (gst_buffer_is_span_fast):
30334         * gst/gstbuffer.h:
30335         * gst/gstbus.c: (gst_bus_post):
30336         * gst/gstelement.c: (gst_element_get_random_pad):
30337         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
30338         Make subbufer unref the parent in finalize.
30339         some more debugging info.
30340
30341
30342 2005-05-19  Wim Taymans  <wim@fluendo.com>
30343
30344         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30345         (gst_basesink_init), (gst_basesink_finalize),
30346         (gst_basesink_activate), (gst_basesink_change_state):
30347         Don't free preroll queue too early.
30348
30349 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30350
30351         * gst/Makefile.am:
30352         * gst/ROADMAP:
30353           Hi, I'm outdated. Please shoot me.
30354
30355 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30356
30357         * gst/gstpipeline.c: (gst_pipeline_send_event):
30358           Do not access variables after they have been deleted.
30359
30360 2005-05-19  Wim Taymans  <wim@fluendo.com>
30361
30362         * tools/gst-inspect.c: (print_plugin_features):
30363         A plugin feature does unfortunatly not use the
30364         object name yet...
30365
30366 2005-05-18  Wim Taymans  <wim@fluendo.com>
30367
30368         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
30369         Port _span() functions to new subbuffers.
30370
30371 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30372
30373         * gst/gstbin.c: (gst_bin_add_func):
30374           Fix clock settery in bins when adding kids after the clock has
30375           been selected.
30376
30377 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30378
30379         * gst/elements/gstidentity.c: (gst_identity_class_init):
30380           Workaround until signals support GstMiniObject.
30381
30382 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
30383
30384         * gst/gstbuffer.c:
30385         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
30386
30387 2005-05-18  Wim Taymans  <wim@fluendo.com>
30388
30389         * gst/base/Makefile.am:
30390         * gst/base/gstadapter.c: (gst_adapter_base_init),
30391         (gst_adapter_class_init), (gst_adapter_init),
30392         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
30393         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
30394         (gst_adapter_flush), (gst_adapter_available),
30395         (gst_adapter_available_fast):
30396         * gst/base/gstadapter.h:
30397         Ported and added adapter to the base classes.
30398
30399 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30400
30401         * gst/gst.c:
30402         * gst/gstmessage.c:
30403           Make sure the class is reffed/unreffed once before threads can be
30404           used.  Fixes #304551.
30405
30406 2005-05-17  Wim Taymans  <wim@fluendo.com>
30407
30408         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
30409         (gst_basesink_chain_unlocked), (gst_basesink_activate):
30410         * gst/gstminiobject.c: (gst_mini_object_get_type),
30411         (gst_mini_object_free):
30412         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
30413         (gst_pad_push), (gst_pad_push_event):
30414         * gst/gstqueue.c: (gst_queue_change_state):
30415         Don't queue buffers in basesink when we are flushing.
30416         Unref buffer when flushing in basesink.
30417         Flush queue when going to READY
30418         Unref buffer when _push() returns an error.
30419         Don't free MiniObject instance when refcount is incremented
30420         in _finalize() so that we can recover objects.
30421
30422 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
30423
30424         * docs/manual/advanced-schedulers.xml:
30425         * docs/manual/appendix-checklist.xml:
30426         * docs/pwg/advanced-clock.xml:
30427         * docs/pwg/advanced-interfaces.xml:
30428         * docs/pwg/advanced-request.xml:
30429         * docs/pwg/advanced-types.xml:
30430         * docs/pwg/intro-preface.xml:
30431         * examples/plugins/example.c: (gst_example_get_type),
30432         (gst_example_class_init), (gst_example_chain),
30433         (gst_example_set_property), (gst_example_get_property),
30434         (gst_example_change_state), (plugin_init):
30435         * examples/plugins/example.h:
30436           small doc fixes
30437
30438 2005-05-17  Wim Taymans  <wim@fluendo.com>
30439
30440         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
30441         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
30442         * gst/gstqueue.c: (gst_queue_change_state):
30443         Clear queue when going to READY.
30444         Remove IN_SETCAPS flag too.
30445
30446 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
30447
30448         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
30449           Remove implicit cast from gboolean to GstElementStateReturn;
30450           make sure we still return failure in paused => ready case if
30451           the parent class fails to change state and our own stop 
30452           vfunc succeeds.
30453
30454 2005-05-17  Wim Taymans  <wim@fluendo.com>
30455
30456         * tools/gst-launch.c: (event_loop):
30457         Message was unreffed too soon.
30458
30459 2005-05-16  Andy Wingo  <wingo@pobox.com>
30460
30461         * gst/gstbin.c (sink_iterator_filter): Err... um...
30462
30463         * check/gst/gstbin.c (test_ghost_pads): New test for the
30464         ghosting-if-elements-not-in-same-bin behavior.
30465
30466 2005-05-16  David Schleef  <ds@schleef.org>
30467
30468         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
30469         accessing refcount directly.
30470
30471 2005-05-15  David Schleef  <ds@schleef.org>
30472
30473         * check/Makefile.am: remove GstData checks
30474         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
30475         * gst/Makefile.am: add miniobject, remove data
30476         * gst/gst.h: add miniobject, remove data
30477         * gst/gstdata.c: remove
30478         * gst/gstdata.h: remove
30479         * gst/gstdata_private.h: remove
30480         * gst/gsttypes.h: remove GstEvent and GstMessage
30481         * gst/gstelement.c: (gst_element_post_message): fix for API changes
30482         * gst/gstmarshal.list: change BOXED -> OBJECT
30483
30484         Implement GstMiniObject.
30485         * gst/gstminiobject.c:
30486         * gst/gstminiobject.h:
30487
30488         Modify to be subclasses of GstMiniObject.
30489         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
30490         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
30491         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
30492         (gst_subbuffer_get_type), (gst_subbuffer_init),
30493         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
30494         (gst_buffer_span):
30495         * gst/gstbuffer.h:
30496         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
30497         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
30498         (_gst_event_copy), (gst_event_new):
30499         * gst/gstevent.h:
30500         * gst/gstmessage.c: (_gst_message_initialize),
30501         (gst_message_get_type), (gst_message_class_init),
30502         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
30503         (gst_message_new), (gst_message_new_error),
30504         (gst_message_new_warning), (gst_message_new_tag),
30505         (gst_message_new_state_changed), (gst_message_new_application):
30506         * gst/gstmessage.h:
30507         * gst/gstprobe.c: (gst_probe_perform),
30508         (gst_probe_dispatcher_dispatch):
30509         * gst/gstprobe.h:
30510         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
30511         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
30512         (_gst_query_copy), (gst_query_new):
30513
30514         Update elements for GstData -> GstMiniObject changes
30515         * gst/gstquery.h:
30516         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
30517         (gst_queue_chain), (gst_queue_loop):
30518         * gst/elements/gstbufferstore.c:
30519         (gst_buffer_store_add_buffer_func),
30520         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
30521         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30522         (gst_fakesink_render):
30523         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30524         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
30525         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
30526         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
30527         (gst_filesrc_create_read):
30528         * gst/elements/gstidentity.c: (gst_identity_class_init):
30529         * gst/elements/gsttypefindelement.c:
30530         (gst_type_find_element_src_event), (free_entry_buffers),
30531         (gst_type_find_element_handle_event):
30532         * libs/gst/dataprotocol/dataprotocol.c:
30533         (gst_dp_header_from_buffer):
30534         * libs/gst/dataprotocol/dataprotocol.h:
30535         * libs/gst/dataprotocol/dp-private.h:
30536
30537 2005-05-15  David Schleef  <ds@schleef.org>
30538
30539         * gst/elements/gstelements.c: Don't include headers that were
30540         just removed.
30541
30542 2005-05-15  David Schleef  <ds@schleef.org>
30543
30544         * gst/elements/Makefile.am: Remove some elements that don't
30545         need to be in the core (or even exist at all).
30546         * gst/elements/gstaggregator.c:
30547         * gst/elements/gstaggregator.h:
30548         * gst/elements/gstmd5sink.c:
30549         * gst/elements/gstmd5sink.h:
30550         * gst/elements/gstmultifilesrc.c:
30551         * gst/elements/gstmultifilesrc.h:
30552         * gst/elements/gstpipefilter.c:
30553         * gst/elements/gstpipefilter.h:
30554         * gst/elements/gstshaper.c:
30555         * gst/elements/gstshaper.h:
30556         * gst/elements/gststatistics.c:
30557         * gst/elements/gststatistics.h:
30558         * po/POTFILES.in: Remove above files.
30559
30560 2005-05-14  Andy Wingo  <wingo@pobox.com>
30561
30562         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30563         so as to get the refs right.
30564         (sink_iterator_filter): New function, wraps bin_element_is_sink,
30565         unreffing objects that don't pass the filter.
30566
30567         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30568         gst_element_set_bus.
30569         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30570         normal cases, this will destroy the bus.
30571
30572         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30573         object.
30574
30575         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30576         has no sinks.
30577
30578 2005-05-13  Andy Wingo  <wingo@pobox.com>
30579
30580         * gst/gstutils.c (gst_element_link_pads): Instead of calling
30581         gst_pad_link, call pad_link_maybe_ghosting,
30582         (pad_link_maybe_ghosting): Links pads, making sure that the
30583         elements being linked are in the same bin.
30584         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30585         Helpers for pad_link_maybe_ghosting.
30586
30587 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30588
30589         * configure.ac:
30590           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30591
30592 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30593
30594         * docs/design/part-element-source.txt:
30595           Mention GstPushSrc
30596
30597 2005-05-12  Wim Taymans  <wim@fluendo.com>
30598
30599         * gst/base/gstbasesink.c: (gst_basesink_init),
30600         (gst_basesink_activate):
30601         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30602         (gst_basesrc_is_seekable):
30603         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30604         (bin_element_is_sink), (gst_bin_change_state):
30605         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30606         * gst/gstelement.h:
30607         Identify sinks by their flag to avoid overly complicated
30608         checks (fow now).
30609         Do state changes even for elements not reachable from the
30610         sinks.
30611         BaseSink is a sink now :)
30612         Some more debugging info in the basesrc.
30613
30614
30615 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30616
30617         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30618           Implement _query on a bin, similar to _send_event.
30619
30620 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
30621
30622         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30623           Discont event offset format should be GST_FORMAT_BYTES,
30624           not GST_FORMAT_TIME.
30625
30626 2005-05-12  Wim Taymans  <wim@fluendo.com>
30627
30628         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30629         Same fix as Ronald's but without the signal. 
30630
30631 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30632
30633         * gst/gstutils.c: (gst_element_query_position):
30634           No, an element is not a pad.
30635
30636 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30637
30638         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30639         (gst_bin_get_state):
30640           If a child is removed from a bin while we remove the child from
30641           the bin and while we're retrieving its state, signal this to the
30642           get_state function so we abort the wait (instead of waiting for
30643           a timeout) and can immediately re-iterate over all other elements.
30644
30645 2005-05-12  Wim Taymans  <wim@fluendo.com>
30646
30647         * gst/base/Makefile.am:
30648         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30649         (gst_basesrc_start):
30650         * gst/base/gstbasesrc.h:
30651         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30652         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30653         (gst_pushsrc_init), (gst_pushsrc_create):
30654         * gst/base/gstpushsrc.h:
30655         Added is_seekable to BaseSrc
30656         Added simple PushSrc.
30657
30658 2005-05-11  Wim Taymans  <wim@fluendo.com>
30659
30660         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30661         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30662         (gst_element_link_pads), (gst_element_query_position),
30663         (gst_element_query_convert), (intersect_caps_func),
30664         (gst_pad_query_position), (gst_pad_query_convert):
30665         Fix refcounting in utils function.
30666         No point in trying to activate a pad when it's added, it could
30667         be added from the state change function and then we deadlock, the
30668         element has to decide what to do.
30669
30670 2005-05-10  Andy Wingo  <wingo@pobox.com>
30671
30672         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30673         *all* the arguments.
30674
30675         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30676         stream lock if it's a FLUSH_DONE; normal flushes don't get the
30677         lock (according to the docs -- if this is wrong change the docs).
30678
30679         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30680         flush messages in the NULL state.
30681
30682         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30683         message immediately and return.
30684         (gst_bus_set_flushing): New function. If a bus is flushing, it
30685         flushes out any queued messages and immediately unrefs new
30686         messages. This is so when an element goes to NULL, all of the
30687         unhandled messages coming from it can be freed, and their
30688         references to the element dropped. In other words: message source
30689         ref considered harmful :P
30690
30691         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30692         we're finished with it.
30693
30694         * gst/gstmessage.c (gst_message_new_state_changed): 
30695
30696 2005-05-10  Wim Taymans  <wim@fluendo.com>
30697
30698         * gst/gstvalue.c: (gst_value_compare_flags),
30699         (gst_value_serialize_flags), (gst_value_deserialize_flags),
30700         (_gst_value_initialize):
30701         Added flags serialize/deserialize/compare code.
30702
30703 2005-05-09  Andy Wingo  <wingo@pobox.com>
30704
30705         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30706         Intersect the peer's caps with our caps.
30707
30708 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30709
30710         * gst/base/gsttypefindhelper.c: (helper_find_peek):
30711         * gst/elements/gsttypefindelement.c: (find_peek):
30712           Handle negative offsets better. Fixes decodebin.
30713
30714 2005-05-09  Wim Taymans  <wim@fluendo.com>
30715
30716         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30717         (gst_base_transform_event):
30718         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30719         Implement accept_caps.
30720         Fix silly lock/unlock mismatch in base class.
30721
30722 2005-05-09  Wim Taymans  <wim@fluendo.com>
30723
30724         * docs/design/draft-push-pull.txt:
30725         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30726         * gst/elements/gstfilesink.c: (gst_filesink_init),
30727         (gst_filesink_query):
30728         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30729         (gst_type_find_handle_src_query), (find_element_get_length):
30730         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30731         * gst/gstelement.h:
30732         * gst/gstmessage.c:
30733         * gst/gstmessage.h:
30734         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30735         (gst_real_pad_get_caps_unlocked),
30736         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30737         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30738         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30739         (gst_real_pad_dispose), (gst_real_pad_finalize),
30740         (gst_pad_load_and_link), (gst_pad_save_thyself),
30741         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30742         (gst_pad_check_pull_range), (gst_pad_pull_range),
30743         (gst_pad_template_get_type), (gst_pad_template_class_init),
30744         (gst_pad_template_init), (gst_pad_template_dispose),
30745         (name_is_valid), (gst_static_pad_template_get),
30746         (gst_pad_template_new), (gst_static_pad_template_get_caps),
30747         (gst_pad_template_get_caps), (gst_pad_set_element_private),
30748         (gst_pad_get_element_private), (gst_pad_start_task),
30749         (gst_pad_pause_task), (gst_pad_stop_task),
30750         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30751         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30752         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30753         (gst_ghost_pad_new):
30754         * gst/gstpad.h:
30755         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30756         (gst_query_new_position), (gst_query_set_position),
30757         (gst_query_parse_position), (gst_query_new_convert),
30758         (gst_query_set_convert), (gst_query_parse_convert):
30759         * gst/gstquery.h:
30760         * gst/gstqueryutils.c:
30761         * gst/gstqueryutils.h:
30762         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30763         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30764         (gst_queue_handle_src_query):
30765         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30766         (gst_element_query_position), (gst_element_query_convert),
30767         (intersect_caps_func), (gst_pad_query_position),
30768         (gst_pad_query_convert):
30769         * gst/gstutils.h:
30770         * tools/gst-inspect.c: (print_pad_info):
30771         * tools/gst-xmlinspect.c: (print_element_info):
30772         Remove old query functions. Ported old code.
30773         Added position/convert helper functions to gstutils.
30774         Reordered gstpad.c code, grouping relevant things.
30775         Remove gst_message_new(), always need to speficy a specific
30776         message.
30777
30778
30779 2005-05-09  Andy Wingo  <wingo@pobox.com>
30780
30781         * gst/gstiterator.h: Add some includes.
30782
30783         * gst/gstqueryutils.h: Include more headers.
30784
30785         * gst/gstpad.h:
30786         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30787         some uses of gst_pad_query.
30788
30789         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30790         NULL out parameters.
30791         (gst_query_new_position): New proc, allocates a new position
30792         query.
30793
30794         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30795         gstqueryutils.c to the build.
30796
30797         * gst/gststructure.c (gst_structure_set_valist): Implement with
30798         the generic G_VALUE_COLLECT.
30799         
30800 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
30801
30802         * gst/Makefile.am: (gst_headers):
30803         Added gstqueryutils.h to the list of headers to install, that was
30804         a 'nachty' move wingo :)
30805
30806 2005-05-06  Andy Wingo  <wingo@pobox.com>
30807
30808         * gst/gstquery.h
30809         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30810         GstData, init a memchunk.
30811         (standard_definitions): Add a few query types, deprecate a few.
30812         (gst_query_get_type): New proc.
30813         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30814         implementation.
30815         (gst_query_new_application, gst_query_get_structure): New public
30816         procs.
30817
30818         * docs/design/draft-query.txt: Removed LINKS from the query types,
30819         because all the rest can be dispatched to other pads -- seemed
30820         ugly to have a query that couldn't be dispatched. internal_links
30821         is fine as a pad method.
30822
30823         * gst/gstpad.h: Add query2 as a pad method, add the new functions
30824         in gstpad.c, but maintain binary compatibility for the moment.
30825         Will fix before 0.9 is out.
30826
30827         * gst/gstqueryutils.c: 
30828         * gst/gstqueryutils.h: New files, implement 3 methods for each
30829         query type: parse_query, parse_response, and set. Probably need an
30830         allocator as well.
30831
30832         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30833
30834         * gst/elements/gstfilesink.c (gst_filesink_query2):
30835         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30836         query_types, and formats methods.
30837
30838         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30839         (gst_pad_set_query2_function): New functions.
30840         (gst_real_pad_init): Set query2_default as the default query2
30841         function. Basically just dispatches to internally linked pads.
30842
30843         Needs review!
30844         
30845         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30846         without using the atomic operations. Only one thread can possibly
30847         be accessing the data at this point. Changed so as to avoid
30848         gst_atomic operations.
30849
30850 2005-05-06  Wim Taymans  <wim@fluendo.com>
30851
30852         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30853         Also set caps if we use the fallback buffer alloc.
30854
30855 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
30856
30857         * docs/gst/Makefile.am:
30858         * docs/gst/gstreamer-docs.sgml:
30859         * docs/gst/gstreamer-sections.txt:
30860         * docs/gst/tmpl/gstatomic.sgml:
30861         * docs/gst/tmpl/gstmemchunk.sgml:
30862         * testsuite/elements/struct_i386.h:
30863         * win32/GStreamer.vcproj:
30864         * win32/Makefile:
30865           Purge GstAtomic stuff from docs and win32 makefiles as well
30866
30867 2005-05-06  Wim Taymans  <wim@fluendo.com>
30868
30869         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30870         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30871         * gst/gstpad.c: (gst_pad_peer_get_caps):
30872         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30873         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30874         (gst_queue_src_activate), (gst_queue_change_state):
30875         * gst/gstqueue.h:
30876         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30877         (intersect_caps_func):
30878         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30879         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30880         Some fixes for the peer_get_caps() change.
30881
30882 2005-05-06  Wim Taymans  <wim@fluendo.com>
30883
30884         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30885         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30886         (gst_basesink_activate):
30887         Actually do something with error codes returned from the push
30888         functions.
30889
30890 2005-05-06  Wim Taymans  <wim@fluendo.com>
30891
30892         * docs/design/part-element-sink.txt:
30893         * docs/design/part-element-source.txt:
30894         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30895         (gst_basesink_event), (gst_basesink_activate):
30896         * gst/base/gstbasesink.h:
30897         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30898         (gst_basesrc_activate):
30899         * gst/base/gstbasesrc.h:
30900         * gst/gstelement.c: (gst_element_pads_activate):
30901         Some more documentation.
30902         Fixed scheduling decision in _pads_activate().
30903
30904 2005-05-05  Andy Wingo  <wingo@pobox.com>
30905
30906         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30907         the test suite.
30908
30909 2005-05-05  Wim Taymans  <wim@fluendo.com>
30910
30911         * gst/base/Makefile.am:
30912         * gst/base/gstbasesink.h:
30913         * gst/base/gstbasesrc.c: (gst_basesrc_init),
30914         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30915         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30916         (gst_collectpads_class_init), (gst_collectpads_init),
30917         (gst_collectpads_finalize), (gst_collectpads_new),
30918         (gst_collectpads_set_function), (gst_collectpads_add_pad),
30919         (find_pad), (gst_collectpads_remove_pad),
30920         (gst_collectpads_is_active), (gst_collectpads_collect),
30921         (gst_collectpads_collect_range), (gst_collectpads_start),
30922         (gst_collectpads_stop), (gst_collectpads_peek),
30923         (gst_collectpads_pop), (gst_collectpads_available),
30924         (gst_collectpads_read), (gst_collectpads_flush),
30925         (gst_collectpads_chain):
30926         * gst/base/gstcollectpads.h:
30927         * gst/elements/Makefile.am:
30928         * gst/elements/gstelements.c:
30929         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30930         (gst_fakesink_get_times), (gst_fakesink_event),
30931         (gst_fakesink_preroll), (gst_fakesink_render):
30932         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30933         (gst_filesink_init), (gst_filesink_set_location),
30934         (gst_filesink_open_file), (gst_filesink_close_file),
30935         (gst_filesink_pad_query), (gst_filesink_event),
30936         (gst_filesink_render), (gst_filesink_change_state):
30937         * gst/elements/gstfilesink.h:
30938         Added object to help in making collect pad based elements.
30939         Ported filesink.
30940         Make event function in sink baseclass return gboolean.
30941
30942 2005-05-05  Wim Taymans  <wim@fluendo.com>
30943
30944         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30945         (gst_bin_get_by_name):
30946         * gst/gstbuffer.h:
30947         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30948         (gst_clock_finalize):
30949         * gst/gstdata.c: (gst_data_replace):
30950         * gst/gstdata.h:
30951         * gst/gstelement.c: (gst_element_request_pad),
30952         (gst_element_pads_activate):
30953         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30954         (gst_object_unref):
30955         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30956         (gst_pad_set_checkgetrange_function),
30957         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30958         (gst_pad_check_pull_range), (gst_pad_pull_range),
30959         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30960         (gst_pad_pause_task), (gst_pad_stop_task):
30961         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30962         (gst_element_request_pad), (gst_pad_proxy_getcaps):
30963         Fix name lookup in GstBin.
30964         Added _data_replace() function and _buffer_replace()
30965         Use finalize method to clean up clock.
30966         Fix refcounting on request pads.
30967         Fix pad schedule mode error.
30968         Some more object refcounting debug info,
30969
30970
30971 2005-05-04  Andy Wingo <wingo@pobox.com>
30972
30973         * check/Makefile.am:
30974         * docs/gst/tmpl/gstatomic.sgml:
30975         * docs/gst/tmpl/gstplugin.sgml:
30976         * gst/base/gstbasesink.c: (gst_basesink_activate):
30977         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30978         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30979         (gst_basesrc_query), (gst_basesrc_set_property),
30980         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30981         (gst_basesrc_activate):
30982         * gst/base/gstbasesrc.h:
30983         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30984         (gst_base_transform_src_activate):
30985         * gst/elements/gstelements.c:
30986         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30987         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30988         * gst/elements/gsttee.c: (gst_tee_sink_activate):
30989         * gst/elements/gsttypefindelement.c: (find_element_get_length),
30990         (gst_type_find_element_checkgetrange),
30991         (gst_type_find_element_activate):
30992         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30993         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30994         (gst_caps_load_thyself):
30995         * gst/gstelement.c: (gst_element_pads_activate),
30996         (gst_element_save_thyself), (gst_element_restore_thyself):
30997         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30998         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30999         * gst/gstpad.h:
31000         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
31001         (gst_xml_parse_file), (gst_xml_parse_memory),
31002         (gst_xml_get_element), (gst_xml_make_element):
31003         * gst/indexers/gstfileindex.c: (gst_file_index_load),
31004         (_file_index_id_save_xml), (gst_file_index_commit):
31005         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
31006         (read_enum), (load_pad_template), (load_feature), (load_plugin),
31007         (load_paths):
31008         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
31009         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
31010         * tools/gst-complete.c: (main):
31011         * tools/gst-compprep.c: (main):
31012         * tools/gst-inspect.c: (print_element_properties_info):
31013         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
31014         * tools/gst-xmlinspect.c: (print_element_properties):
31015         GCC 4 fixen.
31016         
31017 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
31018
31019         * gst/gstplugin.c: (gst_plugin_check_module),
31020         (gst_plugin_check_file), (gst_plugin_load_file):
31021             apply patch from #172526 to make register work on MacOSX
31022
31023 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
31024
31025         * docs/gst/tmpl/gstconfig.sgml:
31026         * gst/gstconfig.h.in:
31027           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
31028         * testsuite/debug/printf_extension.c: (main):
31029           Do not use GST_PTR_FORMAT on pointers to types with
31030           sizeof < sizeof(gpointer).  Fixes test on 64-bit
31031         * testsuite/elements/property.h:
31032           use correct printf format
31033
31034 2005-05-02  Wim Taymans  <wim@fluendo.com>
31035
31036         * docs/design/draft-push-pull.txt:
31037         * docs/design/draft-query.txt:
31038         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
31039         (gst_basesrc_start):
31040         Added draft for new query API.
31041         Added draft for better selecting scheduling methods.
31042         Make basesrc ignore length if the subclass does not support
31043         it.
31044
31045 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
31046
31047         * gst/Makefile.am:
31048           possible fixes for automake-1.5 - _LIBADD is reserved
31049
31050 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
31051
31052         * docs/faq/Makefile.am:
31053         * docs/manual/Makefile.am:
31054         * docs/manuals.mak:
31055         * docs/pwg/Makefile.am:
31056         * gst/Makefile.am:
31057           possible fixes for automake-1.5
31058
31059 2005-04-28  Wim Taymans  <wim@fluendo.com>
31060
31061         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31062         (gst_basesink_pad_getcaps), (gst_basesink_init),
31063         (gst_basesink_do_sync):
31064         * gst/gstclock.c: (gst_clock_entry_new):
31065         * gst/gstevent.c: (gst_event_discont_get_value):
31066         * gst/gstpipeline.c: (pipeline_bus_handler),
31067         (gst_pipeline_change_state):
31068         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
31069         Better debugging of clocking info.
31070         Allow NULL values when getting discont values.
31071
31072 2005-04-27  Wim Taymans  <wim@fluendo.com>
31073
31074         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31075         * check/gst/gstpad.c: (gst_pad_suite):
31076         Increase timeout for checks.
31077
31078 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
31079
31080         * check/Makefile.am:
31081           fix the broken rule for cleanup.  Apparently this rule is
31082           only needed on FC2, so maybe this warrants further autotool
31083           inspection.
31084
31085 2005-04-26  Wim Taymans  <wim@fluendo.com>
31086
31087         * gst/gsttrashstack.h:
31088         Ooohh. a nasty one! After having a failed pop() from the stack,
31089         it's possible that the stack is empty. In that case, don't
31090         follow the NULL pointer.
31091
31092 2005-04-25  Wim Taymans  <wim@fluendo.com>
31093
31094         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31095         (gst_pad_set_checkgetrange_function),
31096         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
31097         (gst_pad_check_pull_range), (gst_pad_pull_range),
31098         (gst_static_pad_template_get_caps), (gst_pad_start_task),
31099         (gst_pad_pause_task), (gst_pad_stop_task):
31100         * gst/gstplugin.c: (gst_plugin_load):
31101         * gst/gstplugin.h:
31102         Remove gst_library_load as it does more harm than good with
31103         the new g_module flags.
31104         Revert bogus caps template check in pad linking, pad caps
31105         are important when linking not the template, which is more
31106         general than the current caps.
31107
31108 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31109
31110         * gst/autoplug/.cvsignore:
31111         * gst/autoplug/Makefile.am:
31112         * gst/autoplug/gstsearchfuncs.c:
31113         * gst/autoplug/gstsearchfuncs.h:
31114         * gst/autoplug/gstspider.c:
31115         * gst/autoplug/gstspider.h:
31116         * gst/autoplug/gstspideridentity.c:
31117         * gst/autoplug/gstspideridentity.h:
31118         * gst/autoplug/spidertest.c:
31119           Die, spider, die.
31120
31121 2005-04-25  Wim Taymans  <wim@fluendo.com>
31122
31123         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31124         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
31125         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
31126         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
31127         * gst/gstpad.h:
31128         Added stubs for unimplemented functions. 
31129
31130 2005-04-24  David Schleef  <ds@schleef.org>
31131
31132         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
31133         please fix.
31134
31135 2005-04-24  David Schleef  <ds@schleef.org>
31136
31137         Convert everything from GstAtomicInt to g_atomic_int_*, and
31138         remove gstatomic.
31139         * gst/Makefile.am:
31140         * gst/gstatomic.c:
31141         * gst/gstatomic.h:
31142         * gst/gstatomic_impl.h:
31143         * gst/gstbuffer.c:
31144         * gst/gstcaps.c:
31145         * gst/gstcaps.h:
31146         * gst/gstclock.c:
31147         * gst/gstclock.h:
31148         * gst/gstdata.c:
31149         * gst/gstdata.h:
31150         * gst/gstdata_private.h:
31151         * gst/gstevent.c:
31152         * gst/gstinfo.c:
31153         * gst/gstinfo.h:
31154         * gst/gstmessage.c:
31155         * gst/gstobject.c:
31156         * gst/gstobject.h:
31157         * gst/gststructure.c:
31158         * gst/gststructure.h:
31159         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
31160         * gst/gstutils.h:
31161
31162 2005-04-24  David Schleef  <ds@schleef.org>
31163
31164         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
31165         make the regressions tests work.  Remove some code that is no
31166         longer true.
31167         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
31168         Disable warning for pads without templates.
31169
31170 2005-04-24  David Schleef  <ds@schleef.org>
31171
31172         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
31173         functions that handle filtered links.
31174         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
31175         removed functions.
31176         * gst/gstutils.c: Fix/remove utility functions that handle
31177         filtered caps.
31178         * gst/gstutils.h:
31179         * gst/gstvalue.c: Add serialization/deserialization of caps
31180         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
31181         requires fixing so that the filter caps notation creates
31182         a capsfilter element and sets the filter_caps property.  I
31183         think everyone probably wants to keep the shorthand notation.
31184         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
31185         * docs/gst/tmpl/gstpad.sgml:
31186
31187         * gst/elements/gstelements.c: Register capsfilter element.
31188         * gst/Makefile.am: fix spacing
31189         * docs/random/ds/0.9-suggested-changes: random
31190
31191 2005-04-23  David Schleef  <ds@schleef.org>
31192
31193         * gst/elements/Makefile.am:
31194         * gst/elements/gstcapsfilter.c: New element that acts like an
31195         identity, but filters caps.  Will eventually replace filtered
31196         caps in pad linking.
31197         * gst/gstutils.c: (gst_element_create_all_pads): New function
31198         to create all the ALWAYS pads that are registered with an
31199         element class.  This functionality should eventually be
31200         merged in with GstElement initialization.
31201         * gst/gstutils.h:
31202         * testsuite/trigger/README: part of trigger test code that should
31203         have been checked in a long time ago.
31204
31205 2005-04-23  David Schleef  <ds@schleef.org>
31206
31207         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
31208         needed with new versions of libtool (nobody will confirm this),
31209         and hard to carry around.
31210         * gst/autoplug/Makefile.am:
31211         * gst/base/Makefile.am:
31212         * gst/elements/Makefile.am:
31213         * gst/indexers/Makefile.am:
31214         * gst/schedulers/Makefile.am:
31215         * libs/gst/bytestream/Makefile.am:
31216         * libs/gst/control/Makefile.am:
31217         * libs/gst/dataprotocol/Makefile.am:
31218         * libs/gst/getbits/Makefile.am:
31219
31220 2005-04-21  Wim Taymans  <wim@fluendo.com>
31221
31222         * docs/design/draft-push-pull.txt:
31223         * docs/design/part-MT-refcounting.txt:
31224         * docs/design/part-TODO.txt:
31225         * docs/design/part-caps.txt:
31226         * docs/design/part-events.txt:
31227         * docs/design/part-gstbus.txt:
31228         * docs/design/part-gstpipeline.txt:
31229         * docs/design/part-messages.txt:
31230         * docs/design/part-push-pull.txt:
31231         * docs/design/part-query.txt:
31232         Some more docs.
31233
31234 2005-04-21  Wim Taymans  <wim@fluendo.com>
31235
31236         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
31237         (gst_message_new), (gst_message_new_error),
31238         (gst_message_new_warning), (gst_message_new_tag),
31239         (gst_message_new_state_changed), (gst_message_new_application),
31240         (gst_message_get_structure):
31241         * gst/gstmessage.h:
31242         * gst/gststructure.c: (gst_structure_set_parent_refcount),
31243         (gst_structure_copy_conditional):
31244         Use parent refcount in GstMessage to ensure GstStructure
31245         consistency.
31246         Cleaned up headers a bit.
31247         
31248
31249 2005-04-20  Wim Taymans  <wim@fluendo.com>
31250
31251         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31252         (gst_basesink_pad_getcaps), (gst_basesink_init),
31253         (gst_basesink_chain_unlocked):
31254         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
31255         (gst_type_find_helper):
31256         * gst/elements/gsttypefindelement.c:
31257         (gst_type_find_element_have_type), (gst_type_find_element_init),
31258         (stop_typefinding), (gst_type_find_element_handle_event),
31259         (find_suggest), (gst_type_find_element_chain),
31260         (gst_type_find_element_checkgetrange),
31261         (gst_type_find_element_getrange), (do_typefind),
31262         (gst_type_find_element_activate):
31263         * gst/gstbuffer.c: (_gst_buffer_sub_free),
31264         (gst_buffer_default_free), (gst_buffer_default_copy),
31265         (gst_buffer_set_caps):
31266         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
31267         (gst_caps_replace):
31268         * gst/gstmessage.c: (gst_message_new),
31269         (gst_message_new_state_changed):
31270         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31271         (gst_pad_set_checkgetrange_function),
31272         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
31273         (gst_pad_set_caps), (gst_pad_check_pull_range),
31274         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
31275         * gst/gstpad.h:
31276         * gst/gsttypefind.c: (gst_type_find_register):
31277         Make gst_caps_replace() work like other _replace() functions.
31278         Use _caps_replace() where possible.
31279         Make sure _message_new() initialises its field.
31280         Add gst_static_pad_template_get_caps()
31281
31282
31283 2005-04-18  Andy Wingo  <wingo@pobox.com>
31284
31285         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
31286         on the peer, not the pad. I think that was a typo. Pass an extra
31287         arg to see if random access is possible. Activate the pads as
31288         PULL_RANGE if possible.
31289
31290         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
31291
31292         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
31293         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
31294         to PROP_....
31295
31296 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31297
31298         * docs/faq/using.xml:
31299           Add note on gstreamer-properties (#154996).
31300
31301 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31302
31303         * docs/random/bbb/optional-properties:
31304           Some analysis on optional properties.
31305
31306 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31307
31308         * docs/gst/tmpl/gstelementfactory.sgml:
31309         * gst/gstelement.h:
31310         * gst/gstelementfactory.c: (gst_element_factory_init),
31311         (gst_element_factory_cleanup), (gst_element_register),
31312         (__gst_element_factory_add_static_pad_template),
31313         (gst_element_factory_get_static_pad_templates),
31314         (gst_element_factory_can_src_caps),
31315         (gst_element_factory_can_sink_caps):
31316         * gst/registries/Makefile.am:
31317         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
31318         (gst_xml_registry_class_init), (gst_xml_registry_init),
31319         (gst_xml_registry_new), (gst_xml_registry_set_property),
31320         (gst_xml_registry_get_property), (get_time), (make_dir),
31321         (gst_xml_registry_get_perms_func),
31322         (plugin_times_older_than_recurse), (plugin_times_older_than),
31323         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
31324         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
31325         (add_to_char_array), (read_string), (read_uint), (read_enum),
31326         (load_pad_template), (load_feature), (load_plugin), (load_paths),
31327         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
31328         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
31329         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
31330         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
31331         (gst_xml_registry_rebuild):
31332         * gst/registries/gstlibxmlregistry.h:
31333         * tools/gst-compprep.c: (main):
31334         * tools/gst-inspect.c: (print_pad_templates_info):
31335         * tools/gst-xmlinspect.c: (print_element_info):
31336           Use libxml2 for registry parsing, use staticpadtemplates in
31337           elementfactories. Makes gst_init() +/- 10x faster.
31338
31339 2005-04-12  Wim Taymans  <wim@fluendo.com>
31340
31341         * gst/base/Makefile.am:
31342         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31343         (gst_basesink_pad_getcaps), (gst_basesink_init),
31344         (gst_basesink_event), (gst_basesink_change_state):
31345         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31346         (gst_basesrc_init), (gst_basesrc_query),
31347         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31348         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31349         (gst_basesrc_check_get_range), (gst_basesrc_loop),
31350         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31351         (gst_basesrc_stop), (gst_basesrc_activate),
31352         (gst_basesrc_change_state):
31353         * gst/base/gsttypefindhelper.c: (helper_find_peek),
31354         (helper_find_suggest), (gst_type_find_helper):
31355         * gst/base/gsttypefindhelper.h:
31356         * gst/elements/Makefile.am:
31357         * gst/elements/gstelements.c:
31358         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
31359         (gst_fakesink_get_times), (gst_fakesink_event),
31360         (gst_fakesink_preroll), (gst_fakesink_render):
31361         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31362         (gst_fakesrc_init), (gst_fakesrc_event_handler),
31363         (gst_fakesrc_get_property), (gst_fakesrc_create),
31364         (gst_fakesrc_start), (gst_fakesrc_stop):
31365         * gst/elements/gstfakesrc.h:
31366         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
31367         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31368         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31369         (gst_filesrc_create_read), (gst_filesrc_create),
31370         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
31371         (gst_filesrc_start):
31372         * gst/elements/gsttypefindelement.c:
31373         (gst_type_find_element_have_type), (gst_type_find_element_init),
31374         (start_typefinding), (stop_typefinding), (push_buffer_store),
31375         (gst_type_find_element_handle_event),
31376         (gst_type_find_element_chain),
31377         (gst_type_find_element_checkgetrange),
31378         (gst_type_find_element_getrange), (do_typefind),
31379         (gst_type_find_element_activate),
31380         (gst_type_find_element_change_state):
31381         * gst/elements/gsttypefindelement.h:
31382         * gst/gstpipeline.c: (pipeline_bus_handler):
31383         Added typefind helper.
31384         Small preroll fix in the base sink.
31385         Disable typefind code in basesrc.
31386         Crude port of typefindelement.
31387         Fakesrc cleanups.
31388
31389
31390 2005-04-11  Wim Taymans  <wim@fluendo.com>
31391
31392         * check/gst/gstbus.c: (gstbus_suite):
31393         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
31394         * check/gstcheck.h:
31395           Fix up the timeout so that the test does not fail.
31396
31397 2005-04-06  Wim Taymans  <wim@fluendo.com>
31398
31399         * gst/base/README:
31400         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31401         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
31402         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31403         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31404         (gst_basesrc_check_get_range), (gst_basesrc_loop),
31405         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31406         (gst_basesrc_stop), (gst_basesrc_activate),
31407         (gst_basesrc_change_state), (basesrc_find_peek),
31408         (basesrc_find_suggest), (gst_basesrc_type_find):
31409         * gst/base/gstbasesrc.h:
31410         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
31411         (gst_filesrc_class_init), (gst_filesrc_init),
31412         (gst_filesrc_finalize), (gst_filesrc_set_location),
31413         (gst_filesrc_set_property), (gst_filesrc_get_property),
31414         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31415         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31416         (gst_filesrc_create_read), (gst_filesrc_create),
31417         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
31418         * gst/elements/gstfilesrc.h:
31419         * gst/gstelement.c: (gst_element_get_state_func),
31420         (gst_element_lost_state), (gst_element_pads_activate):
31421         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31422         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
31423         (gst_pad_pull_range):
31424         * gst/gstpad.h:
31425         More work on the generic source base class, implement seeking,
31426         query.
31427         Make filesrc extend the base source class.
31428         Added gst_pad_set_checkgetrange_function to GstPad.
31429
31430 2005-04-06  Andy Wingo  <wingo@pobox.com>
31431
31432         * pkgconfig/gstreamer-base.pc.in:
31433         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
31434
31435         * pkgconfig/Makefile.am:
31436         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
31437
31438 2005-04-04  Wim Taymans  <wim@fluendo.com>
31439
31440         * gst/base/Makefile.am:
31441         * gst/base/README:
31442         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31443         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31444         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31445         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
31446         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31447         (gst_basesrc_base_init), (gst_basesrc_class_init),
31448         (gst_basesrc_init), (gst_basesrc_get_formats),
31449         (gst_basesrc_get_query_types), (gst_basesrc_query),
31450         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
31451         (gst_basesrc_set_property), (gst_basesrc_get_property),
31452         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
31453         (gst_basesrc_loop), (gst_basesrc_activate),
31454         (gst_basesrc_change_state):
31455         * gst/base/gstbasesrc.h:
31456         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
31457         (gst_fakesrc_class_init), (gst_fakesrc_init),
31458         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
31459         (gst_fakesrc_get_property), (gst_fakesrc_create):
31460         * gst/elements/gstfakesrc.h:
31461         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
31462         (gst_filesrc_open_file), (gst_filesrc_loop),
31463         (gst_filesrc_activate), (filesrc_find_peek),
31464         (gst_filesrc_type_find):
31465         Made base source class, make fakesrc extend it.
31466         Add comments to basesink class.
31467         Some filesrc cleanup.
31468
31469 2005-03-31  David Schleef  <ds@schleef.org>
31470
31471         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
31472         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
31473         expected to link against libgstreamer.
31474         * gst/base/Makefile.am: link against libgstreamer
31475         * gst/elements/Makefile.am: same
31476
31477 2005-03-31  Andy Wingo  <wingo@pobox.com>
31478
31479         * tests/instantiate/Makefile.am:
31480         * tests/instantiate/caps.c: Add test to test speed of caps copy
31481         and free.
31482
31483         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
31484         GMemChunk to be fair.
31485
31486         * gst/gsttrashstack.h: Remove warning about using the fallback
31487         trash stack implementation, it's still faster than malloc.
31488
31489 2005-03-30  Andy Wingo  <wingo@pobox.com>
31490
31491         * tests/complexity.c: Add a copyright.
31492
31493 2005-03-31  Wim Taymans  <wim@fluendo.com>
31494
31495         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
31496         (gst_base_transform_class_init), (gst_base_transform_init),
31497         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
31498         (gst_base_transform_get_property),
31499         (gst_base_transform_sink_activate),
31500         (gst_base_transform_src_activate),
31501         (gst_base_transform_change_state):
31502         * gst/base/gstbasetransform.h:
31503         * gst/elements/gstidentity.c: (gst_identity_class_init),
31504         (gst_identity_event), (gst_identity_check_perfect),
31505         (gst_identity_transform), (gst_identity_start),
31506         (gst_identity_stop):
31507         Added start/stop methods to transform base class so subclasses 
31508         don't need to deal with state changes even.
31509
31510 2005-03-31  Wim Taymans  <wim@fluendo.com>
31511
31512         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
31513         (gst_event_new_discontinuous), (gst_event_discont_get_value):
31514         * gst/gstevent.h:
31515         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31516         (gst_pad_pull_range):
31517         Added rate to the discont event to prepare for variable speed
31518         and reverse playback.
31519
31520 2005-03-29  David Schleef  <ds@schleef.org>
31521
31522         * configure.ac:
31523         * testsuite/trigger/Makefile.am:
31524         * testsuite/trigger/trigger.c: A little example program to show
31525         how trigger-based elements can work.
31526
31527 2005-03-29  Wim Taymans  <wim@fluendo.com>
31528
31529         * gst/base/Makefile.am:
31530         * gst/base/README:
31531         * gst/base/gstbasesink.c: (gst_basesink_get_type),
31532         (gst_basesink_base_init), (gst_basesink_class_init),
31533         (gst_basesink_pad_getcaps), (gst_basesink_init),
31534         (gst_basesink_activate), (gst_basesink_change_state):
31535         * gst/base/gstbasesink.h:
31536         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
31537         (gst_base_transform_base_init), (gst_base_transform_finalize),
31538         (gst_base_transform_class_init), (gst_base_transform_init),
31539         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
31540         (gst_base_transform_event), (gst_base_transform_getrange),
31541         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
31542         (gst_base_transform_set_property),
31543         (gst_base_transform_get_property),
31544         (gst_base_transform_sink_activate),
31545         (gst_base_transform_src_activate),
31546         (gst_base_transform_change_state):
31547         * gst/base/gstbasetransform.h:
31548         * gst/elements/gstidentity.c: (gst_identity_finalize),
31549         (gst_identity_class_init), (gst_identity_init),
31550         (gst_identity_event), (gst_identity_check_perfect),
31551         (gst_identity_transform), (gst_identity_set_property),
31552         (gst_identity_get_property), (gst_identity_change_state):
31553         * gst/elements/gstidentity.h:
31554         * gst/gstelement.c: (gst_element_get_state_func),
31555         (gst_element_lost_state), (gst_element_pads_activate):
31556         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31557         (gst_pad_check_pull_range), (gst_pad_pull_range):
31558         * gst/gstpad.h:
31559         Simplify pad activation.
31560         Added function to check if pull_range can be performed.
31561         Error out when pulling inactive or flushing pads.
31562         Removed const from refcounted types as it does not make sense.
31563         Simplify pad templates in basesink
31564         Added base class for simple 1-to-1 transforms.
31565         Make identity subclass the base transform.
31566
31567 2005-03-29  Andy Wingo  <wingo@pobox.com>
31568
31569         * docs/libs/gstreamer-libs-overrides.txt: 
31570         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31571         really don't understand what's going on, but like whatever. I want
31572         green buildbot!
31573
31574         * docs/gst/Makefile.am:
31575         * docs/libs/Makefile.am: Dist the overrides files.
31576
31577         * check/Makefile.am (clean-local): Remove .libs directories.
31578
31579         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31580         elements to EXTRA_DIST, so po/ files are happy.
31581
31582         * po/POTFILES.in: Er, remove it here.
31583
31584         * po/POTFILES: Remove gstspider.c.
31585
31586         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31587
31588         * docs/libs/gstreamer-libs-docs.sgml: 
31589         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31590         bytestream.
31591
31592         * tests/complexity.c (main): Set the length of the preroll queue
31593         on the sinks to prevent a lockup.
31594
31595         * libs/gst/dataprotocol/Makefile.am: 
31596         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31597         the same as the one in check/gst-libs/gdp.c.
31598
31599         * po/, docs/gst/: Commit automatic changes to docs and po files.
31600
31601         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31602         the versioned libgstbase.
31603
31604         * check/Makefile.am: Depend on an unversioned gst-register, seems
31605         to make autoconf happier.
31606
31607         * gst/base/Makefile.am: Make libgstbase a versioned lib.
31608
31609 2005-03-28  Wim Taymans  <wim@fluendo.com>
31610
31611         * configure.ac:
31612         * docs/design/part-gstelement.txt:
31613         * docs/design/part-negotiation.txt:
31614         * docs/design/part-preroll.txt:
31615         * docs/design/part-scheduling.txt:
31616         * docs/design/part-states.txt:
31617         * gst/Makefile.am:
31618         * gst/base/Makefile.am:
31619         * gst/base/README:
31620         * gst/base/gstbasesink.c: (gst_basesink_get_template),
31621         (gst_basesink_base_init), (gst_basesink_class_init),
31622         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31623         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31624         (gst_basesink_set_pad_functions),
31625         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31626         (gst_basesink_set_property), (gst_basesink_get_property),
31627         (gst_base_sink_get_template), (gst_base_sink_get_caps),
31628         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31629         (gst_basesink_preroll_queue_push),
31630         (gst_basesink_preroll_queue_empty),
31631         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31632         (gst_basesink_event), (gst_basesink_get_times),
31633         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31634         (gst_basesink_chain_unlocked), (gst_basesink_chain),
31635         (gst_basesink_loop), (gst_basesink_activate),
31636         (gst_basesink_change_state):
31637         * gst/base/gstbasesink.h:
31638         * gst/elements/Makefile.am:
31639         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31640         (gst_fakesink_class_init), (gst_fakesink_init),
31641         (gst_fakesink_set_property), (gst_fakesink_get_property),
31642         (gst_fakesink_get_times), (gst_fakesink_event),
31643         (gst_fakesink_preroll), (gst_fakesink_render),
31644         (gst_fakesink_change_state):
31645         * gst/elements/gstfakesink.h:
31646         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31647         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31648         * gst/gstelement.c: (gst_element_add_pad),
31649         (gst_element_get_state_func), (gst_element_abort_state),
31650         (gst_element_commit_state), (gst_element_lost_state),
31651         (gst_element_set_state), (gst_element_pads_activate):
31652         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31653         * gst/gstpipeline.c: (gst_pipeline_send_event),
31654         (gst_pipeline_change_state):
31655         Added state change code.
31656         Added/updated docs.
31657         Added sink base class, make fakesink extend the base class.
31658         Small cleanups in GstPipeline.
31659
31660 2005-03-26  David Schleef  <ds@schleef.org>
31661
31662         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
31663         is broken and should be implemented in a different library.
31664         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31665         * gst/gst.h: remove gstcpu.h
31666         * gst/gstcpu.c: remove
31667         * gst/gstcpu.h: remove
31668         * gst/Makefile.am.future: Remove this file.  It's ancient.
31669
31670 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31671
31672         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31673         (gst_bin_send_event):
31674           Add default event/set_manager handlers. The set_manager handler
31675           takes care that the manager is distributed over kids that were
31676           already in the bin before the manager was set. The event handler
31677           is a utility virtual function that sends the event over all sinks,
31678           so that gst_element_send_event (bin, event); has the expected
31679           behaviour.
31680         * gst/gstpad.c: (gst_pad_event_default):
31681           Re-install default event handling for discontinuities, so that
31682           seeking works without requiring hacks in applications or extra
31683           code in sinks.
31684         * gst/gstpipeline.c: (gst_pipeline_class_init),
31685         (gst_pipeline_send_event):
31686           Half hack, half utility: set a pipeline to PAUSED for seek events,
31687           since that is the only way we can guarantee a/v sync. Means that
31688           you can do gst_element_seek (pipeline, method, pos); on a pipeline
31689           and it "just works".
31690
31691 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31692
31693         * gst/gstpipeline.c: (gst_pipeline_use_clock):
31694           Lock/unlock mismatch.
31695
31696 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
31697
31698         * docs/faq/gst-uninstalled:
31699           add gst-plugins-base
31700         * docs/gst/Makefile.am:
31701           don't error out until docs are fixed
31702         * docs/gst/gstreamer.types:
31703           remove thread
31704
31705 2005-03-22  Wim Taymans  <wim@fluendo.com>
31706
31707         * check/Makefile.am:
31708         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31709         * gst/gststructure.c: (gst_structure_set_valist),
31710         (gst_structure_copy_conditional):
31711         Activated more tests.
31712         Added message test.
31713         Added G_TYPE_POINTER to GstStructure.
31714         
31715
31716 2005-03-22  Wim Taymans  <wim@fluendo.com>
31717
31718         * docs/design/part-TODO.txt:
31719         * docs/design/part-events.txt:
31720         * docs/design/part-gstbin.txt:
31721         * docs/design/part-gstbus.txt:
31722         * docs/design/part-gstpipeline.txt:
31723         * docs/design/part-messages.txt:
31724         * gst/gstbus.c:
31725         * gst/gstmessage.c:
31726         Docs updates
31727
31728 2005-03-21  Wim Taymans  <wim@fluendo.com>
31729
31730         * gst/gstbus.c: (gst_bus_post):
31731         Fix copy-and-paste error.
31732
31733 2005-03-21  Wim Taymans  <wim@fluendo.com>
31734
31735         * check/Makefile.am:
31736         * gst/Makefile.am:
31737         * gst/elements/Makefile.am:
31738         * gst/elements/gstelements.c:
31739         * gst/elements/gstfakesink.c: (gst_fakesink_init),
31740         (gst_fakesink_event), (gst_fakesink_chain):
31741         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31742         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31743         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31744         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31745         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31746         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31747         (gst_fakesrc_loop), (gst_fakesrc_activate),
31748         (gst_fakesrc_change_state):
31749         * gst/elements/gstfakesrc.h:
31750         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31751         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31752         (gst_filesrc_open_file), (gst_filesrc_loop),
31753         (gst_filesrc_activate), (gst_filesrc_change_state),
31754         (filesrc_find_peek), (filesrc_find_suggest),
31755         (gst_filesrc_type_find):
31756         * gst/elements/gstidentity.c: (gst_identity_finalize),
31757         (gst_identity_class_init), (gst_identity_init),
31758         (gst_identity_proxy_getcaps), (identity_queue_push),
31759         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31760         (gst_identity_getrange), (gst_identity_chain),
31761         (gst_identity_sink_loop), (gst_identity_src_loop),
31762         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31763         (gst_identity_set_property), (gst_identity_get_property),
31764         (gst_identity_change_state):
31765         * gst/elements/gstidentity.h:
31766         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31767         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31768         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31769         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31770         (gst_tee_sink_activate):
31771         * gst/elements/gsttee.h:
31772         * gst/gst.c: (gst_register_core_elements), (init_post):
31773         * gst/gst.h:
31774         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31775         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31776         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31777         (gst_bin_change_state):
31778         * gst/gstbin.h:
31779         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31780         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31781         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31782         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31783         (gst_bus_set_sync_handler), (gst_bus_create_watch),
31784         (bus_watch_callback), (bus_watch_destroy),
31785         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31786         (poll_timeout), (gst_bus_poll):
31787         * gst/gstbus.h:
31788         * gst/gstcaps.h:
31789         * gst/gstdata.h:
31790         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31791         (gst_element_post_message), (gst_element_message_full),
31792         (gst_element_get_state_func), (gst_element_get_state),
31793         (gst_element_abort_state), (gst_element_commit_state),
31794         (gst_element_lost_state), (gst_element_set_state),
31795         (gst_element_pads_activate), (gst_element_change_state),
31796         (gst_element_dispose), (gst_element_set_manager_func),
31797         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31798         (gst_element_set_manager), (gst_element_get_manager),
31799         (gst_element_set_bus), (gst_element_get_bus),
31800         (gst_element_set_scheduler), (gst_element_get_scheduler):
31801         * gst/gstelement.h:
31802         * gst/gstevent.c: (gst_event_new_segment_seek),
31803         (gst_event_new_flush):
31804         * gst/gstevent.h:
31805         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31806         (_gst_message_free), (gst_message_get_type), (gst_message_new),
31807         (gst_message_new_eos), (gst_message_new_error),
31808         (gst_message_new_warning), (gst_message_new_tag),
31809         (gst_message_new_state_changed), (gst_message_new_application),
31810         (gst_message_get_structure), (gst_message_parse_tag),
31811         (gst_message_parse_state_changed), (gst_message_parse_error),
31812         (gst_message_parse_warning):
31813         * gst/gstmessage.h:
31814         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31815         (gst_real_pad_set_property), (gst_pad_set_active),
31816         (gst_pad_is_active), (gst_pad_set_blocked_async),
31817         (gst_pad_set_blocked), (gst_pad_is_blocked),
31818         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31819         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31820         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31821         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31822         (gst_pad_link_filtered), (gst_pad_relink_filtered),
31823         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31824         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31825         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31826         (gst_pad_set_caps), (gst_pad_configure_sink),
31827         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31828         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31829         (gst_real_pad_dispose), (gst_real_pad_finalize),
31830         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31831         (gst_pad_event_default_dispatch), (gst_pad_event_default),
31832         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31833         * gst/gstpad.h:
31834         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31835         (pipeline_bus_handler), (gst_pipeline_change_state),
31836         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31837         * gst/gstpipeline.h:
31838         * gst/gstprobe.h:
31839         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31840         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31841         (gst_queue_link_src), (gst_queue_bufferalloc),
31842         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31843         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31844         (gst_queue_loop), (gst_queue_handle_src_event),
31845         (gst_queue_handle_src_query), (gst_queue_src_activate),
31846         (gst_queue_change_state):
31847         * gst/gstqueue.h:
31848         * gst/gstscheduler.c: (gst_scheduler_init),
31849         (gst_scheduler_dispose), (gst_scheduler_create_task),
31850         (gst_scheduler_factory_create):
31851         * gst/gstscheduler.h:
31852         * gst/gststructure.c: (gst_structure_get_type),
31853         (gst_structure_copy_conditional):
31854         * gst/gststructure.h:
31855         * gst/gsttaginterface.h:
31856         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31857         (gst_task_init), (gst_task_dispose), (gst_task_create),
31858         (gst_task_get_state), (gst_task_start), (gst_task_stop),
31859         (gst_task_pause):
31860         * gst/gsttask.h:
31861         * gst/gstthread.c:
31862         * gst/gstthread.h:
31863         * gst/gsttypes.h:
31864         * gst/schedulers/Makefile.am:
31865         * gst/schedulers/cothreads_compat.h:
31866         * gst/schedulers/entryscheduler.c:
31867         * gst/schedulers/faircothreads.c:
31868         * gst/schedulers/faircothreads.h:
31869         * gst/schedulers/fairscheduler.c:
31870         * gst/schedulers/gstbasicscheduler.c:
31871         * gst/schedulers/gstoptimalscheduler.c:
31872         * gst/schedulers/gthread-cothreads.h:
31873         * gst/schedulers/threadscheduler.c:
31874         (gst_thread_scheduler_task_get_type),
31875         (gst_thread_scheduler_task_class_init),
31876         (gst_thread_scheduler_task_init),
31877         (gst_thread_scheduler_task_start),
31878         (gst_thread_scheduler_task_stop),
31879         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31880         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31881         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31882         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31883         (plugin_init):
31884         * libs/gst/Makefile.am:
31885         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31886         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31887         (gst_file_pad_parent_set):
31888         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31889         (gst_dp_event_from_packet):
31890         * tests/complexity.c: (main):
31891         * tests/mass_elements.c: (main):
31892         * testsuite/states/locked.c: (message_received), (main):
31893         * testsuite/states/parent.c: (main):
31894         * tools/gst-inspect.c: (print_element_flag_info),
31895         (print_implementation_info), (print_pad_info):
31896         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31897         (main):
31898         * tools/gst-md5sum.c: (event_loop), (main):
31899         * tools/gst-typefind.c: (main):
31900         * tools/gst-xmlinspect.c: (print_element_info):
31901         Next big merge.
31902         Added GstBus for mainloop integration.
31903         Added GstMessage for sending notifications on the bus.
31904         Added GstTask as an abstraction for pipeline entry points.
31905         Removed GstThread.
31906         Removed Schedulers.
31907         Simplified GstQueue for multithreaded core.
31908         Made _link threadsafe, removed old capsnego.
31909         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31910         Added pad blocking functions.
31911         Reworked scheduling functions in GstPad to prepare for
31912         scheduling updates soon.
31913         Moved events out of data stream.
31914         Simplified GstEvent types.
31915         Added return values to push/pull.
31916         Removed clocking from GstElement.
31917         Added prototypes for state change function for next merge.
31918         Removed iterate from bins and state change management.
31919         Fixed some elements, disabled others for now.
31920         Fixed -inspect and -launch.
31921         Added check for GstBus.
31922
31923 2005-03-10  Wim Taymans  <wim@fluendo.com>
31924
31925         * docs/design/part-MT-refcounting.txt:
31926         * docs/design/part-clocks.txt:
31927         * docs/design/part-gstelement.txt:
31928         * docs/design/part-gstobject.txt:
31929         * docs/design/part-standards.txt:
31930         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31931         (gst_bin_remove_func), (gst_bin_remove):
31932         * gst/gstbin.h:
31933         * gst/gstbuffer.c:
31934         * gst/gstcaps.h:
31935         * testsuite/clock/clock1.c: (main):
31936         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31937         (main):
31938         * testsuite/dlopen/loadgst.c: (do_test):
31939         * testsuite/refcounting/bin.c: (add_remove_test1),
31940         (add_remove_test2), (main):
31941         * testsuite/refcounting/element.c: (main):
31942         * testsuite/refcounting/element_pad.c: (main):
31943         * testsuite/refcounting/pad.c: (main):
31944         * tools/gst-launch.c: (sigint_handler_sighandler):
31945         * tools/gst-typefind.c: (main):
31946         Doc updates.
31947         Added doc about clock.
31948         removed gst_bin_iterate_recurse_up(), marked methods
31949         for removal.
31950         Fix more testsuites.
31951
31952 2005-03-09  Wim Taymans  <wim@fluendo.com>
31953
31954         * gst/gstpad.c: (gst_pad_get_direction),
31955         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31956         (gst_pad_collect_valist):
31957         * testsuite/bins/interface.c: (main):
31958         * testsuite/caps/audioscale.c: (test_caps):
31959         * testsuite/caps/caps.c: (test1), (test2), (test3):
31960         * testsuite/caps/deserialize.c: (main):
31961         * testsuite/caps/enumcaps.c: (main):
31962         * testsuite/caps/filtercaps.c: (main):
31963         * testsuite/caps/intersect2.c: (main):
31964         * testsuite/caps/random.c: (main):
31965         * testsuite/caps/renegotiate.c: (my_fixate), (main):
31966         * testsuite/caps/sets.c: (check_caps):
31967         * testsuite/caps/simplify.c: (check_caps), (main):
31968         * testsuite/caps/subtract.c: (check_caps):
31969         Fix _pad_get_direction wrt ghostpads.
31970         Fix caps testsuite.
31971
31972 2005-03-09  Wim Taymans  <wim@fluendo.com>
31973
31974         * check/Makefile.am:
31975         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31976         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31977         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31978         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31979         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31980         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31981         (gst_bin_remove), (gst_bin_iterate_recurse_up),
31982         (bin_element_is_sink), (gst_bin_iterate_sinks),
31983         (gst_bin_iterate_all_by_interface):
31984         * gst/gstbin.h:
31985         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31986         (gst_element_change_state), (gst_element_dispose),
31987         (gst_element_finalize), (gst_element_set_loop_function):
31988         * gst/gstelement.h:
31989         * gst/gstiterator.c: (find_custom_fold_func):
31990         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31991         (gst_pad_collectv), (gst_pad_collect_valist),
31992         (gst_pad_template_new):
31993         * gst/gstpipeline.c: (gst_pipeline_class_init),
31994         (gst_pipeline_dispose), (gst_pipeline_set_property),
31995         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31996         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31997         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31998         * gst/gstutils.h:
31999         * gst/schedulers/entryscheduler.c:
32000         * gst/schedulers/gstbasicscheduler.c:
32001         (gst_basic_scheduler_cothreaded_chain),
32002         (gst_basic_scheduler_chain_add_element):
32003         * testsuite/bins/interface.c: (main):
32004         Added GstBin test.
32005         Added GstSystemClock test.
32006         Implemented clock distribution code in GstBin.
32007         Implemented iterate sinks method for future use.
32008         Rearranged gstelement.h
32009         Fix GstIterator comparison bug.
32010         Moved some code to GstPipeline, mostly clocking related.
32011
32012 2005-03-09  Wim Taymans  <wim@fluendo.com>
32013
32014         * configure.ac:
32015         * gst/gst_private.h:
32016         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
32017         (gst_bin_remove_func), (gst_bin_remove),
32018         (gst_bin_get_by_name_recurse_up):
32019         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
32020         (gst_clock_id_compare_func), (gst_clock_id_wait),
32021         (gst_clock_id_wait_async), (gst_clock_init),
32022         (gst_clock_adjust_unlocked), (gst_clock_get_time):
32023         * gst/gstelement.h:
32024         * gst/gstinfo.c: (_gst_debug_init):
32025         * gst/gstobject.h:
32026         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
32027         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
32028         * gst/gstpad.h:
32029         Bump version number, we're now 0.9.0
32030         Add future debugging category.
32031         Fix NULL _unref() in _get_by_name_recurse_up
32032         Rearrange gstpad.h.
32033         Update some docs.
32034
32035 2005-03-08  Wim Taymans  <wim@fluendo.com>
32036
32037         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
32038         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
32039         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
32040         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
32041         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
32042         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
32043         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
32044         * gst/elements/gstidentity.c: (gst_identity_class_init):
32045         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
32046         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
32047         * gst/elements/gstshaper.c: (gst_shaper_class_init):
32048         * gst/elements/gststatistics.c: (gst_statistics_class_init):
32049         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
32050         (gst_tee_link):
32051         * gst/gstelement.c: (gst_element_class_init),
32052         (gst_element_base_class_init), (gst_element_init),
32053         (gst_element_get_random_pad), (gst_element_wait_state_change),
32054         (gst_element_change_state), (gst_element_dispose),
32055         (gst_element_finalize), (gst_element_set_loop_function):
32056         * gst/gstelement.h:
32057         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
32058         * gst/gstthread.c: (gst_thread_class_init),
32059         (gst_thread_release_children_locks), (gst_thread_change_state):
32060         * gst/schedulers/gstbasicscheduler.c:
32061         (gst_basic_scheduler_loopfunc_wrapper),
32062         (gst_basic_scheduler_chain_wrapper),
32063         (gst_basic_scheduler_src_wrapper),
32064         (gst_basic_scheduler_remove_element):
32065         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
32066         Remove threadsafe properties. Fix elements because GObject
32067         complains when installing a property before declaring a
32068         set/get_property handler.
32069         Rearrange gstelement.h file, use STATE macros for state locks.
32070         Free mutexes in the finalize method instead of dispose.
32071
32072 2005-03-08  Wim Taymans  <wim@fluendo.com>
32073
32074         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
32075         * gst/gstthread.c: (gst_thread_release_children_locks):
32076         Added parentage check.
32077         Fix build og GstThread again.
32078
32079 2005-03-08  Wim Taymans  <wim@fluendo.com>
32080
32081         * docs/design/part-MT-refcounting.txt:
32082         * docs/design/part-conventions.txt:
32083         * docs/design/part-gstobject.txt:
32084         * docs/design/part-relations.txt:
32085         * docs/design/part-standards.txt:
32086         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
32087         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
32088         (gst_bin_get_by_name), (gst_bin_get_by_interface),
32089         (gst_bin_iterate_all_by_interface):
32090         * gst/gstbuffer.h:
32091         * gst/gstclock.h:
32092         * gst/gstelement.c: (gst_element_class_init),
32093         (gst_element_change_state), (gst_element_set_loop_function):
32094         * gst/gstelement.h:
32095         * gst/gstiterator.c:
32096         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
32097         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
32098         (gst_object_dispatch_properties_changed), (gst_object_set_name),
32099         (gst_object_set_parent), (gst_object_unparent),
32100         (gst_object_check_uniqueness):
32101         * gst/gstobject.h:
32102         Docs updates, clean up some headers.
32103
32104 2005-03-07  Wim Taymans  <wim@fluendo.com>
32105
32106         * check/.cvsignore:
32107         * check/Makefile.am:
32108         * check/gst-libs/.cvsignore:
32109         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
32110         * check/gst/.cvsignore:
32111         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
32112         (START_TEST), (gstbus_suite), (main):
32113         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
32114         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
32115         (gst_data_suite), (main):
32116         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
32117         (add_fold_func), (gstiterator_suite), (main):
32118         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
32119         (thread_name_object), (thread_name_object_default),
32120         (gst_object_name_compare), (gst_object_suite), (main):
32121         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
32122         (gst_pad_suite), (main):
32123         * check/gstcheck.c: (gst_check_log_message_func),
32124         (gst_check_log_critical_func), (gst_check_init):
32125         * check/gstcheck.h:
32126         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
32127         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
32128         Added checks.
32129
32130 2005-03-07  Wim Taymans  <wim@fluendo.com>
32131
32132         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
32133         (gst_list_iterator_next), (gst_list_iterator_resync),
32134         (gst_list_iterator_free), (gst_iterator_new_list),
32135         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
32136         (gst_iterator_free), (gst_iterator_push), (filter_next),
32137         (filter_resync), (filter_uninit), (filter_free),
32138         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
32139         (gst_iterator_foreach), (find_custom_fold_func),
32140         (gst_iterator_find_custom):
32141         * gst/gstiterator.h:
32142         Added missing files.
32143
32144 2005-03-07  Wim Taymans  <wim@fluendo.com>
32145
32146         * Makefile.am:
32147         * configure.ac:
32148         * docs/design/part-MT-refcounting.txt:
32149         * docs/design/part-conventions.txt:
32150         * docs/design/part-gstobject.txt:
32151         * docs/design/part-relations.txt:
32152         * examples/mixer/mixer.c: (main):
32153         * examples/thread/thread.c: (eos), (main):
32154         * gst/Makefile.am:
32155         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
32156         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
32157         (gst_spider_plug_from_srcpad):
32158         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
32159         (gst_spider_identity_change_state),
32160         (gst_spider_identity_sink_loop_type_finding):
32161         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
32162         * gst/elements/gstidentity.c: (gst_identity_init):
32163         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
32164         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
32165         * gst/elements/gsttypefindelement.c: (free_entry):
32166         * gst/gst.c:
32167         * gst/gst.h:
32168         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
32169         (gst_bin_set_clock_func), (gst_bin_auto_clock),
32170         (gst_bin_set_index), (gst_bin_set_element_sched),
32171         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
32172         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
32173         (gst_bin_iterate_elements), (iterate_child_recurse),
32174         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
32175         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
32176         (compare_interface), (gst_bin_get_by_interface),
32177         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
32178         * gst/gstbin.h:
32179         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
32180         (gst_buffer_default_free), (gst_buffer_default_copy),
32181         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
32182         (gst_buffer_create_sub):
32183         * gst/gstbuffer.h:
32184         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
32185         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
32186         (gst_caps_unref), (gst_static_caps_get),
32187         (gst_caps_remove_and_get_structure), (gst_caps_append),
32188         (gst_caps_append_structure), (gst_caps_remove_structure),
32189         (gst_caps_copy_nth), (gst_caps_set_simple),
32190         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
32191         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
32192         (gst_caps_structure_intersect_field), (gst_caps_intersect),
32193         (gst_caps_structure_subtract_field), (gst_caps_subtract),
32194         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
32195         (gst_caps_structure_figure_out_union),
32196         (gst_caps_switch_structures), (gst_caps_do_simplify),
32197         (gst_caps_replace), (gst_caps_from_string),
32198         (gst_caps_copy_conditional):
32199         * gst/gstcaps.h:
32200         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
32201         (_gst_clock_id_free), (gst_clock_id_unref),
32202         (gst_clock_id_compare_func), (gst_clock_id_wait),
32203         (gst_clock_id_wait_async), (gst_clock_class_init),
32204         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
32205         (gst_clock_get_time), (gst_clock_set_time_adjust),
32206         (gst_clock_set_property), (gst_clock_get_property):
32207         * gst/gstclock.h:
32208         * gst/gstcompat.h:
32209         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
32210         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
32211         * gst/gstdata.h:
32212         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
32213         (gst_element_requires_clock), (gst_element_provides_clock),
32214         (gst_element_set_clock), (gst_element_clock_wait),
32215         (gst_element_wait), (gst_element_set_time_delay),
32216         (gst_element_is_indexable), (gst_element_add_pad),
32217         (gst_element_add_ghost_pad), (gst_element_remove_pad),
32218         (pad_compare_name), (gst_element_get_static_pad),
32219         (gst_element_request_pad), (gst_element_get_request_pad),
32220         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
32221         (gst_element_class_get_pad_template_list),
32222         (gst_element_class_get_pad_template), (gst_element_error_func),
32223         (gst_element_get_random_pad), (gst_element_get_event_masks),
32224         (gst_element_send_event), (gst_element_seek),
32225         (gst_element_get_query_types), (gst_element_query),
32226         (gst_element_get_formats), (gst_element_convert),
32227         (gst_element_is_locked_state), (gst_element_set_locked_state),
32228         (gst_element_sync_state_with_parent), (gst_element_change_state),
32229         (gst_element_finalize), (gst_element_yield),
32230         (gst_element_interrupt), (gst_element_set_scheduler),
32231         (gst_element_get_scheduler), (gst_element_set_loop_function):
32232         * gst/gstelement.h:
32233         * gst/gstevent.h:
32234         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
32235         (gst_format_get_by_nick), (gst_format_get_details),
32236         (gst_format_iterate_definitions):
32237         * gst/gstformat.h:
32238         * gst/gstindex.c: (gst_index_gtype_resolver):
32239         * gst/gstinfo.c:
32240         * gst/gstinfo.h:
32241         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
32242         (gst_mem_chunk_free):
32243         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
32244         (gst_object_ref), (gst_object_unref), (gst_object_sink),
32245         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
32246         (gst_object_dispatch_properties_changed),
32247         (gst_object_set_name_default), (gst_object_set_name),
32248         (gst_object_get_name), (gst_object_set_name_prefix),
32249         (gst_object_get_name_prefix), (gst_object_set_parent),
32250         (gst_object_get_parent), (gst_object_unparent),
32251         (gst_object_check_uniqueness), (gst_object_save_thyself),
32252         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
32253         (gst_object_set_property), (gst_object_get_property),
32254         (gst_object_get_path_string):
32255         * gst/gstobject.h:
32256         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
32257         (gst_real_pad_init), (gst_real_pad_get_property),
32258         (gst_pad_custom_new), (gst_pad_get_direction),
32259         (gst_pad_set_active), (gst_pad_is_active),
32260         (gst_pad_set_event_function), (gst_pad_is_linked),
32261         (gst_pad_link_free), (gst_pad_link_intersect),
32262         (gst_pad_link_fixate), (gst_pad_set_caps),
32263         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
32264         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
32265         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
32266         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
32267         (gst_pad_get_caps), (gst_pad_peer_get_caps),
32268         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
32269         (gst_pad_realize), (gst_pad_get_allowed_caps),
32270         (gst_real_pad_dispose), (gst_real_pad_finalize),
32271         (gst_pad_collectv), (gst_pad_collect_valist),
32272         (gst_pad_template_dispose), (gst_pad_template_new),
32273         (gst_pad_get_internal_links):
32274         * gst/gstpad.h:
32275         * gst/gstpipeline.c: (gst_pipeline_dispose),
32276         (gst_pipeline_change_state):
32277         * gst/gstpipeline.h:
32278         * gst/gstplugin.c:
32279         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
32280         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
32281         * gst/gstpluginfeature.h:
32282         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
32283         * gst/gstquery.c: (_gst_query_type_initialize),
32284         (gst_query_type_register), (gst_query_type_get_by_nick),
32285         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
32286         * gst/gstquery.h:
32287         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
32288         * gst/gstscheduler.c: (gst_scheduler_add_element),
32289         (gst_scheduler_factory_create):
32290         * gst/gststructure.c: (gst_structure_set_parent_refcount),
32291         (gst_structure_free), (gst_structure_set_name),
32292         (gst_structure_id_set_value), (gst_structure_set_value),
32293         (gst_structure_set_valist), (gst_structure_remove_field),
32294         (gst_structure_remove_fields),
32295         (gst_structure_remove_fields_valist),
32296         (gst_structure_remove_all_fields), (gst_structure_foreach),
32297         (gst_structure_map_in_place),
32298         (gst_caps_structure_fixate_field_nearest_int),
32299         (gst_caps_structure_fixate_field_nearest_double):
32300         * gst/gststructure.h:
32301         * gst/gstsystemclock.c: (gst_system_clock_class_init),
32302         (gst_system_clock_init), (gst_system_clock_dispose),
32303         (gst_system_clock_async_thread),
32304         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
32305         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
32306         * gst/gstsystemclock.h:
32307         * gst/gsttag.c: (gst_tag_list_add_value_internal),
32308         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
32309         * gst/gsttaginterface.c:
32310         * gst/gstthread.c: (gst_thread_dispose),
32311         (gst_thread_release_children_locks), (gst_thread_change_state),
32312         (gst_thread_main_loop):
32313         * gst/gsttrashstack.h:
32314         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
32315         * gst/gsttypes.h:
32316         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
32317         (gst_element_request_pad), (gst_element_get_pad_from_template),
32318         (gst_element_request_compatible_pad),
32319         (gst_element_get_compatible_pad_filtered),
32320         (gst_element_get_compatible_pad), (gst_element_state_get_name),
32321         (gst_element_link_pads_filtered), (gst_element_link_filtered),
32322         (gst_element_link_many), (gst_element_link),
32323         (gst_element_link_pads), (gst_element_unlink_pads),
32324         (gst_element_unlink_many), (gst_element_unlink),
32325         (gst_pad_can_link_filtered), (gst_pad_can_link),
32326         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
32327         (gst_object_default_error), (gst_bin_add_many),
32328         (gst_bin_remove_many), (gst_element_populate_std_props),
32329         (gst_element_class_install_std_props), (gst_buffer_merge),
32330         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
32331         (link_fold_func), (gst_pad_proxy_setcaps):
32332         * gst/gstutils.h:
32333         * gst/gstvalue.c: (gst_value_deserialize_string):
32334         * gst/parse/grammar.y:
32335         * gst/schedulers/gstbasicscheduler.c:
32336         (gst_basic_scheduler_cothreaded_chain),
32337         (gst_basic_scheduler_chain_recursive_add),
32338         (gst_basic_scheduler_pad_link):
32339         * gst/schedulers/gstoptimalscheduler.c:
32340         (get_group_schedule_function),
32341         (gst_opt_scheduler_state_transition),
32342         (gst_opt_scheduler_add_element), (element_get_reachables_func):
32343         * libs/gst/bytestream/bytestream.c:
32344         * libs/gst/dataprotocol/dataprotocol.c:
32345         (gst_dp_header_from_buffer):
32346         * po/nb.po:
32347         * po/ru.po:
32348         * tests/threadstate/threadstate2.c: (eos):
32349         * tools/gst-compprep.c: (main):
32350         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
32351         (print_pad_info), (print_children_info):
32352         * tools/gst-launch.c: (idle_func), (main):
32353         * tools/gst-md5sum.c: (idle_func), (main):
32354         * tools/gst-xmlinspect.c: (print_element_info):
32355         First THREADED backport attempt, focusing on adding locks and
32356         making sure the API is threadsafe. Needs more work. More docs
32357         follow this week.
32358
32359 2005-02-24  Andy Wingo  <wingo@pobox.com>
32360
32361         * tests/bench-complexity.scm:
32362         * tests/complexity.gnuplot: New files, good for running complexity
32363         benchmarks.
32364
32365         * tests/Makefile.am:
32366         * tests/complexity.c: New test, sets up N elements, at each level
32367         teeing into M streams per element. Eeeenteresting.
32368
32369         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
32370         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
32371         running bench-mass_elements.scm.
32372
32373         * tests/bench-mass_elements.scm: New script, runs mass_elements
32374         for various numbers of identities, outputting the results to a
32375         file. Requires guile 1.6. Just for testing.
32376
32377 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
32378
32379         * gst/schedulers/fairscheduler.c:
32380           compile with debug disabled
32381
32382 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
32383
32384         * configure.ac:
32385           hunting season on 0.9 is now OPEN