tools/gst-launch.1.in: Fix description of how to specify a type in caps. Fixes #553873.
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-12-09  Stefan Kost  <ensonic@users.sf.net>
2
3         * tools/gst-launch.1.in:
4           Fix description of how to specify a type in caps. Fixes #553873.
5           Also ranges and list contain values and not property-assignments.
6
7 2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>
8
9         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
10         Check for changed pads-list before checking the last returned
11         GstFlowReturn because the pad could have been removed and we
12         need to ignore the value in that case.
13
14 2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>
15
16         * libs/gst/base/gstbasetransform.c:
17         (gst_base_transform_prepare_output_buffer),
18         (gst_base_transform_getrange), (gst_base_transform_chain):
19         * libs/gst/base/gstbasetransform.h:
20         Add vmethod that is called before we start the transform and which can
21         be used to configure the transform, such as dynamic properties.
22
23 2008-12-05  David Schleef  <ds@schleef.org>
24
25         * gst/gst.c:
26         Search for plugins on win32 based on the location of the
27         gstreamer DLL.  Fixes #548786
28
29 2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
30
31         * configure.ac:
32         Apparently AC_CONFIG_MACRO_DIR breaks when using more
33         than one macro directory, reverting last change.
34
35 2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
36
37         * configure.ac:
38         Set AC_CONFIG_MACRO_DIR to common/m4 to point autoconf to
39         our M4 macros.
40
41 2008-11-29  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
42
43         Patch by: Cygwin Ports maintainer
44                   <yselkowitz at users dot sourceforge dot net>
45
46         * autogen.sh:
47         * configure.ac:
48         Require gettext 0.17 because older versions don't mix with libtool
49         2.2. At build time an older gettext version will still work.
50         Fixes bug #556091.
51
52 2008-11-27  Wim Taymans  <wim.taymans@collabora.co.uk>
53
54         Patch by: 이문형 <iwings at gmail dot com>
55
56         * gst/gstpoll.c: (gst_poll_fd_ctl_write), (gst_poll_fd_has_error):
57         Adds support for FD_CONNECT event (win32). See #562258.
58
59 2008-11-24  Stefan Kost  <ensonic@users.sf.net>
60
61         * libs/gst/base/gstbasesink.c:
62           Turn comment into gtk-doc comment.
63
64 2008-11-24  Wim Taymans  <wim.taymans@collabora.co.uk>
65
66         * libs/gst/base/gstbasetransform.c:
67         (gst_base_transform_acceptcaps):
68         Revert quick accepcaps attempt, it's not fully equivalent to the old
69         behaviour and thus causes regressions.
70
71 2008-11-24  Edward Hervey  <edward.hervey@collabora.co.uk>
72
73         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
74         Fix memory leak.
75
76 2008-11-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
77
78         Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>
79
80         * gst/gstregistry.c: (gst_registry_scan_path_level):
81         Reduce the number of stat() calls for every file from three times
82         to one time. Fixes bug #560360.
83
84 2008-11-22  Wim Taymans  <wim.taymans@collabora.co.uk>
85
86         * libs/gst/base/gstbasetransform.c:
87         (gst_base_transform_acceptcaps):
88         Rename a variable to make the code clearer.
89
90 2008-11-21  Stefan Kost  <ensonic@users.sf.net>
91
92         * plugins/elements/gstidentity.c:
93         Don't warning on offset==-1. Taken from _check_imperfect_offset().
94
95 2008-11-21  Michael Smith <msmith@songbirdnest.com>
96
97         * plugins/elements/gstfilesrc.c:
98           Check for localhost in URI was backwards, fix it. Fixes unit test.
99
100 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
101
102         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
103         (gst_base_transform_getcaps), (gst_base_transform_find_transform),
104         (gst_base_transform_acceptcaps), (gst_base_transform_getrange):
105         Add beginnings of a more optimized acceptcaps function than the default
106         core one.
107
108 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
109
110         * gst/gstpad.c: (gst_pad_accept_caps):
111         Avoid getting the acceptcaps function too early.
112
113 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
114
115         * tools/gst-launch.c: (event_loop):
116         Make gst-launch handle LATENCY messages and make it recalculate the
117         latency.
118
119 2008-11-20  Michael Smith <msmith@songbirdnest.com>
120
121         * plugins/elements/gstfilesrc.c:
122           Use g_filename_from_uri() for URI parsing in filesrc rather than rolling
123           out own slightly incorrect version. Fixes use of some paths on
124           win32.
125
126 2008-11-20  Michael Smith <msmith@songbirdnest.com>
127
128         * gst/gstregistrybinary.c:
129           In win32 codepath, if we fail to write the registry, create the
130           directory for it and try again, matching the behaviour in non-win32
131           codepaths.
132
133 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
134
135         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay):
136         Changing the render delay changes the latency and so we must post a
137         latency message.
138
139 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
140
141         * gst/gstquery.c:
142         * gst/gstquery.h:
143         Add GstQueryType for custom queries instead of having to use the
144         not-so-very-convenient registration infrastructure to register new
145         types.
146
147 2008-11-19  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
148
149         Patch by: Andrew Feren <acferen at yahoo dot com>
150
151         * gst/gstobject.c: (gst_object_default_deep_notify):
152         Unref the GEnumClass after usage again. Fixes bug #561501.
153
154 2008-11-19  Wim Taymans  <wim.taymans@collabora.co.uk>
155
156         * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
157         (gst_bin_recalculate_latency), (gst_bin_do_latency_func),
158         (gst_bin_change_state_func):
159         * gst/gstbin.h:
160         Add do-latency signal with the old default fallback implementation. This
161         allows for custom latency calculations for when the default is not
162         sufficient.
163         API: GstBin::do-latency signal.
164
165 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
166
167         * win32/common/libgstreamer.def:
168         Add new symbols to .def file.
169
170 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
171
172         * docs/gst/gstreamer-sections.txt:
173         * gst/gstbin.c: (gst_bin_recalculate_latency),
174         (gst_bin_change_state_func):
175         * gst/gstbin.h:
176         Add method to recalculate and redistribute the latency on a bin.
177         API: gst_bin_recalculate_latency().
178
179 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
180
181         * gst/gstbuffer.h:
182         Document the free_func.
183
184 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
185
186         * libs/gst/controller/gstinterpolation.c:
187         * libs/gst/controller/gstlfocontrolsource.c:
188         Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
189         as it is mapped to a cast on non-win32 platforms.
190
191 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
192
193         * libs/gst/controller/gstcontroller.c:
194         * libs/gst/controller/gstcontrollerprivate.h:
195           Keep last-value and only call set_property if value has changed. This
196           supresses all the g_object_notifies we would trigger otherwise. It
197           also allows the user to chage the value while there is no controller
198           change.
199
200 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
201
202         * gst/gstvalue.c:
203           Don't crash if either of the string GValues is empty.
204
205 2008-11-17  Andy Wingo  <wingo@pobox.com>
206
207         * tools/gst-inspect.c (print_all_uri_handlers): New function,
208         prints a summary of what URI schemes are supported by what
209         elements.
210         (main): Plumb in support for --uri-handlers or -u, and fix the
211         argc check for -a and -u.
212
213 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
214
215         * gst/gstutils.h:
216         Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
217         conversion functions.
218
219 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
220
221         * gst/gstbuffer.c: (gst_buffer_finalize):
222         Avoid costly typechecking for trivially correct pointers.
223
224         * gst/gstpoll.c: (gst_poll_wait):
225         Add some G_LIKELY here and there.
226
227         * libs/gst/base/gstadapter.c: (gst_adapter_push):
228         Add some debug info.
229
230 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
231
232         * docs/random/wtay/poll-timeout:
233         Small tweaks.
234
235 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
236
237         * tests/old/testsuite/caps/intersection.c: (main):
238         * tests/old/testsuite/plugin/loading.c: (main):
239         Remove references to deprecated API g_mem_chunk*.
240         Fixes #560442.
241
242 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
243
244         * tools/gst-inspect.c: (main):
245         Add --plugin option. Fixes #560301.
246
247 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
248
249         * docs/random/wtay/poll-timeout:
250         Quick braindump for a possible (not totally verified) atomic case.
251
252 2008-11-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
253
254         * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
255         (gst_registry_binary_initialize_magic),
256         (gst_registry_binary_write_cache),
257         (gst_registry_binary_check_magic):
258         * gst/gstregistrybinary.h:
259         Don't write and check a CRC for the binary registry file. It's
260         guaranteed that the registry is completely written (it's first written
261         to a temporary file and then moved) and if the registry was corrupted
262         by some hardware failure we would have bigger problems.
263
264         Bump binary registry version to 0.10.21.1 for this as it's an
265         incompatible change and to ensure that the registry gets rebuild
266         after the update.
267
268         This saves some milliseconds for reading/writing the registry.
269         Fixes bug #560399.
270
271 2008-11-11  Wim Taymans  <wim.taymans@collabora.co.uk>
272
273         * docs/random/wtay/poll-timeout:
274         Some pseudo code for how we could implement clock timeouts with GstPoll.
275
276 2008-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
277
278         * plugins/elements/gstfilesink.c:
279           Update Author string to match others.
280
281 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
282
283         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
284         Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
285         being fixed and inline the trivial check.
286
287 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
288
289         * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
290         (gst_caps_merge_structure), (gst_caps_get_structure),
291         (gst_caps_copy_nth), (gst_caps_set_simple),
292         (gst_caps_set_simple_valist), (gst_caps_is_fixed),
293         (gst_caps_is_equal_fixed), (gst_caps_intersect),
294         (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
295         (gst_caps_to_string):
296         Callgrind micro optimisations.
297         Avoid array bounds checks and force inline of trivial function.
298
299         * gst/gstobject.c: (gst_object_set_name_default):
300         -1 is equivalent to letting glib to the strlen but then there is more
301         room for optimisations and it's not our fault.
302
303         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
304         no need to clear the array, we're cool.
305
306         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
307         The most common _is_fixed() check is done on fundamental glib base
308         types so we check this first instead of doing a huge amount of
309         useless GST_TYPE_ARRAY calls.
310
311 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
312
313         * gst/gstevent.h:
314         Add a SKIP seek flag for use with advanced trickmodes.
315         API: GstSeekFlags::GST_SEEK_FLAG_SKIP
316
317 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
318
319         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
320         No need to memset, we can clear the value ourselves.
321
322         * gst/gstvalue.c: (gst_type_is_fixed),
323         (gst_value_get_compare_func):
324         Some optimisations from a few callgrind sessions:
325         When checking if a type is fixed, check for trivial fundamental types
326         first before checking types for which we need to get the type followed
327         by the heavy duty type checks, this reduces the amount of
328         g_type_fundamental() calls a lot.
329         When getting the compare function, first check for our registered types.
330         If that fails, do the heavy duty g_type_is_a() checks, reduces the
331         amount of g_type_is_a() considerably.
332
333 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
334
335         * docs/design/part-TODO.txt:
336         Mumble something about removing GstXML.
337
338 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
339
340         * gst/gstbin.c: (gst_bin_handle_message_func):
341         Get the seqnum before we dispose the message.
342
343 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
344
345         * docs/design/part-TODO.txt:
346         Refer to the framestepping document.
347
348 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
349
350         * gst/gstbin.c: (bin_handle_async_start),
351         (gst_bin_handle_message_func), (gst_bin_query):
352         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
353         (gst_base_sink_event), (gst_base_sink_change_state):
354         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
355         (gst_base_src_loop), (gst_base_src_change_state):
356         Copy seqnums from events to messages so that they can all be related
357         back to eachother.
358
359 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
360
361         * tools/gst-launch.c: (event_loop):
362         Print the message seqnums.
363
364 2008-11-04  Andy Wingo  <wingo@pobox.com>
365
366         * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
367
368 2008-11-04  Andy Wingo  <wingo@pobox.com>
369
370         Add sequence numbers to events and messages. See #559250.
371
372         * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
373         API: New functions.
374
375         * gst/gstevent.h:
376         * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
377         events with a new sequence number, and copy it when copying.
378         (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
379         an event's sequence number.
380
381         * gst/gstmessage.h:
382         * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
383         (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
384         so with messages.
385
386         * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
387
388 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
389
390         * docs/manual/advanced-position.xml:
391         * docs/manual/basics-bins.xml:
392         * docs/manual/basics-bus.xml:
393         * docs/manual/basics-pads.xml:
394         * docs/manual/intro-gstreamer.xml:
395         * docs/manual/intro-preface.xml:
396         Some Application Development Manual fixes thanks to
397         Andrew Feren. Fixes #558459.
398
399 2008-11-03  Stefan Kost  <ensonic@users.sf.net>
400
401         * gst/gstregistrybinary.c:
402           Don't bother with the GTimer if we don't output the results.
403
404 2008-11-03  Wim Taymans  <wim.taymans@collabora.co.uk>
405
406         Patch by: David Schleef  <ds@schleef.org>
407
408         * libs/gst/net/Makefile.am:
409         Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
410
411 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
412
413         * gst/gstregistrybinary.c:
414           Oh my, studip, stupid me. Remove double stat() call.
415
416 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
417
418         * gst/gstpreset.c:
419           Use g_unlink instead of unlink.
420
421         * gst/gststructure.c:
422           Use glib type.
423
424         * gst/gstutils.c:
425           Add a FIXME:.
426
427         * gst/gsttaglist.c:
428         * gst/gsttypefind.c:
429         * gst/gstvalue.c:
430           Formatting & whitespaces.
431
432 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
433
434         * plugins/elements/gstidentity.c:
435           Doc typo. Use return value of parent_class->event.
436   
437         * plugins/elements/gsttypefindelement.c:
438           Chain up at the end for consistency.
439   
440 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
441
442         * docs/Makefile.am:
443         * docs/gst/gstreamer-docs.sgml:
444         * docs/gst/gstreamer-sections.txt:
445         * docs/gst/running.xml:
446         * docs/libs/gstreamer-libs-docs.sgml:
447           Change to xinclude based build - its faster and easier to maintain.
448
449 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
450
451         * gst/gstregistrybinary.c:
452         * gst/gstregistryxml.c:
453           Use g_unlink() as none of these are directories.
454
455 2008-10-29  Wim Taymans  <wim.taymans@collabora.co.uk>
456
457         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
458         Some more comments.
459
460 2008-10-27  Wim Taymans  <wim.taymans@collabora.co.uk>
461
462         * libs/gst/base/gstbasetransform.c:
463         (gst_base_transform_find_transform), (gst_base_transform_getrange):
464         If we have a fixate function, call it even if we already have fixed caps
465         because the subclass might add some caps. Makes audioconvert add a
466         default channel layout.
467
468 2008-10-24  Wim Taymans  <wim.taymans@collabora.co.uk>
469
470         * libs/gst/base/gstbasetransform.c:
471         (gst_base_transform_prepare_output_buffer),
472         (gst_base_transform_getrange):
473         Clear the output buffer variable.
474         Cleanups to the error path in the getrange function.
475         Fixes #557649.
476
477 2008-10-23  Sebastian Dröge  <slomo@circular-chaos.org>
478
479         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
480         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
481         Use gst_buffer_try_new_and_alloc() and handle errors instead of
482         using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
483         be allocated.
484
485 2008-10-23  Wim Taymans  <wim.taymans@collabora.co.uk>
486
487         * gst/gstsegment.c: (gst_segment_set_newsegment_full):
488         Set the last_stop to a more meaningful position when configuring the
489         segment. ie. the start/stop of the segment or clipped against the
490         updated segment boundaries.
491
492         * tests/check/gst/gstsegment.c: (GST_START_TEST):
493         Add some unit tests for the last_stop.
494
495 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
496
497         * libs/gst/base/gstbytereader.c:
498         Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
499         copies of them.
500
501 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
502
503         * docs/gst/gstreamer-sections.txt:
504         * gst/gstutils.h:
505         API: Move float endianness conversion macros from libgstfloatcast
506         to core as it's useful in general, even in core. Fixes bug #555196.
507         This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
508         GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
509         GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
510
511         Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
512         GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
513         GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
514         GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
515
516 2008-10-22  Sebastian Dröge  <slomo@circular-chaos.org>
517
518         * docs/libs/gstreamer-libs-sections.txt:
519         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
520         (gst_byte_reader_peek_data):
521         * libs/gst/base/gstbytereader.h:
522         * win32/common/libgstbase.def:
523         API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
524         to get a pointer to the data at the current position and have
525         a guaranteed size.
526
527 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
528
529         * configure.ac:
530         Fix a bug in the output of the configure script summary
531         when --gst-disable-registry is supplied
532
533 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
534
535         * libs/gst/base/gstbitreader.c:
536         * libs/gst/base/gstbytereader.c:
537         Fix the names of 2 functions in the docs strings.
538
539 2008-10-21  Wim Taymans  <wim.taymans@collabora.co.uk>
540
541         * libs/gst/base/gstbasetransform.c:
542         (gst_base_transform_prepare_output_buffer),
543         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
544         Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
545         refcount problems as seen in banshee and maybe also in farsight2.
546         Remove atomic int now that we need to take the lock anyways.
547
548 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
549
550         * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
551         (gst_base_sink_default_prepare_seek_segment),
552         (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
553         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
554         (gst_base_sink_query):
555         Implement more seeking in pull mode.
556         Use pad convert functions to convert position to the requested format.
557         Fix position/duration reporting in pull mode.
558         Implement position and duration reporting in other formats than time.
559
560         * libs/gst/base/gstbasesink.h:
561         Add member to keep track of when the segment is playing.
562
563 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
564
565         * gst/gstpad.c: (gst_pad_configure_src):
566         When we use gst_pad_alloc_buffer() without wanting to set the caps we
567         also don't need to check if the caps are compatible because the caller
568         presumably is going to perform its own custom checks. Fixes some cases
569         where basetransform elements would error out when it was not needed.
570
571 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
572
573         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
574         Update comment.
575
576         * libs/gst/base/gstbasetransform.c:
577         (gst_base_transform_handle_buffer),
578         (gst_base_transform_reconfigure):
579         Add some debug info.
580
581         * win32/common/libgstbase.def:
582         Add new method.
583
584 2008-10-19  Stefan Kost  <ensonic@users.sf.net>
585
586         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
587           Remove duplicated assignment and log a message in failure case.
588
589 2008-10-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
590
591         Patch by: Dig Ge <dig.ge.cn at gmail com>
592
593         * tests/examples/helloworld/helloworld.c: (main):
594           Fix copy'n'paste bug in hello world example (#556900).
595
596 2008-10-17  Wim Taymans  <wim.taymans@collabora.co.uk>
597
598         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
599         (gst_base_sink_query):
600         Query the total number of bytes when activating the pad in pull mode.
601         Implement duration query in pull mode by using the installed pad convert
602         function to convert from bytes to the requested format.
603
604 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
605
606         * docs/libs/gstreamer-libs-sections.txt:
607         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
608         (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
609         (gst_base_sink_event), (gst_base_sink_perform_seek),
610         (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
611         (gst_base_sink_send_event), (gst_base_sink_change_state):
612         * libs/gst/base/gstbasesink.h:
613         Add method to commit the state in subclasses.
614         Refactor the flush_start and flush_stop code because we need it for
615         flushing while seeking too.
616         Implement the beginnings of seeking in pull mode.
617         Use the segment last_stop field for the pulling offset.
618         Fix the pause method in pull mode.
619         Configure the segment to BYTES for pull mode.
620         API: GstBaseSink::gst_base_sink_do_preroll()
621
622 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
623
624         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
625         Update some docs.
626
627 2008-10-14  Tim-Philipp Müller  <tim.muller at collabora co uk>
628
629         * gst/gstquark.c: (_priv_gst_quarks_initialize):
630           Fix printf format warning.
631
632 2008-10-14  Sebastian Dröge  <slomo@circular-chaos.org>
633
634         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
635         Fix flow aggregation of tee. Error out immediately for all flow returns
636         except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
637         and return OK if at least one pad is linked.
638
639         Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
640         and otherwise returned the flow return of the last pad, which is wrong.
641         
642         * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
643         (GST_START_TEST), (tee_suite):
644         Add unit tests for the flow aggregation.
645
646 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
647
648         * docs/design/part-TODO.txt:
649         Remove item from the todo list because it was fixed with the latency
650         state change rewrites.
651
652         * docs/design/part-seeking.txt:
653         * docs/design/part-segments.txt:
654         Update some docs.
655
656         * gst/gstevent.c: (gst_event_new_new_segment_full),
657         (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
658         (gst_event_parse_buffer_size), (gst_event_new_qos),
659         (gst_event_parse_qos), (gst_event_new_seek),
660         (gst_event_parse_seek), (gst_event_new_latency),
661         (gst_event_parse_latency):
662         Use quarks to construct and parse events.
663
664         * gst/gstquark.c: (_priv_gst_quarks_initialize):
665         * gst/gstquark.h:
666         Add some more quarks to the table.
667         Emit a warning when the quark tables are not in sync.
668
669         * tests/check/gst/gstbus.c: (GST_START_TEST):
670         Add an assert.
671
672 2008-10-13  Stefan Kost  <ensonic@users.sf.net>
673
674         * plugins/elements/Makefile.am:
675         * plugins/indexers/Makefile.am:
676           Don't install static libs for plugins. Fixes #550851 for core.
677
678 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
679
680         * gst/gstbus.c: (gst_bus_source_finalize),
681         (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
682         (gst_bus_enable_sync_message_emission),
683         (gst_bus_disable_sync_message_emission),
684         (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
685         Fix deadlock, g_source_get_id() cannot be called in finalize.
686         Keep track of the watch source by keeping a pointer to the source object
687         instead.
688         Use the bus lock to protect access to the pointer to the current
689         watch source.
690
691 2008-10-13  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
692
693         Base on Patch by: Olivier Crete <tester at tester dot ca>
694
695         * gst/gstbus.c: (gst_bus_source_finalize),
696         (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
697         Only allow one bus watch to be set at a time. This is necessary
698         because the dispatcher pops the message from the bus and the second
699         watcher will then get NULL or the next message (and the first won't
700         get this next message then, etc). If more than one "watcher" is
701         required signal watches should be used. Fixes bug #526044.
702
703 2008-10-12  Jan Schmidt  <jan.schmidt@sun.com>
704
705         * tools/gst-launch.c:
706         Change the printing of the 'buffering...' output to avoid putting
707         a \r in a translateable string (flagged by the TP).
708
709 2008-10-10  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
710
711         * gst/gstxml.c:
712         Clarify that the save_thyself() and restore_thyself() virtual
713         functions of GstObject need to be overriden, not
714         gst_object_(save|restore)_thyself() which is impossible.
715         Fixes bug #555700.
716
717 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
718
719         * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
720         Revert a patch from 21 months ago that broke caps negotiation in pull
721         mode. Basically, having a buffer pass over a pad will trigger the
722         setcaps function when caps change, just like in push mode.
723
724 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
725
726         * docs/design/part-negotiation.txt:
727         Update the docs some more.
728
729         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
730         If we pull a buffer with non-trivial caps, suggest those caps with the
731         max probability.
732
733 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
734
735         * docs/design/part-TODO.txt:
736         Add another limitation of pad-blocking with segment seeks not pushing
737         EOS events.
738
739 2008-10-10  Jan Schmidt  <jan.schmidt@sun.com>
740
741         * win32/common/libgstbase.def:
742         * win32/common/libgstreamer.def:
743         Add new symbols to the win32 defs files
744
745 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
746
747         * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
748         (gst_bin_handle_message_func):
749         The message src can be NULL, don't try to print the object names in that
750         case.
751
752         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
753         Add some more debug info.
754
755         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
756         (GST_START_TEST):
757         Add some debug.
758         Fix the test, pull based sinks go ASYNC to PAUSED, just like other
759         scheduling modes.
760
761 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
762
763         * docs/design/part-negotiation.txt:
764         Small doc update.
765
766         * docs/libs/gstreamer-libs-sections.txt:
767         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
768         (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
769         (gst_base_sink_init), (gst_base_sink_set_blocksize),
770         (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
771         (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
772         (gst_base_sink_loop), (gst_base_sink_pad_activate),
773         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
774         (gst_base_sink_change_state):
775         * libs/gst/base/gstbasesink.h:
776         Add blocksize property and methods to control the amount of data
777         to pull.
778         Negotiate first before activating upstream in pull mode so that they can
779         negotiate themselves.
780         When we operate in pull mode, we only accept the caps that we
781         negotiated.
782         Make the sink go ASYNC to PAUSED, like all other sinks.
783         API: GstBaseSink::gst_base_sink_set_blocksize()
784         API: GstBaseSink::gst_base_sink_get_blocksize()
785         API: GstBaseSink::blocksize
786
787         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
788         (gst_base_src_set_live), (gst_base_src_is_live),
789         (gst_base_src_set_format), (gst_base_src_query_latency),
790         (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
791         (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
792         (gst_base_src_set_property), (gst_base_src_get_property):
793         * libs/gst/base/gstbasesrc.h:
794         Add typechecking in public API functions.
795         Add methods to control the blocksize in subclasses.
796         API: GstBaseSrc::gst_base_src_set_blocksize()
797         API: GstBaseSrc::gst_base_src_get_blocksize()
798
799 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
800
801         * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
802         (buffer_probe), (event_probe), (GST_START_TEST):
803         We now see 3 events go through our pad, since basesink now sends
804         upstream latency events.
805
806 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
807
808         * gst/gstpipeline.c: (gst_pipeline_change_state):
809         Release the object lock before trying to flush the bus.
810
811 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
812
813         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
814         Forward LATENCY events upstreams so that elements know about the total
815         pipeline latency. Fixes #555307.
816
817 2008-10-08  Jan Schmidt  <jan.schmidt@sun.com>
818
819         * plugins/elements/gstqueue.c:
820         Allow through queries when we don't know how
821         to adjust them (not TIME or BYTES), as otherwise it's
822         not possible to query the current position in order
823         to seek in other formats at all.
824
825 2008-10-08  Andy Wingo  <wingo@pobox.com>
826
827         * docs/gst/gstreamer-sections.txt: Placate doc pendants.
828
829 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
830
831         * gst/gstghostpad.c:
832         * gst/gstghostpad.h:
833         Unbreak -good build, private is a reserved c++ keyword.
834
835 2008-10-08  Andy Wingo  <wingo@pobox.com>
836
837         * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
838         * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
839         removal: re-add GST_GHOST_PAD_CAST to the header.
840
841         * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
842         (GstGhostPadClass): Publically expose these structures so as to
843         allow easy subclassing from C. Hide the member data behind a
844         private opaque data pointer.
845
846         * gst/gstghostpad.c: Adapt to store instance data in the type
847         instance's private data region, not in the public struct.
848
849 2008-10-08  Andy Wingo  <wingo@pobox.com>
850
851         * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
852         template via g_object_get(), be sure to unref it.
853
854         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
855
856 2008-10-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
857
858         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
859         If we can't get a cache file don't try to save something to it.
860         Dereferencing NULL pointers usually isn't a good idea.
861
862 2008-10-07  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
863
864         * tests/check/Makefile.am:
865         * tests/check/gst/gstabi.c:
866         * tests/check/gst/struct_sparc.h:
867         * tests/check/libs/libsabi.c:
868         * tests/check/libs/struct_sparc.h:
869         Add Sparc ABI checks
870
871         * tests/check/gst/gstvalue.c: (GST_START_TEST):
872         Cast signed integer to unsigned to avoid a compiler warning.
873
874 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
875
876         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
877         (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
878         (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
879         (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
880         (gst_byte_reader_peek_int24_be):
881         Use new GST_READ_UINT24_(LE|BE) macros.
882
883 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
884
885         * docs/gst/gstreamer-sections.txt:
886         * gst/gstutils.h:
887         Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
888         as it's too easy to break the ISO C strict aliasing rules with simple
889         casts to the corresponding type and this would introduce hard to debug
890         bugs. Fixes bug #545714.
891
892         API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
893
894 2008-10-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
895
896         * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
897         * gst/gstghostpad.c: (gst_ghost_pad_construct):
898           Add 'Since' bits to gtk-doc chunks for new API.
899
900 2008-10-06  Thijs Vermeir  <thijsvermeir@gmail.com>
901
902         * docs/gst/gstreamer-sections.txt:
903         Fix documentation
904
905 2008-10-06  Andy Wingo  <wingo@pobox.com>
906
907         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
908         that will be called on the malloc_data to free it. Basically a way
909         to avoid subclassing when all you need is a different free
910         function, i.e. free() instead of g_free().
911
912         * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
913         calling the free function.
914         (gst_buffer_init): Initialize the free function to g_free.
915
916 2008-10-06  Andy Wingo  <wingo@pobox.com>
917
918         * gst/gstghostpad.h:
919         * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
920         finishes the initialization of ghost pad. Useful for language
921         bindings and subclassers of GstGhostPad. Fixes #539108.
922         (gst_ghost_pad_new_full): Use the new constructor.
923
924 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
925
926         Base on Patch by: Olivier Crete <tester at tester dot ca>
927
928         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
929         (gst_bin_remove_func), (update_degree),
930         (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
931         Keep track of pads that are being linked/unlinked and resync the state
932         changes.
933
934         * gst/gstpad.c: (gst_pad_get_direction),
935         (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
936         (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
937         (gst_pad_link_prepare), (gst_pad_link),
938         (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
939         (gst_pad_check_pull_range), (gst_pad_get_range),
940         (gst_pad_pull_range):
941         Some code cleanups, use macros to check pad direction.
942         Don't need to take the lock on the pad direction.
943         Post structure change when pads are linked/unlinked.
944         Change some checks into _return_if_fail().
945
946         * tests/check/gst/gstbin.c:
947         (test_link_structure_change_state_changed_sync_cb),
948         (GST_START_TEST), (gst_bin_suite):
949         Add testcase for pad link/unlinke resync during a state change.
950         Fixes #510354.
951
952 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
953
954         * docs/gst/gstreamer-sections.txt:
955         * gst/gstmessage.c: (gst_message_new_structure_change),
956         (gst_message_parse_structure_change):
957         * gst/gstmessage.h:
958         Implement STRUCTURE_CHANGED messages. These messages will be used to
959         signal the parent bin of link/unlink operations that could require a
960         resync when doing a state change. See ##510354.
961         API: gst_message_new_structure_change()
962         API: gst_message_parse_structure_change()
963
964 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
965
966         * gst/gstquark.c:
967         * gst/gstquark.h:
968         Add some more quarks for new message. See #510354.
969
970 2008-10-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
971
972         * docs/libs/gstreamer-libs-docs.sgml:
973         * docs/libs/gstreamer-libs-sections.txt:
974         * libs/gst/base/Makefile.am:
975         * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
976         (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
977         (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
978         (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
979         (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
980         (gst_bit_reader_skip_to_byte):
981         * libs/gst/base/gstbitreader.h:
982         * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
983         (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
984         (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
985         (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
986         (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
987         (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
988         (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
989         (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
990         (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
991         (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
992         (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
993         (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
994         * libs/gst/base/gstbytereader.h:
995         * tests/check/Makefile.am:
996         * tests/check/libs/bitreader.c: (GST_START_TEST),
997         (gst_bit_reader_suite):
998         * tests/check/libs/bytereader.c: (GST_START_TEST),
999         (gst_byte_reader_suite):
1000         API: Add bit reader and byte reader classes, including documentation
1001         and an extensive unit test suite. Fixes bug #553554.
1002
1003 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1004
1005         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
1006         (gst_base_sink_query):
1007         Improve position reporting while flushing and other intermediate state
1008         changes. Fixes #553874.
1009
1010 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1011
1012         Patch by: Antoine Tremblay <hexa00 at gmail dot com>
1013
1014         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1015         Original patch by : Simon Descaries
1016         Fix small refount leak in caps compatibility check.
1017         Fixes #551676.
1018
1019 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
1020
1021         * docs/pwg/advanced-request.xml:
1022           Fix 0.8 api usage in example. Fixes #554561
1023
1024         * docs/pwg/appendix-porting.xml:
1025           Change 0.9 to 0.10 here.
1026
1027 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
1028
1029         * docs/manual/basics-data.xml:
1030           Change "event-event interaction" to "element-element interaction".
1031           Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
1032           updates.
1033
1034 2008-10-05  Jan Schmidt  <jan.schmidt@sun.com>
1035
1036         * configure.ac:
1037         Back to development -> 0.10.21.1
1038
1039 === release 0.10.21 ===
1040
1041 2008-10-02  Jan Schmidt <jan.schmidt@sun.com>
1042
1043         * configure.ac:
1044           releasing 0.10.21, "Take These Things From Me"
1045
1046 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
1047
1048         * configure.ac:
1049         0.10.20.4 pre-release
1050
1051 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
1052
1053         * libs/gst/base/gstbasetransform.c:
1054         * plugins/elements/gstcapsfilter.c:
1055         * tests/check/Makefile.am:
1056         * tests/check/elements/.cvsignore:
1057         * tests/check/elements/capsfilter.c:
1058         Fix assertion in basetransform when the subclass chooses not to
1059         allocate a buffer in prepare_buffer(), and make capsfilter error out
1060         cleanly if requested to apply caps that don't completely specify the
1061         buffer. Fixes #551509
1062
1063 2008-09-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1064
1065         * libs/gst/base/gstbasetransform.c:
1066         (gst_base_transform_prepare_output_buffer):
1067         Take new caps ref because our old one might have been gone when the
1068         subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
1069
1070 2008-09-15  Stefan Kost  <ensonic@users.sf.net>
1071
1072         * configure.ac:
1073           Do not probe availability of check unit test library when cross
1074           compiling, as test would not work anyway. Also cleanup verbose output
1075           of the check test. Fixes #551952.
1076
1077 2008-09-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1078
1079         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
1080
1081         * gst/gstelement.c: (gst_element_sync_state_with_parent):
1082         Avoid leaking the parent ref when we fail changing the state of the
1083         element using gst_element_sync_state_with_parent(). Fixes #551978.
1084
1085 2008-09-11  Tim-Philipp Müller  <tim.muller at collabora co uk>
1086
1087         * docs/manual/intro-motivation.xml::
1088           Remove some bits that no longer apply, update others (#551642).
1089
1090 2008-09-10  Jan Schmidt  <jan.schmidt@sun.com>
1091
1092         * configure.ac:
1093         0.10.20.2 pre-release
1094
1095         * po/LINGUAS:
1096         * po/id.po:
1097         * po/pt_BR.po:
1098
1099         New translations.
1100
1101 2008-09-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
1102
1103         * win32/common/config.h.in:
1104           Add GST_DATADIR, hard-code cpu to x86.
1105
1106         * win32/common/libgstreamer.def:
1107           Spaces to tabs.
1108
1109 2008-09-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1110
1111         * gst/gsttaglist.h:
1112           Fix Since: markers for new geo tags.
1113
1114 2008-09-02  Stefan Kost  <ensonic@users.sf.net>
1115
1116         * gst/gsttaglist.h:
1117           Fix actual tag name define after renaming from altitude to elevation.
1118
1119 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1120
1121         * gst/gstpad.c: (add_unref_pad_to_list),
1122         (gst_pad_get_internal_links_default):
1123         Add fallback when calling the deprecated function on an element that
1124         implements the new internal_link handler.
1125
1126 2008-09-01  Stefan Kost  <ensonic@users.sf.net>
1127
1128         * docs/gst/gstreamer-sections.txt:
1129         * gst/gsttaglist.c:
1130         * gst/gsttaglist.h:
1131           Add new tags for geo location and clarify purpose of existing location
1132           tag. Fixes #481169
1133
1134 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1135
1136         Patch by: Olivier Crete <tester at tester dot ca>
1137
1138         * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
1139         (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
1140         Use thread-safe internal links iterator. Fixes #549504.
1141
1142 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1143
1144         Based on patch by: Olivier Crete <tester at tester dot ca>
1145
1146         * docs/gst/gstreamer-sections.txt:
1147         * win32/common/libgstreamer.def:
1148         * gst/gstpad.c: (gst_pad_init),
1149         (gst_pad_set_iterate_internal_links_function),
1150         (int_link_iter_data_free), (iterate_pad),
1151         (gst_pad_iterate_internal_links_default),
1152         (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
1153         * gst/gstpad.h:
1154         Add threadsafe replacement functions for getting internal links of an
1155         element. Deprecate the old internal links functions.
1156         API:GstPad::gst_pad_set_iterate_internal_links_function()
1157         API:GstPad::GstPadIterIntLinkFunction
1158         API:GstPad::gst_pad_iterate_internal_links()
1159         API:GstPad::gst_pad_iterate_internal_links_default()
1160
1161         * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
1162         (gst_proxy_pad_init):
1163         Implement threadsafe internal links.
1164
1165         * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
1166         Unit test for internal links on tee. See #549504.
1167
1168 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1169
1170         * tests/check/Makefile.am:
1171         libs/transform1 test requires libs/test_transform.c
1172
1173 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1174
1175         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1176         Die evil deadlock, die !
1177
1178 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1179
1180         * gst/gstutils.c: (gst_element_get_compatible_pad):
1181         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1182         * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
1183         Fix all leaks due to the bug in gst_pad_template_new() by which it does
1184         not steal the refcount of the given caps as stated.
1185
1186         REVERT THIS COMMIT ONCE FIXED !
1187         REVERT THIS COMMIT ONCE FIXED !
1188         REVERT THIS COMMIT ONCE FIXED !
1189         REVERT THIS COMMIT ONCE FIXED !
1190         REVERT THIS COMMIT ONCE FIXED !
1191         REVERT THIS COMMIT ONCE FIXED !
1192
1193 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1194
1195         * gst/gstiterator.c:
1196         * gst/gstiterator.h:
1197         After 3 years it's about time to revise the documentation of the
1198         iterator objects.
1199
1200 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1201
1202         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1203         Make the internal links function less thread-unsafe and add some
1204         comments, dunno why.
1205
1206 2008-08-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1207
1208         * gst/gst_private.h:
1209           Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
1210           build with --disable-gst-debug.
1211
1212 2008-08-28  David Schleef  <ds@schleef.org>
1213
1214         * gst/gstpadtemplate.c: Revert last change, since it breaks
1215           a few plugins, ffmpeg, alaw, and mulaw.  Code is correct,
1216           but shouldn't be enabled until we've released fixed versions
1217           of -good and -ffmpeg.
1218
1219 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1220
1221         * gst/gstobject.c:
1222           Put the gst_object_get_name() back in.
1223
1224 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1225
1226         * gst/gstpadtemplate.c:
1227           The old behaviour was that gst_pad_template_new() takes ownership of
1228           the caps. As we now call g_object_new() which calls g_object_set() and
1229           which copies the caps, we have to unref them to not leak them. Fixes
1230           make valgrid for me.
1231
1232 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1233
1234         * gst/gsturi.c:
1235           Don't segfault on input like "tel:+1-123-555-1234".
1236
1237 2008-08-27  Stefan Kost  <ensonic@users.sf.net>
1238
1239         * gst/gstobject.c:
1240           Due to popular request also include ObjectType in
1241           gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1242
1243 2008-08-26  David Schleef  <ds@schleef.org>
1244
1245         * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1246           src_val must be positive, because that's not a requirement.
1247           This causes problems with converting negative granulepos
1248           values for Dirac.
1249         * gst/gstquery.c: Same, gst_query_new_convert().
1250
1251 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1252
1253         * gst/gstclock.c: (gst_clock_add_observation):
1254         Add some more debugging to the clock slaving code.
1255
1256         * win32/common/libgstbase.def:
1257         Add new basetransform method.
1258
1259 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1260
1261         * gst/gstbin.c: (gst_bin_element_set_state):
1262         Take the (recursive) state lock between getting the locked state of an
1263         element and changing the element state. This allows the application to
1264         lock an element's state and then change its state without races.
1265
1266 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1267
1268         * gst/gstbin.c: (gst_bin_element_set_state):
1269         When an element is in the locked state we still want to update the
1270         base_time of the element.
1271
1272 2008-08-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1273
1274         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1275         Use the result from gst_pad_set_caps() instead of assuming the element
1276         always accepted the caps computed by the default negotiate function.
1277
1278 2008-08-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1279
1280         * docs/libs/gstreamer-libs-sections.txt:
1281         * libs/gst/base/gstbasetransform.c:
1282         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1283         (gst_base_transform_chain), (gst_base_transform_suggest),
1284         (gst_base_transform_reconfigure):
1285         * libs/gst/base/gstbasetransform.h:
1286         Implement method for reconfiguring basetransform.
1287         API: GstBaseTransform::gst_base_transform_reconfigure()
1288
1289 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1290
1291         patch by: Murray Cumming <murrayc@murrayc.com>
1292
1293         * gst/gstutils.c:
1294           Mention that this is just like gst_buffer_merge() but with extra
1295           unreffing for C coders. Advise language bindings not to wrap it.
1296           Fixes Bug #533856.
1297           
1298           Also fix file comment.
1299
1300 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1301
1302         reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1303
1304         * plugins/elements/gstfakesink.c:
1305         * plugins/elements/gstfakesrc.c:
1306           Call super::event() when not handling it. Fixes #544855.
1307
1308 2008-08-19  Michael Smith <msmith@songbirdnest.com>
1309
1310         Patch by: Alessandro Decina <alessandro@nnva.org>
1311         * plugins/elements/gstfilesrc.c:
1312           Use 64 bit variants of stat functions on win32, to enable support
1313           of large files there.
1314           Fixes #547277.
1315
1316 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1317
1318         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1319         (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1320         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1321         (gst_base_sink_get_position), (gst_base_sink_change_state):
1322         Improve position reporting in the flushing state.
1323         Also report the position when we are not yet prerolled but we
1324         have a newsegment event. Fixes #543444.
1325         Improve the pull-based negotiation code.
1326
1327         * tests/check/elements/fakesink.c: (GST_START_TEST),
1328         (fakesink_suite):
1329         Add testcase for position reporting while flushing in PAUSED and
1330         PLAYING.
1331
1332         * tests/check/generic/sinks.c: (GST_START_TEST):
1333         Update unit-test, we can now query the position as soon as we receive a
1334         NEWSEGMENT event.
1335
1336 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1337
1338         Based on patch by: Jason Zhao <e3423c at motorola dot com>
1339
1340         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1341         When the subclass event handler releases the PREROLL_LOCK, we could be
1342         in the flushing state and we have to ignore the event. Fixes #548394.
1343
1344 2008-08-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1345
1346         * tools/gst-launch.1.in:
1347           Document GST_REGISTRY_UPDATE environment variable.
1348
1349 2008-08-18  Wim Taymans  <wim.taymans@collabora.co.uk>
1350
1351         * libs/gst/base/gstbasetransform.c:
1352         (gst_base_transform_prepare_output_buffer):
1353         If the element is configured in passthrough mode but the
1354         prepare_output_buffer gave us a new output buffer, discard that buffer
1355         and reuse the input buffer.
1356
1357 2008-08-15  Wim Taymans  <wim.taymans@collabora.co.uk>
1358
1359         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1360
1361         * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1362         (gst_tee_request_new_pad), (gst_tee_release_pad),
1363         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1364         * plugins/elements/gsttee.h:
1365         Protect pad_alloc with a new lock so that we can be sure that nothing is
1366         performing a pad_alloc when removing the pad. Fixes #547835.
1367
1368         * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1369         (buffer_alloc_harness_teardown), (app_thread_func),
1370         (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1371         Added testcase for shutdown race.
1372
1373 2008-08-14  Thijs Vermeir  <thijsvermeir@gmail.com>
1374
1375         * gst/gstpad.h:
1376         Add doc
1377
1378 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1379
1380         * libs/gst/base/gstbasetransform.c:
1381         (gst_base_transform_prepare_output_buffer),
1382         (gst_base_transform_buffer_alloc):
1383         Go over the buffer_alloc function again and make sure we always end up
1384         allocating a buffer.
1385         Add some more docs.
1386         Avoid doing pad alloc when we have a pending suggestion because we
1387         cannot yet deal with changing caps in that case. Fixes #547728
1388
1389 2008-08-14  Stefan Kost  <ensonic@users.sf.net>
1390
1391         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1392
1393         * docs/manual/advanced-clocks.xml:
1394         * docs/manual/clocks.png:
1395         * docs/manual/diagrams-clocks.svg:
1396           Add one more image showing different times together with a describing
1397           paragraph. Fixes #547729.
1398
1399 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1400
1401         * win32/common/libgstbase.def:
1402         Add new method.
1403
1404 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1405
1406         * libs/gst/base/gstbasetransform.c:
1407         (gst_base_transform_transform_caps),
1408         (gst_base_transform_prepare_output_buffer),
1409         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1410         Don't overwrite the outsize when calculating the expected size of a new
1411         buffer because we still need it in case we cannot process the new
1412         buffer.
1413         When converting the size of the new buffer to an upstream size, actually
1414         use the expected size of the buffer, not some other random value.
1415         Use an atomic int to signal that a new upstream caps suggestion is
1416         available.
1417         When we can convert the current buffer to a new format, check if the
1418         buffer size is of the expected size and allocate a new buffer of the
1419         expected size when this is not the case. Fixes #546883.
1420
1421         * tests/check/libs/transform1.c: (GST_START_TEST):
1422         remove ifdeffed code from the unit test.
1423
1424 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1425
1426         * pkgconfig/gstreamer-uninstalled.pc.in:
1427         * pkgconfig/gstreamer.pc.in:
1428           Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1429           called gstcontroller-0.10.
1430
1431 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1432
1433         * gst/gstchildproxy.h:
1434         * gst/gstpreset.h:
1435           Remove double interface from doc-string.        
1436
1437 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1438
1439         * libs/gst/base/gstbasesrc.c:
1440         * libs/gst/base/gstbasetransform.c:
1441           Fix headings in docs and gtk-doc warnings.
1442
1443 2008-08-11  Michael Smith <msmith@songbirdnest.com>
1444
1445         * gst/gstregistrybinary.c:
1446           Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1447           libc.
1448           Fixes #544776.
1449
1450 2008-08-11  Edward Hervey  <edward.hervey@collabora.co.uk>
1451
1452         * libs/gst/base/gstbasetransform.c:
1453         (gst_base_transform_buffer_alloc):
1454         Fix a "may be used unitialized" warning.
1455
1456 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1457
1458         * docs/gst/gstreamer-sections.txt:
1459         * gst/gstpreset.h:
1460           Document preset-iface vmethods.
1461
1462 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1463
1464         * docs/manual/advanced-interfaces.xml:
1465           Turn thoughts about HAL into a note-tag. Remove mentioning that is
1466           only used to discover devices.
1467
1468 2008-08-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
1469
1470         Patch by: Frederic Crozat <fcrozat@mandriva.org>
1471
1472         * gst/gst.c: (init_pre):
1473         Make sure gettext returns translations in UTF-8 encoding rather
1474         than in the current locale encoding (#546822).
1475
1476 2008-08-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1477
1478         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1479         Fix subset test.
1480
1481         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1482         Improve unit test subset tests and add a testcase for the subset failure
1483         cases.
1484
1485         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1486         Improve subtraction unit test.
1487
1488 2008-08-07  Stefan Kost  <ensonic@users.sf.net>
1489
1490         * plugins/elements/gsttee.c:
1491           Unlock, instead of locking again.
1492
1493 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1494
1495         * gst/gstpad.h:
1496         Clarify the docs a bit more.
1497
1498 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1499
1500         * tests/examples/metadata/read-metadata.c:
1501           Don't leak old taglist.
1502
1503 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1504
1505         Patch by: Olivier Crete <tester at tester dot ca>
1506
1507         * gst/gststructure.c:
1508         (gst_structure_fixate_field_nearest_fraction):
1509         Avoid overflows in fixation code when dealing with MAXINT values, which
1510         v4l2src seems to do.
1511         Fixes #546328.
1512
1513         * tests/check/gst/gststructure.c: (GST_START_TEST):
1514         Make a unit test to check the fix. 
1515
1516 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1517
1518         * plugins/elements/gstcapsfilter.c: (copy_func),
1519         (gst_capsfilter_set_property):
1520         Use new caps suggestion feature of basetransform to request a caps
1521         negotiation upstream.
1522
1523 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1524
1525         * docs/libs/gstreamer-libs-sections.txt:
1526         Add new function:
1527         API: GstBaseTransform::gst_base_transform_suggest()
1528
1529         * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1530         (gst_base_transform_init), (gst_base_transform_transform_caps),
1531         (gst_base_transform_transform_size),
1532         (gst_base_transform_configure_caps),
1533         (gst_base_transform_can_transform),
1534         (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1535         (gst_base_transform_prepare_output_buffer),
1536         (gst_base_transform_buffer_alloc),
1537         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1538         (gst_base_transform_chain), (gst_base_transform_activate),
1539         (gst_base_transform_set_passthrough),
1540         (gst_base_transform_is_passthrough),
1541         (gst_base_transform_set_in_place),
1542         (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1543         (gst_base_transform_set_qos_enabled),
1544         (gst_base_transform_is_qos_enabled),
1545         (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1546         (gst_base_transform_reconfigure):
1547         * libs/gst/base/gstbasetransform.h:
1548         Rewrite of basetransform to perform negotiation outside of the
1549         buffer_alloc functions.  Fixes #545853.
1550
1551         * tests/check/libs/transform1.c: (GST_START_TEST),
1552         (buffer_alloc_ct2):
1553         Update unit test.
1554
1555 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1556
1557         * tests/check/gst/gstpreset.c:
1558           Only run preset tests when $HOME is writable. Preliminary fix for
1559           #545433.
1560
1561 2008-08-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1562
1563         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1564         (gst_bin_change_state_func), (bin_handle_async_done),
1565         (gst_bin_handle_message_func):
1566         Fix race for bins that simulate ASYNC state changes by inserting
1567         ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1568         pending ASYNC messages even when the bin does not have ASYNC children.
1569         We note detect this behaviour because we will receive an ASYNC message
1570         that is originating from the bin itself. 
1571         Fixes races with decodebin2 state changes.
1572
1573         * tests/check/gst/gstbin.c: (GST_START_TEST):
1574         Add some more debug.
1575
1576 2008-08-04  Tim-Philipp Müller  <tim.muller at collabora co uk>
1577
1578         * gst/gsttaglist.c: (_gst_tag_initialize):
1579           Fix typo.
1580
1581 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1582
1583         * gst/gsttaglist.c:
1584           Argh. actually save the text before committing. Now adds
1585           gst_tag_merge_strings_with_comma() to gst_tag_register().
1586
1587 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1588
1589         * gst/gsttaglist.c:
1590         * gst/gsttaglist.h:
1591           Do as tim pointed out and actually register the new tag. Also improve
1592           te docs and use gst_tag_merge_strings_with_comma() method to allow
1593           retriving all keywords merged in one list.
1594
1595 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1596
1597         * configure.ac:
1598         * docs/gst/gstreamer.types:
1599           Revert 'accidential' change of the configure option removal. We still
1600           need to generate the types file in configure --disable-load-save.
1601
1602 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1603
1604         * docs/gst/gstreamer-sections.txt:
1605         * gst/gsttaglist.h:
1606           Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1607
1608 2008-08-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1609
1610         * gst/gstpadtemplate.c:
1611           (gst_pad_template_class_init), (gst_static_pad_template_get),
1612           (gst_pad_template_new), (gst_pad_template_pad_created),
1613           (gst_pad_template_set_property), (gst_pad_template_get_property):
1614           Add "name-template", "direction", "presence" and "caps" properties,
1615           so that gst_pad_template_new() is just a thin wrapper around
1616           g_object_new(), which is better for bindings. (Fixes: #539772)
1617
1618 2008-07-31  Michael Smith <msmith@songbirdnest.com>
1619
1620         * gst/gsturi.c:
1621           Be more liberal in what URIs we accept.
1622           Do not unescape bits of the URI for no apparent reason before passing to
1623           the element. Fixes #545352.
1624
1625 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1626
1627         Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1628
1629         * gst/gst.c:
1630         Include gstconfig.h as macros from it are used. Fixes bug #545607.
1631
1632 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1633
1634         * configure.ac:
1635         * docs/gst/gstreamer-sections.txt:
1636         * docs/gst/gstreamer.types:
1637         * docs/gst/gstreamer.types.in:
1638         * gst/Makefile.am:
1639         * gst/gst.c:
1640         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1641         * gst/gstconfig.h.in:
1642         * gst/gstelement.c: (gst_element_get_index):
1643         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1644         (gst_registry_binary_load_feature),
1645         (gst_registry_binary_read_cache):
1646         * gst/gstregistryxml.c: (load_feature),
1647         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1648         * plugins/Makefile.am:
1649         * tools/gst-indent:
1650         * tools/gst-inspect.c: (print_index_info), (print_element_list),
1651         (print_plugin_features), (print_element_features):
1652         * tools/gst-xmlinspect.c: (print_event_masks),
1653         (print_element_info):
1654         * win32/common/gstconfig.h:
1655         Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1656
1657         Disabling the indexers and URI handler code will only reduce the
1658         required amount of memory by a very small amount but on the other hand
1659         requires much more maintaince work. Apart from that many places of
1660         code are broken when disabling them.
1661
1662         Disabling the enum types doesn't reduce the required amount of memory
1663         by more than a few bytes and makes it hard to fix bugs like #539772,
1664         i.e. use the enums as GObject properties.
1665
1666 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1667
1668         * docs/design/part-TODO.txt:
1669         Add some thoughts and problems with upstream renegotiation.
1670
1671 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1672
1673         * gst/gstpad.c: (gst_pad_acceptcaps_default),
1674         (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1675         Remove silly redundant debug.
1676         Add some more debug info.
1677         Clarify the docs regarding new caps received from pad_alloc.
1678
1679 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1680
1681         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1682         (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1683         Make setting the caps more threadsafe.
1684
1685 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1686
1687         * docs/design/part-element-transform.txt:
1688         Update docs.
1689
1690 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1691
1692         * plugins/elements/gstqueue.c: (gst_queue_init),
1693         (gst_queue_acceptcaps):
1694         Add and use a custom acceptcaps function instead of falling back to the
1695         potentially less optimized default implementation.
1696
1697 2008-07-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1698
1699         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1700           Only sanity-check the buffer size if requested_caps == buffer_caps
1701           (ie. don't take pad caps into account, they're not relevant here)
1702
1703 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1704
1705         * plugins/elements/gsttee.c:
1706         * plugins/elements/gsttee.h:
1707           Reverting as not everything is clear yet. Needs some general design
1708           work.
1709
1710 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1711
1712         * ChangeLog:
1713           ChangeLog surgery for tee commit.
1714
1715 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1716
1717         * docs/gst/gstreamer-sections.txt:
1718           Cleanup section-file.
1719
1720 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1721
1722         * plugins/elements/gsttee.c:
1723         * plugins/elements/gsttee.h:
1724           Relay tag events in tee. Fixes parts of #474016.
1725           Downgrades 3 reoccurring debugs to log.
1726
1727 2008-07-28  Michael Smith <msmith@songbirdnest.com>
1728
1729         * configure.ac:
1730         * libs/gst/Makefile.am:
1731           Build the net library if we have winsock2.
1732
1733 2008-07-26  Stefan Kost  <ensonic@users.sf.net>
1734
1735         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1736
1737         * docs/manual/advanced-threads.xml:
1738         * docs/manual/diagrams-pipelines.svg:
1739         * docs/manual/hello-world.png:
1740         * docs/manual/linked-elements.png:
1741         * docs/manual/mime-world.png:
1742         * docs/manual/queue.png:
1743         * docs/manual/thread-buffering.png:
1744         * docs/manual/thread-synchronizing.png:
1745           Replace one diagram with two separate ones and updates others.
1746           Fixes #542401.
1747
1748 2008-07-25  Thijs Vermeir  <thijsvermeir@gmail.com>
1749
1750         * gst/gstelement.h:
1751         Fix link in documentation.
1752
1753 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1754
1755         * gst/gstmessage.c:
1756         Fix confusing documentation.
1757
1758 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1759
1760         * libs/gst/base/gstbasesrc.h:
1761         revert the changes to the header file for the ABI.
1762
1763 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1764
1765         * libs/gst/base/gstbasesrc.c:
1766         * libs/gst/base/gstbasesrc.h:
1767         Don't cache the seekable status.
1768         Fixes bug #544174
1769
1770 2008-07-24  Rene Stadler  <mail@renestadler.de>
1771
1772         * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1773         code to close the pipeline graph.  This prevents the program from
1774         printing internal data flow errors.
1775
1776 2008-07-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1777
1778         * docs/manual/basics-bus.xml:
1779         Correct typo. Fixes bug #544320.
1780
1781 2008-07-22  Michael Smith <msmith@songbirdnest.com>
1782
1783         * configure.ac:
1784           Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1785           Add check (taken from -base) for winsock, adds WIN32_LIBS
1786         * gst/Makefile.am:
1787           Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1788           winsock.
1789           Define GST_EXPORTS when building libgstreamer (only used on win32)
1790         * gst/gst_private.h:
1791         * gst/gstinfo.h:
1792           Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1793           for symbols that we need to export in both these files.
1794         * gst/gstpoll.c:
1795           Include gst_private.h higher up to avoid some compile problems on win32.
1796
1797 2008-07-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1798
1799         * gst/gstvalue.c:
1800         Fix typos.
1801
1802 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1803
1804         * gst/gstcaps.c:
1805         Previous commit was wrong NULL caps does not exist
1806         and indicate an error, so also add a FIXME to
1807         gst_caps_is_equal where NULL caps are accepted.
1808
1809 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1810
1811         * gst/gstcaps.c:
1812         Allow passing of NULL to gst_caps_union
1813
1814 2008-07-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1815
1816         * gst/gstghostpad.c:
1817         Add in doc that gst_ghost_pad_set_target can accept
1818         NULL to clear target
1819
1820 2008-07-15  Michael Smith <msmith@songbirdnest.com>
1821
1822         * gst/gstplugin.c:
1823         * gst/gstregistry.c:
1824           GstRegistryPool doesn't exist; don't refer to it in docs.
1825           Don't refer to functions that don't exist in docs, it's
1826           unhelpful.
1827
1828 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1829
1830         * gst/gst.c:
1831         Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
1832
1833 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1834
1835         Patch by: Tristan Matthews <le dot businessman at gmail dot com>
1836
1837         * docs/pwg/building-testapp.xml:
1838         Don't use an undeclared variable in the example program.
1839         Fixes bug #542573.
1840
1841 2008-07-12  Stefan Kost  <ensonic@users.sf.net>
1842
1843         * gst/gstdebugutils.c:
1844           Squeeze ghost-pad links and remove <> from classname labels to save
1845           more horizontal space.
1846
1847 2008-07-11  Stefan Kost  <ensonic@users.sf.net>
1848
1849         * gst/gstdebugutils.c:
1850           Give request and sometimes pads a different shpe style. Condense the
1851           graphs a little more.
1852
1853 2008-07-09  Michael Smith <msmith@songbirdnest.com>
1854
1855         * configure.ac:
1856           Don't require flex and bison if the parser is disabled.
1857
1858 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1859
1860         * libs/gst/controller/gstinterpolationcontrolsource.c:
1861         (_list_find_sorted_custom):
1862         Don't use declarations after statements.
1863
1864 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1865
1866         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1867         Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
1868         of the the child-added / -removed signals as GstChildProxy
1869         only supports GstObjects.
1870
1871 2008-07-07  Thijs Vermeir  <thijsvermeir@gmail.com>
1872
1873         * gst/gstdebugutils.c:
1874         Fix memleak
1875
1876 2008-07-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1877
1878         Patch by: Alessandro Decina <alessandro at nnva dot org>
1879
1880         * gst/gstpoll.c:
1881         Fix "ignored return value" compiler warning with newer glibc.
1882
1883 2008-07-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1884
1885         * gst/gstchildproxy.c:
1886         Fix copy&paste error in gst_child_proxy_removed() documentation.
1887
1888 2008-07-02  Tim-Philipp Müller  <tim.muller at collabora co uk>
1889
1890         * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
1891           Print error debug message if plugin description fields that should
1892           be set are NULL.
1893
1894         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
1895           Don't crash if the string to serialise is NULL (it really should
1896           not be, but apparently this used to work with the xml registry ...).
1897
1898 2008-07-02  Thijs Vermeir  <thijsvermeir@gmail.com>
1899
1900         * tools/gst-plot-timeline.py:
1901         Fix parsing of log messages
1902
1903 2008-07-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1904
1905         * win32/common/libgstbase.def::
1906           Sort alphabetically so make check-exports doesn't barf.
1907
1908 2008-07-01  Stefan Kost  <ensonic@users.sf.net>
1909
1910         * gst/gstevent.c:
1911           Use gst_format_get_name() to improve debug output.
1912
1913         * gst/gstpreset.c:
1914           Remove #ifdef'ed code. Add TODO comment.
1915
1916         * gst/gstsegment.c:
1917           Add debug output to ease spotting format != segment.format assertions.
1918
1919 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1920
1921         * tests/check/libs/gdp.c: (gst_dp_suite):
1922         Also enable the GDP unit test again on PPC now that the bug
1923         is fixed.
1924
1925 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1926
1927         * libs/gst/dataprotocol/dataprotocol.c:
1928         Don't write to the same region of memory as a uint64 and uint16
1929         as this breaks strict aliasing rules and apparantly breaks on PPC
1930         and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
1931
1932 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1933
1934         * libs/gst/controller/gstinterpolationcontrolsource.c:
1935           Optimize list handling. Use own find function. Exploit that fact that
1936           the list is sorted. Also pass back the node before, so that we can
1937           insert quickly. Have a fast path for append.
1938
1939 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1940
1941         * docs/design/draft-framestep.txt:
1942         * docs/design/part-negotiation.txt:
1943           Fix two typos.
1944
1945 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
1946
1947         * configure.ac:
1948           Show configuration sumary after configure run. Based on patch by
1949           Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
1950
1951 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
1952
1953         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1954
1955         * docs/manual/advanced-autoplugging.xml:
1956         * docs/manual/advanced-threads.xml:
1957         * docs/manual/basics-bins.xml:
1958         * docs/manual/basics-elements.xml:
1959         * docs/manual/basics-helloworld.xml:
1960         * docs/manual/basics-pads.xml:
1961           Add scale factor for pdf output.
1962
1963         * docs/manual/intro-basics.xml:
1964           Switched sections "pads" and "bins" and added a pipeline diagram.
1965
1966         * docs/manual/intro-gstreamer.xml:
1967           Added more info on gstreamer.
1968
1969         * docs/manual/intro-motivation.xml:
1970           Commented out the whole section "current problem", which sounds
1971           historical and somehow osolete; it could be turned in a positive
1972           way and reused to improve the design principles.
1973
1974         * docs/manual/intro-preface.xml:
1975           - Update URLs to library.gnome.org. 
1976           - Do not mention GTK+ in preliminary reading (irrelevant). 
1977           - Mention Plugin Writer's Manual and further reading only in the
1978             previous section.
1979           - Added a list of most relevant GObject/glib topics.
1980
1981         * docs/manual/Makefile.am:
1982         * docs/manual/bin-element-ghost.fig:
1983         * docs/manual/bin-element-ghost.png:
1984         * docs/manual/bin-element-noghost.fig:
1985         * docs/manual/bin-element-noghost.png:
1986         * docs/manual/bin-element.fig:
1987         * docs/manual/bin-element.png:
1988         * docs/manual/filter-element-multi.fig:
1989         * docs/manual/filter-element-multi.png:
1990         * docs/manual/filter-element.fig:
1991         * docs/manual/filter-element.png:
1992         * docs/manual/gstreamer-overview.png:
1993         * docs/manual/hello-world.fig:
1994         * docs/manual/hello-world.png:
1995         * docs/manual/linked-elements.fig:
1996         * docs/manual/linked-elements.png:
1997         * docs/manual/mime-world.fig:
1998         * docs/manual/mime-world.png:
1999         * docs/manual/queue.fig:
2000         * docs/manual/queue.png:
2001         * docs/manual/simple-player.png:
2002         * docs/manual/sink-element.fig:
2003         * docs/manual/sink-element.png:
2004         * docs/manual/src-element.fig:
2005         * docs/manual/src-element.png:
2006         * docs/manual/diagrams-general.svg:
2007         * docs/manual/diagrams-pipelines.svg:
2008           Removed .fig, added .png counterpart.
2009           
2010           Fixes: #539137
2011
2012 2008-06-26  Thijs Vermeir  <thijsvermeir@gmail.com>
2013
2014         * plugins/elements/gstmultiqueue.c:
2015         * plugins/elements/gstmultiqueue.h:
2016         revert extra-size-buffers stuff, caused some race conditions
2017         and extra-size-buffers is not used anymore. Docs needs some updates
2018
2019 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
2020
2021         * win32/common/config.h:
2022         * win32/common/gstenumtypes.c:
2023         * win32/common/gstenumtypes.h:
2024         * win32/common/gstversion.h:
2025           Update win32 files.
2026
2027 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
2028
2029         * gst/gstdebugutils.h: (GstDebugGraphDetails),
2030           (GST_DEBUG_BIN_TO_DOT_FILE):
2031           Add missing Since' markers to gtk-doc blurbs.
2032
2033 2008-06-26  Wim Taymans  <wim.taymans@collabora.co.uk>
2034
2035         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2036         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2037         (set_caps_1), (set_caps_ct1), (transform_ct1),
2038         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2039         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2040         (transform_size_ct2), (buffer_alloc_ct2):
2041         Add some more tests with switching caps in buffer_alloc.
2042
2043 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2044
2045         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2046         (gst_test_trans_class_init), (result_sink_chain),
2047         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2048         (gst_test_trans_push), (gst_test_trans_pop):
2049         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2050         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2051         (set_caps_1), (set_caps_ct1), (transform_ct1),
2052         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2053         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2054         (transform_size_ct2), (buffer_alloc_ct2),
2055         (gst_basetransform_suite):
2056         More tests, prepare for tests with switching caps in buffer_alloc.
2057
2058 2008-06-25  Thijs Vermeir  <thijsvermeir@gmail.com>
2059
2060         * plugins/elements/gstmultiqueue.c:
2061         * plugins/elements/gstmultiqueue.h:
2062         Fix dead-lock in underrun_cb
2063
2064 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2065
2066         * docs/design/part-states.txt:
2067         Fix device open/close docs.
2068
2069 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2070
2071         * ChangeLog:
2072           Mention bugnumber for last commit.
2073
2074 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2075
2076         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2077
2078         * docs/manual/manual.xml:
2079         - Reorganised the previous "introduction" bundle into Foreword,
2080         Introduction, and About GStreamer. The two first are <preface>
2081         docbook elements. The later is the first part of the book.
2082         - added intro-gstreamer.xml (content partially from
2083         intro-preface.xml)
2084         - moved appendix-win32.xml into appendix-integration.xml
2085
2086         * docs/manual/intro-preface.xml: gstreamer section moved...
2087         * docs/manual/intro-gstreamer.xml: ...here. new file.
2088
2089         * docs/manual/appendix-win32.xml: removed file. Content moved...
2090         * docs/manual/appendix-integration.xml: ...here.
2091         
2092         * docs/manual/highlevel-components.xml: section about GstEditor moved...
2093         * docs/manual/appendix-checklist.xml: ...here.
2094         
2095         Fixes: 538764
2096
2097 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2098
2099         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2100
2101         * docs/manual/basics-helloworld.xml:
2102         * docs/manual/hello-world.fig:
2103           - Explicitely include glib.h.
2104           - Do not use global variables.
2105           - Use g_printerr() instead of g_print().
2106           - Minor formating/renaming to increase readibility.
2107           - Renamed new_pad() to on_pad_added()
2108           - Improved explenatory comments.
2109           - renamed ogg parser to ogg demuxer
2110           - Use "autoaudiosink" instead of "alsasink".
2111           Fixes: #538619
2112
2113 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2114
2115         * ChangeLog:
2116           Remove cvs conflict marker.
2117
2118 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2119
2120         * docs/README:
2121           Document that for plgin-docs we extraxt he short-desc from the element
2122           details.
2123
2124         * docs/design/part-states.txt:
2125           Tell that devices should be closed in PAUSED -> READY.
2126
2127         * docs/manual/README:
2128           Document how tests in the manual are handled.
2129
2130         * docs/manuals.mak:
2131           Typo in comment.
2132
2133 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2134
2135         * gst/gstbin.c: (bin_query_latency_fold):
2136         Only care about latency min and max when the sink is actually a live
2137         sink.
2138
2139 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2140
2141         * docs/design/part-block.txt:
2142         Fix typo.
2143
2144         * docs/design/part-element-transform.txt:
2145         Add notes about why transform needs to know input/output sizes.
2146         Add some issues that need to be solved.
2147         Add some more use cases.
2148
2149         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2150         (gst_test_trans_class_init), (result_sink_chain),
2151         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2152         (gst_test_trans_push), (gst_test_trans_pop):
2153         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2154         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2155         (set_caps_1), (set_caps_ct1), (transform_ct1),
2156         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2157         (gst_basetransform_suite):
2158         Add suport for different pad templates and buffer-alloc.
2159         Add more checks for caps and buffer-alloc.
2160         Add checks for proxy buffer alloc.
2161         Add unit test for copy transform.
2162
2163 2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2164
2165         Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2166
2167         * docs/manual/appendix-integration.xml:
2168         * docs/manual/appendix-licensing.xml:
2169         * docs/manual/basics-elements.xml:
2170         * docs/manual/basics-helloworld.xml:
2171         * docs/manual/basics-pads.xml:
2172         * docs/manual/highlevel-components.xml:
2173         * docs/manual/highlevel-xml.xml:
2174         * docs/manual/intro-basics.xml:
2175         * docs/manual/intro-preface.xml:
2176           Typo and formatting fixes (#538594).
2177
2178 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2179
2180         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2181         Fix some memory leaks and uses of object instances that we don't
2182         actually own.
2183
2184 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2185
2186         * plugins/elements/gstmultiqueue.c:
2187         Add functionality to extra-size-buffers property.
2188
2189 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2190
2191         * plugins/elements/gstmultiqueue.c:
2192         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
2193         activate the pads if they are added in STATE_NULL.
2194
2195 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2196
2197         * docs/libs/gstreamer-libs-sections.txt:
2198         Add new API to doc
2199         * libs/gst/check/gstcheck.c:
2200         * libs/gst/check/gstcheck.h:
2201         API: gst_check_teardown_pad_by_name
2202
2203 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2204
2205         * libs/gst/check/gstcheck.c:
2206         * libs/gst/check/gstcheck.h:
2207         Also setup request pads and allow setup pads by name (#537812)
2208         API: gst_check_setup_src_pad_by_name
2209         API: gst_check_setup_sink_pad_by_name
2210
2211 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2212
2213         * tests/check/gst/gstbuffer.c:
2214         * tests/check/pipelines/parse-launch.c:
2215           Use HAVE_VALGRIND_H some more.
2216
2217 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2218
2219         * scripts/cvs-update.sh:
2220           Pass arguments to make.
2221           Run autoregen.sh if Makefile is not there.
2222
2223 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2224
2225         * configure.ac:
2226         * gst/gstinfo.c:
2227           Don't assume that <valgrind/valgrind.h> exists just because
2228           the binary is there.
2229
2230 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2231
2232         * tests/check/Makefile.am:
2233         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2234         (gst_test_trans_class_init), (gst_test_trans_init),
2235         (gst_test_trans_set_data), (result_sink_chain),
2236         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
2237         (gst_test_trans_pop):
2238         * tests/check/libs/transform1.c: (GST_START_TEST),
2239         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
2240         Add some test basetransform element and the beginnings of various
2241         unit tests for it.
2242
2243 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2244
2245         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2246         Increase code readability.
2247         Don't try to compare buffer offsets when ther are invalid.
2248
2249 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2250
2251         * docs/design/Makefile.am:
2252           Dist some more design docs.
2253
2254         * docs/random/moving-plugins:
2255           Small addition: good plugins mustn't have functional code
2256           within assertion macros.
2257
2258 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2259
2260         * docs/design/draft-framestep.txt:
2261         Some ideas about a framestep API
2262
2263         * docs/design/part-element-transform.txt:
2264         Start design and use cases for basetransform in order to get it
2265         fixed soon.
2266
2267 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2268
2269         * gst/gsttaglist.h:
2270           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2271           be in UTF-8 encoding.
2272
2273 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2274
2275         * gst/gstbus.c:
2276           Make it known that gst_bus_poll() is pure evil (fixes #538810).
2277
2278 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2279
2280         * plugins/elements/gstcapsfilter.c:
2281         * plugins/elements/gstfakesink.c:
2282         * plugins/elements/gstfakesrc.c:
2283         * plugins/elements/gstfdsink.c:
2284         * plugins/elements/gstfdsrc.c:
2285         * plugins/elements/gstfilesink.c:
2286         * plugins/elements/gstfilesrc.c:
2287         * plugins/elements/gstidentity.c:
2288         * plugins/elements/gstmultiqueue.c:
2289         * plugins/elements/gstqueue.c:
2290         * plugins/elements/gsttee.c:
2291         * plugins/elements/gsttypefindelement.c:
2292           Remove short_description. Add basic docs for gsttypefindelement.
2293           Simplify markup for fakesrc/fdsrc.
2294
2295 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2296
2297         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2298         Added Since doc.
2299
2300 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2301
2302         Patch by: Joel Larsson <tilljoel at gmail dot com>
2303
2304         * docs/plugins/gstreamer-plugins.args:
2305         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2306         (gst_fd_src_init), (gst_fd_src_update_fd),
2307         (gst_fd_src_set_property), (gst_fd_src_get_property),
2308         (gst_fd_src_create):
2309         * plugins/elements/gstfdsrc.h:
2310         Add timeout property like udpsrc. Fixes #538628.
2311         Add some more docs and example pipelines.
2312
2313 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2314
2315         * docs/libs/gstreamer-libs-sections.txt:
2316         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2317         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2318         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2319         (gst_base_sink_do_sync):
2320         * libs/gst/base/gstbasesink.h:
2321         * win32/common/libgstbase.def:
2322         Add method to allow sinks to specify additional delay between the sync
2323         times and the actual rendering of the data.
2324         API: gst_base_sink_set_render_delay()
2325         API: gst_base_sink_get_render_delay()
2326
2327 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
2328
2329         * configure.ac:
2330         Bump version number back to dev -> 0.10.20.1
2331
2332 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
2333
2334         * docs/gst/gstreamer-sections.txt:
2335         * gst/gsttaglist.c: (_gst_tag_initialize):
2336         * gst/gsttaglist.h:
2337         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2338         Fixes bug #538568.
2339
2340 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2341
2342         * libs/gst/controller/gstcontroller.c:
2343           Revert one change, that make ret value possible uninitialized.
2344
2345 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2346
2347         * libs/gst/controller/gstcontroller.c:
2348           Use freeze/thaw notify to sync notify emission a bit (its also more
2349           efficient). Move debug output to LOG (is called a lot in a loop).
2350           Always unset g_values if the have been initialized.
2351
2352 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2353
2354         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2355         (gst_base_sink_wait_eos), (gst_base_sink_event):
2356         If we have not seen a buffer before EOS, use the segment values to
2357         report the current position instead of invalid positions.
2358
2359 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2360
2361         * docs/plugins/tmpl/.cvsignore:
2362         * tests/check/gst/.cvsignore:
2363           Ignore more.
2364
2365 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2366
2367         * libs/gst/controller/gstinterpolation.c:
2368         * libs/gst/controller/gstinterpolationcontrolsource.c:
2369         * tests/check/libs/controller.c:
2370           Rewrite handling of default values. Fix overflow with unsigned types
2371           in linear interpolation. Remove now obsolete _first_value() function.
2372           Add more tests. Fixes #538201.
2373
2374 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2375
2376         * libs/gst/base/gstbasetransform.c:
2377         (gst_base_transform_class_init), (gst_base_transform_init),
2378         (gst_base_transform_transform_caps),
2379         (gst_base_transform_prepare_output_buffer):
2380         Add debug info.
2381         When a buffer is writable, its metadata is also writable so we don't
2382         need to subbuffer (which then makes the buffer not-writable anymore).
2383
2384 === release 0.10.20 ===
2385
2386 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
2387
2388         * configure.ac:
2389           releasing 0.10.20, "You Crazy Diamond"
2390
2391 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2392
2393         * configure.ac:
2394         0.10.19.3 pre-release
2395
2396 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2397
2398         * configure.ac:
2399         * gst/gstpreset.c:
2400         Rename DATADIR to GST_DATADIR to avoid build problems
2401         on win32. Patch By: David Schleef <ds@schleef.org>
2402         Fixes: #536857
2403
2404 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
2405
2406         * configure.ac:
2407         Explicitely link with -ldl if dladdr() is found there. Before it was
2408         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2409         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2410
2411 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2412
2413         * gst/gsterror.c: (_gst_stream_errors_init):
2414           Fix typo (spotted by Fabricio Godoy, #536723).
2415
2416 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
2417
2418         * configure.ac:
2419         0.10.19.2 pre-release
2420
2421 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2422
2423         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2424         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2425         Add some debug.
2426         Make sure we don't generate invalid QoS messages.
2427
2428 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2429
2430         * gst/gstevent.c: (gst_event_new_qos):
2431         Add some assert and docs for invalid input to the qos function.
2432
2433 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
2434
2435         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2436         (gst_base_sink_get_position):
2437         The reported position must always be smaller than the last seen
2438         timestamps (or timestamp + duration for reverse).
2439
2440 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
2441
2442         Patch by: Rob Bradford <rob at robster dot org dot uk>
2443
2444         * gst/gstregistry.c: (gst_registry_scan_path_level):
2445         Don't recurse into .debug directories as some distros install
2446         the debugging symbols next to the plugins in .debug directories
2447         and dlopen() crashes on them sometimes. Fixes bug #508070.
2448
2449         Add FIXME for 0.11 to not recurse into directories at all because
2450         it's very inconsistent to the behaviour of other PATH environment
2451         variables.
2452
2453 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2454
2455         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2456         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2457         Fix position query range checks in reverse playback.
2458
2459 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
2460
2461         * gst/gstelement.c:
2462         * gst/gstelement.h:
2463         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2464         clear of the reference to the resulting pad must be released later
2465         or not, resulting in possible leaks. Fixes bug #533865.
2466
2467 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2468
2469         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2470
2471         * gst/gstelementfactory.c:
2472         Small doc fix. Fixes #535285.
2473
2474 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2475
2476         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2477
2478         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2479         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2480         (gst_base_src_loop), (gst_base_src_set_flushing),
2481         (gst_base_src_change_state):
2482         Make sending an EOS event to the basesrc non-blocking even if the
2483         implementation does blocking waits in the create function. This is done
2484         by unlocking the create function when EOS is sent.
2485         Fixes #535218.
2486
2487 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2488
2489         * tools/gst-inspect.c: (print_element_properties_info):
2490         If possible print the element type of GValueArray properties.
2491
2492 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2493
2494         * gst/gstiterator.c:
2495         Remove an unused field from the private GstListIterator struct.
2496
2497 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2498
2499         * libs/gst/controller/gstcontroller.c:
2500           Add parameter guards.
2501
2502 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2503
2504         * tests/check/gst/gstpipeline.c:
2505           Revert test change and add comment why it should not work.
2506
2507 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2508
2509         * tests/check/gst/gstpipeline.c:
2510           Extending the test a little to verify that we also get the NULL state-
2511           change message.
2512
2513 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2514
2515         * gst/gstpreset.c: (gst_preset_default_get_meta),
2516           (gst_preset_get_preset_names), (gst_preset_get_property_names),
2517           (gst_preset_load_preset), (gst_preset_save_preset),
2518           (gst_preset_rename_preset), (gst_preset_delete_preset),
2519           (gst_preset_set_meta):
2520           Add Since: markers to docs blurbs.
2521
2522         * win32/common/libgstreamer.def:
2523           Add recently-added API.
2524
2525 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2526
2527         Patch by: Stefan Kost  <ensonic@users.sf.net>
2528
2529         * configure.ac:
2530         Add DATADIR for storing presets.
2531
2532         * docs/gst/gstreamer-docs.sgml:
2533         * docs/gst/gstreamer-sections.txt:
2534         * docs/gst/gstreamer.types.in:
2535         Add GstPreset to docs.
2536
2537         * gst/Makefile.am:
2538         * gst/gst.h:
2539         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2540         (preset_open_and_parse_header), (preset_parse_version),
2541         (preset_merge), (preset_get_keyfile),
2542         (gst_preset_default_get_preset_names),
2543         (gst_preset_default_get_property_names),
2544         (gst_preset_default_load_preset),
2545         (gst_preset_default_save_presets_file),
2546         (gst_preset_default_save_preset),
2547         (gst_preset_default_rename_preset),
2548         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2549         (gst_preset_default_get_meta), (gst_preset_default_randomize),
2550         (gst_preset_default_reset), (gst_preset_get_preset_names),
2551         (gst_preset_get_property_names), (gst_preset_load_preset),
2552         (gst_preset_save_preset), (gst_preset_rename_preset),
2553         (gst_preset_delete_preset), (gst_preset_set_meta),
2554         (gst_preset_get_meta), (gst_preset_class_init),
2555         (gst_preset_base_init), (gst_preset_get_type):
2556         * gst/gstpreset.h:
2557         Add GstPreset to core. Fixes #396779
2558
2559         * tests/check/Makefile.am:
2560         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2561         (gst_preset_test_set_property), (gst_preset_test_class_init),
2562         (gst_preset_test_base_init), (gst_preset_test_get_type),
2563         (gst_preset_test_plugin_init), (GST_START_TEST),
2564         (remove_preset_file), (test_setup), (test_teardown),
2565         (gst_preset_suite):
2566         Add GstPreset unit tests.
2567
2568 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2569
2570         * gst/gstpad.c: (gst_pad_event_default_dispatch):
2571         The default event function on a sinkpad should return TRUE when
2572         there are no internal links but should collect the return values from
2573         the internal links otherwise.
2574
2575 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2576
2577         * plugins/elements/gsttypefindelement.c:
2578         (gst_type_find_element_src_event),
2579         (gst_type_find_element_handle_event):
2580         Use faster and safer _pad_push_event().
2581
2582 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2583
2584         * docs/gst/gstreamer-sections.txt:
2585         * gst/gstutils.c: (element_find_unlinked_pad),
2586           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2587         * gst/gstutils.h:
2588           API: add gst_bin_find_unlinked_pad()
2589           API: deprecate gst_bin_find_unconnected_pad() (#401456)
2590
2591 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
2592
2593         * gst/gstclock.c:
2594         * gst/gstclock.h:
2595         * gst/gsttask.c:
2596         * gst/gsttask.h:
2597         Fixed a bunch of typos.
2598
2599 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2600
2601         * gst/gstpad.h:
2602         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2603           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2604           (gst_parse_bin_from_description_full):
2605         * gst/gstutils.h:
2606           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2607
2608 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2609
2610         * docs/pwg/advanced-tagging.xml:
2611           Small docs update, can't be bothered to rewrite the nonsensical
2612           examples right now.
2613
2614 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2615
2616         * gst/gstevent.h:
2617           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2618
2619 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2620
2621         * gst/parse/grammar.y:
2622           Remove unneeded casts.
2623
2624 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2625
2626         * gst/parse/grammar.y:
2627         * tests/check/pipelines/parse-launch.c:
2628           Get all missing elements from a parse launch string if possible
2629           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2630
2631 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2632
2633         * tests/check/Makefile.am:
2634         * tests/check/pipelines/parse-launch.c:
2635           Add some unit tests for the new gst_parse_launch*_full() API.
2636           (Exposes a previously-existing memory leak in the error code
2637           path, so adding to VALGRIND_TO_FIX for now).
2638
2639 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2640
2641         * docs/gst/gstreamer-sections.txt:
2642         * gst/gst.c: (init_post):
2643         * gst/gst_private.h: (_GstParseContext):
2644         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2645           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2646           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2647           (gst_parse_launch_full):
2648         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2649           (GstParseFlags), (GstParseContext):
2650         * gst/gstutils.c: (gst_parse_bin_from_description),
2651           (gst_parse_bin_from_description_full):
2652         * gst/gstutils.h:
2653         * gst/parse/grammar.y:
2654         * gst/parse/types.h:
2655         * win32/common/libgstreamer.def:
2656           Add new gst_parse_*_full API (#528178):
2657           API: gst_parse_launch_full()
2658           API: gst_parse_launchv_full()
2659           API: gst_parse_bin_from_description_full()
2660           API: gst_parse_context_new()
2661           API: gst_parse_context_free()
2662           API: gst_parse_context_get_missing_elements()
2663
2664 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
2665
2666         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2667
2668         * docs/faq/gst-uninstalled:
2669           Also support ffmpeg in gst-uninstalled.
2670
2671 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2672
2673         * configure.ac:
2674         After discussion on IRC use the binary registry as default
2675         but allow to disable it with --disable-binary-registry.
2676
2677         * win32/common/libgstreamer.def:
2678         Add the two new symbols for the binary registry.
2679
2680 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
2681
2682         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2683         * gst/gstutils.c: (gst_parse_bin_from_description):
2684         * gst/parse/grammar.y: (graph):
2685           More guards against bad input; typo fix; some minor clean-ups.
2686
2687 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2688
2689         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2690
2691         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2692         If nothing else can be used, use the last buffer's start time as
2693         the segment's last stop. Fixes bug #534258.
2694
2695 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
2696
2697         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2698           Move size sanity check to the right place: downstream may return
2699           a buffer with a smaller size if the buffer caps are different than
2700           the requested ones, as may happen when doing reverse negotiation.
2701
2702 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2703
2704         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2705         (gst_file_sink_render):
2706         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2707         (gst_file_src_start):
2708         Small cleanups. Add note adbout g_fopen() on windows and why we don't
2709         use it yet.
2710
2711 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2712
2713         * gst/gstpad.c: (gst_pad_load_and_link):
2714         * gst/gstutils.c: (gst_element_link_pads),
2715         (gst_element_unlink_pads):
2716         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2717         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2718         (gst_check_teardown_sink_pad),
2719         (gst_check_element_push_buffer_list):
2720         * tests/check/elements/fakesink.c: (GST_START_TEST):
2721         * tests/check/elements/filesink.c:
2722         * tests/check/elements/filesrc.c: (GST_START_TEST):
2723         * tests/check/elements/multiqueue.c: (setup_multiqueue),
2724         (mq_sinkpad_to_srcpad):
2725         * tests/check/elements/tee.c: (GST_START_TEST):
2726         * tests/check/generic/sinks.c: (GST_START_TEST):
2727         * tests/check/gst/gstbin.c: (GST_START_TEST):
2728         * tests/check/gst/gstevent.c: (GST_START_TEST):
2729         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2730         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2731         * tests/check/gst/gstquery.c: (GST_START_TEST):
2732         * tests/check/gst/gstutils.c: (GST_START_TEST):
2733         * tests/check/libs/basesrc.c: (GST_START_TEST):
2734         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2735         (gst_parse_test_element_change_state):
2736         Don't use gst_element_get_pad().
2737
2738 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
2739
2740         * docs/Makefile.am:
2741         Fix installing plugin documentation when gtk-doc is disabled.
2742
2743 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2744
2745         * docs/manual/advanced-autoplugging.xml:
2746         * docs/manual/basics-helloworld.xml:
2747         * docs/manual/basics-pads.xml:
2748         * docs/manual/highlevel-components.xml:
2749         Avoid using a bad function in the example code.
2750
2751 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2752
2753         * gst/gstclock.c: (gst_clock_set_calibration):
2754         Fix debug of the new clock rate.
2755
2756 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2757
2758         * win32/common/libgstbase.def:
2759         Add gst_base_sink_wait_clock() to the exported symbols.
2760
2761 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
2762
2763         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
2764
2765         * libs/gst/base/gstbasetransform.c:
2766         (gst_base_transform_sink_event):
2767         Unref events that the GstBaseTransform::event vfunc didn't want to
2768         have forwarded by the base class. Closes a leak in identity.
2769         Fixes bug #446763.
2770
2771 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2772
2773         * docs/libs/gstreamer-libs-sections.txt:
2774         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2775         * libs/gst/base/gstbasesink.h:
2776         Expose a method that was previously used internally to synchronize
2777         against the clock because it can be useful for subclasses too.
2778         API: GstBaseSink::gst_base_sink_wait_clock()
2779
2780 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2781
2782         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2783           Add sanity check to make sure we don't get smaller buffers
2784           than requested (and fallback to normal buffer alloc if we do).
2785
2786 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2787
2788         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2789         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2790         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2791         Refactor adjusting the running_time with latency and offset into a
2792         separate method.
2793         When doing clipping, we still want to use the subclass get_times method,
2794         just in case the DURATION or TIMESTAMP are not set.
2795
2796 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2797
2798         * docs/gst/gstreamer-sections.txt:
2799         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
2800         * gst/gsttypefind.h:
2801         * win32/common/libgstreamer.def:
2802           API: add gst_type_find_suggest_simple(), #533740.
2803
2804 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2805
2806         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
2807           Use right error code when typefinding fails, so we can use
2808           the default (translated) error messages.
2809
2810 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2811
2812         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2813         (gst_base_src_start):
2814         When the subclass did not set caps on outgoing buffers, configure the
2815         caps we negotiated on the source pad.
2816         When the typefind helper does not find caps, error out properly instead
2817         of doing things with NULL caps.
2818
2819 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2820
2821         * gst/gsttypefind.h:
2822           Tabs to spaces, oh yes!
2823
2824 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2825
2826         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
2827           Add David's and Benjamin's tests for array intersection to the
2828           unit test suite (#147931).
2829
2830 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2831
2832         * gst/gstevent.c:
2833           Document that gst_event_new_tag() and gst_event_new_navigation()
2834           take ownership of the taglist/structure passed to them. (#533635).
2835
2836 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
2837
2838         * docs/Makefile.am:
2839         Don't descend into the plugins dir if plugin docs building
2840         is disabled.
2841
2842         * docs/README:
2843         Add a note about the new type:GTypeName syntax for the plugin
2844         documentation .types file.
2845
2846 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2847
2848         * gst/gstmessage.c: (gst_message_new_error),
2849         (gst_message_new_warning), (gst_message_new_info):
2850         * gst/gstmessage.h:
2851         Mark the debug string parameters as const. Fixes bug #533490.
2852
2853 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
2854
2855         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2856         Sort buffer cache list by end offsets. This makes sure that we don't
2857         stop to search for a cached buffer that contains the requested data
2858         too early.
2859         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
2860         more efficient. Fixes bug #459862.
2861
2862 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
2863
2864         * gst/gstinfo.c:
2865           Explain why we copy the list.
2866
2867         * gst/gstpipeline.c:
2868           Improve docs.
2869
2870         * gst/gstutils.c:
2871           Add one debug-log statement to help tracing probelms with linking pads.
2872
2873 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
2874
2875         * tests/check/gst/gstinfo.c:
2876         Add a test for removing the default log handler. Seems to fail under
2877         windows.
2878
2879 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2880
2881         * gst/gstpad.c: (gst_pad_peer_accept_caps):
2882         Release pad lock before calling out to avoid a possible deadlock.
2883
2884 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2885
2886         * gst/parse/grammar.y:
2887         Remove unneeded value unset.
2888
2889         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2890         Add unit test for de/serialization of caps.
2891
2892 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2893
2894         * plugins/elements/gstfakesink.c:
2895         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
2896         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
2897         (gst_fake_src_class_init):
2898         Use custom marshalers that take GstMiniObject as first parameter.
2899         Using OBJECT as parameter while a GstMiniObject is given will lead
2900         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
2901
2902 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2903
2904         * plugins/elements/gsttypefindelement.c:
2905         (gst_type_find_element_handle_event),
2906         (gst_type_find_element_send_cached_events),
2907         (gst_type_find_element_change_state):
2908         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
2909         immediately.
2910
2911 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2912
2913         * plugins/elements/gsttypefindelement.c:
2914         (gst_type_find_handle_src_query), (stop_typefinding),
2915         (gst_type_find_element_handle_event),
2916         (gst_type_find_element_send_cached_events),
2917         (gst_type_find_element_change_state):
2918         Forward FLUSH_START events immediately and clean up instead of
2919         caching them.
2920
2921 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2922
2923         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2924
2925         * libs/gst/base/gstbasetransform.c:
2926         (gst_base_transform_buffer_alloc):
2927         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
2928         fall back to default negotiation in the chain function if the caps
2929         are different from what was requested. Fixes bug #526768.
2930
2931 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2932
2933         * gst/gstsegment.c:
2934         * tests/check/gst/gstsegment.c:
2935           No, let's not use g_slice_{dup|copy} here, since they only exist
2936           since GLib 2.14 and we still depend only on >= 2.12. Also add
2937           unit test for gst_segment_copy().
2938
2939 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2940
2941         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
2942           Try to fix 'dereferencing type-punned pointer will break strict
2943           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
2944           changed the default GType typedef from gulong to gsize at some point,
2945           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
2946           g_once_* functions all take a gsize * though, so work around the type
2947           mismatch for C++ by doing everything in gsize and casting to GType
2948           later.
2949
2950 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
2951
2952         * plugins/elements/gstmultiqueue.c:
2953         Add documentation for the signals to push our core plugin docs
2954         coverage back up to 100%.
2955
2956 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2957
2958         * gst/gstinfo.h (GST_FUNCTION):
2959           Reverted GST_FUNCTION to the old version as we don't want the
2960           full signature in C++ code. Also added support for MSVC.
2961
2962 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2963
2964         * gst/gstutils.h:
2965         Intern the type name string, similar to what G_DEFINE_TYPE does.
2966
2967 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2968
2969         * gst/gstutils.h:
2970         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
2971
2972 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2973
2974         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
2975
2976         * libs/gst/base/gstbasetransform.c:
2977         (gst_base_transform_buffer_alloc):
2978         Don't passthrough buffer allocation too easily if the caps change.
2979         This breaks when working in passthrough mode and upstream changes
2980         it's caps. Fixes bug #526768.
2981
2982 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2983
2984         * gst/gstinfo.c (gst_debug_log_valist):
2985           Improved the __FILE__ part of debug output for MSVC.
2986
2987 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2988
2989         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
2990           Declaration after statement fix for compilers like MSVC.
2991
2992 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2993
2994         * win32/common/config.h.in:
2995           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
2996           use the real thing than having "???" unconditionally.
2997
2998 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2999
3000         * gst/gstinfo.h (GST_FUNCTION):
3001           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
3002
3003 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3004
3005         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
3006         Small code cleanup.
3007
3008         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3009         (gst_base_sink_set_flushing):
3010         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3011         Fix some comments.
3012
3013 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3014
3015         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3016         (gst_fake_src_init), (gst_fake_src_set_property),
3017         (gst_fake_src_get_property), (gst_fake_src_start):
3018         * plugins/elements/gstfakesrc.h:
3019         Added format property to control the format of the newsegment events.
3020         API: GstFakeSrc:format
3021
3022 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
3023
3024         * win32/common/libgstreamer.def:
3025         Add gst_pad_has_name() to the exported symbols.
3026
3027 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
3028
3029         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
3030         * libs/gst/base/gstbasetransform.c:
3031         (gst_base_transform_prepare_output_buffer):
3032         Don't allow negative sizes when allocating new buffers.
3033         Fixes bug #461253.
3034
3035 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
3036
3037         Patch by: Sjoerd Simons <sjoerd at luon net>
3038
3039         * gst/gstbus.c: (gst_bus_source_dispatch):
3040           Don't print a warning if the queue is empty when we try to pop
3041           here. That could happen if another thread or callback set the
3042           bus to flushing between the source's check/prepare and the
3043           dispatch being called (#531538).
3044
3045 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
3046
3047         * plugins/elements/gstmultiqueue.c:
3048           Small docs fix.
3049         
3050 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
3051
3052         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3053         Add unit test for deserializing uint64s and check some really large
3054         numbers in the int64 test.
3055
3056 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
3057
3058         * tools/gst-inspect.c: (n_print), (print_hierarchy),
3059         (print_interfaces), (print_element_properties_info),
3060         (print_signal_info):
3061         Use "%s" as format string instead of printing strings directly.
3062
3063 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
3064
3065         * gst/gstclock.c: (gst_clock_set_calibration):
3066         Make some checks actually useful.
3067
3068         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3069         Remove some unused code. Unsigned integers tend to be >= 0.
3070
3071 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3072
3073         * gst/gstminiobject.c: (gst_value_get_mini_object):
3074           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
3075           function was not in the unscheduled 0.10.19 release.
3076
3077 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3078
3079         * gst/gstregistry.c: (gst_registry_scan_path_level):
3080           Only print one log message per non-plugin file.
3081
3082 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3083
3084         * gst/gstinfo.c: (gst_debug_log_default):
3085           Fix alignment of debug log columns on 64-bit.
3086
3087 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3088
3089         * docs/libs/Makefile.am:
3090         * docs/libs/gstreamer-libs-sections.txt:
3091           Ignore private controller headers for docs.
3092
3093 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
3094
3095         * libs/gst/controller/gstcontrollerprivate.h:
3096         * libs/gst/controller/gsthelper.c:
3097         * libs/gst/controller/gstinterpolation.c:
3098         * libs/gst/controller/gstinterpolationcontrolsource.c:
3099         (gst_interpolation_control_source_set_interpolation_mode):
3100         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
3101         * libs/gst/controller/lib.c:
3102         Move some private declarations into private headers.
3103
3104 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
3105
3106         * gst/gstdebugutils.c: (debug_dump_element_pad):
3107         Remove some code that is unused after Stefan's refactoring and uses
3108         uninitialized variables now, resulting in a compiler warning.
3109
3110 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
3111
3112         * gst/gstregistry.c: (gst_registry_scan_path_level):
3113           Run g_str_has_suffix() only on the file name, not the
3114           entire file path.
3115
3116 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
3117
3118         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
3119           Since we're not called only from the chain function any longer,
3120           we can't assume that there's always data in the queue, so move
3121           the is_full check to the beginning of the loop (otherwise we'd
3122           hit the assert when changing the limit properties while the
3123           queue is empty or not running yet).
3124           Also, only set a discont if items were actually removed from
3125           the queue.
3126
3127         * tests/check/elements/queue.c: (test_leaky_downstream):
3128           Test case for the above.
3129
3130 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
3131
3132         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
3133
3134         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
3135         (gst_queue_chain), (queue_capacity_change),
3136         (gst_queue_set_property):
3137         When changing thr max capacity of a leaky queue, immediatly drop buffers
3138         instead of waiting for a push on the sinkpad. Fixes #530637.
3139
3140 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
3141
3142         * gst/gstdebugutils.c:
3143           Refactor code and fix handling of ghostpads and their proxypads.
3144
3145 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3146
3147         * docs/gst/gstreamer-sections.txt:
3148         * gst/gstevent.c: (gst_event_has_name):
3149         * gst/gstevent.h:
3150         * tests/check/gst/gstevent.c: (GST_START_TEST):
3151         Add method to conveniently check the name of a custom event with
3152         gst_event_has_name().
3153         Reformat the event docs so that related methods are put together instead
3154         of the default alphabetical sort.
3155         Update unit test with new method.
3156         API: GstEvent::gst_event_has_name()
3157
3158 2008-04-28  Michael Smith <msmith@songbirdnest.com>
3159
3160         * libs/gst/check/Makefile.am:
3161           Don't add an explicit link to libgstreamer-0.10.la; it's already
3162           included in GST_OBJ_LIBS.
3163
3164 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
3165
3166         * gst/gst.c:
3167         Register GstClock type from a type-safe context. Fixes bug #530317.
3168
3169 2008-04-25  Michael Smith <msmith@songbirdnest.com>
3170
3171         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
3172         * tools/gst-run.c:
3173           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
3174
3175 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3176
3177         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3178         (gst_bin_dispose):
3179         Use the GLib stuff to create a private structure.
3180         Add some locking around some dispose methods to make them a little
3181         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
3182
3183 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3184
3185         * libs/gst/base/gstbasesink.h:
3186         * libs/gst/base/gstbasesrc.h:
3187         * libs/gst/base/gstbasetransform.h:
3188         * libs/gst/base/gstcollectpads.h:
3189           Fix doc typos and unify caps a bit.
3190
3191 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3192
3193         * tools/gst-launch.1.in:
3194           Forgot to also add the envvar docs here.
3195
3196 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
3197
3198         * gst/gst.c: (init_post), (gst_deinit):
3199         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
3200           (test_concurrent_create), (gst_pipeline_suite):
3201           Ref some more classes in gst_init() to work around thread-safety
3202           issues in pre-2.16 GLibs, and add basic unit test.
3203
3204 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3205
3206         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3207         (gst_base_sink_send_event):
3208         Rearrange the latency query code. We always want to do the upstream
3209         query, even if we are not live so that the upstream elements can get the
3210         latency results too. If we fail doing the query and we are live, we
3211         return TRUE afterwards.
3212
3213 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3214
3215         patch by: Jason Zhao <e3423c@motorola.com>
3216
3217         * docs/gst/running.xml:
3218         * gst/gst.c:
3219           Enable/disable scan_and_update_registry() based on commandline switch
3220           or environment variable. Fixes #520468.
3221           
3222         * ChangeLog:
3223           Fix typo in my previous commit.
3224
3225 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3226
3227         * gst/gstregistrybinary.c:
3228           Add a warning if we hit unhandled factories when saving.
3229           More debug logging detail, but move to LOG category.
3230
3231 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3232
3233         * gst/gstregistry.c:
3234           Tell the *truth* when improving the documentation.
3235
3236 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
3237
3238         * gst/gstelementfactory.c: (gst_element_factory_make):
3239         Unref the factory after it was used the last time, not before.
3240
3241         * gst/gstindexfactory.c: (gst_index_factory_make):
3242         Improve debugging a bit and don't leak a ref to the index factory with
3243         each call.
3244
3245 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3246
3247         * gst/gstregistry.c:
3248           Improve the documentation.
3249
3250 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3251
3252         * gst/gstsegment.c:
3253           The glib macro seems to be borked. Use g_slice_copy directly and cast
3254           in the hope that this fixes the warning on 64bit.
3255
3256 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3257
3258         * gst/gstsegment.c:
3259           Document the new function. Use g_slice_dup() (no need for
3260           gst_segment_init()).    
3261
3262 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3263
3264         * docs/gst/gstreamer-sections.txt:
3265           Move GParamSepc macros to standart section.
3266   
3267         * gst/gstbin.c:
3268           Dn't document _get_type - its in private section in docs anyway and
3269           this doc-blob was incomplete.
3270
3271         * gst/gstclock.h:
3272           Fix wrong symbol names in docs.
3273
3274         * gst/gstmacros.h:
3275           Add once doc sentence.
3276
3277         * tests/check/gst/.cvsignore:
3278           Ignore more.
3279
3280 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3281
3282         * docs/gst/Makefile.am:
3283           And remove those libs here.
3284
3285 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
3286
3287         * docs/libs/Makefile.am:
3288           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3289
3290 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3291
3292         Patch by: Olivier Crete <tester at tester dot ca>
3293
3294         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3295         Add the min-threshold to the min latency if possible. Fixes #529148.
3296
3297 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3298
3299         * docs/gst/gstreamer.types.in:
3300           Stupid editor, I removed that line as it should go in yet.
3301
3302 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3303
3304         * docs/gst/gstreamer.types.in:
3305         * docs/libs/gstreamer-libs.types:
3306           Remove library types fro core docs and have them in libs docs.
3307           Reformat and cleanup. Add comment for miniobject types.
3308
3309 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
3310
3311         * gst/gsturi.c: (gst_uri_get_protocol):
3312           Fix leak: g_strdown operates on the string in place, while
3313           g_ascii_strdown() returns a newly-allocated string.
3314
3315 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
3316
3317         * tools/gst-inspect.c: (print_uri_handler_info),
3318         (print_element_info):
3319         Print the URI protocols and the URI type supported by the element.
3320
3321 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3322
3323         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3324         Use g_value_take_string() instead of the deprecated
3325         g_value_set_string_take_ownership().
3326
3327 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3328
3329         * gst/gstregistrybinary.c: (_gst_crc32):
3330         Return the old CRC instead of 0 if we give a NULL buffer
3331         or a buffer with a length of 0.
3332
3333 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3334
3335         * gst/gsturi.c: (gst_uri_protocol_check_internal),
3336         (gst_uri_get_protocol), (gst_uri_has_protocol),
3337         (gst_uri_construct), (gst_uri_handler_set_uri):
3338         A valid URI scheme can also include '+', '-' and '.' additional
3339         to alphanumeric characters as per RFC 3986 Section 3.1.
3340
3341         Handle URI schemes case insensitive in all places and convert
3342         to lower-case when constructing an URI or setting an URI with
3343         the GstURIHandler interface. Fixes bug #528868.
3344         All elements can still assume (as before) that they will
3345         get passed URIs with a lower-case URI scheme by the GstURIHandler
3346         interface.
3347
3348 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
3349
3350         * gst/gstcaps.c: (gst_static_caps_get):
3351         * gst/gstclock.c: (gst_clock_entry_new):
3352           Don't use g_atomic_set_int where it's not needed.
3353
3354 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
3355
3356         * gst/gstvalue.c: (gst_value_deserialize_caps):
3357         * gst/parse/grammar.y:
3358         Fix 2 caps leaks.
3359
3360 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3361
3362         * gst/gstutils.c: (gst_atomic_int_set):
3363         Use g_atomic_int_set() here too instead of assignment +
3364         g_atomic_int_get().
3365
3366 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3367         
3368         * gst/gstutils.c:
3369         * gst/gstutils.h:
3370         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3371         now that we depend on new enough GLib.
3372
3373         * gst/gstcaps.c: (gst_static_caps_get):
3374         * gst/gstclock.c: (gst_clock_entry_new):
3375         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3376         (gst_debug_set_default_threshold), (_gst_debug_category_new),
3377         (gst_debug_category_set_threshold):
3378         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3379         (gst_base_sink_set_qos_enabled):
3380         * libs/gst/net/gstnettimeprovider.c:
3381         (gst_net_time_provider_set_property):
3382         Use g_atomic_int_set() instead of gst_atomic_int_set().
3383
3384 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3385
3386         * gst/gstquery.c:
3387           Also use G_GINT64_CONSTANT for the queries.
3388
3389 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3390
3391         * gst/gstmessage.c:
3392           Use G_GINT64_CONSTANT in varargs function.
3393
3394 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3395
3396         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3397         Initialize the registry magic with zeroes.
3398
3399 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3400
3401         * gst/gstregistrybinary.c: (_gst_crc32),
3402         (gst_registry_binary_write),
3403         (gst_registry_binary_initialize_magic),
3404         (gst_registry_binary_write_cache),
3405         (gst_registry_binary_check_magic),
3406         (gst_registry_binary_read_cache):
3407         * gst/gstregistrybinary.h:
3408         Add crc32 checksum to the binary registry file and check this before
3409         accepting a registry file.
3410
3411         Also free the data list when writing to the registry file fails.
3412
3413 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3414
3415         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3416         (gst_registry_binary_load_feature),
3417         (gst_registry_binary_load_plugin):
3418         If an element supports the Uri interface, returns a valid pointer
3419         to the supported URI protocols but this pointer contains nothing
3420         don't try to save that as it will corrupt the registry.
3421
3422         Don't unref the plugin if we added it to the registry already but
3423         fail to load a feature as gst_registry_add_plugin() takes ownership
3424         of the plugin.
3425
3426         Improve debugging a bit.
3427
3428 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3429
3430         * gst/gsttaglist.h:
3431           Clarify some tag item docs after discussion on irc.
3432
3433 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3434
3435         * docs/gst/gstreamer-docs.sgml:
3436           Remove commented out plugins (they have their own docs). Update
3437           comments.
3438
3439 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3440
3441         * docs/gst/gstreamer-docs.sgml:
3442         * docs/gst/gstreamer-sections.txt:
3443         * gst/gstparamspecs.c:
3444         * gst/gstparamspecs.h:
3445           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3446           docs to own section.
3447
3448         * gst/gstvalue.c:
3449           This now only documents GValue.
3450           
3451         * docs/libs/gstreamer-libs-sections.txt:
3452         * libs/gst/controller/gstcontroller.h:
3453           Remove GST_PARAM_CONTROLLABLE.
3454
3455 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3456
3457         * docs/README:
3458           Correct file path. Tell about how to use -overrides.txt.
3459         * docs/design/draft-tagreading.txt:
3460           Small design update.
3461
3462 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
3463
3464         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3465         (gst_registry_binary_load_plugin):
3466         Fix a typo in a debug message and revert change from yesterday as
3467         gst_registry_add_plugin() will only fail if something is really wrong
3468         already and we can't survive it anyway.
3469
3470 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
3471
3472         * gst/gst.c: (init_post), (gst_deinit):
3473           Pre-register GstGError GType from a thread-safe context
3474           (fixes #527967); unref enum type classes in deinit.
3475
3476 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3477
3478         Patch by: Rene Stadler <mail at renestadler de>
3479
3480         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3481           Merging an empty list with another list in KEEP_ALL mode should
3482           yield an empty list as result and not the second list (#512578).
3483
3484         * tests/check/gst/gsttagsetter.c:
3485           Add unit test for tag merge modes and the aforementioned bug.
3486
3487 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3488
3489         Patch by: Rene Stadler <mail at renestadler de>
3490
3491         * gst/gsttaglist.h:
3492           Fix description to match the order in the table (#512577).
3493   
3494 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3495
3496         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
3497
3498         * libs/gst/net/gstnettimepacket.h:
3499         * docs/libs/gstreamer-libs-sections.txt:
3500           Define socklen_t as int if it's not defined yet. Fixes compilation
3501           with MSVC6 and other versions where socklen_t is not defined in
3502           the windows headers (#518022).
3503
3504 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
3505
3506         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3507         If gst_registry_add_plugin() fails our reference to the plugin is
3508         invalid so don't try to use it anymore and instead error out.
3509
3510 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3511
3512         * tools/gst-xmlinspect.c: (print_element_info), (main):
3513           De-cruft a bit. If no argument is specified, print all elements in
3514           XML syntax rather than a freestyle list of elements like gst-inspect.
3515           Also, don't print XML header chunk unless we actually have something
3516           to print (ie. don't print it before an error message); print error
3517           message to stderr not stdout. Remove support for printing plugin
3518           info (it would just output something freestyle along the lines of
3519           gst-inspect so far), which fixes #514507. Also add license header.
3520
3521 2008-04-11  Julien Moutte  <julien@fluendo.com>
3522
3523         Mac OS X love...
3524         * configure.ac: Merge platform specific defines, introduce a new
3525         define on OS X to remember that forking when updating registry is
3526         unsafe.
3527         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3528         module.
3529         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3530         is defined.
3531         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3532         condition that leads to absolutely no plugins being registered on
3533         OS X.
3534
3535 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3536
3537         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3538
3539         * gst/gstutils.c: (gst_pad_add_data_probe),
3540           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3541           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3542           (gst_pad_add_buffer_probe_full):
3543         * gst/gstutils.h:
3544         * docs/gst/gstreamer-sections.txt:
3545         * win32/common/libgstreamer.def:
3546           Add gst_pad_add_*_probe_full() functions with a notify callback that
3547           lets the caller free the data it passes to the probe functions. This
3548           is useful for bindings such as gst-python or gstreamermm (#526814).
3549           API: gst_pad_add_data_probe_full
3550           API: gst_pad_add_buffer_probe_full
3551           API: gst_pad_add_event_probe_full
3552
3553         * tests/check/gst/gstutils.c:
3554           Add minimal unit test to make sure freeing the data actually works
3555           as expected.
3556
3557         * tests/benchmarks/.cvsignore:
3558           Random cvsignore addendum.
3559
3560 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3561
3562         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3563           (GST_DEBUG_BIN_TO_DOT_FILE):
3564           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3565           to it in the docs (since these are macros the types of the arguments
3566           won't be shown in the docs otherwise).
3567
3568 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3569
3570         * gst/gstpad.c:
3571           Do not abort on out of memory for pad_alloc_buffer.
3572
3573 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3574
3575         * libs/gst/check/gstcheck.c:
3576           Remove blank line between symbol name ad parameters to fix gtkdoc
3577           warning.
3578
3579 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3580
3581         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3582
3583         * docs/gst/gstreamer-sections.txt:
3584         * gst/gstsegment.c:
3585         * gst/gstsegment.h:
3586         * win32/common/libgstreamer.def:
3587           Expose gst_segment_copy() to make things easier for the c++ bindings.
3588           Fixes #518932.
3589           API: gst_segment_copy()
3590
3591 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3592
3593         * gst/gst.c: (gst_init_get_option_group), (init_post):
3594           Fix const position; ref GType classes for enum types to work
3595           around thread-safety issues in GLib versions < 2.16.
3596
3597 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3598
3599         * docs/design/part-buffering.txt:
3600         Fix some typos and set the estimated total for push mode to -1.
3601
3602         * gst/gstquery.c: (gst_query_new_buffering):
3603         Set buffering-left to 0 as we're not buffering by default.
3604
3605         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3606         Implement BUFFERING query.
3607
3608 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3609
3610         Based on patch by: Milosz Derezynski <internalerror gmail com>
3611
3612         * gst/gsterror.c: (_gst_stream_errors_init):
3613         * gst/gsterror.h:
3614           Add two new error codes for encrypted content. Fixes #524659.
3615           API: GST_STREAM_ERROR_DECRYPT
3616           API: GST_STREAM_ERROR_DECRYPT_NOKEY
3617
3618 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3619
3620         * gst/gstquery.h:
3621           Fix typo.
3622
3623         * win32/common/libgstreamer.def:
3624           Add new functions.
3625
3626 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
3627
3628         * plugins/elements/gstidentity.c: (gst_identity_event),
3629         (gst_identity_start):
3630         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3631         event after processing some data. Fixes bug #526042.
3632
3633 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3634
3635         * docs/gst/gstreamer-sections.txt:
3636         * gst/gstquery.c: (gst_query_parse_latency),
3637         (gst_query_set_buffering_percent),
3638         (gst_query_parse_buffering_percent),
3639         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3640         * gst/gstquery.h:
3641         Rename _avail -> _range
3642         API: gst_query_set_buffering_range
3643         API: gst_query_parse_buffering_range
3644
3645 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3646
3647         * docs/design/part-buffering.txt:
3648         * gst/gstquark.c:
3649         * gst/gstquark.h:
3650         * gst/gstquery.c: (gst_query_parse_latency),
3651         (gst_query_new_buffering), (gst_query_set_buffering_percent),
3652         (gst_query_parse_buffering_percent):
3653         * gst/gstquery.h:
3654         Add busy field and quark for the buffering query so that the app can
3655         only use the query to see if buffering is in progress.
3656
3657 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3658
3659         * docs/gst/gstreamer-sections.txt:
3660         * gst/gstmessage.c: (gst_message_set_buffering_stats),
3661         (gst_message_parse_buffering_stats):
3662         * gst/gstmessage.h:
3663         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3664         (gst_query_parse_latency), (gst_query_new_buffering),
3665         (gst_query_set_buffering_percent),
3666         (gst_query_parse_buffering_percent),
3667         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3668         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3669         * gst/gstquery.h:
3670         Reorder the message docs and headers for clarity.
3671         Add aditional buffering stats API for messages.
3672         Add buffering query.
3673         Convert some leftover queries to use GstQuark.
3674         API: gst_message_set_buffering_stats
3675         API: gst_message_parse_buffering_stats
3676         API: GST_QUERY_BUFFERING
3677         API: GstBufferingMode
3678         API: gst_query_new_buffering
3679         API: gst_query_set_buffering_percent
3680         API: gst_query_parse_buffering_percent
3681         API: gst_query_set_buffering_stats
3682         API: gst_query_parse_buffering_stats
3683
3684 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3685
3686         * gst/gstmessage.c: (gst_message_new_error),
3687         (gst_message_new_warning), (gst_message_new_info),
3688         (gst_message_new_buffering), (gst_message_new_state_changed),
3689         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3690         (gst_message_new_new_clock), (gst_message_new_segment_start),
3691         (gst_message_new_segment_done), (gst_message_new_duration),
3692         (gst_message_new_async_start), (gst_message_parse_buffering),
3693         (gst_message_parse_state_changed),
3694         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3695         (gst_message_parse_new_clock), (gst_message_parse_error),
3696         (gst_message_parse_warning), (gst_message_parse_info),
3697         (gst_message_parse_segment_start),
3698         (gst_message_parse_segment_done), (gst_message_parse_duration),
3699         (gst_message_parse_async_start):
3700         Use GstQuark for messages.
3701
3702 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3703
3704         * gst/gstquark.c: (_priv_gst_quarks_initialize):
3705         * gst/gstquark.h:
3706         Add some more quarks needed for messages and queries.
3707
3708 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3709
3710         * docs/design/part-buffering.txt:
3711         Remove the "none" buffering mode, STREAM is a good default.
3712         Move estimated-time to the avail query, that's when it will be needed.
3713         Other small typo fixes and updates.
3714
3715 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3716
3717         * gst/gstindex.c: (gst_index_resolver_get_type):
3718           Don't put descriptions into the nick field of a GEnumValue: it's not
3719           meant for that and some language bindings rely on the nick field to
3720           construct constants and the like. Fixes #526705.
3721
3722 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3723
3724         * NEWS:
3725         * RELEASE:
3726         * gstreamer.doap:
3727           Merge other changes from 0.10.19 release branch.
3728
3729 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
3730
3731         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3732
3733         * configure.ac:
3734         Actually build dlls when cross-compiling with mingw32.
3735         Fixes bug #526247.
3736
3737 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
3738
3739         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3740
3741         * gst/gstpoll.c:
3742         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3743
3744 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
3745
3746         * docs/design/draft-latency.txt:
3747         Fix typo.
3748
3749         * docs/design/part-buffering.txt:
3750         Update design docs with more buffering ideas.
3751
3752 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
3753
3754         * configure.ac:
3755           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3756
3757 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3758
3759         * configure.ac:
3760           Revert part that belongs to the preset patch.
3761
3762 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3763
3764         * configure.ac:
3765           Add qoutes to the define. Fixes # 525961.
3766
3767 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
3768
3769         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3770         (gst_file_index_load), (gst_file_index_add_id),
3771         (gst_file_index_get_assoc_entry):
3772         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3773         (gst_mem_index_free_id), (gst_mem_index_add_id),
3774         (gst_mem_index_index_format):
3775         Use GSlice when possible.
3776
3777 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
3778
3779         * libs/gst/controller/gstinterpolationcontrolsource.c:
3780         (gst_control_point_free),
3781         (gst_interpolation_control_source_set_internal):
3782         Use GSlice for allocating the control points.
3783
3784 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
3785
3786         * plugins/elements/gsttypefindelement.c:
3787         (gst_type_find_element_class_init),
3788         (gst_type_find_element_set_property),
3789         (gst_type_find_element_get_property),
3790         (gst_type_find_element_activate):
3791         * plugins/elements/gsttypefindelement.h:
3792         Cleanup properties.
3793         Fix pad leak when peer query fails.
3794         We can still typefind when the peer returns -1.
3795         Add property to force caps and bypass typefinding. This will be used in
3796         uridecodebin.
3797         API::force-caps
3798
3799 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3800
3801         * configure.ac:
3802         Require GLib 2.12.
3803
3804         * gst/glib-compat-private.h:
3805         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
3806         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3807         Unconditionally use GSlice for allocation.
3808
3809         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
3810         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
3811         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
3812         (gst_structure_free):
3813         Use GSlice for allocation.
3814
3815 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3816
3817         * gst/parse/Makefile.am:
3818         * gst/parse/grammar.tab.pre.c:
3819         * gst/parse/grammar.tab.pre.h:
3820         * gst/parse/lex._gst_parse_yy.pre.c:
3821         Require a new enough flex and bison and remove the parser hacks to use
3822         a pre-regenerated version.
3823
3824 2008-04-01  Julien Moutte  <julien@fluendo.com>
3825
3826         patch by: Jason Zhao <E3423C@motorola.com>
3827
3828         * configure.ac: Add a configure switch to disable option parsing
3829         in gst_init.
3830         Fixes #522882.
3831
3832 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3833
3834         * configure.ac:
3835         * gst/gstregistry.c:
3836           MacOS has plugins under .so or under .dylib. Add detection for MacOS
3837           and handle this case.
3838
3839         * gst/gst.c:
3840           Add a comment here describing, why we stat each plugin and not try to
3841           be smart.
3842
3843 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
3844
3845         * libs/gst/base/gstbasetransform.c:
3846         (gst_base_transform_prepare_output_buffer):
3847         Also unset the GAP flag on buffers if we're working inplace but
3848         the element is not GAP-aware.
3849
3850         Mark a comment as FIXME 0.11.
3851
3852 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3853
3854         * gst/gst.c:
3855           Fix type in log message and add one to ease seeing how long registry
3856           cache verification takes.
3857
3858         * gst/gstregistry.c:
3859           Only test plugin filenames against G_MODULE_SUFFIX.
3860
3861 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3862
3863         * gst/gstdebugutils.c:
3864           Improve handling ghost/proxy pads.
3865
3866 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
3867
3868         * docs/gst/gstreamer-sections.txt:
3869         * gst/gstpad.c:
3870         * gst/gstpad.h:
3871           Expose macro to docs and fix link to it.
3872
3873 2008-03-27  Michael Smith <msmith@fluendo.com>
3874
3875         * libs/gst/dataprotocol/dataprotocol.c:
3876         (gst_dp_packet_from_event_1_0):
3877           When calculating GDP body CRC, use the correct pointer. 
3878           Fixes part of #522401.
3879
3880 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3881
3882         Patch by: Mark Nauwelaerts <manauw at skynet be>
3883
3884         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3885         (gst_identity_init), (gst_identity_prepare_output_buffer):
3886         Identity is not always a passthrough element, it can modify the buffer
3887         timestamps when it has a datarate and operates in single-segment mode.
3888         We therefore make it an in_place filter with a custom buffer prepare
3889         function that conditionally makes the input buffer metadata writable
3890         when needed.  Fixes #523985.
3891
3892 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3893
3894         Patch by: Mark Nauwelaerts <manauw at skynet be>
3895
3896         * gst/gstclock.h:
3897         * libs/gst/base/gstbasesrc.h:
3898         * libs/gst/base/gstbasetransform.c:
3899         * libs/gst/check/gstcheck.c:
3900         Small documentation fixes. Fixes #523978.
3901
3902 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3903
3904         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3905         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3906         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
3907
3908 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3909
3910         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
3911         (single_queue_underrun_cb):
3912         When trying to make room in the queue, bump the max allowed buffers
3913         bigger than the current amount of buffers in the queue. this fixes some
3914         nasty deadlocks in multiqueue when dynamically changing the limits of
3915         the queue.
3916
3917 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3918
3919         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3920
3921         * gst/gstcaps.c: (gst_caps_set_simple),
3922         (gst_caps_set_simple_valist), (gst_caps_intersect):
3923         * gst/gstcaps.h:
3924         Constify the field gchar * params in set_simple and friends.
3925         Fixes #522326.
3926
3927 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3928
3929         * gst/gstvalue.c: (gst_value_transform_object_string):
3930         Transform a GstObject to a more meaningfull string that includes the
3931         object type in addition to its name.
3932
3933 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
3934
3935         * ChangeLog:
3936           ChangeLog surgery to add bugnumber to commit.
3937
3938 2008-03-23  Rene Stadler  <mail@renestadler.de>
3939
3940         * libs/gst/base/gstbasetransform.c:
3941         (gst_base_transform_set_gap_aware): Fix confusing documentation.
3942
3943 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3944
3945         * gst/gstregistrybinary.c: (gst_registry_binary_write):
3946         Rename constant everywhere and don't forget one occurence.
3947
3948 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3949
3950         * gst/gstregistrybinary.c: (gst_registry_binary_write):
3951         Align memory to the pointer size even if the architecture allows
3952         unaligned memory access. Unaligned memory access usually comes with
3953         performance penality.
3954
3955 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3956
3957         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3958         (gst_registry_binary_check_magic),
3959         (gst_registry_binary_load_pad_template),
3960         (gst_registry_binary_load_feature),
3961         (gst_registry_binary_load_plugin):
3962         Align memory to the pointer size instead of always 32 bit. Fixes
3963         unaligned memory accesses on ia64 and friends.
3964
3965         * gst/gstregistrybinary.h:
3966         Bump binary registry format version for this as it changes the
3967         format on those architectures that don't have unaligned access
3968         and 64 bit pointers.
3969
3970 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3971
3972         * docs/pwg/advanced-dparams.xml:
3973         * docs/pwg/building-props.xml:
3974         * docs/pwg/other-source.xml:
3975         * gst/glib-compat.h:
3976         * gst/gstbin.c: (gst_bin_class_init):
3977         * gst/gstclock.c: (gst_clock_class_init):
3978         * gst/gstindex.c: (gst_index_class_init):
3979         * gst/gstobject.c: (gst_object_class_init):
3980         * gst/gstpad.c: (gst_pad_class_init):
3981         * gst/gstpipeline.c: (gst_pipeline_class_init):
3982         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3983         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
3984         * libs/gst/base/gstbasetransform.c:
3985         (gst_base_transform_class_init):
3986         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
3987         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
3988         (_gst_check_fault_handler_sighandler),
3989         (_gst_check_fault_handler_setup), (gst_check_init):
3990         * libs/gst/controller/gstcontroller.c:
3991         (_gst_controller_class_init):
3992         * libs/gst/controller/gstlfocontrolsource.c:
3993         (gst_lfo_control_source_class_init):
3994         * libs/gst/net/gstnetclientclock.c:
3995         (gst_net_client_clock_class_init):
3996         * libs/gst/net/gstnettimeprovider.c:
3997         (gst_net_time_provider_class_init):
3998         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
3999         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
4000         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
4001         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
4002         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
4003         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
4004         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4005         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4006         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
4007         * plugins/elements/gstqueue.c: (gst_queue_class_init):
4008         * plugins/elements/gsttee.c: (gst_tee_class_init):
4009         * plugins/elements/gsttypefindelement.c:
4010         (gst_type_find_element_class_init):
4011         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
4012         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
4013         use it everywhere for GParamSpecs that use static strings (i.e. all).
4014         This gives us less memory usage, fewer allocations and thus less
4015         memory defragmentation. Fixes bug #523806.
4016
4017 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
4018
4019         * gst/gstminiobject.c: (gst_value_dup_mini_object),
4020         (gst_param_spec_mini_object):
4021         * gst/gstminiobject.h:
4022         * win32/common/libgstreamer.def:
4023         * docs/gst/gstreamer-sections.txt:
4024         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
4025         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
4026         GstParamSpecMiniObject into a public header for this.
4027
4028         This make GstMiniObject a bit more consistent with GObject and makes
4029         it possible to extend the param specs.
4030
4031         gst_value_dup_mini_object is mainly useful for set_property methods.
4032
4033         Fixes bug #523798.
4034
4035         * tools/gst-inspect.c: (print_element_properties_info):
4036         Print something useful for GstMiniObject properties and not just
4037         "unknown type".
4038
4039 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
4040
4041         * docs/gst/gstreamer-sections.txt:
4042         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4043         (gst_registry_binary_check_magic):
4044         * gst/gstregistrybinary.h:
4045         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
4046         and add it to the (private part) of the docs to fix the build.
4047
4048 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
4049
4050         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4051         (gst_registry_binary_check_magic),
4052         (gst_registry_binary_read_cache):
4053         * gst/gstregistrybinary.h:
4054         Don't use GST_MAJORMINOR for the binary registry version. Instead
4055         hardcode a value that must be changed whenever the format changes
4056         in an incompatible way.
4057         Also don't GST_ERROR when there is a version mismatch, just
4058         regenerate the registry silently.
4059
4060 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
4061
4062         * configure.ac:
4063         Back to development - 0.10.18.1
4064
4065 === release 0.10.18 ===
4066
4067 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
4068
4069         * configure.ac:
4070           releasing 0.10.18, "So far away"
4071
4072 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
4073
4074         * configure.ac:
4075         * win32/common/config.h:
4076         0.10.17.4 pre-release
4077
4078 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
4079
4080         Patch by: Ole André Vadla Ravnås
4081             <ole dot andre dot ravnas at tandberg dot com>
4082
4083         * docs/gst/gstreamer-sections.txt:
4084         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
4085         (gst_poll_update_winsock_event_mask),
4086         (gst_poll_prepare_winsock_active_sets),
4087         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
4088         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
4089         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
4090         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4091         (gst_poll_check_ctrl_commands), (gst_poll_wait):
4092         * gst/gstpoll.h:
4093         * win32/common/libgstreamer.def:
4094         Add new function gst_poll_fd_ignored() for improved Windows
4095         compatibility.
4096         Various minor fixes and cleanups. See #520808.
4097
4098 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
4099
4100         * gst/gstindex.c: (gst_index_entry_free):
4101         * gst/gstindex.h:
4102           Don't free key strings which we don't own. Fixes crash in
4103           gst_index_entry_free() (#522741).
4104
4105         * tests/check/Makefile.am:
4106         * tests/check/gst/.cvsignore:
4107         * tests/check/gst/gstindex.c: (test_index_entries),
4108           (gst_index_suite), (gst_index):
4109           Add unit test for the above.
4110
4111 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
4112
4113         * win32/common/libgstreamer.def:
4114         Remove symbols that were removed recently. Fixes bug #521740.
4115
4116 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
4117
4118         * configure.ac:
4119         * win32/common/config.h:
4120         0.10.17.3 pre-release
4121
4122 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
4123
4124         Patch by: Ole André Vadla Ravnås
4125             <ole dot andre dot ravnas at tandberg dot com>
4126
4127         * docs/gst/gstreamer-sections.txt:
4128         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
4129         (gst_poll_update_winsock_event_mask), (gst_poll_new),
4130         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
4131         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4132         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
4133         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4134         (gst_poll_fd_can_write), (gst_poll_wait),
4135         (gst_poll_set_controllable), (gst_poll_restart),
4136         (gst_poll_set_flushing):
4137         * gst/gstpoll.h:
4138         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4139         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
4140         (gst_net_time_provider_new):
4141         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4142         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
4143         * tests/benchmarks/gstpollstress.c: (main):
4144         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
4145         Remove GstPollMode from the API, it does not make sense to let the
4146         application control this.
4147         Add support for Win32.
4148         Fix the testsuite. Fixes #520671.
4149
4150 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
4151
4152         Patch by: Ole André Vadla Ravnås
4153             <ole dot andre dot ravnas at tandberg dot com>
4154
4155         * gst/gstregistrybinary.c:
4156         Include io.h for write() and close() when building with MSVC. Fixes
4157         bug #520877.
4158
4159 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
4160
4161         * configure.ac:
4162         * gst/gst_private.h:
4163         * gst/gstconfig.h.in:
4164         * gst/gstregistry.h:
4165         * gst/gstregistrybinary.c:
4166         * win32/common/gstconfig.h:
4167           Move registry backend API to private headers where we can. Add
4168           fixme-0.11 comments for the others. Add stubs for the xml backend when
4169           using the binary to ensure they functions exists (they should not be
4170           used though). Fixes #520756.
4171
4172 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
4173
4174         * configure.ac:
4175         * win32/common/config.h:
4176         0.10.17.2 prelease
4177
4178 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4179
4180         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4181         (gst_registry_binary_read_cache):
4182         * gst/gstregistryxml.c: (gst_registry_save):
4183         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
4184         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
4185         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4186         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
4187         Switch to using portabl gsize/gssize instead of size_t/ssize_t
4188         Fixes #520152
4189
4190 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4191
4192         * gst/gstminiobject.c:
4193         Import gst_private.h before any other header that might include other
4194         glib headers. This fixes the build on windows using native compilers.
4195
4196 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4197
4198         * win32/common/gstconfig.h:
4199           Add here too, just for completeness.
4200
4201 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4202
4203         * configure.ac:
4204         * gst/gstconfig.h.in:
4205         * gst/gstregistry.h:
4206           Fix broken use of config.h-defined preprocessor directive in a public
4207           header file. Add a corresponding define to gstconfig.h, since we can't
4208           really remove those function declarations from the header file now
4209           (or can we? and why are they there in the first place?).
4210
4211 2008-03-03  Andy Wingo  <wingo@pobox.com>
4212
4213         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
4214         the new warning.
4215
4216         * gst/gststructure.c (gst_structure_from_string): Warn if
4217         structure_from_string didn't consume the whole string, but the
4218         caller did not provide an end pointer.
4219
4220 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
4221
4222         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
4223
4224         * gst/gstregistryxml.c: (read_string), (load_feature):
4225           Strings allocated by libxml2 should be freed with xmlFree(), not
4226           with g_free(). Fixes issues on windows in certain contexts (#519698).
4227
4228 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
4229
4230         * gst/gstinterface.c: (gst_element_implements_interface):
4231           Don't crash if the element supports the interface queried, but does
4232           not implement GstImplementsInterface. Fixes #519584.
4233
4234         * tests/check/Makefile.am:
4235         * tests/check/gst/.cvsignore:
4236         * tests/check/gst/gstinterface.c:
4237           Add unit test for the above.
4238
4239 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4240
4241         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4242         Small doc update.
4243
4244 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4245
4246         * gst/gstsegment.c: (gst_segment_set_seek),
4247         (gst_segment_to_stream_time):
4248         Improve some comment.
4249         Update variables where it makes more sense.
4250
4251 2008-02-29  Rene Stadler  <mail@renestadler.de>
4252
4253         * gst/gsturi.c: (gst_uri_handler_get_protocols):
4254         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
4255         URIHandlers implemented using language bindings.
4256
4257 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4258
4259         * gst/gstelementfactory.h:
4260         * tests/check/elements/fakesink.c:
4261         * tests/check/elements/fakesrc.c: (setup_fakesrc):
4262         * tests/check/elements/fdsrc.c: (setup_fdsrc):
4263         * tests/check/elements/filesink.c: (setup_filesink):
4264         * tests/check/elements/filesrc.c: (setup_filesrc):
4265         * tests/check/elements/identity.c: (setup_identity):
4266         * tests/check/elements/tee.c:
4267         * tests/check/generic/sinks.c:
4268         * tests/check/generic/states.c: (setup), (teardown):
4269         * tests/check/gst/gst.c:
4270         * tests/check/gst/gstabi.c:
4271         * tests/check/gst/gstbin.c:
4272         * tests/check/gst/gstbus.c: (pull_messages):
4273         * tests/check/gst/gstcaps.c:
4274         * tests/check/gst/gstelement.c:
4275         * tests/check/gst/gstevent.c:
4276         * tests/check/gst/gstghostpad.c:
4277         * tests/check/gst/gstiterator.c:
4278         * tests/check/gst/gstmessage.c:
4279         * tests/check/gst/gstminiobject.c: (my_foo_init):
4280         * tests/check/gst/gstobject.c: (thread_name_object),
4281         (gst_object_suite):
4282         * tests/check/gst/gstpad.c:
4283         * tests/check/gst/gstplugin.c:
4284         * tests/check/gst/gstpoll.c:
4285         * tests/check/gst/gstquery.c:
4286         * tests/check/gst/gstsegment.c:
4287         * tests/check/gst/gststructure.c:
4288         * tests/check/gst/gstsystemclock.c:
4289         * tests/check/gst/gsttask.c:
4290         * tests/check/gst/gstutils.c:
4291         * tests/check/gst/gstvalue.c:
4292         * tests/check/gst/struct_hppa.h:
4293         * tests/check/gst/struct_i386.h:
4294         * tests/check/gst/struct_ppc32.h:
4295         * tests/check/gst/struct_ppc64.h:
4296         * tests/check/gst/struct_x86_64.h:
4297         * tests/check/libs/adapter.c: (create_and_fill_adapter):
4298         * tests/check/libs/basesrc.c:
4299         * tests/check/libs/controller.c: (GST_START_TEST):
4300         * tests/check/libs/gdp.c:
4301         * tests/check/libs/gstnetclientclock.c:
4302         * tests/check/libs/gstnettimeprovider.c:
4303         * tests/check/libs/libsabi.c:
4304         * tests/check/libs/struct_hppa.h:
4305         * tests/check/libs/struct_i386.h:
4306         * tests/check/libs/struct_ppc32.h:
4307         * tests/check/libs/struct_ppc64.h:
4308         * tests/check/libs/struct_x86_64.h:
4309         * tests/check/pipelines/cleanup.c:
4310         * tests/check/pipelines/simple-launch-lines.c:
4311         * tests/check/pipelines/stress.c:
4312         And correct even more valid sparse warnings.
4313
4314         * win32/common/libgstreamer.def:
4315         Add gst_poll_fd_init to the list of symbols.
4316
4317 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4318
4319         * gst/gstconfig.h.in:
4320         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4321         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4322         (gst_check_log_critical_func), (gst_check_drop_buffers),
4323         (gst_check_element_push_buffer_list):
4324         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4325         (gst_controller_get_type):
4326         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4327         (gst_object_get_controller), (gst_object_get_control_source):
4328         * libs/gst/controller/gstinterpolationcontrolsource.c:
4329         (gst_interpolation_control_source_new):
4330         * libs/gst/controller/gstlfocontrolsource.c:
4331         (gst_lfo_control_source_new):
4332         * libs/gst/dataprotocol/dataprotocol.c:
4333         (gst_dp_event_from_packet_0_2):
4334         * plugins/elements/gstfdsrc.c:
4335         * plugins/elements/gstmultiqueue.c:
4336         * plugins/elements/gsttee.c:
4337         * plugins/elements/gsttypefindelement.c:
4338         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4339         (gst_file_index_add_association):
4340         * plugins/indexers/gstmemindex.c:
4341         * tests/benchmarks/gstpollstress.c: (mess_some_more):
4342         * tests/check/elements/queue.c: (setup_queue):
4343         * tests/check/gst/gstpipeline.c:
4344         * tests/check/libs/collectpads.c: (setup), (teardown),
4345         (gst_collect_pads_suite):
4346         * tests/examples/adapter/adapter_test.c:
4347         * tests/examples/metadata/read-metadata.c: (make_pipeline):
4348         * tests/examples/xml/createxml.c:
4349         * tests/examples/xml/runxml.c:
4350         * tools/gst-inspect.c:
4351         * tools/gst-run.c:
4352         Correct all relevant warnings found by the sparse semantic code
4353         analyzer. This include marking several symbols static, using
4354         NULL instead of 0 for pointers, not using variable sized arrays
4355         on the stack, moving variable declarations to the beginning of
4356         a block and using "foo (void)" instead of "foo ()" for declarations.
4357
4358 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4359
4360         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4361         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4362         Don't reset GstPollFDs, this is not necessary at all.
4363
4364         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4365         (delayed_restart), (delayed_control):
4366         Use GST_POLL_FD_INIT.
4367
4368 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4369
4370         * gst/gstpoll.c: (gst_poll_fd_init):
4371         * gst/gstpoll.h:
4372         Added Since tags.
4373
4374         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4375         Use some more init macros.
4376
4377 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4378
4379         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4380         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4381         Use init macros and functions.
4382
4383 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4384
4385         * docs/gst/gstreamer-sections.txt:
4386         * gst/gstpoll.c: (gst_poll_fd_init):
4387         * gst/gstpoll.h:
4388         Add INIT macro and _init method for initializing the GstPollFD.
4389
4390 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
4391
4392         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4393         (gst_fd_sink_update_fd):
4394         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4395         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4396         (delayed_restart), (delayed_control):
4397         Initialize some uninitialized variables as spotted by valgrind.
4398
4399 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4400
4401         * tests/benchmarks/Makefile.am:
4402         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4403         (main):
4404         Add poll stress test.
4405
4406 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4407
4408         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4409
4410         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4411         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4412         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4413         * plugins/elements/gstfdsink.h:
4414         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4415         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4416         (gst_fd_src_unlock_stop), (gst_fd_src_create),
4417         (gst_fd_src_uri_set_uri):
4418         * plugins/elements/gstfdsrc.h:
4419         Port to GstPoll. See #505417.
4420
4421 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
4422
4423         * win32/common/libgstreamer.def:
4424         Add new gst_poll_ symbols to win32 defs.
4425
4426 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4427
4428         * docs/libs/gstreamer-libs-sections.txt:
4429         * libs/gst/net/gstnetclientclock.c:
4430         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4431         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4432         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4433         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4434         * libs/gst/net/gstnetclientclock.h:
4435         * libs/gst/net/gstnettimeprovider.c:
4436         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4437         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4438         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4439         (gst_net_time_provider_new):
4440         * libs/gst/net/gstnettimeprovider.h:
4441         Use a private stuct to not break ABI.
4442
4443 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4444
4445         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4446
4447         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4448         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4449         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4450         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4451         * libs/gst/net/gstnetclientclock.h:
4452         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4453         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4454         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4455         (gst_net_time_provider_new):
4456         * libs/gst/net/gstnettimeprovider.h:
4457         Massive code removal and cleanups because of GstPoll.
4458         Fixes #505417.
4459
4460 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4461
4462         * configure.ac:
4463         Add checks for poll, ppoll and pselect.
4464
4465         * docs/gst/gstreamer-docs.sgml:
4466         * docs/gst/gstreamer-sections.txt:
4467         Add docs for GstPoll.
4468
4469         * gst/Makefile.am:
4470         * gst/gst.h:
4471         * gst/gstpoll.c: (find_index), (selectable_fds),
4472         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4473         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4474         (gst_poll_set_mode), (gst_poll_get_mode),
4475         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4476         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4477         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4478         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4479         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4480         (gst_poll_fd_can_write), (gst_poll_wait),
4481         (gst_poll_set_controllable), (gst_poll_restart),
4482         (gst_poll_set_flushing):
4483         * gst/gstpoll.h:
4484         Add generic poll abstraction. We ideally don't want to have this in core
4485         here but in glib intead...
4486         This code will be used in various network elements and ultimately for
4487         the nanosecond precision monotonic clock (that's why it's here in core).
4488         It'll allow us to implement cancelable socket operations for windows too.
4489
4490         * tests/check/Makefile.am:
4491         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4492         (delayed_stop), (delayed_restart), (delayed_flush),
4493         (delayed_control), (gst_poll_suite):
4494         Add GstPoll unit test.
4495
4496 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
4497
4498         * gst/gstfilter.c:
4499           Improve documentation of gst_filter_run(). Fixes #518627.
4500
4501 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4502
4503         * docs/README:
4504           Add a few lines about the new 'check-inspected-versions' target.
4505
4506 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4507
4508         * tests/check/gst/gstevent.c:
4509           Add qos to the event test. Rename tcase/tsuite; is not only about
4510           custom events.
4511
4512 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4513
4514         * plugins/elements/gstqueue.c:
4515           Ensure that buffer metadata is writeable, before modifying. Spotted by
4516           Mike.
4517
4518 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
4519
4520         * plugins/elements/gstqueue.c:
4521         * plugins/elements/gstqueue.h:
4522           When dropping buffers in leaky modes, mark next buffers we sent as
4523           DISCONT.
4524
4525 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4526
4527         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4528           Also, if mmap() fails that would be a READ error, not OPEN_READ.
4529
4530 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4531
4532         * plugins/elements/Makefile.am:
4533         * plugins/elements/gstbufferstore.c:
4534         * plugins/elements/gstbufferstore.h:
4535         * plugins/elements/gsttypefindelement.h:
4536           Remove GstBufferStore, no idea why we were still building it.
4537           It's not used anywhere and superseded by GstAdapter.
4538
4539         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4540           (gst_file_src_create_mmap):
4541         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4542           Printf format fixes for 64-bit integers.
4543
4544 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4545
4546         * configure.ac:
4547         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4548         We're not in 0.8 times anymore.
4549
4550 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
4551
4552         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4553         (gst_check_element_push_buffer_list):
4554         * libs/gst/check/gstcheck.h:
4555         Make the declaration in the header for
4556         gst_check_element_push_buffer_list match the implementation.
4557
4558         Fix up spelling, grammar and wording of the documentation in a few
4559         places, and add the Since keyword to new API functions.
4560         Use g_list_delete_link instead of g_list_remove in
4561         gst_check_drop_buffers, since it's immeasurably more efficient.
4562
4563         * tests/check/elements/fakesrc.c: (GST_START_TEST):
4564         Use new gst_check_drop_buffers function where appropriate.
4565
4566         * win32/common/libgstbase.def:
4567         * win32/common/libgstreamer.def:
4568         Add new symbols gst_collect_pads_take_buffer, 
4569         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4570         exports
4571
4572         Changelog surgery to add API keyword to new gst_check API.
4573
4574 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4575
4576         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4577         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4578         Update pre-generated flex files with flex 2.3.34.
4579
4580 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4581
4582         * gst/gstminiobject.c:
4583           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4584           friendly to subclasses and not require them to know all internals
4585           of their parent class.
4586
4587 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4588
4589         * docs/libs/gstreamer-libs-sections.txt:
4590         * libs/gst/base/gstcollectpads.c:
4591         * libs/gst/base/gstcollectpads.h:
4592           Add sub-buffer functions to collectpads. Fixes #516187.
4593           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4594
4595 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4596
4597         * gst/gstbuffer.c:
4598           Copy selected buffer-flags when creating subbuffers.
4599           Fixes #516395.
4600
4601 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
4602
4603         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4604         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4605         * gst/gstmessage.c: (gst_message_class_init),
4606         (gst_message_finalize):
4607         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4608         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4609         (gst_mmap_buffer_finalize):
4610         Properly chain up finalize functions to the parent class.
4611
4612 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
4613
4614         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4615
4616         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4617         (gst_index_set_resolver_full):
4618         * gst/gstindex.h:
4619         Add new function with option to dispose of user_data in resolver.
4620         Actually call the dispose function when finalizing the object and not
4621         just when changing the resolver/filter.
4622         API: GstIndex::gst_index_set_resolver_full()
4623
4624         * docs/gst/gstreamer-sections.txt:
4625         Add new function to docs. Fixes #515469.
4626
4627 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
4628
4629         * gst/gstindex.c: (gst_index_finalize):
4630         Chain up finalize to the parent class. Fixes leaking the GstObject
4631         name and other things.
4632
4633 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
4634
4635         * configure.ac:
4636         Make DISABLE_DEPRECATED defined *only* during CVS, not during
4637         pre-releases or releases.
4638
4639         * docs/faq/gst-uninstalled:
4640         Add gst-plugins-gl
4641
4642         * docs/random/release:
4643         Change one of the steps - we only upload core & base to Gnome FTP
4644
4645 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
4646
4647         * gst/gstconfig.h.in:
4648           Add 'id' for example.
4649
4650         * gst/gstpad.c:
4651         * gst/gstutils.c:
4652         * plugins/elements/gstfdsink.c:
4653           Link to signals. Doc and comment fixes.
4654
4655 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
4656
4657         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4658         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4659           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4660           unused and unimplemented; finally, it is plugin features, not
4661           plugins, that have ranks.
4662           
4663 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4664
4665         * gst/gstpluginfeature.h:
4666           Clarify GstRank range docs.
4667
4668 2008-02-05  David Schleef  <ds@schleef.org>
4669
4670         * gst/gst.c: Add a separate gst_deinitialized that prevents
4671           gst_init() from being called after gst_deinit().  Fixes #509559
4672
4673 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4674
4675         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4676         (gst_bin_class_init):
4677         * gst/gstelement.c: (gst_element_base_class_init),
4678         (gst_element_class_add_pad_template):
4679         * gst/gstpadtemplate.c: (gst_pad_template_init):
4680         * gst/gstpipeline.c: (gst_pipeline_get_type),
4681         (gst_pipeline_base_init), (gst_pipeline_class_init):
4682         * libs/gst/base/gstbasesink.c:
4683         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4684         (gst_base_src_base_init), (gst_base_src_class_init):
4685         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4686         (gst_capsfilter_class_init):
4687         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4688         (gst_fake_sink_class_init):
4689         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4690         (gst_fake_src_class_init):
4691         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4692         (gst_fd_sink_class_init):
4693         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4694         (gst_fd_src_class_init):
4695         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4696         (gst_file_sink_class_init):
4697         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4698         (gst_file_src_class_init):
4699         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4700         (gst_identity_class_init):
4701         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4702         (gst_multi_queue_class_init):
4703         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4704         (gst_queue_class_init):
4705         * plugins/elements/gsttee.c: (gst_tee_base_init),
4706         (gst_tee_class_init):
4707         * plugins/elements/gsttypefindelement.c:
4708         (gst_type_find_element_base_init),
4709         (gst_type_find_element_class_init):
4710         * tests/check/gst/gstelement.c: (gst_element_suite):
4711         Revert previous changes to the behaviour of GstPadTemplates, etc
4712         and the possiblity to call them in class_init as it breaks too
4713         many elements. Reopens bug #491501.
4714
4715         Should be applied again for 0.11, thus added a few FIXME 0.11 at
4716         several places.
4717
4718 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4719
4720         * tools/gst-launch.c:
4721         Dump one graph per pipeline state-change and state change name
4722         (if GST_DEBUG_DUMP_DOT_DIR is set).
4723
4724 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
4725
4726         * gst/gstpad.c:
4727         * tests/check/gst/gstpad.c:
4728         Be sure that we have a new copy of the caps and not
4729         reffed caps from a template
4730
4731 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4732
4733         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4734         * gst/gstpipeline.c: (gst_pipeline_get_type),
4735         (gst_pipeline_class_init):
4736         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4737         (gst_base_sink_class_init):
4738         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4739         (gst_base_src_class_init):
4740         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4741         (gst_base_transform_class_init):
4742         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4743         (gst_collect_pads_class_init):
4744         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4745         * libs/gst/net/gstnettimeprovider.c:
4746         (gst_net_time_provider_base_init),
4747         (gst_net_time_provider_class_init):
4748         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4749         (gst_capsfilter_class_init):
4750         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4751         (gst_fake_sink_class_init):
4752         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4753         (gst_fake_src_class_init):
4754         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4755         (gst_fd_sink_class_init):
4756         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4757         (gst_fd_src_class_init):
4758         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4759         (gst_file_sink_class_init):
4760         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4761         (gst_file_src_class_init):
4762         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4763         (gst_identity_class_init):
4764         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4765         (gst_multi_queue_class_init):
4766         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4767         (gst_queue_class_init):
4768         * plugins/elements/gsttee.c: (gst_tee_base_init),
4769         (gst_tee_class_init):
4770         * plugins/elements/gsttypefindelement.c:
4771         (gst_type_find_element_base_init),
4772         (gst_type_find_element_class_init):
4773         Don't use base_init where not absolutely necessary. For example it's
4774         not necessary anymore for adding pad templates or setting element
4775         details.
4776
4777         Leave empty base_init functions in several places as GST_BOILERPLATE
4778         still defines and uses them.
4779
4780 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4781
4782         * gst/gstelement.c: (gst_element_base_class_init),
4783         (gst_element_class_add_pad_template):
4784         * gst/gstpadtemplate.c:
4785         Make it possible (and recommended) to set element details and add
4786         pad templates in the class_init functions by copying the details/pad
4787         templates in GstElement's base_init.
4788
4789         Also make it possible to replace existing pad templates by adding
4790         a new one with the same name. This was done in a hackish fashion
4791         in same elements before already.
4792
4793         Don't reference pad templates that are added a second time. A
4794         new pad template has a refcount of one and is not floating anymore
4795         and to be owned by the element's class. Make this more explicit by
4796         mentioning it in the docs of gst_element_class_add_pad_template().
4797
4798         These changes are backwards compatible. Fixes bug #491501.
4799
4800         * tests/check/gst/gstelement.c:
4801         Add unit test for setting element details, adding pad templates and
4802         replacing them in a subclass.
4803
4804 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
4805
4806         * tools/gst-inspect.c: (print_interfaces),
4807         (print_element_properties_info), (print_pad_info),
4808         (print_signal_info), (print_element_info):
4809         Fix a few memory leaks.
4810
4811 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4812
4813         * docs/libs/gstreamer-libs-sections.txt:
4814         * libs/gst/check/gstcheck.c:
4815         * libs/gst/check/gstcheck.h:
4816         Add more functions for unit testing: gst_check_drop_buffers,
4817         gst_check_caps_equal, gst_check_element_push_buffer_list,
4818         gst_check_element_push_buffer
4819         API: gst_check_drop_buffers
4820         API: gst_check_caps_equal
4821         API: gst_check_element_push_buffer_list
4822         API: gst_check_element_push_buffer
4823
4824 2008-02-01  Julien Moutte  <julien@fluendo.com>
4825
4826         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
4827         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
4828         (gst_index_finalize), (gst_index_entry_free),
4829         (gst_index_add_association): Fix memory leaks.
4830         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
4831         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
4832         (gst_mem_index_free_format), (gst_mem_index_free_id),
4833         (gst_mem_index_finalize): Fix memory leaks.
4834         * win32/common/config.h: Updated to CVS HEAD.
4835
4836 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4837
4838         * docs/README:
4839           Some more details about how the plugin docs works.
4840
4841         * docs/plugins/gstreamer-plugins-sections.txt:
4842           Whitespace cleanup.
4843
4844 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4845
4846         * gst/parse/grammar.tab.pre.c:
4847         * gst/parse/grammar.tab.pre.h:
4848         * gst/parse/grammar.y:
4849         * gst/parse/lex._gst_parse_yy.pre.c:
4850           Add delayed set-property. This allows to set properties on dynamicaly
4851           created objects (pads in videomxer). Fixes #509391.
4852
4853 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4854
4855         * gst/gstutils.c:
4856         Check if caps are not NULL (fix bug #510194)
4857
4858 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4859
4860         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
4861         (gst_base_sink_get_position_paused):
4862         Add fixme regarding EOS in pull mode.
4863         Fix position reporting in PAUSED for negative rates.
4864
4865 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4866
4867         * gst/gstminiobject.c: (gst_mini_object_replace):
4868         When replacing a miniobject, do a quick equality check first so that we
4869         can avoid a ref/unref pair.
4870
4871 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4872
4873         * docs/design/part-synchronisation.txt:
4874         Update some docs.
4875
4876         * docs/plugins/Makefile.am:
4877         * docs/plugins/gstreamer-plugins-docs.sgml:
4878         * docs/plugins/gstreamer-plugins-sections.txt:
4879         * plugins/elements/gstmultiqueue.c:
4880         Add multiqueue to the docs.
4881
4882 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4883
4884         * configure.ac:
4885           Back to CVS
4886
4887 === release 0.10.17 ===
4888
4889 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
4890
4891         * configure.ac:
4892           releasing 0.10.17, "Due Negligence"
4893
4894 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4895
4896         * gst/gstutils.c:
4897         Revert caps != NULL check temporarily for 0.10.17 release.
4898
4899 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
4900
4901         * gst/gstutils.c:
4902         Check if caps are not NULL (fix bug #510194)
4903
4904 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4905
4906         * gst/gstutils.c:
4907         Fix compilation on systems that have posix timers but no
4908         monotonic clock.
4909         Fixes: #512715
4910         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
4911         dot net>
4912
4913 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4914
4915         * tools/gst-inspect.c:
4916         Revert previous commit in preparation for an impromptu 0.10.17 release
4917
4918 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
4919
4920         * tools/gst-inspect.c: (print_interfaces),
4921         (print_element_properties_info), (print_pad_info),
4922         (print_signal_info), (print_element_info):
4923         Fix a few memory leaks.
4924
4925 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
4926
4927         * configure.ac:
4928         Back to CVS
4929
4930 === release 0.10.16 ===
4931
4932 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
4933
4934         * configure.ac:
4935           releasing 0.10.16, "Special Dispensation"
4936
4937 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
4938
4939         * configure.ac:
4940           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
4941           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
4942           not fail when trying to crosscompile on OpenEmbedded (#511750).
4943
4944 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
4945
4946         * docs/manuals.mak:
4947         Use $(MAKE) instead of make to fix the build if GNU make is
4948         called different. Fixes bug #510747.
4949
4950 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
4951
4952         * gst/gstplugin.c: (_gst_plugin_initialize):
4953           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
4954           again, which I broke two commits ago when changing the API
4955           of gst_plugin_register_static(): the g_list_foreach() in
4956           _gst_plugin_register_static still assumed the old function
4957           signature and would therefore fail (re-fixes #510187).
4958
4959         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
4960           (_gst_plugin_register_static), (gst_plugin_register_static):
4961           Revert the (technically correct) change to call g_thread_init() from
4962           the pre-main() constructor. This will break programs which call
4963           g_thread_init() without an if (!g_thread_supported()) guard in their
4964           main function. We could just blame it on GLib or the application, but
4965           it's probably best to just avoid this altogether and simply not use
4966           any GLib functions here and use plain old malloc() with a simple
4967           array to store the plugins to register later when gst_init() is
4968           finally called (re-fixes #510187).
4969
4970         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
4971           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
4972           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
4973           (GST_START_TEST), (gst_plugin_suite):
4974           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
4975           works.
4976
4977 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
4978
4979         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4980           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
4981           This makes gtk-doc complain, but results in slightly better
4982           compiler errors. The old _gst_plugin_register_static() is
4983           still guarded, so there'll be a compiler warning about that
4984           instead. Fixes #510187 too.
4985
4986 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
4987
4988         * gst/gst.c: (init_post):
4989         * gst/gstplugin.c: (_gst_plugin_register_static),
4990           (gst_plugin_register_static), (_gst_plugin_initialize):
4991         * gst/gstplugin.h: (GstPluginFilter):
4992           Change API of gst_plugin_register_static() to not take
4993           a GstPluginDesc, but rather just take all the arguments
4994           in a GstPluginDesc directly. This is more intuitive and
4995           avoids certain mistakes when porting code from
4996           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
4997           Fixes #510187.
4998
4999         * tests/check/gst/gstplugin.c:
5000           Fix up for changed API.
5001
5002 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5003
5004         * docs/faq/legal.xml:
5005           Update FAQ, Totem actually has an exception these days.
5006
5007 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
5008
5009         * win32/common/libgstreamer.def:
5010         Add new API declarations
5011
5012 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
5013
5014         * gst/gstminiobject.c:
5015           Spelling fixes for the API docs.
5016
5017 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
5018
5019         * libs/gst/base/gstbasetransform.c:
5020           Fix long property description for QoS.
5021
5022 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
5023
5024         * gst/gst.c:
5025         _gst_trace_on is already provided by gsttrace.h, no need to declare
5026         it ourselves.
5027
5028         * docs/libs/gstreamer-libs-sections.txt:
5029         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
5030         and remove strange tcase_add_test which is outputting a warning.
5031
5032         * libs/gst/check/gstcheck.c:
5033         * libs/gst/check/gstcheck.h:
5034         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
5035         and define them in gstcheck.c instead of having every .c file whcih
5036         includes gstcheck.h be defining its own copy and relying on symbol
5037         interposing to marry them all, which doesn't work on Solaris.
5038
5039         * tests/check/elements/identity.c: (GST_START_TEST):
5040         Don't define 'buffers' locally, it comes from libgstcheck.
5041
5042         * tests/check/generic/sinks.c: (send_buffer):
5043         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
5044
5045         * tests/check/gst/gststructure.c: (GST_START_TEST):
5046         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
5047         * tests/check/gst/gstutils.c: (GST_START_TEST):
5048         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5049         Add a bunch of casts to make various constants fit the types
5050         they're being assigned to.
5051
5052 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
5053
5054         * gst/gstchildproxy.c:
5055           Improve docs and add some ideas for making this more general-purpose.
5056
5057 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
5058
5059         * gst/gst_private.h: (GST_CAT_TYPES):
5060           Add GST_CAT_TYPES, for consistency, and so that the other
5061           debug categories don't make fun of it. Spotted by Saur on IRC.
5062
5063 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
5064
5065         * gst/parse/Makefile.am:
5066           Move types.h from EXTRA_DIST to noinst_HEADERS.
5067
5068 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
5069
5070         * autogen.sh:
5071           Add -Wno-portability to the automake parameters to stop warnings
5072           about GNU make extensions being used. We require GNU make in almost
5073           every Makefile anyway.
5074
5075         * configure.ac:
5076           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
5077           at the same time is required for per target flags.
5078
5079 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5080
5081         * gst/gstmacros.h:
5082           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
5083           __GNUC__ is defined before using it.
5084
5085 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5086
5087         * docs/gst/gstreamer-sections.txt:
5088         * gst/gst.c: (init_post):
5089         * gst/gstplugin.c: (_gst_plugin_register_static),
5090           (gst_plugin_register_static), (_gst_plugin_initialize),
5091           (gst_plugin_register_func):
5092         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5093           API: add gst_plugin_register_static() and deprecate
5094           GST_PLUGIN_DEFINE_STATIC, since it's not portable
5095           (#498924).
5096           Also, in _gst_plugin_register_static(), make sure to call
5097           g_thread_init() before calling GLib functions such as
5098           g_list_append() if we're not initialised yet, since that
5099           may lead to random crashes with older GSlice/GLib versions.
5100
5101         * tests/check/gst/gstplugin.c:
5102           Adapt unit test to above changes.
5103
5104 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5105
5106         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
5107         * gst/gstcaps.c: (gst_caps_to_string):
5108         * gst/gststructure.c: (GST_ASCII_IS_STRING),
5109           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
5110           Yet another gratuitous GString micro-optimisation: add a (private)
5111           function that serialises a structure appending to an existing
5112           GString, so that when we serialise caps we don't need to alloc+free
5113           a throwaway GString for each structure (each of which also entailing
5114           multiple reallocs on the way); also use g_string_sized_new() in
5115           various places with an approximate string length to avoid reallocs
5116           within GString. See #500143.
5117
5118 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5119
5120         * gst/gststructure.c: (gst_structure_id_set_value):
5121           Always check UTF-8 conformance of structure strings and not only
5122           if the debugging system is enabled; reasoning: the behaviour of
5123           the actual code shouldn't really change depending on whether the
5124           debugging system is enabled or not (#508291).
5125
5126 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
5127
5128         * Makefile.am:
5129           Remove old coverage target in favour of "make lcov".
5130
5131 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5132
5133         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5134         (gst_base_src_loop):
5135         The start segment for reverse playback goes from start to last_stop.
5136
5137 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5138
5139         Patch by: Peter Kjellerstedt <pkj axis com>
5140
5141         * gst/gstclock.h:
5142         Cast the results from the timeval/spec_to_time macros to what the
5143         docs say it casts to, a GstClockTime. fixes #508175.
5144
5145 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5146
5147         * gst/gstbuffer.c:
5148         Update some comments.
5149
5150         * tools/gst-inspect.c: (print_element_properties_info):
5151         Improve printing of flags.
5152
5153 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
5154
5155         * libs/gst/base/gstbasetransform.c:
5156           (gst_base_transform_transform_size):
5157           Print element name with g_warning() if there's a problem
5158           with the unit size.
5159
5160 2008-01-07  David Schleef  <ds@schleef.org>
5161
5162         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
5163
5164         * libs/gst/controller/gstcontroller.h:
5165         * libs/gst/controller/gstcontrolsource.h:
5166         * libs/gst/controller/gstinterpolationcontrolsource.h:
5167         * libs/gst/controller/gstlfocontrolsource.h:
5168         * libs/gst/dataprotocol/dataprotocol.h:
5169           Fix empty prototypes.  Fixes bug #507957.
5170
5171 2008-01-07  David Schleef  <ds@schleef.org>
5172
5173         * docs/faq/dependencies.xml: Fix typo.
5174
5175 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
5176
5177         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
5178         (gst_base_src_loop):
5179         Don't update the last_stop position in do_seek, that's the position we
5180         did a seek to.
5181         Read backwards when we have a negative rate.
5182
5183         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
5184         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
5185         (filesrc_suite):
5186         Add check for reverse reading.
5187
5188 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
5189
5190         Patch by: Alexis Ballier <aballier at gentoo org>
5191
5192         * tests/check/gst/gstabi.c:
5193         * tests/check/gst/struct_ppc64.h:
5194         * tests/check/libs/libsabi.c:
5195         * tests/check/libs/struct_ppc64.h:
5196           Decide which header to include based on the userland ABI target
5197           and not the kernel/cpu. Fix up structure sizes of ppc64 header
5198           for 64-bit userland (#503590).  Might need something similar for
5199           x86 too.
5200
5201 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5202
5203         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
5204           Log the reason why fopen fails in addition to the fact that it failed.
5205           
5206 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
5207
5208         * gst/parse/parse.l:
5209         Use "%option never-interactive" to prevent useless calls to isatty()
5210         on every input when parsing. Also use "%option noinput" to not define
5211         the static input/yyinput functions which we don't use anyway. This
5212         removes a compiler warning with gcc 4.3 and saves some bytes in the
5213         library.
5214         
5215         * gst/parse/lex._gst_parse_yy.pre.c:
5216         Regenerated for the above change.
5217
5218 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
5219
5220         * gst/gstpad.c: (fixate_value):
5221         Don't crash when trying to fixate and empty list.
5222         Fixes #506643.
5223
5224 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
5225
5226         * docs/faq/gst-uninstalled:
5227         Clarify the comments to make the usage of this script and what it
5228         does easier to understand.
5229
5230 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
5231
5232         * tools/gst-plot-timeline.py:
5233         Add more options to gst-plot-timeline
5234
5235 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
5236
5237         * docs/design/part-synchronisation.txt:
5238         Some more info on how the stream_time in GstBaseSink is done.
5239
5240 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
5241
5242         * tests/check/generic/sinks.c: (gst_sinks_suite):
5243           Put back the tcase_set_timeout(), apparently it's needed after
5244           all; fix it up in a way that makes things work with valgrind too.
5245
5246 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
5247
5248         * gst/gstdebugutils.c:
5249           Add warning when failed to open file for writing.
5250
5251 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5252
5253         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
5254
5255         * gst/gstvalue.c: (gst_value_is_fixed):
5256           Optimisation: bail out of the loop as early as possible (#500143).
5257
5258 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5259
5260         * gst/gstcaps.c: (gst_caps_to_string):
5261         * gst/gstinfo.c: (gst_debug_construct_term_color):
5262         * gst/gstparse.c: (gst_parse_launchv):
5263         * gst/gstutils.c: (gst_util_dump_mem):
5264         * gst/gstvalue.c: (gst_value_serialize_any_list),
5265           (gst_value_transform_any_list_string):
5266           Bunch of gratuitous nano-optimisations.
5267
5268 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5269
5270         * tests/check/generic/sinks.c: (async_done_func),
5271           (async_done_eos_func):
5272           Fix leak in unit test (bus sync handler must unref the message
5273           if it returns GST_BUS_DROP). Don't fiddle with the default test
5274           timeout, this is smaller than the current preconfigured value
5275           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5276           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5277
5278 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5279
5280         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5281
5282         * configure.ac:
5283         Check for stdio_ext.h for the filesink changes.
5284
5285         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5286         (gst_file_sink_class_init), (gst_file_sink_init),
5287         (gst_file_sink_dispose), (gst_file_sink_set_property),
5288         (gst_file_sink_get_property), (gst_file_sink_open_file),
5289         (gst_file_sink_close_file):
5290         * plugins/elements/gstfilesink.h:
5291         Add two properties to control the buffering mode and size.
5292         API: GstFileSink::buffer-mode
5293         API: GstFileSink::buffer-size
5294         Fixes #500150.
5295
5296 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5297
5298         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5299         Add some more docs to explain why a FIXME was wrongly added. 
5300
5301 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
5302
5303         * gst/gstobject.c:
5304           Fix typo in the gst_object_{ref,unref} documentation.
5305
5306 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5307
5308         * tests/check/libs/controller.c:
5309         * tests/check/libs/typefindhelper.c:
5310         * tests/check/pipelines/parse-launch.c:
5311           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5312           going to be deprecated (see #498924).
5313
5314 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5315
5316         * gst/gsttypefind.c: (gst_type_find_register):
5317           Make gst_type_find_register work for static typefind functions,
5318           ie. allow passing plugin == NULL (prerequisite for #498924).
5319
5320         * gst/gstelementfactory.c: (gst_element_register):
5321           Small docs addition.
5322
5323 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
5324
5325         * gst/gstpad.c: (gst_pad_dispose):
5326         Really unlink the peer pad instead of setting the peer pointer to NULL
5327         when we dispose the pad.
5328         This correctly calls the unlink functions and makes sure that the peer
5329         does not have a handle to invalid memory. See #504671.
5330
5331         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5332         Add testsuite for above case.
5333
5334 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
5335
5336         Patch by: Peter Kjellerstedt <pkj axis com>
5337
5338         * libs/gst/check/gstcheck.h:
5339           Fix detection of the check version we're compiling against (would
5340           otherwise break if check goes v0.10.0); correctly report the
5341           name of the failed test again in case of failure, instead of
5342           just 'tf' (fixes #504499).
5343
5344 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5345
5346         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5347         (gst_base_src_get_range), (gst_base_src_pad_get_range),
5348         (gst_base_src_loop), (gst_base_src_set_flushing),
5349         (gst_base_src_change_state):
5350         Allow sending EOS to the source to make it send out an EOS event from
5351         the streaming thread.
5352         Update docs and deprecate the old NULL/READY shutdown method.
5353
5354         * tests/check/libs/basesrc.c: (GST_START_TEST),
5355         (gst_basesrc_suite):
5356         Add unit test for controlled shutdown.
5357
5358 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5359
5360         * docs/design/part-synchronisation.txt:
5361         Small updates.
5362
5363         * gst/gstsegment.c: (gst_segment_set_seek),
5364         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5365         (gst_segment_to_running_time):
5366         The seek format can be different from the segment format when the start
5367         and stop values are not to be updated, when we only do a rate change for
5368         example.
5369
5370         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5371         (gst_segment_suite):
5372         Add a testcase for the rate-only seeks, checking that the format is
5373         correctly ignored when start and stop are not updated.
5374
5375 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
5376
5377         Patch by: Matthias Bolte <photon at mail dot upb dot de>
5378
5379         * win32/vs8/grammar.vcproj:
5380         * win32/vs8/libgstcontroller.vcproj:
5381         * win32/vs8/libgstreamer.vcproj:
5382         Fix compilation with VS8 and include some missing files.
5383
5384 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
5385
5386         * gst/gsttaglist.c:
5387           Small docs addition: mention that the strings returned by
5388           gst_tag_list_get_string*() are in UTF-8 encoding.
5389
5390 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
5391
5392         * Makefile.am:
5393           The check-exports stuff moved to common/win32.mak, so include that.
5394
5395 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
5396
5397         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5398         (gst_base_src_perform_seek), (gst_base_src_get_range),
5399         (gst_base_src_set_playing), (gst_base_src_change_state):
5400         Make _wait_playing() not check any variables so that we can call this
5401         function from subclasses. Move the checks elsewhere similar to
5402         _wait_preroll() in basesink.
5403         Add some debugging.
5404         Only signal the LIVE cond when we are going back to PLAYING.
5405
5406 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5407
5408         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5409           Use g_remove() and g_rename(). Check result of g_rename(), and
5410           don't leak the open file descriptor if we error out when writing.
5411
5412         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5413           Must check the return value of close() after writing out the new
5414           registry file.  Sometimes write problems such as out-of-diskspace
5415           are only reported when the file is closed and not already during
5416           the write.  This may have caused partial/broken registry files in
5417           some rare circumstances. Should fix #503675.
5418
5419 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
5420
5421         * docs/gst/.cvsignore:
5422         * docs/libs/.cvsignore:
5423         * docs/plugins/.cvsignore:
5424         Ignore files generated by new common/* modifications
5425
5426 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5427
5428         * win32/common/libgstbase.def:
5429           Yes, you can also have a <TAB> if you want.
5430
5431 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5432
5433         * win32/common/libgstbase.def:
5434           Add new basetransform API to win export file.
5435
5436 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5437
5438         * tests/check/gst/gstbin.c:
5439           Adjust the test to the refcount change two days ago.
5440
5441 2007-12-14  David Schleef  <ds@schleef.org>
5442
5443         * docs/faq/getting.xml: Fix typo.
5444
5445 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
5446
5447         * docs/libs/gstreamer-libs-sections.txt:
5448         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5449           (gst_base_transform_prepare_output_buffer),
5450           (gst_base_transform_set_gap_aware):
5451         * libs/gst/base/gstbasetransform.h:
5452           API: Add gst_base_transform_set_gap_aware() to control whether
5453           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5454           get buffers with this flag at all. Fixes #503231.
5455
5456 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
5457
5458         * libs/gst/base/gstbasesink.c:
5459         * libs/gst/base/gstbasesrc.c:
5460         * libs/gst/base/gstbasetransform.c:
5461           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5462           thread. Correct log message in gstbasesrc.c.
5463
5464 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5465
5466         * gst/gstutils.c: (element_find_unconnected_pad):
5467           Fix possible compiler warning (#503417).
5468
5469 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5470
5471         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5472           Don't use GST_CAT_EVENT here for logging, it makes no sense.
5473
5474 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
5475
5476         * tools/gst-inspect.c: (print_element_properties_info):
5477           Add support for GstFraction properties.
5478
5479 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5480
5481         * Makefile.am:
5482           Add check-exports target and run it as part of 'make check'
5483           (see #499140 and #493983).
5484
5485         * gst/gst_private.h:
5486         * gst/gstelementfactory.h:
5487         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5488         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5489           (_priv_gst_in_valgrind):
5490         * gst/gstinfo.h: (GstLogFunction):
5491         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5492           (gst_type_find_register):
5493         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5494           (gst_type_find_factory_get_type):
5495         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5496           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5497           (gst_controller_new_valist), (gst_controller_new_list),
5498           (_gst_controller_dispose), (_gst_controller_class_init):
5499         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5500         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5501           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5502           (gst_object_get_controller), (gst_object_set_controller),
5503           (gst_object_suggest_next_sync), (gst_object_sync_values),
5504           (gst_object_set_control_source), (gst_object_get_control_source),
5505           (gst_object_get_value_arrays), (gst_object_get_value_array),
5506           (gst_object_get_control_rate), (gst_object_set_control_rate):
5507         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5508         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5509           Make some functions that should be static static; rename some
5510           private symbols so that they don't get exported; add some FIXME
5511           comments so we can move accidentally exported functions into
5512           our private section in 0.11.
5513
5514         * win32/common/libgstreamer.def:
5515           Add gst_utils_get_timestamp().
5516
5517 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5518
5519         * gst/gstvalue.c:
5520         * gst/gstvalue.h:
5521           Add more missing "Since:" tags to docs.
5522
5523 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5524
5525         * gst/gstutils.c:
5526           Add mising "Since:" to docs.
5527
5528 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5529
5530         * gst/gstplugin.c:
5531           Include "glib-compat-private.h" to fix the build on system with
5532           glib < 2.10. Fixes #503131.
5533
5534 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5535
5536         * gst/gstutils.c:
5537         * gst/gstutils.h:
5538           Actually its not PURE as it gets the time from elsewhere.
5539
5540 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5541
5542         * docs/gst/gstreamer-sections.txt:
5543         * gst/gstclock.h:
5544         * gst/gstdebugutils.c:
5545         * gst/gstinfo.c:
5546         * gst/gstutils.c:
5547         * gst/gstutils.h:
5548         * libs/gst/base/gstbasesink.c:
5549         * tools/gst-launch.c:
5550           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5551           uses as we don't have HAVE_POSIX_TIMERS in public headers.
5552           Thanks Tim for spotting.
5553           API: gst_util_get_timestamp
5554
5555 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
5556
5557         * configure.ac:
5558           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5559
5560 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
5561
5562         * gst/gststructure.c: (gst_structure_validate_name),
5563           (gst_structure_new_valist), (gst_structure_parse_value),
5564           (gst_structure_from_string):
5565           Don't crash in _from_string() if the structure name is not valid
5566           (fixes #501560).  Allow structure names to start with a number
5567           again (this apparently broke the ubuntu codec installer).
5568
5569         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5570           (GST_START_TEST):
5571           Add unit test for the crash; update unit tests for new behaviour.
5572
5573 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
5574
5575         * gst/gstutils.c:
5576         Clarify gst_element_get_compatible_pad() documentation.
5577         Fixes #500919.
5578
5579 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
5580
5581         * tests/check/Makefile.am:
5582           Don't forget to dist {gst,libs}/struct_hppa.h.
5583
5584 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5585
5586         * libs/gst/base/gstbasesink.c:
5587           Use new API to get elapsed time.
5588
5589 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5590
5591         * gst/gstdebugutils.c:
5592         * gst/gstinfo.c:
5593           Fix wrong order of args in GST_CLOCK_DIFF() usage.
5594
5595         * tools/gst-launch.c:
5596           Use new API to get elapsed time.
5597
5598 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5599
5600         * docs/gst/gstreamer-sections.txt:
5601         * gst/gstclock.h:
5602         * gst/gstdebugutils.c:
5603         * gst/gstinfo.c:
5604           Rename new API + ChangeLog surgery to remove old name from last entry..
5605
5606 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5607
5608         * docs/gst/gstreamer-sections.txt:
5609         * gst/gstclock.h:
5610         * gst/gstdebugutils.c:
5611         * gst/gstinfo.c:
5612           Now hide the different clock stuff behind a macro.
5613
5614 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5615
5616         * configure.ac:
5617         * gst/gstdebugutils.c:
5618         * gst/gstinfo.c:
5619           Apply the posix-timer check from #361155. Conditionally use the posix
5620           timer for logging. This gives better timestamp precission, less
5621           overhead and no ntp jitter.
5622
5623 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
5624
5625         * gst/gstminiobject.c: (gst_mini_object_get_type),
5626         (gst_mini_object_class_init), (gst_mini_object_copy_default),
5627         (gst_mini_object_finalize), (gst_mini_object_copy),
5628         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5629         (gst_mini_object_replace), (param_mini_object_validate),
5630         (gst_param_spec_mini_object_get_type):
5631         Some cleanup and checking against invalid function parameters.
5632
5633 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
5634
5635         * docs/gst/gstreamer-sections.txt:
5636         * gst/gstclock.h:
5637         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5638         (gst_systemclock_suite):
5639         Start merging in the easy bits of #361155, the monotonic clock patch.
5640         This one adds a few handy macros with docs and a testsuite.
5641
5642 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
5643
5644         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5645         Be a bit smarter when seeking, like, don't try to do a seek when it's
5646         not needed. This avoids errors when the file is not seekable.
5647         Fixes #499771.
5648
5649 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
5650
5651         * docs/gst/gstreamer-docs.sgml:
5652         * docs/gst/gstreamer-sections.txt:
5653         * docs/gst/gstreamer.types.in:
5654         * gst/Makefile.am:
5655         * gst/gst.h:
5656         * gst/gstpreset.c:
5657         * gst/gstpreset.h:
5658         * plugins/elements/gstqueue.c:
5659           Due to popular request remove preset interface again. :-(.
5660
5661 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5662
5663         * tools/gst-inspect.c:
5664           Print 'default value' for enums and flags too.
5665
5666 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5667
5668         * docs/random/ensonic/profiling.txt:
5669           More ideas.
5670
5671         * gst/gstbin.c:
5672           Fix typo and give better log output.
5673
5674         * gst/gstdebugutils.c:
5675         * gst/gstdebugutils.h:
5676           More ideas, make graphs a bit smaller and fix param name in macro.
5677
5678 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5679
5680         * gst/gstpreset.c:
5681           Try harder to use the return value from fgets().
5682
5683 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
5684
5685         * gst/gstpreset.c:
5686           For theses two fgets we handle the error below.
5687
5688 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5689
5690         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5691         Only send upstream events upstream. Fixes #498746.
5692
5693 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5694
5695         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5696
5697         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5698         (gst_identity_init), (gst_identity_transform_ip),
5699         (gst_identity_set_property), (gst_identity_get_property):
5700         * plugins/elements/gstidentity.h:
5701         Add property to disable handoff signal emission. Fixes #498694.
5702         API: GstIdentity::signal-handoffs
5703
5704 2007-11-21  Julien Moutte  <julien@fluendo.com>
5705
5706         * docs/faq/gst-uninstalled: Yet another missing library for the
5707         uninstalled script (fft)
5708
5709 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
5710
5711         * docs/faq/developing.xml:
5712         Add a question about how to submit new translations.
5713
5714         * docs/random/release:
5715         Update the contact email address for the Translation Project
5716
5717         * plugins/elements/gstfdsrc.c:
5718         The parent_class for fdsrc is pushsrc, not GstElement.
5719
5720 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5721
5722         * gst/gstpreset.c:
5723           Plug a leak and fix saving.
5724
5725 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
5726
5727         * docs/gst/gstreamer-sections.txt:
5728         Add new gst_preset__get_property_names() function to the docs
5729         to fix the build.
5730
5731 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5732
5733         * gst/gstpreset.c:
5734         * gst/gstpreset.h:
5735           Change _get_preset_names API to return a strv with copies. Add
5736           _get_property_names to allow implementations to filter and provide
5737           good default implementation.
5738
5739 2007-11-20  Julien MOUTTE  <julien@moutte.net>
5740
5741         * docs/faq/gst-uninstalled: Add another library to the uninstalled
5742         script (sdp).
5743
5744 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5745
5746         * gst/gstpreset.c:
5747           More cleanups, docs, and TODOs from comments that now slowly come in.
5748
5749 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5750
5751         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
5752         search path.
5753
5754 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5755
5756         * gst/gstpreset.c:
5757           Fix bogus warning and make the property type specific code more
5758           similar.
5759
5760 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5761
5762         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5763         it build on OS X.
5764
5765 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
5766
5767         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5768         (gst_bin_add_func), (gst_bin_remove_func),
5769         (gst_bin_change_state_func), (gst_bin_continue_func):
5770         Change email, cleanups add some more debug and comments.
5771         Also set bus and clock on new elements when the pipeline was in error.
5772
5773 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
5774
5775         * gst/gstbin.c:
5776         * gst/gstdebugutils.c:
5777           Fix build with --disable-gst-debug. Fixes #497859.
5778           Spotted by Sameer Naik.
5779
5780 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5781
5782         * gst/gstevent.c:
5783           Little documentation improvment.
5784
5785         * gst/gstpreset.c:
5786           More TODO cleanups. Remove c++ comments.
5787
5788         * libs/gst/controller/gstcontroller.c:
5789           Add TODO and use quark from static string.
5790
5791         * tests/check/gst/gstmessage.c:
5792         * tests/check/gst/gststructure.c:
5793           Use quark from static string.
5794
5795 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5796
5797         * gst/gstpreset.c:
5798           Add some comments and TODOs.
5799
5800         * gst/gstpreset.h:
5801           Add padding for future changes.
5802
5803         * plugins/elements/gstqueue.c:
5804           Implement the iface.    
5805
5806 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5807
5808         * docs/gst/gstreamer-docs.sgml:
5809         * docs/gst/gstreamer-sections.txt:
5810         * docs/gst/gstreamer.types.in:
5811         * gst/Makefile.am:
5812         * gst/gst.h:
5813         * gst/gstpreset.c:
5814         * gst/gstpreset.h:
5815           Add the preset interface (Fixes #396779). Do some doc cleanups along.
5816
5817 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
5818
5819         * configure.ac:
5820
5821         Back to CVS
5822
5823 === release 0.10.15 ===
5824
5825 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
5826
5827         * configure.ac:
5828           releasing 0.10.15, "October"
5829
5830 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
5831
5832         * win32/vs6/libgstreamer.dsp:
5833         Convert line endings back to DOS.
5834
5835 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
5836
5837         * docs/design/draft-tagreading.txt:
5838         * docs/random/ensonic/profiling.txt:
5839         Update fast tagreading draft and performance profiling ideas.
5840
5841 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5842
5843         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
5844         Don't hold the object lock when unreffing a buffer because it could
5845         cause a deadlock when the finalize function wants to grab the object
5846         lock too. Fixes #495133.
5847
5848 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5849
5850         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
5851         (gst_segment_to_stream_time), (gst_segment_to_running_time):
5852         Also accumulate time correctly when doing reverse playback. Fixes
5853         #488201,
5854         When converting to running and stream time, use default values for
5855         start/stop/time/accum when comparing different formats. Fixes #494245.
5856
5857         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5858         Do running/stream time in TIME format.
5859
5860         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5861         (gst_segment_suite):
5862         2 new unit tests for segment accumulation.
5863
5864 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5865
5866         * gst/gst.c: (init_pre):
5867         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
5868           (_gst_debug_bin_to_dot_file):
5869           Move getenv() back into gst_init, so everyone can live happily
5870           ever after. Make sure the symbol isn't exported though.
5871
5872 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5873
5874         Patch by: Sebastien Moutte  <sebastien moutte net>
5875
5876         * win32/common/gstenumtypes.c:
5877         * win32/common/gstenumtypes.h:
5878           Update enum types.
5879
5880         * win32/vs6/libgstreamer.dsp:
5881           Update vs6 project files (#494343).
5882
5883 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5884
5885         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
5886         (gst_base_src_perform_seek), (gst_base_src_default_event),
5887         (gst_base_src_set_flushing), (gst_base_src_activate_push),
5888         (gst_base_src_activate_pull):
5889         Unify flushing code, remove some old unlock code that is no longer used.
5890         Take the streaming lock when seeking to avoid races. Fixes #492729.
5891         Added some more comments.
5892
5893 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5894
5895         * gst/gst.c: (_gst_disable_segtrap):
5896           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
5897           we can use gst_segtrap_is_enabled() there now that we have that API.
5898           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
5899           to do the getenv here (and export the variable).
5900
5901         * gst/gstdebugutils.c: (debug_dump_element),
5902           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
5903           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
5904
5905         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
5906           (gst_debug_log_default):
5907           Rename _gst_info_start_time to priv_gst_info_start_time so it
5908           doesn't get exported (was never in any header).
5909
5910         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
5911           (gst_plugin_loading_mutex):
5912           Make static mutex gst_plugin_loading_mutex really static (was never
5913           in any header), and use gst_segtrap_is_enabled() instead of
5914           _gst_disable_segtrap.
5915
5916         * gst/gsttrace.c: (_gst_trace_default):
5917           Make local _gst_trace_default static (was never in any header).
5918
5919 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5920
5921         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
5922
5923         * win32/common/libgstbase.def:
5924         * win32/common/libgstcontroller.def:
5925         * win32/common/libgstdataprotocol.def:
5926         * win32/common/libgstnet.def:
5927         * win32/common/libgstreamer.def:
5928           Add more missing symbols, remove some duplicates, and sort
5929           as the 'sort' command sorts it (partially fixes #493983).
5930
5931 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5932
5933         * gst/gstelement.c: (gst_element_set_state_func):
5934         Only change the state cookie if a different state was set on the
5935         element. See #492729.
5936
5937 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5938
5939         * gst/gstvalue.c:
5940           Remove unused and uninitialised type variables that were still
5941           exported for some reason (they were never in any header files
5942           though).
5943
5944 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5945
5946         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
5947         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
5948         (gst_base_sink_event), (gst_base_sink_get_position_last),
5949         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
5950         (gst_base_sink_change_state):
5951         Don't try to report a 0 position when we don't know, return -1 and FALSE
5952         instead. This mostly happens when we are prerolling.
5953         Make sure we can report the right position before we post the ASYNC_DONE
5954         message so that a message handler can query position without races.
5955
5956         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
5957         (async_done_handoff), (async_done_func), (send_buffer),
5958         (async_done_eos_func), (gst_sinks_suite):
5959         Add two tests for the above.
5960
5961 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5962
5963         * MAINTAINERS:
5964         Update with new email address.
5965
5966         * docs/design/part-TODO.txt:
5967         Add some more info about future pad-block and negotiation changes.
5968
5969         * docs/design/part-buffering.txt:
5970         Add some ideas about buffering reporting.
5971
5972 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
5973
5974         * tests/check/gst/gstobject.c:
5975         Disable silly racy test that always fails on this combination of CPU
5976         and kernel.
5977
5978 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
5979
5980         Patch by: Murray Cumming  <murrayc@murrayc.com>
5981
5982         * gst/gstobject.c:
5983           Corrected the registration of the parent-set and parent-unset
5984           signals: The parameter is a GstObject, not a GObject (#493134).
5985
5986 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5987
5988         * gst/gst_private.h:
5989         * gst/gstbuffer.h:
5990         * gst/gstevent.h:
5991         * gst/gstformat.h:
5992         * gst/gstmessage.h:
5993         * gst/gstplugin.h:
5994         * gst/gstquery.h:
5995         * gst/gsttaglist.h:
5996         * gst/gstvalue.h:
5997           Move declaration of private _gst_foo_initialize() functions into
5998           our private header file where they should have been all along.
5999
6000 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6001
6002         * docs/plugins/gstreamer-plugins-sections.txt:
6003         * gst/gstdebugutils.h:
6004         * gst/gstxml.h:
6005         * plugins/elements/gstqueue.c:
6006           gtk-doc fixes; trailing-comma-in-enum fix.
6007
6008 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6009
6010         * gst/gst.c: (gst_deinit):
6011           Clean up on deinit (not the external ones though, doesn't seem to be
6012           needed for some reason).
6013
6014 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6015
6016         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
6017           Remove __declspec(dllimport) for MSVC that was copied over into core
6018           from a plugin, obviously without ever having been tested (note the
6019           single underscore in _declspec in the initial commit), and that doesn't
6020           really make sense.  See #492077.
6021
6022 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6023
6024         * gst/gst.c: (init_post):
6025         * gst/gstevent.c: (_gst_event_initialize):
6026         * gst/gstquery.c: (_gst_query_initialize):
6027         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
6028           g_type_class_ref() other types as well, see #349410 and #64764.
6029
6030         * gst/gstbuffer.c: (_gst_buffer_initialize):
6031         * gst/gstmessage.c: (_gst_message_initialize):
6032           Simplify existing g_type_class_ref().
6033
6034 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6035
6036         * gst/gstformat.c: (_gst_format_initialize):
6037           g_type_class_ref() our GstFormat type to make sure we avoid the
6038           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
6039           bug #64764. Should fix intermittent tee unit test failures (#474823).
6040
6041 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6042
6043         * tests/check/elements/tee.c: (test_num_buffers):
6044           Simplify, simplify, simplify - or not.  Rewrite unit test
6045           not to use gst_parse_launch(); allow N sub-streams. Increasing
6046           the number of sub-streams seems to reproduce #474823 more easily.
6047
6048 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
6049
6050         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
6051
6052         * gst/gsttrace.c:
6053         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
6054         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6055         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
6056           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
6057           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
6058           so use _pipe() directly (#492077).
6059
6060         * win32/common/dirent.c: (_treaddir):
6061           Add a couple of casts to make it build without warnings with MSVC.
6062
6063         * win32/common/libgstreamer.def:
6064           Add some more symbols that need to be exported.
6065
6066 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
6067
6068         * tests/examples/metadata/read-metadata.c: (message_loop):
6069           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
6070           arriving in a second or third tag message are added to
6071           the tag list as well.
6072
6073 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
6074
6075         * libs/gst/base/gstbasesrc.c:
6076           Its "Since:" and not "@Since:". And remove an superflous cast.
6077
6078 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
6079
6080         * docs/libs/gstreamer-libs-sections.txt:
6081         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6082         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
6083         (gst_base_sink_get_property), (gst_base_sink_render_object),
6084         (gst_base_sink_preroll_object),
6085         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
6086         (gst_base_sink_change_state):
6087         * libs/gst/base/gstbasesink.h:
6088         Add a new last-buffer property that contains the last buffer used in
6089         basesink for preroll or rendering. useful for making snapshots.
6090         API: gst_base_sink_get_last_buffer()
6091         API: GstBaseSink::last-buffer
6092
6093 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6094
6095         * docs/gst/running.xml:
6096         * gst/gst.c:
6097         * gst/gstdebugutils.c:
6098         * gst/gstdebugutils.h:
6099         * tools/gst-launch.c:
6100           Improve bin graph dumping, by using the envvar to specify a path.
6101           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
6102
6103 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
6104
6105         * plugins/elements/gsttypefindelement.c:
6106           (gst_type_find_element_handle_event),
6107           (gst_type_find_element_activate):
6108           Post special error message if we can't determine the type of a stream
6109           because it's empty.
6110
6111 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6112
6113         * docs/gst/running.xml:
6114         * gst/gstdebugutils.c:
6115           Document new env-var. Add one log-line after dumpng a graph.
6116
6117 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
6118
6119         * configure.ac:
6120           Ugly hack to put the (recently removed and non-portable, apparently)
6121           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
6122           GNU ld, because without that 'make check' fails miserably on my debian
6123           stable box.  Someone with more knowledge of linker intricacies and
6124           portability issues than me fix this properly please.
6125
6126 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
6127
6128         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6129         Reset last seen position after flushing so that we don't report the old
6130         position anymore.
6131
6132 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6133
6134         * gst/gstelementfactory.c: (gst_element_register):
6135         * gst/gsturi.h:
6136         Patch from Alessandro Decina adding get_type_full and
6137         get_protocols_full private vfuncs to the URIHandler interface
6138         to allow bindings to support creating URI handlers. 
6139         Partially fixes: #339279
6140         API: GstURIHandlerInterface::get_type_full
6141         API: GstURIHandlerInterface::get_protocols_full
6142
6143 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6144
6145         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6146         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
6147         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
6148         Make it so that pads are considered linked until a buffer is pushed
6149         and discovered otherwise. This avoids problems with decodebin2 hanging
6150         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
6151         case.
6152
6153         Make sure we lock the multiqueue when updating the max-size properties.
6154         
6155         Fix a crash on Solaris in a debug statement in get_request_pad that
6156         passes a NULL string to GST_DEBUG. 
6157
6158         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6159         (run_output_order_test):
6160         Fix the test to allow the first buffer on not-linked pads to come out
6161         of sequence while multiqueue discovers that they are not-linked.
6162
6163 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6164
6165         * configure.ac:
6166         * libs/gst/check/Makefile.am:
6167         Use a custom export symbol regex for libgstcheck, as it needs
6168         to export symbols that don't match the standard GStreamer gst_*
6169         pattern, and  --export-dynamic is not portable (only works on 
6170         GNU ld)
6171
6172         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6173         (gst_check_setup_sink_pad):
6174         Make sure to pass a message parameter to the fail_* macros.
6175
6176         * tests/check/gst/gstinfo.c: (GST_START_TEST):
6177         Fix some compiler warnings.
6178
6179 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
6180
6181         * tests/check/gst/gststructure.c: (test_to_string):
6182           Disable test that checks that white spaces are not allowed
6183           in structure names or field names, since we need to
6184           support that for now for backwards compatibility reasons.
6185
6186 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6187
6188         * docs/gst/gstreamer-sections.txt:
6189         * gst/gsttaglist.c:
6190         * gst/gsttaglist.h:
6191           API: add GST_TAG_ARTIST_SORTNAME
6192           API: add GST_TAG_ALBUM_SORTNAME
6193           API: add GST_TAG_TITLE_SORTNAME
6194           Add tag variants for sorting (#414539).
6195
6196 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6197
6198         * gst/gststructure.c:
6199           Also allow white space for names so we don't break
6200           backwards compatibility.
6201
6202 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
6203
6204         * docs/design/part-TODO.txt:
6205         * docs/design/part-segments.txt:
6206         * docs/design/part-streams.txt:
6207         Small updates.
6208
6209 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6210
6211         * docs/gst/gstreamer-sections.txt:
6212          Fixed documentation from my previous commit (added new API add
6213          gst_value_set_structure(), add gst_value_get_structure() and
6214          GST_VALUE_HOLDS_STRUCTURE).
6215
6216 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
6217
6218         * gst/gstdebugutils.c:
6219           Reflow code to fix uninitialized variable warning.
6220
6221 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6222
6223         * gst/gstcaps.c: (gst_caps_to_string),
6224         (gst_caps_from_string_inplace):
6225         * gst/gststructure.c: (gst_structure_get_abbrs),
6226         (gst_structure_to_string), (gst_structure_from_string):
6227         * gst/gstvalue.c: (gst_value_set_structure),
6228         (gst_value_get_structure), (gst_value_serialize_structure),
6229         (gst_value_deserialize_structure), (_gst_value_initialize):
6230         * gst/gstvalue.h:
6231         * tests/check/gst/gststructure.c: (GST_START_TEST),
6232         (gst_structure_suite):
6233         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6234          Added GstStructure to gst_value_table and its related functions.
6235          Changed gst_structure_to_string to print ';' in the end.
6236          Changed gst_caps_to_string to not print ';' beteween its
6237          fields (structures) anymore and remove the lastes ';' from latest
6238          structure. Now it is possible to have nested structures.
6239          In addition, backward compatibilty is assured by accepting '\0' as
6240          end delimiter. Fixes: #487969.
6241          API: add gst_value_set_structure()
6242          API: add gst_value_get_structure()
6243          API: add GST_VALUE_HOLDS_STRUCTURE
6244
6245 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
6246
6247         * gst/gstbus.c:
6248           When no GSource callback has been set up, tell developer
6249           to use a function that actually exists.
6250
6251 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
6252
6253         * docs/gst/gstreamer-sections.txt:
6254         * gst/Makefile.am:
6255         * gst/gst.c:
6256         * gst/gst.h:
6257         * gst/gstdebugutils.c:
6258         * gst/gstdebugutils.h:
6259         * gst/gstinfo.c:
6260         * gst/gstinfo.h:
6261         * tools/gst-launch.c:
6262           Allow dumping pipelines as dot graphs. Fixes #456573.
6263
6264 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6265
6266         * gst/gststructure.c:
6267           Allow '+' as well, it can be part of media or mime types
6268           such as image/svg+xml.
6269
6270 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6271
6272         * docs/gst/gstreamer-sections.txt:
6273         * gst/gstbus.c:
6274         * gst/gstbus.h:
6275           API: add gst_bus_pop_filtered
6276           API: add gst_bus_timed_pop_filtered
6277           Two new functions for waiting for specific message types on the
6278           bus for a specified amount of time without iterating any main
6279           loops or main contexts.
6280
6281         * tests/check/gst/gstbus.c:
6282           Some tests for the new functions.
6283
6284 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6285
6286         * docs/libs/gstreamer-libs-sections.txt:
6287           Make gtk-doc ignore stuff it should ignore.
6288
6289 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6290
6291         * libs/gst/check/gstcheck.c:
6292         * libs/gst/check/gstcheck.h:
6293           Allow runtime selection of unit tests to run via the GST_CHECKS
6294           environment variable (test case function names, comma-separated).
6295
6296 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6297
6298         * gst/gststructure.c:
6299         * tests/check/gst/gststructure.c:
6300           Revert serialisation change and constrain structure-names after
6301           consensus on irc. Update api documentation to reflect the change.
6302
6303 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6304
6305         * gst/gststructure.c:
6306           Improve serialization and fix tests.
6307
6308         * tests/check/gst/gststructure.c:
6309           Add another test that covers why I actually did the previous structure
6310           change.
6311
6312 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6313
6314         * tools/gst-inspect.c: (print_element_info):
6315         Don't crash when inspecting an element.
6316
6317 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6318
6319         * tests/check/gst/gststructure.c:
6320           Add unit test for escaping of structure name when serialising
6321           and deserialising to/from strings.
6322
6323 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6324
6325         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6326         (gst_single_queue_new):
6327         * plugins/elements/gstqueue.c: (gst_queue_init),
6328         (gst_queue_push_one):
6329         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6330         upstream is tricked into thinking it can suggest a format downstream
6331         while downstream does not support that format. The real problem is that
6332         core calls acceptcaps when pushing a buffer with new caps, for which we
6333         do a little workaround by setting the caps on the srcpad ourselves
6334         before pushing the buffer (until this is figured out). Fixes #486758.
6335
6336 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6337
6338         * gst/gststructure.c:
6339         * gst/gstvalue.c:
6340           Add some more comments and debug output. Quote structure name to fix
6341           deserialisation of some strings.
6342
6343 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6344
6345         * gst/gstbuffer.h:
6346           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6347           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6348
6349 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6350
6351         * tools/gst-inspect.c:
6352           Save approx. 400 1 byte allocs when printing. Use API to acces element
6353           details.
6354
6355         * tools/gst-run.c:
6356           Avoid a strdup.
6357
6358         * tools/gst-xmlinspect.c:
6359           Use API to acces element details.
6360
6361 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6362
6363         * gst/gstinfo.c:
6364           Fix some spelling errors.
6365
6366 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
6367
6368         * gst/gstbin.c: (bin_handle_async_done):
6369         Correctly set the next state if all of our async children commited their
6370         state. This makes sure we can actually cancel the state change in
6371         progress. Fixes a regression in Rhythmbox when seeking.
6372
6373 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6374
6375         * gst/gstbin.c:
6376           Don't shadow local variable.
6377
6378         * gst/gstinfo.c:
6379           Don't shadow global function name.
6380
6381 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6382
6383         * gst/gstelementfactory.c:
6384         * gst/gstpluginfeature.c:
6385         * gst/gstpluginfeature.h:
6386         * gst/gstregistrybinary.c:
6387         * gst/gstregistryxml.c:
6388         * gst/gsttypefind.c:
6389           Use already-interned string for the private GstPluginFeature
6390           plugin_name field.
6391
6392 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6393
6394         * docs/libs/gstreamer-libs-sections.txt:
6395           Add new API to docs; fixes the build.
6396
6397 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
6398         
6399         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6400
6401         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6402         (gst_base_sink_event):
6403         * libs/gst/base/gstbasesink.h:
6404         Add function to wait for EOS, subclasses can use this to correctly wait
6405         for devices to drain before performing the EOS logic. Fixes #485343.
6406         API: gst_base_sink_wait_eos()
6407
6408 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6409
6410         * gst/gstplugin.h:
6411           Cast description string constants in GST_PLUGIN_DEFINE macros
6412           to a (gchar*) to make C++ code using these macros compile
6413           without warning with g++-4.2 (see #462737).  Even if slightly
6414           ugly, this seems preferable to putting the description strings
6415           into the GLib quark table or making the structure member a
6416           const gchar * and doing casts in core code that allocs and
6417           frees these strings, or requiring a cast in the C++ code.
6418
6419 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6420
6421         * gst/gstinfo.h:
6422           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6423           to print the entire class/function signature into the log
6424           file for C++ code.  This only affects C++ code, for C code
6425           everything remains the same.
6426
6427 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
6428
6429         * gst/gstbin.c: (remove_from_queue):
6430         Work around a problem with pipelines containing (semi)loops until a
6431         proper, more complicated solution is ready. See #475455.
6432
6433 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6434
6435         * gst/gstplugin.c:
6436         * gst/gstplugin.h:
6437         * gst/gstregistrybinary.c:
6438         * gst/gstregistryxml.c:
6439           Put more strings into the GLib quark table. No need to keep
6440           a hundred-something copies of identical version strings,
6441           license strings, package name strings and package origin
6442           strings around. 
6443
6444 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6445
6446         * docs/manual/advanced-dataaccess.xml:
6447           Don't imply that it's okay to unconditionally change
6448           buffer data or buffer metadata in a pad probe callback,
6449           and a bunch of other comments. Fixes #430031.
6450
6451 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6452
6453         * win32/common/gstenumtypes.c:
6454         * win32/common/gstenumtypes.h:
6455         * win32/common/gstversion.h:
6456           Update generated files.
6457
6458 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6459
6460         * docs/manual/advanced-autoplugging.xml:
6461           Prefix section with broken code with a warning (see #342432).
6462
6463 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6464
6465         * docs/manual/appendix-integration.xml:
6466         * docs/manual/basics-init.xml:
6467           Call g_thread_init() before g_option_context_new() to
6468           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6469
6470 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6471
6472         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6473         (gst_base_sink_queue_object_unlocked),
6474         (gst_base_sink_queue_object), (gst_base_sink_event),
6475         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6476         When we received EOS and are waiting for when to post the EOS message,
6477         our state is prerolled and we should not return ASYNC.
6478         Reorganize some code paths to implement this behavior.
6479
6480         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6481         (gst_sinks_suite):
6482         Add unit test to verify above EOS fix.
6483
6484 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6485
6486         * plugins/elements/gsttypefindelement.c:
6487         (gst_type_find_element_have_type), (gst_type_find_element_init),
6488         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6489         Move detecting the input caps of the sinkpad to the setcaps function.
6490         This allows us to update the output caps when we receive new input caps
6491         instead of always using the first detected caps.
6492
6493 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6494
6495         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6496         (gst_base_sink_get_position):
6497         Don't try to preroll non-async elements after a flush.
6498         Subtract latency form clock times when reporting position.
6499
6500 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6501
6502         * gst/gstpad.c: (gst_pad_pause_task):
6503         * gst/gstutils.c:
6504         Small comment and documentation update.
6505
6506 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6507
6508         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6509         (gst_base_src_set_live), (gst_base_src_is_live),
6510         (gst_base_src_query_latency), (gst_base_src_perform_seek),
6511         (gst_base_src_default_event), (gst_base_src_wait),
6512         (gst_base_src_do_sync), (gst_base_src_get_range),
6513         (gst_base_src_pad_get_range), (gst_base_src_loop),
6514         (gst_base_src_unlock), (gst_base_src_unlock_stop),
6515         (gst_base_src_set_flushing), (gst_base_src_set_playing),
6516         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6517         (gst_base_src_change_state):
6518         Rework the locking of basesrc in a similar fashion to basesink. We
6519         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6520         us to handle live sources and semi live ones much better.
6521         Simplify flushing.
6522         Fix unlocking when seeking, shutting down and pausing in live sources.
6523
6524 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6525
6526         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6527         Fix compilation again.
6528
6529 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6530
6531         * gst/gstelement.c:
6532           Use meaningful categories for the logs to clean the default one.
6533
6534 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6535
6536         * tests/check/pipelines/cleanup.c:
6537           Print message name and not just number.
6538
6539 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6540
6541         * docs/design/draft-tagreading.txt:
6542           Add some more thoughts.
6543
6544 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6545
6546         * tests/check/pipelines/simple-launch-lines.c:
6547           Print message name and not just number.
6548
6549 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6550
6551         * libs/gst/base/gsttypefindhelper.c:
6552           Speedup typefinding. This is work in progress (see #459862).
6553
6554 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6555
6556         * gst/gstplugin.c:
6557           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6558           Spotted by Josep Torra Valles <josep@fluendo.com>.
6559
6560 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
6561
6562         * gst/gstclock.h:
6563           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6564           field has moved to GstObject.
6565
6566 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
6567
6568         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6569         (gst_base_src_get_range), (gst_base_src_change_state):
6570         Call unlock for live sources so that they can't get stuck in _create and
6571         produce a buffer before they are set back to PLAYING.
6572
6573 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
6574
6575         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6576         (gst_queue_locked_dequeue):
6577         Comment the segment-related code... in the PROPER function.
6578         See #482147 and my commit from yesterday.
6579
6580 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
6581
6582         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6583         Also initialize the counter that calculates the first timestamp on a
6584         buffer correctly for non-live sources.
6585
6586 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
6587
6588         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6589         Disable code that's breaking the current-time-level reporting.
6590         See #482147
6591
6592 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
6593
6594         * docs/gst/gstreamer-sections.txt:
6595         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6596         as they shouldn't show up. Fixes the docs build.
6597
6598 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
6599         
6600         * gst/gstinfo.h:
6601         Add an explicit variable importation needed on VS6 (only for MSC_VER)
6602         Define M_PI which is used in files which are including gstinfo.h. 
6603         VS6 includes doesn't define it.
6604         * win32/common/libgstbase.def:
6605         * win32/common/libgstcontroller.def:
6606         * win32/common/libgstreamer.def:
6607         Add new exported functions and variables.
6608         * win32/vs6/libgstcontroller.dsp:
6609         * win32/vs6/libgstreamer.dsp:
6610         Update the list of files to build.
6611         
6612 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6613
6614         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6615
6616         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6617         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6618         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6619         Improve debugging. Fixes #480858.
6620
6621 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6622
6623         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6624
6625         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6626         First patch of code cleanups, use the macros and right arguments in the
6627         macros to signal and lock the queue. See #480858.
6628
6629 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
6630
6631         * gst/gstbus.c: (poll_func):
6632         Improve debugging when dealing with _poll().
6633
6634 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6635
6636         * gst/gstregistryxml.c:
6637           Fix memory leak I introduced a few days ago.
6638
6639 2007-09-26  Michael Smith <msmith@fluendo.com>
6640
6641         * gst/gstbuffer.c: (gst_buffer_finalize):
6642           Make it once again possible to free GstBuffers in the default
6643           build.
6644           The poisoning scribbles on parts of the miniobject we need in
6645           order to free it.
6646           Fixes #480341
6647
6648 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6649
6650         * docs/gst/gstreamer-sections.txt:
6651         * gst/gsttaglist.c:
6652         * gst/gsttaglist.h:
6653         API: add GST_TAG_COMPOSER, fixes #459809.
6654
6655 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
6656
6657         * gst/gstplugin.c:
6658         * gst/gstplugin.h:
6659         Add the 3-clause BSD license and the MIT/X11 license to the license
6660         list. Fixes #479784.
6661
6662 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6663
6664         * docs/faq/getting.xml:
6665           Add Q+A about different GStreamer versions (#364056).
6666
6667 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6668
6669         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6670         (gst_base_sink_event), (gst_base_sink_change_state):
6671         Return correct gboolean from query function.
6672
6673 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6674
6675         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6676         (gst_base_sink_event), (gst_base_sink_query),
6677         (gst_base_sink_change_state):
6678         Simplify latency query.
6679         When not synchronizing, we can report latency without querying the peer
6680         element.
6681
6682 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6683
6684         * gst/gstobject.h:
6685         * gst/gstvalue.c:
6686         Fix small typos in the docs.
6687
6688 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6689
6690         * docs/design/draft-latency.txt:
6691         * docs/design/draft-push-pull.txt:
6692         * docs/design/draft-tagreading.txt:
6693         * docs/design/part-MT-refcounting.txt:
6694         * docs/design/part-activation.txt:
6695         * docs/design/part-block.txt:
6696         * docs/design/part-element-source.txt:
6697         * docs/design/part-events.txt:
6698         * docs/design/part-gstbin.txt:
6699         * docs/design/part-gstelement.txt:
6700         * docs/design/part-gstobject.txt:
6701         * docs/design/part-gstpipeline.txt:
6702         * docs/design/part-messages.txt:
6703         * docs/design/part-preroll.txt:
6704         * docs/design/part-push-pull.txt:
6705         * docs/design/part-qos.txt:
6706         * docs/design/part-query.txt:
6707         * docs/design/part-scheduling.txt:
6708         * docs/design/part-seeking.txt:
6709         * docs/design/part-segments.txt:
6710         * docs/design/part-states.txt:
6711         Documentation updates and typo fixes.
6712
6713 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6714
6715         * plugins/elements/gstfakesink.c:
6716           Add some debug text to error message to indicate that
6717           we errored out on request.
6718
6719         * tools/gst-launch.c:
6720           When the state change to PLAYING fails, check for an
6721           error message on the bus and print it.
6722
6723 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6724
6725         translated by: Jorge González González <aloriel@gmail.com>
6726
6727         * po/LINGUAS:
6728         * po/es.po:
6729           Added Spanish translation.
6730
6731 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
6732
6733         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6734         Fix printf arguments.
6735
6736 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6737
6738         * tests/check/generic/states.c:
6739           Improved state change unit test.
6740
6741 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6742
6743         * gst/gstbin.h:
6744           Move priv to the right place.
6745
6746         * gst/gstsystemclock.c:
6747           Add FIXME: and improve log.
6748
6749         * tests/check/Makefile.am:
6750         * tests/examples/manual/Makefile.am:
6751           Work with all types of registries.
6752
6753 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
6754
6755         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6756         Don't unref the event after pushing it. Fixes #478401.
6757
6758 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6759
6760         * .cvsignore:
6761         * tests/examples/manual/.cvsignore:
6762           Ignore registries in any format.
6763
6764 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6765
6766         * gst/glib-compat-private.h:
6767           Add compatibility macro for g_intern_string() for
6768           GLib-2.8 (any reason we can't just bump the
6769           requirement to at least 2.10?)
6770
6771         * gst/gstpadtemplate.h:
6772         * gst/gstelementfactory.c:
6773         * gst/gstregistryxml.c:
6774         * gst/gstregistrybinary.c:
6775           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6776           up the internal code accordingly.  This shouldn't be a problem, since
6777           there is no reason external code could ever assume the string in such
6778           a structure is dynamically allocated unless it did that itself;  the
6779           use of g_strdup() is private to element factories.  The new code also
6780           saves some memory by putting pad template name strings into the GLib
6781           quark table instead of allocating them dynamically.
6782           Declaring this field constant fixes warnings with g++-4.2 when using
6783           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6784
6785 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6786
6787         * gst/gstelementfactory.c:
6788           Release static caps. Fixes #475723.
6789
6790 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
6791
6792         * gst/gstinfo.c:
6793         * gst/gstinfo.h:
6794           Make some internal API take const gchar * instead of just
6795           gchar * to avoid compiler warnings with g++-4.2.2 when
6796           passing string constants (partially fixes #478092).
6797
6798 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6799
6800         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
6801         A latency query fails when one of the sinks fail.
6802
6803         * gst/gstelement.c: (gst_element_set_base_time):
6804         Improve debugging.
6805
6806 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
6807
6808         * gst/gstbin.c: (gst_bin_continue_func):
6809         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6810         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
6811         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
6812
6813         Fix minor compilation warnings shown with Forte.
6814
6815 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6816
6817         * plugins/elements/gstqueue.c: (apply_buffer),
6818         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
6819         Measure queue level based on the diff between head and tail timestamps
6820         even when pushing the first buffer.
6821
6822 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6823
6824         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6825         (gst_base_sink_event), (gst_base_sink_change_state):
6826         Sinks that don't preroll can always be queried for the latency.
6827         Don't post ASYNC start when we are not async.
6828
6829 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6830
6831         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6832         (gst_queue_handle_sink_event), (gst_queue_chain),
6833         (gst_queue_push_one), (gst_queue_handle_src_query),
6834         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
6835         * plugins/elements/gstqueue.h:
6836         When downstream returns UNEXPECTED from pushing a buffer, don't try to
6837         push more buffers but allow pushing of EOS and NEWSEGMENT.
6838         Add some more debug info here and there. Fixes #476514.
6839
6840 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6841
6842         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6843         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
6844         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6845         (gst_base_sink_set_flushing), (gst_base_sink_query),
6846         (gst_base_sink_change_state):
6847         Latency query is allowed after we are prerolled. Introduce a new flag
6848         for this and stop abusing other variables.
6849
6850 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6851
6852         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6853         Push OOB events downstream when we get them in send_event. This allows
6854         the application to insert events in the pipeline.
6855         Add some more comments.
6856
6857 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6858
6859         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
6860         (do_bin_latency), (gst_bin_change_state_func):
6861         * gst/gstpipeline.c: (gst_pipeline_change_state):
6862         Move latency query from GstPipeline to GstBin so that we can also
6863         use it when async-handling is enabled on bins.
6864
6865 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6866
6867         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6868         (gst_base_src_do_sync), (gst_base_src_change_state):
6869         Update docs.
6870         Clean up the timestamping and syncing code for pseudo live sources.
6871
6872 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
6873
6874         Patch by: Steve Fink  <sphink gmail com>
6875
6876         * docs/manual/appendix-checklist.xml:
6877           Mention less -R switch in the section about debug output (#474055).
6878
6879 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6880
6881         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6882         Queue can latency to the pipeline up to the configured max size in time.
6883         Report this fact in the latency query.
6884
6885 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6886
6887         Patch by: Sebastien Moutte <sebastien at moutte dot net>
6888
6889         * libs/gst/controller/gstinterpolation.c:
6890         * libs/gst/controller/gstlfocontrolsource.c:
6891         Use gst_guint64_to_gdouble() when converting from a uint64 or
6892         GstClockTime to double to fix the build on win32. Fixes #474371.
6893
6894 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6895
6896         * gst/gstbuffer.c: (gst_buffer_finalize):
6897         Implement poisoning for GstBuffer if --enable-poisoning is specified.
6898         When finalizing a buffer the complete struct is filled with 0xff,
6899         thus making a use of the buffer after the final unref impossible.
6900
6901 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6902
6903         * tests/check/libs/controller.c: (GST_START_TEST):
6904         Use fail_unless_equals_int(a, b) instead of
6905         fail_unless_equals (a == b) to get better output on failures.
6906
6907 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6908
6909         * tests/check/gst/gsturi.c:
6910           Also check for the other file URI variant on win32.
6911
6912 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6913
6914         * gst/gsturi.c: (gst_uri_get_location):
6915           If there's no hostname, we want to return 'c:/foo/bar.txt'
6916           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
6917
6918         * tests/check/gst/gsturi.c:
6919           Unit test for the above and a few more things.
6920
6921 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6922
6923         * docs/design/part-live-source.txt:
6924         Add docs on how live sources should timestamp.
6925
6926         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6927         Add some more debug info.
6928         For subclasses that are live and like to sync, add aditional startup
6929         latency to sync time and timestamps so that we timstamp according to the
6930         design doc.
6931
6932 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
6933
6934         * gst/gstbuffer.c:
6935           Also do a g_type_class_ref() for the subbuffer type in
6936           the init function.
6937
6938 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6939
6940         * docs/gst/gstreamer-sections.txt:
6941         * gst/gstpad.c: (gst_pad_peer_query):
6942         * gst/gstpad.h:
6943         Add function to perform a query on the peer of a pad.
6944         API: gst_pad_peer_query()
6945
6946 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
6947
6948         * tests/check/gst/gstsystemclock.c:
6949           Cleanup the test a little (use gst-logging and not g_message). Improve
6950           test to check if a wait reached the target.
6951
6952 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
6953
6954         * docs/libs/gstreamer-libs-sections.txt:
6955           Add new API to docs and fix the build.
6956
6957 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
6958
6959         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6960         (gst_base_src_init), (gst_base_src_set_do_timestamp),
6961         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
6962         (gst_base_src_get_property), (gst_base_src_do_sync):
6963         * libs/gst/base/gstbasesrc.h:
6964         Add property to make the basesrc timestamp buffers based on the current
6965         running time.
6966         API: GstBaseSrc::do-timestamp
6967         API: gst_base_src_set_do_timestamp()
6968         API: gst_base_src_get_do_timestamp()
6969
6970 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
6971
6972         * docs/random/release:
6973           Really make sure translations are up-to-date before
6974           a release (#465010).
6975
6976 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
6977
6978         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6979         Always destroy the timer, also in error cases.
6980
6981 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
6982
6983         * docs/manual/highlevel-xml.xml:
6984         Fix XML example code. Fixes #472714.
6985
6986 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
6987
6988         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6989         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6990         (gst_base_sink_query):
6991         Protect eos and have_preroll with the OBJECT lock so we don't need to
6992         take the PREROLL lock when querying the latency. Fixes #473846.
6993
6994 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
6995
6996         * gst/gstelement.c:
6997           Give some log-messages a category.
6998
6999 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
7000
7001         * gst/gststructure.c:
7002         (gst_structure_fixate_field_nearest_fraction):
7003         Fix fraction list fixation code. Take the fraction with the smallest
7004         difference with the target instead of the first one in the list.
7005
7006         * tests/check/gst/gststructure.c: (GST_START_TEST),
7007         (gst_structure_suite):
7008         Added test to verify correct fraction list fixation behaviour.
7009
7010 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
7011
7012         * win32/common/libgstreamer.def:
7013           Export gst_bus_add_signal_watch too.
7014
7015 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
7016
7017         * docs/libs/gstreamer-libs-sections.txt:
7018         Add new methods to docs.
7019
7020         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7021         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
7022         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
7023         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
7024         * libs/gst/base/gstbasesink.h:
7025         Add ts-offset property to fine-tune the synchronisation.
7026         API: GstBaseSink::ts-offset property
7027         API: gst_base_sink_set_ts_offset()
7028         API: gst_base_sink_get_ts_offset()
7029
7030 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
7031
7032         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7033         (gst_base_sink_init), (gst_base_sink_set_sync),
7034         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7035         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
7036         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
7037         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
7038         (gst_base_sink_get_property), (gst_base_sink_change_state):
7039         * libs/gst/base/gstbasesink.h:
7040         Add async property to instruct the sink never to inform the parent about
7041         ASYNC state changes, update docs.
7042         Check argument with g_return_* for the public functions.
7043         API: GstBaseSink::async property
7044         API: gst_base_sink_set_async_enabled()
7045         API: gst_base_sink_is_async_enabled()
7046
7047 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
7048
7049         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
7050         Improve debugging.
7051
7052         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7053         (gst_base_src_default_query), (gst_base_src_wait),
7054         (gst_base_src_do_sync), (gst_base_src_change_state):
7055         Rearrange some code so that we can add support for measuring the 
7056         startup latency.
7057
7058 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
7059
7060         * docs/random/ensonic/dynlink.txt:
7061           More thoughs on this.
7062
7063         * plugins/elements/gstcapsfilter.c:
7064           Add bugzilla ticket number to FIXME comment.
7065
7066 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
7067
7068         * docs/design/part-TODO.txt:
7069         * docs/design/part-block.txt:
7070         Update some docs.
7071
7072 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7073
7074         * gst/Makefile.am:
7075           Revert patch which uses $(gst_headers) instead of $^ because it
7076           breaks make dist.
7077
7078 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7079
7080         * tests/check/gst/gstbin.c: (GST_START_TEST):
7081           Fix leaks in the new unit test.
7082
7083 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
7084
7085         * gst/gst.c:
7086           Don't use GST_INFO before the debug system is actually initialised
7087           (shouldn't do any harm, but won't print anything either, so we can
7088           just as well remove it).
7089
7090         * gst/gstinfo.h:
7091           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
7092           compilers that don't support variadic macros (such as MSVC), should
7093           check for debug_level <= __gst_debug_min as well, since that's the
7094           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
7095           inline helper functions. Should improve performance a bit, but also
7096           makes sure uses of GST_INFO et.al are ignored if the debugging
7097           system isn't initialised yet (instead of printing an assertion
7098           failure).
7099
7100 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
7101
7102         patch by: David Nečas <yeti@physics.muni.cz>
7103
7104         * gst/Makefile.am:
7105           Replace some non portable makefile constructs.
7106
7107 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
7108
7109         * common/gtk-doc-plugins.mak:
7110           Grrrrr. Don't remove the types file on make clean.
7111
7112 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
7113
7114         * tools/gst-launch.1.in:
7115         Add colorspace to example pipeline. Fixes #458274.
7116
7117 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
7118
7119         * docs/random/release:
7120           The release manager should run 'make download-po' before making a
7121           release to make sure translations are up-to-date.
7122
7123         * po/LINGUAS:
7124         * po/be.po:
7125         * po/pl.po:
7126         * po/rw.po:
7127           Add some new translations.
7128
7129 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
7130
7131         * tools/gst-launch.c: (event_loop), (main):
7132         Don´t try to do any state management when a live pipeline posts
7133         buffering messages.
7134         Also make the buffering string translatable.
7135
7136 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7137
7138         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
7139         (bin_handle_async_start), (gst_bin_handle_message_func):
7140         Improve debugging.
7141         When adding elements, insert messages into the bus of the newly added
7142         element and make sure the element is the source of the message. This
7143         allows the parent bin to intercept the message and do the
7144         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
7145         messages to the app (which is not allowed).
7146         Update some docs.
7147
7148         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7149         Fix testsuite so that is does not work around messages that should not
7150         have been posted in the first place.
7151
7152 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7153
7154         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
7155         (update_degree), (gst_bin_sort_iterator_next):
7156         Fix annoying bug in the sorted iterator where a sink that is not really
7157         a sink (when it has downstream links) screwed up the iterator.
7158
7159         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7160         Unit test to verify the fix.
7161
7162 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7163
7164         * gst/gstmessage.h:
7165         Add some more docs for the messages.
7166
7167         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7168         (gst_base_sink_query):
7169         Add some more debugging.
7170
7171         * tools/gst-launch.c: (event_loop):
7172         When interrupting, don't try to set pipeline to PAUSED twice.
7173
7174 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7175
7176         
7177         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
7178         (bin_handle_async_start), (gst_bin_handle_message_func):
7179         Move ASYNC_START message posting to where it belongs, similar to
7180         async_done. 
7181         Don't post ASYNC_START when we are in error. 
7182         Post ASYNC_START when we added an async element to a bin.
7183
7184 2007-08-14  Julien MOUTTE  <julien@moutte.net>
7185
7186         * gst/gstindex.c: (gst_index_add_association): Fix index entry
7187         generation from vargs. Fixes #466595.
7188
7189 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7190
7191         * gst/gstbin.c: (gst_bin_element_set_state):
7192         Always change the state of a NO_PREROLL element even if it has ASYNC
7193         elements inside (in case of a bin).
7194
7195         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
7196         Unit test for this case.
7197
7198 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
7199
7200         * libs/gst/check/gstbufferstraw.c:
7201         * libs/gst/check/gstcheck.h:
7202         * libs/gst/controller/gstcontroller.c:
7203         * libs/gst/controller/gstcontrolsource.h:
7204         * libs/gst/controller/gstlfocontrolsource.h:
7205         * plugins/elements/gstcapsfilter.h:
7206         * plugins/elements/gstfdsink.h:
7207         * plugins/elements/gstfdsrc.h:
7208           Add more missing docs.
7209
7210 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7211
7212         * gst/gststructure.c:
7213         Add Since tag to docs.
7214
7215 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7216
7217         * docs/gst/gstreamer-sections.txt:
7218         * gst/gststructure.c: (gst_structure_get_uint):
7219         * gst/gststructure.h:
7220         Add function to get uint from a structure.
7221         API: gst_structure_get_uint()
7222
7223 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7224
7225         * gst/gstcaps.c: (gst_caps_set_simple_valist),
7226         (gst_caps_intersect):
7227         Fix proper check for simple caps.
7228
7229 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
7230
7231         * docs/gst/Makefile.am:
7232         * docs/libs/Makefile.am:
7233           Remove cruft and do some cleanups.
7234
7235         * docs/gst/gstreamer-docs.sgml:
7236         * docs/libs/gstreamer-libs-docs.sgml:
7237           Prepare for comming gtkdoc features (rebase against online docs).
7238
7239 2007-08-10  Michael Smith <msmith@fluendo.com>
7240
7241         * docs/gst/gstreamer-sections.txt:
7242           Add gst_registry_add_path to docs.
7243
7244 2007-08-10  Michael Smith <msmith@fluendo.com>
7245
7246         * gst/gstregistry.h:
7247           Add gst_registry_add_path, which was missing from this header.
7248
7249 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7250
7251         * libs/gst/controller/gstlfocontrolsource.c:
7252           Printf format fix.
7253
7254 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7255
7256         * libs/gst/base/gstbasesink.c:
7257           Don't send an async_start message during downwards state change if 
7258           target state is less than READY
7259
7260 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7261
7262         translated by: Gabor Kelemen <kelemeng@gnome.hu>
7263
7264         * po/LINGUAS:
7265         * po/hu.po:
7266           Added Hungarian translation.
7267
7268 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7269
7270         * po/fi.po:
7271         * po/it.po:
7272         * po/nl.po:
7273         * po/sv.po:
7274         * po/uk.po:
7275           Updated translations.
7276
7277 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7278
7279         * libs/gst/controller/Makefile.am:
7280         Dist gstlfocontrolsourceprivate.h
7281
7282 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7283
7284         * docs/libs/gstreamer-libs.types:
7285         Don't register the enum type gst_lfo_waveform_get_type() in the
7286         .types file - only GObject derived types belong.
7287
7288 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7289
7290         Patch by: <arenevier at fdn dot fr>
7291
7292         * gst/gstbuffer.h:
7293         Remove comma from last element in enum to avoid compile errors when
7294         using -pendantic. Fixes #464366.
7295
7296 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7297
7298         * docs/design/part-TODO.txt:
7299         Add some more TODO items
7300
7301         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7302         Improve debugging.
7303
7304         * gst/gstcaps.c: (gst_caps_intersect):
7305         Optimize trivial intersection case between identical caps pointers.
7306
7307         * gst/gstelement.c: (gst_element_continue_state),
7308         (gst_element_set_state_func):
7309         * gst/gstpad.c:
7310         Fix spelling and grammar mistakes.
7311
7312 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
7313
7314         * po/POTFILES.in:
7315         * po/POTFILES.skip:
7316           Update POTFILES. Fixes #461599.
7317
7318 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7319
7320         * gst/gst.c:
7321         Fix confusing typo in debug output.
7322
7323 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7324
7325         reviewed by: Stefan Kost <ensonic@users.sf.net>
7326
7327         * libs/gst/controller/Makefile.am:
7328         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7329         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7330         (gst_lfo_control_source_new),
7331         (gst_lfo_control_source_set_waveform),
7332         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7333         (gst_lfo_control_source_finalize),
7334         (gst_lfo_control_source_dispose),
7335         (gst_lfo_control_source_set_property),
7336         (gst_lfo_control_source_get_property),
7337         (gst_lfo_control_source_class_init):
7338         * libs/gst/controller/gstlfocontrolsource.h:
7339         * libs/gst/controller/gstlfocontrolsourceprivate.h:
7340         API: Add GstLFOControlSource, a control source that gives values
7341         for specific timestamps based on several periodic waveforms.
7342         Fixes #459717.
7343
7344         * tests/check/libs/controller.c: (GST_START_TEST),
7345         (gst_controller_suite):
7346         * docs/libs/gstreamer-libs-docs.sgml:
7347         * docs/libs/gstreamer-libs-sections.txt:
7348         * docs/libs/gstreamer-libs.types:
7349         Add documentation and unit tests for GstLFOControlSource.
7350
7351 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
7352
7353         * configure.ac:
7354         Back to CVS
7355
7356 === release 0.10.14 ===
7357
7358 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
7359
7360         * configure.ac:
7361           releasing 0.10.14, "Breathing Vacuum"
7362
7363 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
7364
7365         * gst/gstelement.c: (gst_element_class_set_details_simple):
7366         * gst/gstelement.h:
7367           Make strings passed to gst_element_class_set_details_simple()
7368           constant, as they should be (#462752).
7369
7370 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
7371
7372         * gst/gstbin.c: (gst_bin_change_state_func),
7373         (bin_handle_async_done), (gst_bin_handle_message_func):
7374         Don't forget about the fact that some element went ASYNC even after a
7375         resync. This makes us post the ASYNC_DONE message correctly.
7376         Fixes #462558.
7377
7378 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7379
7380         * gst/gstregistry.c: (gst_registry_add_feature):
7381         When replacing an existing feature in the registry, make sure to
7382         continue holding a reference until we've replaced the name string
7383         within our feature hash table. Make sure to use g_hash_table_replace
7384         instead of g_hash_table_insert to ensure the new name string is used
7385         as a key instead of the old one that we're about to free.
7386         Fixes: #462085
7387
7388 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7389
7390         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7391         (gst_plugin_feature_set_name):
7392         Revert patch from #459466 until after the release and we can work
7393         out exactly what the problem is (if any).
7394
7395 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7396
7397         * docs/gst/gstreamer-sections.txt:
7398         * gst/gsttaglist.c:
7399         * gst/gsttaglist.h:
7400           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7401
7402 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7403
7404         * docs/libs/Makefile.am:
7405         Include our build-prefix libs and includes before the generic ones to
7406         avoid linking against the installed libs when we want the build-tree
7407         ones.
7408
7409 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7410
7411         Patch by: Steve Fink  <sphink gmail com>
7412
7413         * docs/pwg/building-testapp.xml:
7414           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7415           if people try to build or install the example from the plugin
7416           template against a GStreamer from package using the configure
7417           defaults.
7418
7419 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
7420
7421         Patch by: Steve Fink  <sphink gmail com>
7422
7423         * tools/gst-inspect.1.in:
7424           Document --print-all and --print-plugin-auto-install-info command
7425           line options in man page.
7426
7427 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7428
7429         * docs/gst/gstreamer-sections.txt:
7430         Add docs for new api function.
7431
7432 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7433
7434         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7435         * gst/gstelementfactory.h:
7436         API: gst_element_factory_has_interface()
7437         Added method to check if an element factory implements a named
7438         interface.
7439
7440 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
7441
7442         * configure.ac:
7443         * docs/gst/gstreamer.types.in:
7444           Another conditional doc check.
7445
7446         * gst/gstmessage.c:
7447         * gst/gstparamspecs.h:
7448         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7449         * gst/gstvalue.c:
7450         * gst/gstxml.h:
7451           API-doc fixes.
7452
7453 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7454
7455         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7456         (gst_registry_binary_load_feature),
7457         (gst_registry_binary_load_plugin),
7458         (gst_registry_binary_read_cache):
7459           Print error just once and with additional info.
7460
7461 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7462
7463         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7464         (helper_find_suggest), (helper_find_get_length),
7465         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7466         (gst_type_find_helper_for_buffer):
7467           Cleanup the typefindhelper code and add private doc comments.
7468
7469 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
7470
7471         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7472         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7473         Fix capsfilter for cases where the caps set on capsfilter will provide
7474         additional information.
7475         Fixes #449197
7476
7477 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7478
7479         * gst/gsttypefindfactory.c:
7480           Fix docs that recommened wrong function to use.
7481
7482 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7483
7484         * tools/gst-inspect.c: (print_plugin_features):
7485           Also give media-type for typefinders in element output.
7486
7487 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7488
7489         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7490         (gst_registry_remove_features_for_plugin_unlocked),
7491         (gst_registry_add_feature), (gst_registry_remove_feature),
7492         (gst_registry_lookup_feature_locked):
7493         * gst/gstregistry.h:
7494           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7495           Fixes #459501.
7496
7497 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7498
7499         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7500         (gst_plugin_feature_set_name):
7501           Avoid double memory usage for pluginfeature names. Fixes #459466.
7502
7503 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7504
7505         * gst/gstpad.h:
7506           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7507           driving the pipeline may need to explicitly check for NOT_LINKED as
7508           well, since IS_FATAL doesn't cover that.
7509
7510 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7511
7512         * docs/pwg/advanced-types.xml:
7513           Fix typo and duplicate entry in video formats list.
7514
7515 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
7516
7517         * libs/gst/controller/gstinterpolation.c:
7518         Also round to the nearest int when using cubic interpolation.
7519
7520 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
7521
7522         * libs/gst/controller/gstinterpolation.c:
7523         When linearly interpolating integer types, round to the nearest int
7524         by adding 0.5. Don't do it for float/double types.
7525         Fixes the failing controller test on my machine, which is somehow
7526         rounding differently than on the buildbots.
7527
7528 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7529
7530         * tools/gst-plot-timeline.py:
7531           Better log parsing (categories can have -). Adjust text vs. lines, so
7532           that they span the same y-range.        
7533
7534 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7535
7536         * docs/random/ensonic/audiobaseclasses.txt:
7537         * docs/random/ensonic/dynlink.txt:
7538         * docs/random/ensonic/profiling.txt:
7539           Save my thoughts.
7540
7541         * docs/random/moving-plugins:
7542           Add note to use g_assert type macros.
7543
7544 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7545
7546         * configure.ac:
7547         * libs/gst/check/Makefile.am:
7548           Add libm check as we use in for plugins.
7549
7550 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
7551
7552         * gst/gstbin.c: (gst_bin_continue_func):
7553         Check that the state_cookie hasn't changed since the continue_func
7554         was scheduled. Avoids problems where the state changes back to
7555         something it shouldn't be because it was changed in the meantime.
7556
7557 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
7558
7559         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7560         (gst_registry_binary_save_string),
7561         (gst_registry_binary_save_pad_template),
7562         (gst_registry_binary_save_feature),
7563         (gst_registry_binary_save_plugin),
7564         (gst_registry_binary_load_feature),
7565         (gst_registry_binary_load_plugin),
7566         (gst_registry_binary_read_cache):
7567           Fix memory leak. Be less verbose in the log.
7568
7569 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7570
7571         * tests/check/elements/.cvsignore:
7572         Add file to cvsignore as commanded.
7573
7574 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7575
7576         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7577         (mq_dummypad_event), (run_output_order_test):
7578         Use a GStaticMutex to protect all cases where libcheck
7579         fail_if/fail_unless macros might be called from multiple threads
7580         simultaneously to avoid errors like:
7581           "check_pack.c:107: :-1081725400:Bad message type arg"
7582
7583 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7584
7585         * tests/check/pipelines/stress.c: (GST_START_TEST):
7586         Make sure we set the pipeline back to the NULL state before
7587         dropping our final reference.
7588
7589 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7590
7591         * tests/check/elements/tee.c: (GST_START_TEST):
7592         Make the tee stress-test a little less stressful so it doesn't just
7593         time out on slow-machines, and remove a small race when it's starting 
7594         up by adding a get_state() call.
7595
7596 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
7597
7598         * gst/gst.c:
7599           Avoid reading registry twice on startup. Fixes #457322.
7600
7601 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7602
7603         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7604         * pkgconfig/gstreamer-check.pc.in:
7605         Substitute the CFLAGS for libcheck into our .pc file too so that
7606         dependent modules will pick it up properly if libcheck is installed
7607         into some other prefix.
7608
7609 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7610
7611         * configure.ac:
7612         Revert the pkg-config check for libcheck, since it pulls in the
7613         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7614         a proper solution, either from the check project, or something else.
7615
7616 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
7617
7618         * configure.ac:
7619           Use pkg-config to locate check.
7620
7621 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
7622
7623         * gst/gsttaglist.c:
7624           Fix doc syntax.
7625
7626         * gst/gstutils.c:
7627         * gst/gstutils.h:
7628           Add deprecation guards.
7629
7630         * libs/gst/base/gstcollectpads.h:
7631           Don't document object (this is implicitly private).
7632
7633 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
7634
7635         * gst/gststructure.c: (gst_structure_parse_value):
7636           When deserialising foo=bar without a type cast, check if it's a
7637           boolean before falling back to a string type, otherwise things like
7638           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7639           because the filtercaps end up having a signed=(string)true field,
7640           which causes problems later when intersection caps.
7641
7642         * tests/check/gst/gststructure.c: (GST_START_TEST):
7643           Add a unit test for this.
7644
7645 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
7646
7647         Reviewed by: Stefan Kost <ensonic@users.sf.net>
7648
7649         * libs/gst/controller/Makefile.am:
7650         * libs/gst/controller/gstcontroller.c:
7651         (gst_controlled_property_add_interpolation_control_source),
7652         (gst_controlled_property_new), (gst_controlled_property_free),
7653         (gst_controller_find_controlled_property),
7654         (gst_controller_new_valist), (gst_controller_new_list),
7655         (gst_controller_new), (gst_controller_remove_properties_valist),
7656         (gst_controller_remove_properties_list),
7657         (gst_controller_remove_properties),
7658         (gst_controller_set_property_disabled),
7659         (gst_controller_set_disabled), (gst_controller_set_control_source),
7660         (gst_controller_get_control_source), (gst_controller_get),
7661         (gst_controller_sync_values), (gst_controller_get_value_array),
7662         (_gst_controller_dispose), (gst_controller_get_type),
7663         (gst_controlled_property_set_interpolation_mode),
7664         (gst_controller_set), (gst_controller_set_from_list),
7665         (gst_controller_unset), (gst_controller_unset_all),
7666         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7667         * libs/gst/controller/gstcontroller.h:
7668         * libs/gst/controller/gstcontrollerprivate.h:
7669         * libs/gst/controller/gstcontrolsource.c:
7670         (gst_control_source_class_init), (gst_control_source_init),
7671         (gst_control_source_get_value),
7672         (gst_control_source_get_value_array), (gst_control_source_bind):
7673         * libs/gst/controller/gstcontrolsource.h:
7674         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7675         (gst_object_get_control_source):
7676         * libs/gst/controller/gstinterpolation.c:
7677         (gst_interpolation_control_source_find_control_point_node),
7678         (gst_interpolation_control_source_get_first_value),
7679         (_interpolate_none_get), (interpolate_none_get),
7680         (interpolate_none_get_boolean_value_array),
7681         (interpolate_none_get_enum_value_array),
7682         (interpolate_none_get_string_value_array),
7683         (_interpolate_trigger_get), (interpolate_trigger_get),
7684         (interpolate_trigger_get_boolean_value_array),
7685         (interpolate_trigger_get_enum_value_array),
7686         (interpolate_trigger_get_string_value_array):
7687         * libs/gst/controller/gstinterpolationcontrolsource.c:
7688         (gst_control_point_free), (gst_interpolation_control_source_reset),
7689         (gst_interpolation_control_source_new),
7690         (gst_interpolation_control_source_set_interpolation_mode),
7691         (gst_interpolation_control_source_bind),
7692         (gst_control_point_compare), (gst_control_point_find),
7693         (gst_interpolation_control_source_set_internal),
7694         (gst_interpolation_control_source_set),
7695         (gst_interpolation_control_source_set_from_list),
7696         (gst_interpolation_control_source_unset),
7697         (gst_interpolation_control_source_unset_all),
7698         (gst_interpolation_control_source_get_all),
7699         (gst_interpolation_control_source_get_count),
7700         (gst_interpolation_control_source_init),
7701         (gst_interpolation_control_source_finalize),
7702         (gst_interpolation_control_source_dispose),
7703         (gst_interpolation_control_source_class_init):
7704         * libs/gst/controller/gstinterpolationcontrolsource.h:
7705         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7706         API: Refactor GstController into the core controller which can take
7707         a GstControlSource for providing actual values for timestamps.
7708         Implement a interpolation control source and use this for backward
7709         compatibility, deprecate a bunch of functions that are now handled
7710         by GstControlSource or GstInterpolationControlSource.
7711         Make it possible to disable the controller completely or only for
7712         specific properties. Fixes #450711.
7713         * docs/libs/gstreamer-libs-docs.sgml:
7714         * docs/libs/gstreamer-libs-sections.txt:
7715         * docs/libs/gstreamer-libs.types:
7716         Add new functions and classes to the docs.
7717         * tests/check/libs/controller.c: (GST_START_TEST),
7718         (gst_controller_suite):
7719         * tests/examples/controller/audio-example.c: (main):
7720         Port unit test and example to the new API and add some new
7721         unit tests.
7722
7723 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
7724
7725         Patch by: Mark Nauwelaerts <manauw at skynet be>
7726
7727         * plugins/elements/gstmultiqueue.c:
7728         (gst_multi_queue_get_internal_links), (apply_buffer),
7729         (single_queue_overrun_cb), (gst_single_queue_new):
7730         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7731         the pipeline layout can be tracked correctly. Fixes #453732.
7732
7733 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
7734
7735         * docs/gst/Makefile.am:
7736         * docs/libs/Makefile.am:
7737         * docs/plugins/Makefile.am:
7738           Simplify --extra-dir as gtkdoc scans recursively.
7739
7740 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7741
7742         * tools/gst-launch.c: (main):
7743         When we got an error, there is no point in waiting for preroll when
7744         shutting down.
7745
7746 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7747
7748         * plugins/elements/gsttee.c: (gst_tee_base_init),
7749         (gst_tee_request_new_pad), (gst_tee_release_pad),
7750         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7751         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7752         (gst_tee_chain):
7753         Be a lot smarter when deciding what srcpad to use for proxying
7754         the buffer_alloc. Also handle pad added/removed when doing so.
7755         Fixes #357959.
7756         Keep track of what pads we already pushed on in case we have pads
7757         added/removed while pushing. Fixes #374639 
7758
7759         * tests/check/Makefile.am:
7760         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7761         (tee_suite):
7762         Added unit test for pad resync.
7763
7764 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7765
7766         * po/nl.po:
7767         * po/sv.po:
7768           Updated translations.
7769
7770 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7771
7772         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7773
7774         * po/LINGUAS:
7775         * po/fi.po:
7776           Added new Finnish translation.
7777
7778 2007-06-28  Wim Taymans  <wim@fluendo.com>
7779
7780         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7781         (single_queue_overrun_cb):
7782         When figuring out when a queue is filled, use our internal time estimate
7783         based on segments, just like check_full does.
7784
7785 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7786
7787         * gst/gstminiobject.c: (gst_mini_object_get_type):
7788           Remove 3 do-nothing methods.
7789
7790 2007-06-27  Wim Taymans  <wim@fluendo.com>
7791
7792         Patch by: Tim Angus <tim at ngus dot net>
7793
7794         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7795         (gst_capsfilter_set_property):
7796         Take a reference instead of a copy when setting "caps".
7797         Fix documentation to clarify this behaviour. Fixes #449414.
7798
7799 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7800
7801         * gst/gstindexfactory.c: (gst_index_factory_get_type):
7802         * gst/gstplugin.c: (gst_plugin_init):
7803         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
7804         * gst/gstquery.c: (gst_query_get_type):
7805         * gst/gstregistry.c: (gst_registry_init):
7806         * gst/gsturi.c: (gst_uri_handler_base_init):
7807           Remove empty instance_init() functions to save relocs and lessen the
7808           noise. Remove some of the function prototypes that are doubled by
7809           G_DEFINE_TYPE.
7810           
7811 2007-06-27  Wim Taymans  <wim@fluendo.com>
7812
7813         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
7814
7815         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
7816         Add peer and direction in the XML serialisation of ghostpads.
7817         Fixes #449226.
7818
7819 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7820
7821         * configure.ac:
7822           Preserve useful information, thanks Tim.
7823
7824 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
7825
7826         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7827         (gst_single_queue_flush), (apply_segment), (apply_buffer),
7828         (gst_single_queue_push_one), (gst_multi_queue_loop),
7829         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7830         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
7831         (compute_high_id), (gst_single_queue_new):
7832         * plugins/elements/gstmultiqueue.h:
7833         Take the multiqueue lock when updating the fill level so we don't get
7834         confused. 
7835
7836         After applying a buffer or event on the src pad segment, make sure to
7837         call gst_data_queue_limits_changed() to get the data queue to unblock
7838         and check the filled state again.
7839         
7840         Rework the not-linked pad handling so the logic is that not-linked 
7841         pads can push as fast as they like, but only so they never get 
7842         ahead of any linked pads.
7843
7844         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
7845         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
7846         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
7847
7848         Add a test to check that not-linked pads always stay behind
7849         linked pads.
7850
7851         Fixes: #430682
7852
7853 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
7854
7855         * docs/random/release:
7856           Some updates to the release procedure.
7857
7858 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7859
7860         * gst/gstelementfactory.c: (__gst_element_details_clear):
7861           Microoptimization that saves stunning 80 bytes.
7862
7863 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
7864
7865         * docs/plugins/gstreamer-plugins.args:
7866         * docs/plugins/inspect/plugin-coreelements.xml:
7867         * docs/plugins/inspect/plugin-coreindexers.xml:
7868           Update docs with caps info.
7869
7870 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7871
7872         * po/it.po:
7873           Updated Italian translation.
7874
7875 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7876
7877         * ChangeLog:
7878         * po/vi.po:
7879           Update Vietnamese translations.
7880
7881 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7882
7883         * libs/gst/base/gstbasesink.c:
7884           Remove unused signal enum.
7885
7886 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7887
7888         * docs/gst/gstreamer-sections.txt:
7889         * gst/gstelement.c:
7890         * gst/gstutils.c: (gst_type_register_static_full):
7891         Beef up and include the docs for gst_type_register_static_full and
7892         gst_element_class_set_details_simple and add the API keyword
7893         in the ChangeLog.
7894
7895 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7896
7897         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
7898         (update_time_level), (gst_single_queue_push_one),
7899         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
7900         (single_queue_overrun_cb), (single_queue_underrun_cb),
7901         (single_queue_check_full):
7902         Fix setting max-* properties after adding queues.
7903         Use IS_FILLED for checking visible items.
7904         Signal overrun if multiple queues overrun.
7905         Add extra debug output.
7906         Patch by: Wim Taymans <wim@fluendo.com>
7907
7908 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
7909
7910         * gst/gstelement.c: (gst_element_class_set_details_simple):
7911         * gst/gstelement.h:
7912         * gst/gstutils.c: (gst_type_register_static_full):
7913         * gst/gstutils.h:
7914         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
7915         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
7916         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
7917         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
7918         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
7919         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
7920         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
7921         * plugins/elements/gstidentity.c: (gst_identity_base_init):
7922         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
7923         * plugins/elements/gstqueue.c: (gst_queue_base_init),
7924         (apply_buffer), (gst_queue_chain):
7925         * plugins/elements/gsttee.c: (gst_tee_base_init):
7926         * plugins/elements/gsttypefindelement.c:
7927         (gst_type_find_element_base_init),
7928         (gst_type_find_element_class_init):
7929           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
7930           API: add gst_type_register_static_full
7931           API: add gst_element_class_set_details_simple
7932
7933 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7934
7935         * docs/pwg/advanced-types.xml:
7936           Fix typo in iana.org URI.
7937
7938 2007-06-19  Andy Wingo  <wingo@pobox.com>
7939
7940         * tests/check/pipelines/simple-launch-lines.c
7941         (test_state_change_returns): Enable pull-mode tests now that
7942         basesink has been fixed.
7943
7944         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
7945         Changed from gst_base_sink_is_prerolled, reversing the sense of
7946         the return value. Returns FALSE also if the sink is in pull mode,
7947         in which case it needs no preroll.
7948         (gst_base_sink_query, gst_base_sink_change_state): Update for
7949         needs_preroll change.
7950         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
7951         chaining up, in which we return SUCCESS directly if we activated
7952         in pull mode instead of ASYNC. Involves countering an async_start
7953         message sent before chaining up; not sure if this is correct, in
7954         an ideal world we only send async-start when activating in push
7955         mode.
7956
7957         * tests/check/pipelines/simple-launch-lines.c
7958         (test_state_change_returns): New test, partially disabled until
7959         basesink is fixed.
7960
7961 2007-06-19  Wim Taymans  <wim@fluendo.com>
7962
7963         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7964         (gst_multi_queue_sink_event):
7965         Fix event leak.
7966
7967 2007-06-19  Wim Taymans  <wim@fluendo.com>
7968
7969         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7970         (gst_bin_change_state_func), (bin_push_state_continue),
7971         (bin_handle_async_start), (bin_handle_async_done),
7972         (gst_bin_handle_message_func):
7973         Move the common code for posting state-change messages into
7974         one function.
7975         Broadcast the state signal after we posted the messages.
7976         Mark the bin as busy when it's doing a state-change.
7977         Make sure async-start/done messages don't interfere with the bin's
7978         state when it's busy.
7979         After the state change, let the bin check which elements completed the
7980         state change while it was busy so that it can update its state.
7981
7982 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
7983
7984         * docs/random/release:
7985         Add a note about updating the doap file to the release checklist
7986
7987 2007-06-18  Wim Taymans  <wim@fluendo.com>
7988
7989         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7990         (gst_single_queue_push_one), (gst_multi_queue_chain),
7991         (gst_multi_queue_sink_event):
7992         Make sure we don't reference the buffer/event after we have given away
7993         ownership in the queue.
7994
7995 2007-06-18  Wim Taymans  <wim@fluendo.com>
7996
7997         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7998         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
7999         Update queue state _after_ adding the item in the queue because else we
8000         could end up being full without the element added yet.
8001
8002 2007-06-18  Wim Taymans  <wim@fluendo.com>
8003
8004         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
8005         (gst_bin_remove_func), (gst_bin_get_state_func),
8006         (gst_bin_element_set_state), (gst_bin_continue_func),
8007         (bin_push_state_continue), (bin_handle_async_start),
8008         (bin_handle_async_done), (gst_bin_handle_message_func):
8009         * gst/gstbin.h:
8010         Immediatly commit the toplevel bin state when receiving an async-done
8011         message. This enables us to avoid spawning a thread to commit the state
8012         in some common cases and it also avoids some races.
8013         Avoid spawning a state thread when adding/removing async elements to a
8014         toplevel bin. Instead we immediatly update the bin state.
8015         Get rid of iterating all the children when getting the state in the bin
8016         because it is now always up-to-date.
8017         Fix bug where locked elements would always return _SUCCESS even it they
8018         returned NO_PREROLL before being locked.
8019         Fix the order of the state_change, async-start/done messages that was
8020         sometimes incorrect.
8021         Mark the state_dirty field as deprecated, we don't need it anymore as we
8022         are always up-to-date.
8023
8024         * gst/gstelement.c: (gst_element_get_state_func),
8025         (gst_element_continue_state):
8026         Small debug inprovements.
8027         Return the previous element state return when nothing is pending instead
8028         of blindly returning SUCCESS.
8029
8030         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
8031         (gst_sinks_suite):
8032         Add a whole bunch of new testcases.
8033
8034 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8035
8036         * po/uk.po:
8037         * po/vi.po:
8038           Update translations.
8039
8040 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
8041
8042         * gst/gstpad.c:
8043         Fix typo in the docs.
8044
8045 2007-06-15  Wim Taymans  <wim@fluendo.com>
8046
8047         * docs/libs/gstreamer-libs-sections.txt:
8048         Add docs for new methods.
8049
8050 2007-06-15  Wim Taymans  <wim@fluendo.com>
8051
8052         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
8053         (gst_multi_queue_item_new):
8054         Don't use GSlice because we don't depend on >= 2.10 yet.
8055
8056 2007-06-15  Wim Taymans  <wim@fluendo.com>
8057
8058         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8059         (update_time_level), (apply_segment), (apply_buffer),
8060         (gst_single_queue_push_one), (gst_multi_queue_item_new),
8061         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
8062         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
8063         (single_queue_underrun_cb), (single_queue_check_full):
8064         Remove debug printf.
8065
8066 2007-06-15  Wim Taymans  <wim@fluendo.com>
8067
8068         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
8069         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
8070         (gst_data_queue_set_flushing), (gst_data_queue_push),
8071         (gst_data_queue_pop), (gst_data_queue_drop_head),
8072         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
8073         * libs/gst/base/gstdataqueue.h:
8074         Various cleanups.
8075         Added methods to get the current levels and to inform the queue that the
8076         'full' limits changed.
8077
8078         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
8079         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
8080         (gst_single_queue_flush), (update_time_level), (apply_segment),
8081         (apply_buffer), (gst_single_queue_push_one),
8082         (gst_multi_queue_item_steal_object),
8083         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
8084         (gst_multi_queue_loop), (gst_multi_queue_chain),
8085         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8086         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
8087         (gst_multi_queue_src_query), (single_queue_overrun_cb),
8088         (single_queue_underrun_cb), (single_queue_check_full),
8089         (gst_single_queue_new):
8090         Keep track of time in the queue by measuring the difference between
8091         running_time on input and output. This gives more accurate results and
8092         can compensate for segments correctly.
8093         Make a queue by default only 5 buffers deep. We will now increase the
8094         buffer size depending on the filledness of the other queues.
8095         Factor out commong flush code.
8096         Make sure we don't add additional refcounts to buffers when we can avoid
8097         it.
8098         Propagate GstFlowReturn differently.
8099         Use GSlice for intermediate GstMultiQueueItems.
8100         Keep track of EOS.
8101         Resize queues on over and underruns based on filled level of other
8102         queues.
8103         When checking if the queue is filled, prefer to measure in time if we
8104         can and fall back to bytes when no time is known.
8105
8106         * plugins/elements/gstqueue.c:
8107         Fix return value.
8108
8109 2007-06-15  Wim Taymans  <wim@fluendo.com>
8110
8111         * libs/gst/base/gstbasetransform.c:
8112         (gst_base_transform_sink_event):
8113         Work around the brokenness of the event vmethod in basetransform. Prefer
8114         to return TRUE when the subclass returned FALSE (meaning don't forward
8115         the event). 
8116
8117         * libs/gst/base/gstbasetransform.h:
8118         Clarify the docs.
8119
8120 2007-06-15  Wim Taymans  <wim@fluendo.com>
8121
8122         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
8123         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8124         (gst_base_src_default_query), (gst_base_src_get_range),
8125         (gst_base_src_start):
8126         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
8127         Improve debugging.
8128
8129 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8130
8131         * docs/pwg/advanced-types.xml:
8132           Added more formats to caps table.
8133
8134 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8135
8136         * tools/gst-launch.c: (main):
8137           Remove crufy code. GOption does not need this workaround.
8138
8139 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8140
8141         * libs/gst/controller/gstcontroller.c:
8142         (gst_controlled_property_set_interpolation_mode):
8143           Fix wrong getter for enums in controller.
8144
8145 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8146
8147         * libs/gst/check/gstcheck.c: (gst_check_init):
8148           Intercept criticals and warnings in the Gst-Phonon log domain, so
8149           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
8150           well.
8151         
8152 2007-06-14  Edward Hervey  <edward@fluendo.com>
8153
8154         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
8155         Since this file doesn't include "gst.h" it will not go through the
8156         macros that disable GST_LOG if debugging was disabled.
8157
8158 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8159
8160         * libs/gst/check/Makefile.am:
8161         * libs/gst/check/gstcheck.h:
8162         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8163         * pkgconfig/gstreamer-check.pc.in:
8164           Ugly 'fix' for the controller unit test on the p5 bot: in
8165           fail_unless_equals_float() check whether the values are 'almost
8166           equal' by allowing a small absolute error, which should be good
8167           enough for our use cases (normal numbers and values close to 0).
8168           Proper fixage left to floating point arithmetic aficionados.
8169
8170 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8171
8172         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
8173         (gst_base_sink_render_object), (gst_base_sink_get_position):
8174           Add two breaks thats where missing.
8175
8176 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8177
8178         * docs/libs/gstreamer-libs-sections.txt:
8179         * libs/gst/check/gstcheck.h:
8180           API: add fail_unless_equals_float() and assert_equals_float().
8181           Add documentation for some of the macros.
8182
8183         * tests/check/libs/controller.c: (GST_START_TEST):
8184           Use newly-added asserts.
8185
8186 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8187
8188         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
8189           Show the caps change in the log to help spotting the case of not
8190           exactly matching caps.
8191
8192 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8193
8194         * docs/pwg/building-boiler.xml:
8195           Fix typos, spotted by Thijs Vermeir (#447190).
8196
8197 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8198
8199         * docs/plugins/tmpl/.cvsignore:
8200         Ignore file to keep the buildbots happy
8201
8202 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8203
8204         * docs/plugins/Makefile.am:
8205         * docs/plugins/gstreamer-plugins-docs.sgml:
8206         * docs/plugins/gstreamer-plugins-sections.txt:
8207         Pull fdsink into the docs too.
8208
8209 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
8210
8211         * libs/gst/controller/gstinterpolation.c:
8212         Actually use the new functions with min/max checks for the trigger and
8213         none interpolation modes for get() and get_value_array() instead of
8214         just the latter.
8215
8216 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
8217
8218         * libs/gst/controller/gstcontroller.c:
8219         (gst_controlled_property_free):
8220         Unset the minimum and maximum GValues when freeing the corresponding
8221         GstControllerProperty struct.
8222
8223 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
8224
8225         * libs/gst/controller/gstcontroller.c:
8226         (gst_controlled_property_new):
8227         * libs/gst/controller/gstcontrollerprivate.h:
8228         * libs/gst/controller/gstinterpolation.c:
8229         (gst_controlled_property_find_control_point_node),
8230         (interpolate_none_get), (interpolate_none_get_enum_value_array),
8231         (interpolate_none_get_string_value_array),
8232         (interpolate_trigger_get),
8233         (interpolate_trigger_get_enum_value_array),
8234         (interpolate_trigger_get_string_value_array):
8235         Protect against values larger or smaller than the minimum or maximum
8236         allowed value for the property when using values that can be compared.
8237
8238         Optimize trigger interpolator a bit by taking the last requested value
8239         into account instead of always looping through the complete list.
8240
8241         Fix coding style a bit, everywhere else we use "return foo" instead
8242         of "return (foo)".
8243         
8244         * tests/check/libs/controller.c: (GST_START_TEST),
8245         (gst_controller_suite):
8246         Add unit test for the protection against too large or too small
8247         values.
8248
8249 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
8250
8251         * docs/random/slomo/controller.txt:
8252         Add some thoughts about the future of the controller.
8253
8254 2007-06-08  Wim Taymans  <wim@fluendo.com>
8255
8256         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8257         Don't overflow in retimestamping code.
8258
8259 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
8260
8261         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8262         Use gst_util_guint64_to_gdouble for conversions.
8263         * win32/common/libgstreamer.def:
8264         Add new exported functions.
8265
8266 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
8267
8268         * gst/gstutils.c:
8269           Small docs addition.
8270
8271 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8272
8273         * README:
8274           Remove that test line again.
8275
8276 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8277
8278         * README:
8279           Test commit mail sending.
8280
8281 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8282
8283         * configure.ac:
8284           Fix typo and test commit mail sending.
8285
8286 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8287
8288         * tests/examples/controller/audio-example.c:
8289           Improve comment and test commit mail sending.
8290
8291 2007-06-07  Wim Taymans  <wim@fluendo.com>
8292
8293         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8294         (gst_bin_remove_func), (gst_bin_element_set_state),
8295         (bin_handle_async_start), (bin_handle_async_done),
8296         (gst_bin_handle_message_func):
8297         Add helper function to find messages.
8298         Generate the async-done messages together with the state change
8299         messages.
8300         Small cleanups in handling toplevel bins.
8301
8302 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8303
8304         * libs/gst/base/gstdataqueue.c:
8305         * libs/gst/base/gstdataqueue.h:
8306         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8307         (gst_multi_queue_item_new), (gst_multi_queue_chain),
8308         (gst_multi_queue_sink_event):
8309         * tests/check/elements/multiqueue.c: (multiqueue_suite):
8310           Fix multiqueue leaking buffers and events when downstream or the
8311           queue are flushing. Make refcounting assumptions explicit and
8312           document them (shouldn't break existing code that uses it other than
8313           maybe leak miniobjects, but that already happens anyway). Add unit
8314           test for the most common flushing case. Fixes #423700.
8315           
8316 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8317
8318         * libs/gst/controller/gstcontroller.c:
8319         Clarify docs: The get_all, get_value_array(s) functions
8320         don't modify the GObject properties.
8321
8322 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8323
8324         * libs/gst/controller/gstcontroller.c:
8325         (gst_controlled_property_set_interpolation_mode),
8326         (gst_controlled_property_prepend_default),
8327         (gst_controlled_property_new), (gst_controller_set_unlocked),
8328         (gst_controller_set), (gst_controller_set_from_list),
8329         (gst_controller_unset), (gst_controller_unset_all):
8330         * libs/gst/controller/gstcontrollerprivate.h:
8331         * libs/gst/controller/gstinterpolation.c:
8332         Factor out the 'set' logic into gst_controller_set_unlocked for the
8333         gst_controller_set and gst_controller_set_from_list functions.
8334
8335         To make life of the interpolators easier always add a control point
8336         at timestamp zero with the default value.
8337
8338         In the linear interpolator make things more obvious by better variable
8339         naming (slope).
8340
8341         Implement cubic interpolation mode (by using a natural cubic spline)
8342         and map the quadratic interpolation mode to this too (as quadratic
8343         doesn't make much sense, see discussion on the list).
8344
8345         * tests/check/libs/controller.c: (GST_START_TEST),
8346         (gst_controller_suite):
8347         Add unit test for the cubic interpolation mode and check everywhere
8348         if the interpolation mode could be set as expected.
8349
8350 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8351
8352         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8353           Don't use GLib-2.10 functions, we still depend on
8354           GLib-how-old-is-it-again-2.8.
8355
8356 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8357
8358         * docs/gst/gstreamer-sections.txt:
8359         * gst/Makefile.am:
8360         * gst/gst.c:
8361         * gst/gst.h:
8362         * gst/gstparamspecs.c: (_gst_param_fraction_init),
8363         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8364         (_gst_param_fraction_values_cmp),
8365         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8366         * gst/gstparamspecs.h:
8367         * gst/gstvalue.c:
8368         * tests/check/Makefile.am:
8369         * tests/check/gst/.cvsignore:
8370         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8371         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8372         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8373         (GST_START_TEST), (gst_param_spec_suite):
8374           API: add GstParamSpecFraction, so elements can have fraction
8375           properties without lots of painful string parsing (#444648).
8376
8377 2007-06-05  Wim Taymans  <wim@fluendo.com>
8378
8379         * gst/gstobject.c: (gst_object_class_init):
8380         Fix signal signature.
8381
8382         * gst/gstsegment.c:
8383         Add small clarification in the api docs.
8384
8385         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8386         States are protected with object lock.
8387
8388 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8389
8390         * AUTHORS:
8391         I should probably be listed as an author by now.
8392
8393         * docs/random/release:
8394         Update the release doc
8395
8396 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
8397
8398         * gst/gstvalue.c:
8399           Make docs for gst_value_compare() mention return enums that
8400           actually exist.
8401
8402 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8403
8404         * configure.ac:
8405           Back to CVS
8406
8407 === release 0.10.13 ===
8408
8409 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
8410
8411         * configure.ac:
8412           releasing 0.10.13, "With or without you"
8413
8414 2007-05-25  Wim Taymans  <wim@fluendo.com>
8415
8416         * gst/gstbin.c: (bin_handle_async_done):
8417         Make sure that the child bin stops after completing the async state
8418         change so that the parent can continue the state change to PLAYING.
8419         Fixes #441159.
8420
8421 2007-05-25  Wim Taymans  <wim@fluendo.com>
8422
8423         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8424         (unref_data), (gst_collect_pads_remove_pad),
8425         (gst_collect_pads_check_pads):
8426         Use additional refcounting to avoid crashes when dynamically adding and
8427         removing pads. Fixes #420206.
8428
8429 2007-05-24  Wim Taymans  <wim@fluendo.com>
8430
8431         * tools/gst-launch.c: (event_loop):
8432         When buffering goes from a two digit to a single digit number, make sure
8433         to remove the old second digit by writing a blank over it.
8434
8435 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8436
8437         * libs/gst/base/gstdataqueue.c:
8438           Eliminate tabs and trailing comma in enum list; fix some typos.
8439
8440 2007-05-24  Wim Taymans  <wim@fluendo.com>
8441
8442         * tests/check/gst/gstbin.c: (GST_START_TEST):
8443         Allow refcount of 3 and 4 because some state thread might still be busy
8444         with it.
8445
8446 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8447
8448         * plugins/elements/Makefile.am:
8449         * plugins/elements/gstmultiqueue.h:
8450         * plugins/elements/gstqueue.h:
8451           These are not installed headers, no need for padding.
8452
8453 2007-05-24  Wim Taymans  <wim@fluendo.com>
8454
8455         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8456         (gst_bin_continue_func):
8457         Enable latency for next release.
8458         Restore STATE_LOCK around recalc_state that was left out during the
8459         rewrite and could result in racy behaviour when _get_state and
8460         recalc_state are run concurrently. See #440463.
8461
8462 2007-05-23  Wim Taymans  <wim@fluendo.com>
8463
8464         * tests/check/gst/gstsystemclock.c: (store_callback),
8465         (GST_START_TEST):
8466         Improve test_async_order to also work when both timers are already
8467         expired when we get scheduled to check it.
8468
8469 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8470
8471         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8472         (gst_bin_set_property), (gst_bin_get_property),
8473         (gst_bin_remove_func), (gst_bin_handle_message_func):
8474         * gst/gstbin.h:
8475           'private' is a c++ keyword, let's not use that in header files,
8476           otherwise c++ compilers will throw a tantrum.
8477
8478 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8479
8480         * plugins/elements/gstelements.c:
8481         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8482         (gst_file_sink_get_current_offset):
8483         * plugins/indexers/gstindexers.c: (plugin_init):
8484           Use #ifdef for HAVE_XYZ for consistency.
8485
8486         * tests/check/Makefile.am:
8487         * tests/check/elements/.cvsignore:
8488         * tests/check/elements/filesink.c: (setup_filesink),
8489         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8490           Add some unit tests for filesink.
8491
8492 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8493
8494         Patch by: Mark Nauwelaerts <manauw at skynet be>
8495
8496         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8497         (gst_file_sink_query), (gst_file_sink_do_seek),
8498         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8499         * plugins/elements/gstfilesink.h:
8500           Fix position reporting; rename data_written member to current_pos to
8501           reflect its real meaning (fixes #412648).
8502
8503 2007-05-22  Edward Hervey  <edward@fluendo.com>
8504
8505         * docs/gst/gstreamer-sections.txt:
8506         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8507         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8508         (gst_bin_remove_func), (gst_bin_handle_message_func):
8509         * gst/gstbin.h:
8510         Add a property for bins that handle the state change of their childs.
8511         Fixes #435880
8512
8513 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
8514
8515         * libs/gst/controller/gstinterpolation.c:
8516         Use an array of the correct type when using _get_value_array with
8517         linear interpolation.
8518
8519 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
8520
8521         * gst/gstelement.c (gst_element_requires_clock,
8522           gst_element_provides_clock, gst_element_request_pad,
8523           gst_element_class_set_details, gst_element_class_set_details_simple,
8524           gst_element_default_send_event, gst_element_abort_state,
8525           gst_element_continue_state, gst_element_set_state,
8526           gst_element_set_state_func, iterator_activate_fold_with_resync):
8527         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8528           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8529           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8530           gst_pad_get_range, gst_pad_pull_range):
8531         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8532           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8533           GstPadActivateModeFunction, GstPadChainFunction,
8534           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8535           GstPadFixateCapsFunction, GstPadTemplate):
8536         * gst/gstpipeline.c (gst_pipeline_change_state,
8537           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8538           gst_pipeline_set_clock, gst_pipeline_auto_clock,
8539           gst_pipeline_get_delay):
8540           Whitespace and docs fixes.
8541
8542 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8543
8544         * libs/gst/controller/gstinterpolation.c:
8545         (interpolate_trigger_get_enum_value_array),
8546         (interpolate_trigger_get_string_value_array):
8547         Add support for retrieving value arrays when using the trigger
8548         interpolation mode. 
8549
8550 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8551
8552         * libs/gst/controller/gstcontroller.c:
8553         (gst_controller_get_value_array):
8554         * libs/gst/controller/gstcontroller.h:
8555         Clarify the docs of gst_controller_get_value_array(): The array where
8556         the values should be written to must be allocated as there seems to be
8557         no way to get the size of a random GType. This doesn't change any
8558         behaviour. Also fix some typos all over the place and remove an unused,
8559         commented function that is not necessary as g_object_set() could be
8560         used instead.
8561         * tests/check/libs/controller.c: (GST_START_TEST),
8562         (gst_controller_suite):
8563         Add unit test for gst_controller_get_value_array().
8564
8565 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
8566
8567         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8568
8569         Disable part of the gst_buffer_try_new_and_alloc test, because
8570         it can happily succeed on 64-bit systems where there's more address
8571         space available.
8572
8573 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8574
8575         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8576         Add unit test for the improved caps checking from bug #421543.
8577
8578 2007-05-21  Wim Taymans  <wim@fluendo.com>
8579
8580         * docs/design/part-synchronisation.txt:
8581         Small addition.
8582
8583         * gst/gstbin.c: (gst_bin_query):
8584         * plugins/elements/gstqueue.c: (apply_segment):
8585         Improve debugging.
8586
8587         * gst/gstmessage.h:
8588         Improve docs.
8589
8590 2007-05-21  Wim Taymans  <wim@fluendo.com>
8591
8592         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8593         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8594         (gst_pad_configure_src):
8595         Added simple version of improved caps checking. It was previously
8596         assumed that a setcaps function would check the validity of the caps but
8597         people prefer us to check caps against the template automatically. 
8598         Fixes #421543.
8599
8600 2007-05-21  Wim Taymans  <wim@fluendo.com>
8601
8602         * libs/gst/base/gstbasetransform.h:
8603         Fix macro for locking/unlocking the transform lock.
8604
8605 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8606
8607         * docs/plugins/tmpl/.cvsignore:
8608           Ignore more.
8609
8610 2007-05-18  Edward Hervey  <edward@fluendo.com>
8611
8612         * plugins/elements/gstqueue.c: (gst_queue_loop):
8613         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8614         for the subtle art of warning a potentially blocking thread that it
8615         should check the source pad return value, and relay the information
8616         upstream.
8617
8618 2007-05-18  Edward Hervey  <edward@fluendo.com>
8619
8620         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8621         Release the queue lock !
8622
8623 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8624
8625         * docs/libs/gstreamer-libs-sections.txt:
8626         Add the two new controller functions to the appropiate places.
8627
8628 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8629
8630         reviewed by: Stefan Kost <ensonic@users.sf.net>
8631
8632         * libs/gst/controller/gstcontroller.c:
8633         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8634         (_gst_controller_get_property), (_gst_controller_set_property),
8635         (_gst_controller_init), (_gst_controller_class_init):
8636         * libs/gst/controller/gstcontroller.h:
8637         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8638         (gst_object_get_control_rate), (gst_object_set_control_rate):
8639         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8640         Add API that provides sync suggestion timestamps for elements that
8641         call gst_object_sync_values() from which those elements can subdivide
8642         their processing loop to get the best results for the controlled
8643         properties. For now it just suggests last_sync + control_rate as
8644         new timestamp but this will be improved in the future.
8645
8646         While doing that change the control-rate property to a GstClockTime
8647         from guint and change it's meaning from samples to nanoseconds as
8648         the GstController doesn't know anything about sampling rate. Strictly
8649         speaking this breaks ABI but as the control-rate property didn't do
8650         anything in the past and as such couldn't be used this should be no
8651         problem.        
8652
8653 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8654
8655         reviewed by: Stefan Kost <ensonic@users.sf.net>
8656
8657         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8658         (gst_controller_unset_all):
8659         * libs/gst/controller/gstcontrollerprivate.h:
8660         * libs/gst/controller/gstinterpolation.c:
8661         (gst_controlled_property_find_control_point_node):
8662         Save last synced value from the list to continue searching from there
8663         in future syncs. This speeds everything up a bit.
8664         
8665 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8666
8667         reviewed by: Stefan Kost <ensonic@users.sf.net>
8668
8669         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8670         (gst_control_point_find), (gst_controlled_property_new),
8671         (gst_control_point_free), (gst_controlled_property_free),
8672         (gst_controller_set), (gst_controller_set_from_list),
8673         (gst_controller_unset), (gst_controller_unset_all),
8674         (gst_controller_sync_values):
8675         * libs/gst/controller/gstcontroller.h:
8676         * libs/gst/controller/gstcontrollerprivate.h:
8677         * libs/gst/controller/gstinterpolation.c:
8678         (gst_controlled_property_find_control_point_node),
8679         (interpolate_none_get), (interpolate_trigger_get):
8680         Add a new private GstControlPoint struct which "inherits" from
8681         GstTimedValue to allow different interpolators to store internal
8682         values next to each control point. From the outside everything is
8683         still a GstControlPoint so we don't loose binary compatibility.
8684         Also fixup all the GValue handling to not leak GValues or list nodes.
8685         * tests/check/libs/controller.c: (GST_START_TEST):
8686         Free the list nodes and GValues in the controller_misc test.
8687
8688 2007-05-17  Edward Hervey  <edward@fluendo.com>
8689
8690         * gst/gstsegment.c:
8691         Small doc fix.
8692
8693 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
8694
8695         * gst/gstplugin.c: (gst_plugin_load_file):
8696           If we fail to load a plugin because of unresolved symbols or missing
8697           libraries and spew a warning to stderr, we may just as well mention
8698           which plugin it was that failed to load.
8699
8700 2007-05-13  David Schleef  <ds@schleef.org>
8701
8702         * docs/Makefile.am: the gtk-doc makefile snippet correctly
8703           handles the case when ENABLE_GTK_DOC is false, and installs
8704           the prebuilt documentation.  So gtk-doc subdirs are 
8705           unconditionally enabled.  Fixes: #349099.
8706
8707 2007-05-13  David Schleef  <ds@schleef.org>
8708
8709         * gst/gstutils.h: Reword some documentation.
8710
8711 2007-05-12  David Schleef  <ds@schleef.org>
8712
8713         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8714           do anything with the passed "module" parameter, so remove it.
8715           Allows removal of additional vestigal code.
8716
8717 2007-05-12  David Schleef  <ds@schleef.org>
8718
8719         * gst/gstplugin.c:
8720           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8721           Switch to using g_stat() because it's more portable.
8722
8723 2007-05-12  David Schleef  <ds@schleef.org>
8724
8725         * gst/gst.c:
8726           Add GST_DISABLE_OPTION_PARSING, in order to disable option
8727           parsing for embedded systems.
8728         * gst/gstelementfactory.c:
8729           Allow gst_element_register() to be called with plugin==NULL.
8730           Did nobody notice that static elements were broken?
8731
8732 2007-05-12  Wim Taymans  <wim@fluendo.com>
8733
8734         * tools/gst-launch.c: (event_loop):
8735         Give more interesting info when buffering starts and stops.
8736         Fix case where buffering starts but we fail to update the buffering flag
8737         because the target state is not PLAYING.
8738
8739 2007-05-12  Wim Taymans  <wim@fluendo.com>
8740
8741         * plugins/elements/gstqueue.c: (gst_queue_init),
8742         (gst_queue_finalize), (update_time_level), (apply_segment),
8743         (apply_buffer), (gst_queue_locked_flush),
8744         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8745         (gst_queue_handle_sink_event), (gst_queue_chain),
8746         (gst_queue_push_one), (gst_queue_loop):
8747         * plugins/elements/gstqueue.h:
8748         Refactor an cleanup queue a bit.
8749         Do better time level calculations that also work when the srcpad is not
8750         yet running.
8751         Remove some unneeded debug lines.
8752
8753         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8754         Added testcase for time level measurement.
8755         Try to make some stuff more racefree.
8756
8757 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8758
8759         * gst/gsturi.c: (gst_element_make_from_uri):
8760           Don't leak plugin feature.
8761
8762         * tests/check/Makefile.am:
8763         * tests/check/gst/.cvsignore:
8764         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8765           Add brain-dead unit test.
8766
8767 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8768
8769         Patch by: Jeroen Wouters <woutersj at gmail com>
8770
8771         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8772           Treat protocol strings in a case-insensitive way (#437563).
8773
8774 2007-05-11  Michael Smith <msmith@fluendo.com>
8775
8776         * gst/gstplugin.c: (gst_plugin_load_file):
8777         * gst/gstregistry.c: (gst_registry_scan_path_level):
8778           Don't print a g_warning for any failure to load a shared object.
8779           Instead, push this down into gstplugin.c, and warn _only_ if we
8780           failed to open the module (i.e. failure to link).
8781           Avoids warnings on normal, working, non-plugin .so files.
8782
8783 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
8784
8785         * gst/gstplugin.c (gst_plugin_load_file):
8786         * gst/gstregistry.c (GST_CAT_DEFAULT,
8787           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8788           Print a g_warning if there was an error when loading a plugins during
8789           registry scan. The shuld help beginners starting with gst-plugin
8790           template.
8791
8792 2007-05-10  Wim Taymans  <wim@fluendo.com>
8793
8794         * plugins/elements/gstqueue.c: (gst_queue_class_init),
8795         (update_time_level), (gst_queue_locked_flush),
8796         (gst_queue_handle_sink_event), (gst_queue_chain),
8797         (gst_queue_push_one), (gst_queue_loop):
8798         * plugins/elements/gstqueue.h:
8799         Be smarter when calculating the current amount of data in the queue by
8800         measuring the difference between start and end timestamps (in running
8801         time) inside the queue. Fixes #432876.
8802         API: GstQueue::pushing to notify elements that we are pushing data again
8803         since the running signal is rather broken for this purpose.
8804
8805 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
8806
8807         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
8808           gst_queue_base_init, gst_queue_init):
8809           use GST_BOILERPLATE
8810
8811 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
8812
8813         * win32/common/libgstreamer.def:
8814         Add new exported functions.
8815         * win32/vs6/grammar.dsp:
8816         Use grammar pre-generated files.
8817
8818 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8819
8820         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
8821
8822         * gst/Makefile.am:
8823         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
8824         * gst/gstparse.h:
8825         * gst/gstutils.c: (gst_parse_bin_from_description):
8826         * gst/gstutils.h:
8827           Maintain API and ABI when --disable-parse is used. Now that
8828           we have an appropriate error code, we can just return NULL and the
8829           appropriate error when gst_parse_launch() is used despite it having
8830           been disabled (#342564).
8831
8832         * tests/check/Makefile.am:
8833         * tests/check/pipelines/.cvsignore:
8834         * tests/check/pipelines/parse-disabled.c:
8835           Make sure these functions exist and return NULL plus a GError when
8836           --disable-parse is used.
8837
8838 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8839
8840         * tests/benchmarks/complexity.c: (main):
8841         * tests/benchmarks/mass-elements.c: (main):
8842           Set a good example and don't leak messages.
8843
8844 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
8845
8846         * docs/gst/Makefile.am:
8847         * docs/libs/Makefile.am:
8848           Correct fixxrefs options.
8849
8850         * docs/plugins/Makefile.am:
8851         * docs/plugins/gstreamer-plugins-docs.sgml:
8852         * docs/plugins/gstreamer-plugins-sections.txt:
8853         * plugins/elements/Makefile.am:
8854         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
8855         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
8856           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
8857           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
8858           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
8859           _GstCapsFilterClass, trans_class):
8860         * plugins/elements/gstelements.c (name, rank, type, _elements):
8861         * plugins/elements/gstidentity.c
8862           (gst_identity_check_imperfect_timestamp,
8863           gst_identity_check_imperfect_offset):
8864           Document capsfilter and add doc-blurb to identity.
8865
8866 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
8867
8868         * libs/gst/controller/gstcontroller.c:
8869         (gst_controlled_property_set_interpolation_mode):
8870         * libs/gst/controller/gstinterpolation.c:
8871           Don't crash if someone tries to set an interpolation mode that
8872           is invalid or that isn't supported yet. Fixes #422295.
8873
8874         * tests/check/libs/controller.c: (GST_START_TEST),
8875         (gst_controller_suite):
8876           Add a test case for the above.
8877
8878 2007-05-03  Edward Hervey  <edward@fluendo.com>
8879
8880         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8881         Properly set the last_stop position on GstSegment. This will only happen
8882         if there is a buffer to push out.
8883
8884 2007-05-03  Wim Taymans  <wim@fluendo.com>
8885
8886         * libs/gst/base/gstbasetransform.c:
8887         (gst_base_transform_buffer_alloc):
8888         always_in_place does not mean that the sink and source caps are the
8889         same! Make sure we don't blindly proxy the buffer_alloc in this case.
8890
8891 2007-05-03  Wim Taymans  <wim@fluendo.com>
8892
8893         * docs/libs/gstreamer-libs-sections.txt:
8894         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8895         (gst_base_src_default_query), (gst_base_src_get_range):
8896         * libs/gst/base/gstbasesrc.h:
8897         API: gst_base_src_query_latency(). Added method so that subclasses can
8898         easily get the latency values of the base source class.
8899
8900 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
8901
8902         * tools/gst-inspect.c (print_implementation_info):
8903         Remove 0.8 cruft.
8904
8905 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
8906
8907         * tools/Makefile.am:
8908         * tools/gst-launch.1.in:
8909           Don't create a customised man page based on the host architecture,
8910           describe the default registry path generically. That way the man
8911           page is the same for all architectures and packagers have one
8912           multilib issue less to deal with. Fixes #434926.
8913
8914 2007-05-02  Wim Taymans  <wim@fluendo.com>
8915
8916         * gst/gstpad.c:
8917         Fix documentation as spotted by rg on IRC. 
8918
8919 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
8920
8921         * gst/gstutils.c:
8922           Improve docs for gst_element_{link,unlink}.
8923
8924 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
8925
8926         * docs/design/part-events.txt:
8927         * docs/design/part-overview.txt:
8928         * gst/gstevent.c:
8929         * gst/gsturi.c:
8930         * gst/gsturi.h:
8931         * libs/gst/base/gstbasesink.c:
8932           Typo fixes; minor docs addition.
8933
8934 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8935
8936         * docs/gst/gstreamer-sections.txt:
8937         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
8938         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
8939         * gst/gsturi.h:
8940         API: Add gst_uri_protocol_is_supported(), which checks if a sink
8941         or src that supports a given URI protocol exists.
8942
8943 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8944
8945         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8946         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8947         Set the location to NULL if "file://" is set as URI. Otherwise
8948         some random previous URI would still be set if "file://" is
8949         set on an already used filesink/filesrc.
8950
8951 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8952
8953         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8954         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8955         Special case the "file://" URI as as this is used by some
8956         applications to test with gst_element_make_from_uri if there's
8957         an element that supports the URI protocol.
8958         Also move the g_path_is_absolute() check for the location part
8959         of the URI to also check this for "file://localhost/bla" URIs.
8960
8961 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
8962
8963         * docs/gst/gstreamer-sections.txt:
8964         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
8965         * gst/gstbuffer.h:
8966         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
8967         (gst_buffer_suite):
8968           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
8969
8970 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
8971
8972         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8973         (gst_registry_binary_load_pad_template),
8974         (gst_registry_binary_load_plugin),
8975         (gst_registry_binary_read_cache):
8976         * gst/gstregistrybinary.h:
8977           Implement no-mmap alternative for registry reading. Do code cleanups.
8978           Add more comments about avoiding strdups for all text data. Comments
8979           welcome.
8980
8981 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
8982
8983         * gst/gstregistrybinary.h (GstBinaryPluginElement,
8984           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
8985           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
8986           Comment structs and reformat to fix the build (that stuff should go
8987           into a priv. header).
8988
8989 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
8990
8991         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
8992         (gst_registry_binary_load_feature):
8993         * gst/gstregistrybinary.h:
8994           Refactor so that we can implement multiple features. Add support for
8995           TypeFindFactory features.
8996
8997 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
8998
8999         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
9000
9001         * configure.ac:
9002           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
9003
9004 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
9005
9006         * gst/gstbin.c: (gst_bin_element_set_state),
9007         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
9008         (bin_handle_async_done), (gst_bin_handle_message_func):
9009           Fix build with --gst-disable-gst-debug
9010
9011 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
9012
9013         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
9014           Make sure streaming has finished before calling the ::stop() vfunc,
9015           since that vfunc might clear state which is being used in the
9016           streaming thread. This fixes a race that caused crashes in
9017           audioresample when shutting down a pipeline (#420106).
9018
9019 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9020
9021         * docs/gst/gstreamer-sections.txt:
9022           That was one byte missing.
9023
9024 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9025
9026         * configure.ac:
9027         * docs/gst/gstreamer-sections.txt:
9028         * gst/Makefile.am:
9029         * gst/gstconfig.h.in:
9030         * gst/gstobject.c: (gst_object_class_init),
9031         (gst_signal_object_class_init):
9032         * gst/gstobject.h:
9033           2nd attempt to have a xml-less build as a joined effort of #413123
9034           and #421480.
9035
9036 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9037
9038         * docs/design/draft-tagreading.txt:
9039           Added open issues/thoughts to draft.
9040
9041 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9042
9043         * gst/parse/grammar.tab.pre.c:
9044         * gst/parse/grammar.tab.pre.h:
9045         * gst/parse/lex._gst_parse_yy.pre.c:
9046         Update the prebuild parser sources.
9047
9048 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9049
9050         * gst/parse/Makefile.am:
9051         And now fix the building of the flex sources. Now everything should
9052         work as expected.
9053
9054 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9055
9056         * gst/parse/Makefile.am:
9057         Now hopefully fix the build failures by setting proper rule
9058         dependencies and moving instead of copying.
9059
9060 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9061
9062         * tests/benchmarks/complexity.gnuplot:
9063         * tests/benchmarks/complexity.scm:
9064         * tests/benchmarks/mass-elements.gnuplot:
9065         * tests/benchmarks/mass-elements.scm:
9066           Total licensification.
9067
9068 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9069
9070         * gst/parse/Makefile.am:
9071           Fix the build by correcting the rule that gave wrong files to flex.
9072
9073 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9074
9075         * tests/benchmarks/complexity.c:
9076         * tests/benchmarks/mass-elements.c:
9077           Change licence to LGPL as granted by Benjamin and Andy.
9078
9079 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9080
9081         * gst/parse/Makefile.am:
9082         Add correct grammar.tab.h dependency if compiling without new enough
9083         flex. Fixes #431150.
9084
9085 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9086
9087         * gst/parse/Makefile.am:
9088         Fix typo and use outdated sources if the flex/bison sources are newer
9089         than the pregenerated ones but flex is too old. Print a warning in
9090         that case. This should fix the build on the build bot.
9091
9092 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9093
9094         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
9095         * gst/parse/Makefile.am:
9096         * gst/parse/grammar.y:
9097         * gst/parse/parse.l:
9098         Make the parser reentrant and recursively callable. This requires flex
9099         >= 2.5.31, for older versions pregenerated sources are used as we
9100         can't bump the build dependency. Finally fixes #349180.
9101
9102         * gst/gstparse.c: (gst_parse_launch):
9103         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
9104         now anyway.
9105
9106         * docs/gst/Makefile.am:
9107         * docs/gst/Makefile.am:
9108         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
9109         (__gst_parse_strfree), (__gst_parse_link_new),
9110         (__gst_parse_link_free), (__gst_parse_chain_new),
9111         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
9112         (gst_parse_element_set), (gst_parse_free_link),
9113         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
9114         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
9115         (_gst_parse_launch):
9116         * gst/parse/grammar.tab.pre.h:
9117         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
9118         (yy_get_previous_state), (yy_try_NUL_trans), (input),
9119         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
9120         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
9121         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
9122         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
9123         (_gst_parse_yypop_buffer_state),
9124         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
9125         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
9126         (yy_fatal_error), (_gst_parse_yyget_extra),
9127         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
9128         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
9129         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
9130         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
9131         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
9132         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
9133         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
9134         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
9135         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
9136         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
9137         (_gst_parse_yyfree):
9138         If the installed flex version is too old use pre-generated parser
9139         sources. These pre-generated parser sources are always updated when
9140         the actual flex/bison sources change but require everybody who wants
9141         to change something in the parser to have flex >= 2.5.31 installed.
9142
9143 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
9144
9145         * common/m4/gst-gettext.m4:
9146         * gst/gst-i18n-lib.h:
9147           Make --disable-nls to work
9148
9149 2007-04-17  Wim Taymans  <wim@fluendo.com>
9150
9151         * gst/gstconfig.h.in:
9152         Revert previous change that broke the build.
9153
9154 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
9155
9156         * configure.ac:
9157         * gst/Makefile.am:
9158         * gst/gstconfig.h.in:
9159           Drop libxml2 dependency when building with 
9160           --enable-binary-registry --disable-loadsave
9161
9162 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
9163
9164         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9165         (gst_registry_binary_read_cache):
9166         * gst/gstregistrybinary.h:
9167           Remove unnecessary <sys/mman.h> include which broke the win32 build
9168           with MingW; move includes from header file to .c file, even if the
9169           header file isn't installed; use g_strerror() where UTF-8 strings
9170           are expected, such as in GST_DEBUG messages.
9171
9172 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9173
9174         * docs/libs/gstreamer-libs-sections.txt:
9175         Remove bogus addition for API I didn't end up keeping.
9176
9177         * libs/gst/base/gstbasesrc.h:
9178         Mention Since: 0.10.13 in the documentation.
9179
9180         Add the API keyword to the previous ChangeLog entry.
9181
9182 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9183
9184         * docs/libs/gstreamer-libs-sections.txt:
9185         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9186         (gst_base_src_default_prepare_seek_segment),
9187         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
9188         * libs/gst/base/gstbasesrc.h:
9189         Allow basesrc derived classes to execute seeks in other formats
9190         by providing a prepare_seek_segment vmethod. Sub-classes can choose
9191         to prepare the GstSegment in any format that their perform_seek method
9192         will be able to understand. The default implementation provides the
9193         old behaviour of attempting to convert the seek offsets to the 
9194         configured native format.
9195
9196         API: basesrc::prepare_seek_segment vmethod.
9197
9198 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9199
9200         * gst/gstelement.c: (gst_element_get_state_func):
9201         Don't output the same debug statement twice.
9202
9203         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
9204         (gst_adapter_peek), (gst_adapter_take_buffer):
9205         Optimise the case where we have buffers at the head of the queue that
9206         can be joined quickly (because they're contiguous sub-buffers) by
9207         merging them together rather than copying data out into new memory.
9208
9209         * gst/parse/grammar.y:
9210         * tests/check/pipelines/parse-launch.c:
9211         Fix a leak in an error path for parse_launch, and add a check 
9212         for it to the testsuite.
9213
9214 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9215
9216         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9217           Don't deadlock when releasing a pad - gst_pad_set_active may try
9218           and take the multiqueue lock too.
9219
9220 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
9221
9222         * gst/gsterror.c: (_gst_core_errors_init):
9223         * gst/gsterror.h:
9224           API: add GST_CORE_ERROR_DISABLED (#392804).
9225
9226 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9227
9228         * docs/faq/gst-uninstalled:
9229           don't get empty paths on the PATH variables
9230         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
9231           Don't format for the uncommon terminal width of 84 characters.
9232
9233 2007-04-06  Wim Taymans  <wim@fluendo.com>
9234
9235         * gst/gstpipeline.c: (reset_stream_time),
9236         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
9237         Only try to select a different pipeline clock when we went back to
9238         PAUSED and not when we merely got flushed.
9239
9240 2007-04-05  Michael Smith  <msmith@fluendo.com>
9241
9242         * tools/gst-launch.1.in:
9243           fractions are better supported in gstreamer than ractions, so
9244           suggest using those.
9245
9246 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9247
9248         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9249
9250         * po/LINGUAS:
9251         * po/da.po:
9252           Added Danish translation.
9253
9254 2007-04-05  Wim Taymans  <wim@fluendo.com>
9255
9256         * libs/gst/base/gstbasesink.c:
9257         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9258         Fix leak caused when refusing newsegment after EOS.
9259
9260         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9261         (gst_fake_sink_init), (gst_fake_sink_set_property),
9262         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9263         (gst_fake_sink_render), (gst_fake_sink_change_state):
9264         * plugins/elements/gstfakesink.h:
9265         Add num-buffers property to make the element generate EOS after a
9266         configurable amount of buffers.
9267         API: fakesink::num-buffers property.
9268
9269         * tests/check/elements/fakesink.c: (GST_START_TEST),
9270         (fakesink_suite):
9271         Fix GstBus leak in test.
9272         Test for fakesink num-buffers.
9273
9274 2007-04-05  Wim Taymans  <wim@fluendo.com>
9275
9276         * libs/gst/base/gstbasesink.c:
9277         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9278         (gst_base_sink_change_state):
9279         Don't accept anything after an EOS, return UNEXPECTED instead.
9280
9281         * tests/check/elements/fakesink.c: (GST_START_TEST),
9282         (fakesink_suite):
9283         Unit test for new EOS behaviour.
9284
9285 2007-04-05  Wim Taymans  <wim@fluendo.com>
9286
9287         * gst/gstelement.c: (gst_element_get_request_pad):
9288         Make padtemplates also work when they don't contain %s or %d.
9289
9290 2007-04-05  Wim Taymans  <wim@fluendo.com>
9291
9292         * docs/gst/gstreamer-sections.txt:
9293         * gst/gstclock.c: (gst_clock_adjust_unlocked),
9294         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9295         * gst/gstclock.h:
9296         Improve _adjust_unlocked() so that it overflows less.
9297         Add gst_clock_unadjust_unlocked to convert from external time to
9298         internal time based on calibration.
9299         Add some more debug.
9300         API: GstClock::gst_clock_unadjust_unlocked()
9301
9302 2007-04-03  Wim Taymans  <wim@fluendo.com>
9303
9304         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9305
9306         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9307         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9308         when releasing sink pad. Fixes #425400.
9309
9310 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
9311
9312         * docs/random/ensonic/dynlink.txt:
9313           More work on proposal for new core api.
9314
9315         * docs/libs/gstreamer-libs-sections.txt:
9316         * libs/gst/base/gstbasetransform.h:
9317           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9318           
9319         * libs/gst/controller/gstcontroller.c:
9320         (on_object_controlled_property_changed),
9321         (gst_controller_sync_values),
9322         (gst_controller_set_interpolation_mode):
9323         * libs/gst/controller/gstcontroller.h:
9324           Less verbose logging add docs for unimplemented parts and correctly
9325           return when using unavailable parts.
9326
9327 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9328
9329         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9330         Move all the debug to the CLOCK category, and associate it with
9331         the clock object.
9332
9333 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9334
9335         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9336         Make take_buffer a bit quicker by removing redundant checks
9337         caused by calling gst_adapter_take.
9338
9339 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9340
9341         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9342           Don't leak GCond.
9343
9344         * tests/check/Makefile.am:
9345         * tests/check/elements/.cvsignore:
9346         * tests/check/elements/multiqueue.c: (setup_multiqueue),
9347         (GST_START_TEST), (multiqueue_suite):
9348           Add some dead simple unit tests for the 'multiqueue' element
9349           (some bits don't work yet and are disabled for now).
9350
9351 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9352
9353         * gst/gstelement.c: (gst_element_get_request_pad),
9354         (gst_element_class_get_request_pad_template):
9355           Make gst_element_get_request_pad() create request pads only for
9356           request pad templates and not for, say, sometimes pad templates.
9357
9358 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
9359
9360         * docs/design/draft-klass.txt:
9361           Add example that needs more thinking.
9362         
9363         * docs/design/draft-missing-plugins.txt:
9364           More thoughts about wrapper plugins.
9365         
9366         * docs/random/ensonic/embedded.txt:
9367         * docs/random/ensonic/profiling.txt:
9368           More design work.
9369
9370 2007-03-25  Wim Taymans  <wim@fluendo.com>
9371
9372         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9373         (gst_base_src_loop):
9374         Only push the segment events in the PLAYING state for live sources.
9375
9376 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
9377
9378         * gst/gstpipeline.c: (gst_pipeline_change_state):
9379         Modify the clock distribution path in PAUSED->PLAYING so that we 
9380         never attempt to choose a new clock unless we're actually leaving
9381         the PAUSED state for the first time. This prevents choosing a
9382         different clock when the state_change gets called for a 2nd time due
9383         to some element doing an async state change.
9384
9385 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9386
9387         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9388         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9389         (gst_pad_chain_unchecked), (gst_pad_push):
9390         Revert last commit. This needs some more thoughts.
9391
9392 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9393
9394         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9395         (gst_pad_chain_unchecked), (gst_pad_push):
9396         Check in set_caps if the caps are compatible with the pad and remove
9397         two functions that are redundant now. Fixes #421543.
9398
9399 2007-03-22  Wim Taymans  <wim@fluendo.com>
9400
9401         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9402         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9403         Unref some more to make valgrind happy.
9404
9405 2007-03-22  Wim Taymans  <wim@fluendo.com>
9406
9407         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9408         (gst_system_clock_id_wait_jitter),
9409         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9410         Fix anoying regression that survived a few releases. When adding an
9411         async entry while blocking on a sync entry, the sync entry will unblock
9412         but still be busy, so it should continue to wait instead of returning
9413         _BUSY to the app.
9414         Add some comments here and there.
9415
9416         * tests/check/gst/gstsystemclock.c: (mixed_thread),
9417         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9418         Add testcase for this.
9419
9420 2007-03-22  Wim Taymans  <wim@fluendo.com>
9421
9422         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9423         Handle errors from the clock sync better, only UNSCHEDULED indicates a
9424         WRONG_STATE and can silently pause the task. All other cases should
9425         error out.
9426
9427 2007-03-22  Wim Taymans  <wim@fluendo.com>
9428
9429         Patch by: Ville Syrjala <syrjala at sci dot fi>
9430
9431         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9432         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
9433         Improve debugging.
9434
9435 2007-03-21  Michael Smith  <msmith@fluendo.com>
9436
9437         * docs/pwg/advanced-types.xml:
9438           Fix some errors in the typefinding docs pointed out on irc.
9439
9440 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
9441
9442         * libs/gst/base/gstbasesrc.c:
9443         Clarify FIXME comment in the face of having added unlock_stop()
9444
9445 2007-03-21  Wim Taymans  <wim@fluendo.com>
9446
9447         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9448         Prepare for release where we warn against possible app breakage in the
9449         case of live pipelines along with an env var to enable/disable live
9450         preroll mode (GST_COMPAT=[no-]live-preroll).
9451
9452 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9453
9454         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9455         So we should use correct constants for checking for None offset.
9456
9457 2007-03-20  Wim Taymans  <wim@fluendo.com>
9458
9459         * docs/design/part-block.txt:
9460         Mention the fact that the newly switched element should be set to at
9461         least PAUSED.
9462
9463 2007-03-20  Wim Taymans  <wim@fluendo.com>
9464
9465         * gst/gst.c:
9466         Fix compilation with registry disabled as spotted by Saur.
9467
9468 2007-03-20  Wim Taymans  <wim@fluendo.com>
9469
9470         Patch by: Olivier Crete <tester at tester dot ca>
9471
9472         * gst/gstelement.c: (gst_element_sync_state_with_parent):
9473         Look at the pending state too when syncing the element state to the
9474         parent. Fixes #420133.
9475
9476 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
9477
9478         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9479         (gst_base_sink_change_state):
9480         * libs/gst/base/gstbasesink.h:
9481         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9482         (gst_base_src_default_event), (gst_base_src_unlock_stop),
9483         (gst_base_src_deactivate):
9484         * libs/gst/base/gstbasesrc.h:
9485         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9486         for sub-classes to correctly clear any state they set trying to
9487         unlock, such as clearing out unlock commands from a command fd.
9488         API: basesrc::unlock_stop
9489         API: basesink::unlock_stop
9490
9491         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9492         (gst_fd_sink_render), (gst_fd_sink_unlock),
9493         (gst_fd_sink_unlock_stop):
9494         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9495         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9496         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9497
9498         Implement unlock_stop in fdsrc and fdsink.
9499         Implement seeking in fdsrc when a seekable fd is passed, as in
9500         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9501
9502 2007-03-19  Wim Taymans  <wim@fluendo.com>
9503
9504         Patch by: Evan Nemerson <evan at coeus dash group dot com>
9505
9506         * gst/gstelement.c: (gst_element_class_init):
9507         Fix pad-added and pad-removed signal signatures so that the pad type is
9508         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9509
9510 2007-03-19  Wim Taymans  <wim@fluendo.com>
9511
9512         * docs/gst/gstreamer-sections.txt:
9513         Add new element field and method.
9514
9515         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9516         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9517         (gst_bin_recalc_state), (gst_bin_get_state_func),
9518         (gst_bin_element_set_state), (gst_bin_change_state_func),
9519         (gst_bin_continue_func), (bin_bus_handler),
9520         (bin_push_state_continue), (bin_handle_async_start),
9521         (bin_handle_async_done), (gst_bin_handle_message_func):
9522         Make async state changes a bit smarter by using new ASYNC_START and
9523         ASYNC_DONE messages. This reduces the number of times we run the state
9524         recalculation thread.
9525         Don't change state of element with a pending ASYNC_START message.
9526         Deprecate STATE_DIRTY messages.
9527         
9528         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9529         (gst_element_get_state_func), (gst_element_continue_state),
9530         (gst_element_lost_state), (gst_element_set_state_func),
9531         (gst_element_change_state):
9532         * gst/gstelement.h:
9533         Keep the state that was last set by the app in a new element field.
9534         Don't allow state changes when handling an element event.
9535         Post ASYNC_START and ASYNC_DONE messages.
9536         Change lost_state so that we go to PAUSED and wait for the parent to set
9537         us to PLAYING again (so latency calculation can be performed)
9538         Export gst_element_change_state() method so that subclasses can use it.
9539         API: gst_element_change_state()
9540         API: GST_STATE_TARGET
9541
9542         * gst/gstpipeline.c: (gst_pipeline_class_init),
9543         (reset_stream_time), (gst_pipeline_change_state),
9544         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9545         Using the new ASYNC_START message we can reset the base_time when
9546         needed. This can then be used to implement base_time redistribution in
9547         flushing seeks so that we can remove the explicit seek handling.
9548         Perform latency query and configuration when going to PLAYING.
9549
9550         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9551         (gst_base_sink_query), (gst_base_sink_change_state):
9552         Post new ASYNC_START/ASYNC_DONE messages.
9553
9554         * tests/check/generic/sinks.c: (GST_START_TEST):
9555         Fix test because the bin will not set the async element to PLAYING right
9556         away.
9557
9558         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9559         Make the message check a little stronger.
9560         Handle ASYNC messages.
9561
9562         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9563         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9564         Expect ASYNC_DONE messages.
9565
9566 2007-03-19  Wim Taymans  <wim@fluendo.com>
9567
9568         * docs/gst/gstreamer-sections.txt:
9569         * gst/gstmessage.c: (gst_message_new_async_start),
9570         (gst_message_new_async_done), (gst_message_parse_info),
9571         (gst_message_parse_async_start):
9572         * gst/gstmessage.h:
9573         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9574         support.
9575
9576 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
9577
9578         * tools/gst-inspect.c:
9579         (print_plugin_automatic_install_info_codecs):
9580           Now that we don't check for the 'Codec' keyword any longer in the
9581           klass, we shouldn't spew a warning if the klass isn't a decoder or
9582           encoder (since it might be a Source/Network, for example).
9583
9584 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
9585
9586         * tools/gst-inspect.c:
9587         (print_plugin_automatic_install_info_codecs):
9588           Don't require decoder/demuxer/depayloader elements or
9589           encoder/muxer/paylader elements to have 'Codec' as part of their
9590           factory class string when introspecting a plugin's capabilities.
9591           draft-klass.txt mentions that it might be removed in future, and
9592           flump3dec doesn't have it as part of its class string, so chances
9593           are others might also not have it.
9594
9595 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9596
9597         * po/af.po:
9598         * po/az.po:
9599         * po/bg.po:
9600         * po/ca.po:
9601         * po/cs.po:
9602         * po/de.po:
9603         * po/en_GB.po:
9604         * po/fr.po:
9605         * po/it.po:
9606         * po/nb.po:
9607         * po/nl.po:
9608         * po/ru.po:
9609         * po/sq.po:
9610         * po/sr.po:
9611         * po/sv.po:
9612         * po/tr.po:
9613         * po/uk.po:
9614         * po/vi.po:
9615         * po/zh_CN.po:
9616         * po/zh_TW.po:
9617           Update translations from translation project
9618
9619 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
9620
9621         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9622         (gst_child_proxy_set_property):
9623           Invert precondition check to be alike the ones in the mimiced gobject
9624           api.
9625
9626 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
9627
9628         * docs/design/draft-tagreading.txt:
9629         * docs/random/ensonic/audiobaseclasses.txt:
9630           Do some Architect work.
9631
9632         * gst/gstobject.c: (gst_object_set_name):
9633           Add a WARNING.
9634
9635         * gst/gstpad.c:
9636           Add docs that point from gst_pad_get_range to gst_pad_pull_range
9637
9638 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
9639
9640         * gst/gstsystemclock.c: (gst_system_clock_init),
9641         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9642         Defer starting the async system clock thread until the first async
9643         wait is scheduled. Fixes #414986.
9644
9645 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
9646
9647         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9648         (gst_single_queue_free):
9649           Fix small leak (free GstSingleQueue structure too, not only contents).
9650
9651 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
9652
9653         * gst/gstbin.c:(gst_bin_add):
9654         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9655         * win32/common/libgstbase.def:
9656         * win32/common/libgstreamer.def:
9657         Add new exported functions.
9658
9659 2007-03-09  Wim Taymans  <wim@fluendo.com>
9660
9661         * docs/plugins/gstreamer-plugins-sections.txt:
9662         Fix GstTee docs.
9663
9664 2007-03-09  Wim Taymans  <wim@fluendo.com>
9665
9666         * docs/gst/gstreamer-sections.txt:
9667         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9668         * gst/gstbuffer.h:
9669         Add metadata copy functions. Fixes #393099.
9670         API: gst_buffer_copy_metadata()
9671
9672         * gst/gstutils.c: (gst_buffer_stamp):
9673         * libs/gst/base/gstbasetransform.c:
9674         (gst_base_transform_prepare_output_buffer):
9675         Use new metadata copy functions.
9676
9677 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9678
9679         * plugins/elements/gstidentity.c: (gst_identity_class_init),
9680         (gst_identity_init), (gst_identity_check_perfect),
9681         (gst_identity_check_imperfect_timestamp),
9682         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9683         (gst_identity_set_property), (gst_identity_get_property):
9684         * plugins/elements/gstidentity.h:
9685         Separate out check-imperfect-timestamp and check-imperfect-offset.
9686         Put back check-perfect as it was to keep compatibility.
9687
9688 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
9689
9690         * gst/gstelement.c: (gst_element_dispose):
9691         There's no need to warn if VOID_PENDING is not NONE here, as
9692         long as the state is NULL it's ok, and that's checked immediately
9693         above.
9694
9695 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9696
9697         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9698         Fix check for perfect stream to ignore buffers with -1 
9699         offsets/offset ends when checking data contiguity.
9700
9701 2007-03-08  Wim Taymans  <wim@fluendo.com>
9702
9703         * tools/gst-launch.c: (event_loop):
9704         Print INFO messages.
9705
9706 2007-03-08  Wim Taymans  <wim@fluendo.com>
9707
9708         * libs/gst/base/gstbasetransform.c:
9709         (gst_base_transform_sink_eventfunc),
9710         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9711         (gst_base_transform_activate):
9712         * libs/gst/base/gstbasetransform.h:
9713         Add support for dropping buffers with custom GstFlowReturn.
9714         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9715         buffers or dropped buffers.
9716
9717         * docs/libs/gstreamer-libs-sections.txt:
9718         docs for new custom return code.
9719
9720         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9721         Use drop support in base class to implement drop-probability.
9722
9723 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
9724
9725         * gst/gst.c: (load_plugin_func):
9726         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9727         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9728         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9729           Remove newlines at end of debug log strings.
9730
9731 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9732
9733         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9734         Only post bus message at max, once per buffer received.
9735
9736 2007-03-07  Wim Taymans  <wim@fluendo.com>
9737
9738         * docs/design/Makefile.am:
9739         * docs/design/part-synchronisation.txt:
9740         Add doc about synchronisation
9741
9742         * docs/design/draft-latency.txt:
9743         * docs/design/part-TODO.txt:
9744         * docs/design/part-clocks.txt:
9745         * docs/design/part-events.txt:
9746         * docs/design/part-gstbus.txt:
9747         * docs/design/part-gstpipeline.txt:
9748         * docs/design/part-live-source.txt:
9749         * docs/design/part-messages.txt:
9750         * docs/design/part-overview.txt:
9751         * docs/design/part-streams.txt:
9752         * docs/design/part-trickmodes.txt:
9753         Documentation updates.
9754
9755 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9756
9757         * gstreamer.doap:
9758         Update the doap file.
9759
9760 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9761
9762         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9763         Rename non-perfect to imperfect for Mike and for the sanctity of the
9764         language.
9765         Also make sure bus message gets emitted for data-incontiguities.
9766
9767 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9768
9769         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9770         (gst_identity_start):
9771         * plugins/elements/gstidentity.h:
9772         Emit bus message if check-perfect is true and we encounter a
9773         non-perfect stream between 2 consecutive buffers.
9774         Fixes #415394.
9775
9776 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9777
9778         * configure.ac:
9779         Back to CVS
9780
9781 === release 0.10.12 ===
9782
9783 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
9784
9785         * configure.ac:
9786           releasing 0.10.12, "Inevitable Demise"
9787
9788 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
9789
9790         * configure.ac:
9791          Version 0.10.11.2 (0.10.12 pre-release)
9792          Bump libtool versioning.
9793
9794 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
9795
9796         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9797           Log flow-names and not numbers.
9798
9799 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9800
9801         * configure.ac:
9802           Convert to new AG_GST style.
9803
9804 2007-02-28  Wim Taymans  <wim@fluendo.com>
9805
9806         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
9807         Don't unref query twice.
9808
9809 2007-02-28  Wim Taymans  <wim@fluendo.com>
9810
9811         * gst/gstvalue.c: (gst_value_transform_object_string),
9812         (_gst_value_initialize):
9813         Implement GstObject -> string transform so we print object names
9814         when serializing GValues containing GstObjects.
9815
9816 2007-02-28  Wim Taymans  <wim@fluendo.com>
9817
9818         * docs/gst/gstreamer-sections.txt:
9819         Add new stuff to docs.
9820
9821 2007-02-28  Wim Taymans  <wim@fluendo.com>
9822
9823         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
9824         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
9825         (gst_base_sink_change_state):
9826         Improve latency query code.
9827         Don't leak latency events.
9828
9829         * tests/check/gst/gstbin.c: (GST_START_TEST):
9830         Improve debugging.
9831
9832 2007-02-28  Wim Taymans  <wim@fluendo.com>
9833
9834         * gst/gstelement.c: (gst_element_message_full),
9835         (gst_element_get_state_func):
9836         * gst/gstelement.h:
9837         Improve docs a little. Added Since: for new macro.
9838
9839         * gst/gstobject.c: (gst_object_sink):
9840         * gst/gstpipeline.c: (gst_pipeline_change_state),
9841         (gst_pipeline_set_new_stream_time):
9842         * gst/gstpipeline.h:
9843         Improve debugging and docs.
9844
9845         * gst/gstutils.c: (gst_element_state_change_return_get_name):
9846         Improve debugging.
9847
9848 2007-02-28  Wim Taymans  <wim@fluendo.com>
9849
9850         * gst/gstelement.c: (gst_element_message_full),
9851         (gst_element_set_locked_state), (gst_element_get_state_func),
9852         (gst_element_change_state):
9853         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
9854         Documentation updates.
9855         Small code cleanups.
9856
9857         * gst/gstmessage.c: (gst_message_new_info),
9858         (gst_message_parse_info):
9859         * gst/gstmessage.h:
9860         API: gst_message_new_info()
9861         API: gst_message_parse_info()
9862         Add INFO message create and parse code.
9863
9864 2007-02-28  Wim Taymans  <wim@fluendo.com>
9865
9866         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
9867         (bin_query_latency_done):
9868         Also report the live parameter of a latency query.
9869
9870 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9871
9872         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
9873           Copy the current generic/states example from -base and adapt so
9874           we can use the exact same code everywhere.
9875           Check a STATES_IGNORE_ELEMENTS env var which can be used
9876           to ignore certain element factories for this test, which is
9877           what is being done in -base
9878         * tests/check/Makefile.am:
9879           Mention this environment variable.
9880
9881 2007-02-27  Wim Taymans  <wim@fluendo.com>
9882
9883         * docs/gst/gstreamer-sections.txt:
9884         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9885         (gst_bus_timed_pop), (gst_bus_pop):
9886         * gst/gstbus.h:
9887         API: gst_bus_timed_pop()
9888         Implement gst_bus_timed_pop() to do a blocking timed wait for a
9889         message to arrive on the bus.
9890
9891         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
9892         (gst_bus_suite):
9893         Two unit tests for new _timed_pop() function.
9894
9895 2007-02-23  Wim Taymans  <wim@fluendo.com>
9896
9897         * gst/gstpipeline.c: (gst_pipeline_change_state),
9898         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
9899         Don't ref a NULL clock in _provide_clock_func().
9900         Don't allow an INVALID delay.
9901         Don't try to calculate base_time with an invalid start_time.
9902         Also distribute and notify a NULL clock when it was selected.
9903
9904         * tools/gst-launch.c: (event_loop):
9905         Don't crash when a NULL clock was selected in the pipeline.
9906
9907 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
9908
9909         * docs/design/Makefile.am:
9910         * docs/design/draft-missing-plugins.txt:
9911         * docs/random/draft-missing-plugins.txt:
9912           Some small updates: update plugin system identifier prefix
9913           ('gstreamer.net' to 'gstreamer'), mention our new install
9914           API in libgstbaseutils rather than libgimme-codec, add
9915           reference to the online docs.
9916
9917 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9918
9919         * win32/common/config.h:
9920           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
9921           use moap cl ci to only check in what is mentioned in the ChangeLog.
9922
9923 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9924
9925         * docs/gst/gstreamer-sections.txt:
9926         * gst/gstelement.h:
9927           Fix up documentation to link to the correct GstGError section.
9928           Add GST_ELEMENT_INFO macro since someone else added a Info message.
9929
9930 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9931
9932         * tools/gst-launch.c: (event_loop):
9933           Make sure that we actually show the important message part of a
9934           warning message.
9935           No need to check if the gerror is not NULL to free; first of all
9936           g_free accepts NULL; and second the default error handler would
9937           segfault if gerror was NULL.
9938
9939 2007-02-21  Wim Taymans  <wim@fluendo.com>
9940
9941         * docs/gst/gstreamer-sections.txt:
9942         Removed docs as well.
9943
9944 2007-02-21  Wim Taymans  <wim@fluendo.com>
9945
9946         * gst/gstmessage.c: (gst_message_parse_duration):
9947         * gst/gstmessage.h:
9948         Remove new messages for release.
9949
9950 2007-02-20  Wim Taymans  <wim@fluendo.com>
9951
9952         * docs/design/part-gstghostpad.txt:
9953         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
9954         (gst_ghost_pad_new_full):
9955         Make the ghostpad a parent of the internal pad again for better backward
9956         compatibility. Don't write code that relies on this however.
9957
9958         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
9959         (gst_pad_link_check_hierarchy):
9960         Require that parents should be GstElements in the hierarchy check.
9961
9962 2007-02-20  Wim Taymans  <wim@fluendo.com>
9963
9964         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
9965         (gst_bin_change_state_func), (bin_query_min_max_init),
9966         (bin_query_latency_fold), (bin_query_latency_done),
9967         (gst_bin_query):
9968         Improve debug info.
9969         Implement latency query.
9970
9971 2007-02-20  Wim Taymans  <wim@fluendo.com>
9972
9973         * docs/design/part-gstghostpad.txt:
9974         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
9975         (gst_ghost_pad_internal_do_activate_push),
9976         (gst_ghost_pad_internal_do_activate_pull),
9977         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9978         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
9979         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
9980         Do not set the internal pad as a parent anymore so we can avoid
9981         hierarchy linking errors when the ghostpad has no parent yet. This also
9982         fixes failed activation because of unlinked internal pads, which in
9983         turn fixes the impossible case where you have to activate a pad before
9984         you can add it to a running element.
9985         Also fix the docs.
9986
9987         * gst/gstpad.c: (pre_activate), (post_activate),
9988         (gst_pad_set_active), (gst_pad_activate_pull),
9989         (gst_pad_activate_push), (gst_pad_check_pull_range):
9990         Add some more debug info.
9991         Mark activation mode in pre_activate so that we don't try to activate in
9992         endless loops. Fixes #385084.
9993
9994 2007-02-19  Wim Taymans  <wim@fluendo.com>
9995
9996         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
9997         (gst_base_transform_check_get_range):
9998         Implement a checkgetrange function instead of relying on the default
9999         core behaviour that assumes we can operate in pull mode if we have a
10000         getrange function. First step at fixing #385084.
10001
10002 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
10003
10004         * gst/gstchildproxy.h:
10005         * libs/gst/base/gstbasesink.h:
10006         * libs/gst/base/gstbasesrc.h:
10007         * libs/gst/base/gstbasetransform.h:
10008         More docs coverage and some ChangeLog surgery (add missing names)
10009
10010 2007-02-15  Wim Taymans  <wim@fluendo.com>
10011
10012         * docs/design/part-TODO.txt:
10013         * docs/design/part-activation.txt:
10014         * docs/design/part-block.txt:
10015         * docs/design/part-buffering.txt:
10016         * docs/design/part-clocks.txt:
10017         * docs/design/part-element-source.txt:
10018         * docs/design/part-events.txt:
10019         * docs/design/part-gstbin.txt:
10020         * docs/design/part-gstbus.txt:
10021         * docs/design/part-gstpipeline.txt:
10022         * docs/design/part-live-source.txt:
10023         * docs/design/part-messages.txt:
10024         * docs/design/part-overview.txt:
10025         * docs/design/part-qos.txt:
10026         * docs/design/part-query.txt:
10027         * docs/design/part-states.txt:
10028         * docs/design/part-trickmodes.txt:
10029         Some doc updates. Start renaming from stream_time to running_time where
10030         it was used wrongly.
10031
10032 2007-02-15  Wim Taymans  <wim@fluendo.com>
10033
10034         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
10035         Answer LATENCY query.
10036
10037 2007-02-15  Wim Taymans  <wim@fluendo.com>
10038
10039         * tests/check/gst/gstevent.c: (event_probe), (test_event),
10040         (GST_START_TEST):
10041         Improve debugging.
10042
10043 2007-02-15  Wim Taymans  <wim@fluendo.com>
10044
10045         * gst/gstpad.c: (gst_pad_get_internal_links_default),
10046         (gst_pad_dispatcher):
10047         Improve debugging of default pad dispatcher and query functions.
10048
10049 2007-02-15  Wim Taymans  <wim@fluendo.com>
10050
10051         * docs/gst/gstreamer-sections.txt:
10052         Remove old unused method.
10053
10054 2007-02-13  Wim Taymans  <wim@fluendo.com>
10055
10056         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10057         Fix check
10058
10059 2007-02-13  Wim Taymans  <wim@fluendo.com>
10060
10061         * docs/design/part-seeking.txt:
10062         Some small update.
10063
10064         * gst/gstsegment.c: (gst_segment_set_seek):
10065         Revert old bogus change that should make seeking work again.
10066
10067 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10068
10069         * docs/random/ensonic/dynlink.txt:
10070         * docs/random/ensonic/interfaces.txt:
10071         * docs/random/ensonic/receipies.txt:
10072           Possible dynamic reconnection api, plus some type fixes the other two
10073           docs.
10074
10075 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
10076
10077         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10078         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10079         Also check for an absolute path following file:// in the filesrc
10080         element. Remove redundant check and call g_path_is_absolute() on the
10081         unescaped location.
10082
10083 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10084
10085         * docs/design/draft-klass.txt:
10086           Add existing category analysis.
10087           
10088         * gst/gstcaps.c:
10089           Fix doc example, framerate is a fraction.
10090
10091 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10092
10093         * configure.ac:
10094         * docs/gst/Makefile.am:
10095         * docs/gst/gstreamer-sections.txt:
10096         * docs/libs/Makefile.am:
10097           Erm, forgot a bunch of --extra-dir.
10098
10099 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10100
10101         * configure.ac:
10102         * docs/gst/Makefile.am:
10103         * docs/libs/Makefile.am:
10104         * docs/plugins/Makefile.am:
10105           Add crossreferences to glib/gobject docs.
10106
10107 2007-02-12  Wim Taymans  <wim@fluendo.com>
10108
10109         * docs/design/draft-latency.txt:
10110         Small update.
10111
10112         * docs/libs/gstreamer-libs-sections.txt:
10113         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10114         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
10115         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
10116         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
10117         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
10118         (gst_base_sink_get_position), (gst_base_sink_query),
10119         (gst_base_sink_change_state):
10120         * libs/gst/base/gstbasesink.h:
10121         API: gst_base_sink_query_latency() to let subclasses query the upstream
10122         latency.
10123         API: gst_base_sink_get_latency() to let subclasses query the configured
10124         latency in the sink.
10125         Implement query and set latency.
10126         Update some docs.
10127         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
10128         don't continue preroll when we are flushing. Fixes #405284.
10129
10130         * tests/check/pipelines/stress.c: (change_state_timeout),
10131         (quit_timeout), (GST_START_TEST), (stress_suite):
10132         Test for #405284.
10133
10134 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
10135
10136         Patch by: René Stadler <mail at renestadler de>
10137
10138         * docs/gst/gstreamer-sections.txt:
10139         * gst/gsttaglist.c: (_gst_tag_initialize):
10140         * gst/gsttaglist.h:
10141           API: add GST_TAG_REFERENCE_LEVEL (#403597).
10142
10143 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
10144
10145         * docs/libs/Makefile.am:
10146           Fix path to core docs.
10147
10148         * gst/gstbin.c: (gst_bin_get_by_interface),
10149         (gst_bin_iterate_all_by_interface):
10150           Refix docs by also renaming 'interface' to 'iface' in implementation.
10151
10152         * docs/gst/gstreamer-sections.txt:
10153         * gst/gstcaps.c:
10154         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
10155         * gst/gstchildproxy.h:
10156         * gst/gstelementfactory.c:
10157         * gst/gstpadtemplate.h:
10158         * libs/gst/controller/gstcontroller.c:
10159         (gst_controlled_property_new):
10160           Document more.
10161
10162 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
10163
10164         * gst/gstbin.h:(gst_bin_get_by_interface),
10165         (gst_bin_iterate_all_by_interface):
10166         Replace interface parameter name by iface as interface is 
10167         a reserved keyword in Visual Studio for C++ projects so it removes
10168         a build error for application developpers using VS.
10169         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
10170         Fix a bug on Windows in uri format check. Now the prefix checked
10171         is file:// and next we check if the path after file:// is absolute.
10172         * win32/common/libgstbase.def:
10173         * win32/common/libgstdataprotocol.def:
10174         * win32/common/libgstgstreamer.def:
10175         Add new exported functions.
10176
10177 2007-02-09  Andy Wingo  <wingo@pobox.com>
10178
10179         * tests/check/pipelines/simple-launch-lines.c
10180         (simple_launch_lines_suite, test_tee): Disable tee test until I
10181         have time to fix it :-(
10182
10183         * tests/check/Makefile.am (noinst_HEADERS): 
10184         * tests/check/libs/libsabi.c: 
10185         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
10186         * tests/check/gst/gstabi.c: 
10187         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
10188
10189         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
10190         tests for push and pull tee behavior.
10191
10192         * plugins/elements/gsttee.h: 
10193         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
10194         mark as deprecated as well as unimplemented. It was a crack idea.
10195         Add support for tee operating in pull mode, off by default.
10196
10197         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
10198         normal-case logs down to LOG, raise errors to WARNING.
10199         (gst_registry_xml_read_cache): Don't log before calling a function
10200         that logs.
10201
10202         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
10203         exit (registry finalize).
10204         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
10205         DEBUG log when we emit signals that people don't even have the
10206         chance to connect to.
10207         (gst_registry_scan_path_level): Less logging in the normal case.
10208
10209 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10210
10211         Patch by: Michal Benes <michal dot benes at itonis dot tv>
10212
10213         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10214         Correctly generate EOS for non-seekable files. We don't have a total
10215         length for them and would get an unexpected end of file if we only
10216         special-cased for regular files. (Fixes: #404569)
10217
10218 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10219
10220         * tests/check/elements/filesrc.c: (GST_START_TEST),
10221         (filesrc_suite):
10222         Add unit test for the GstURIHandler interface in filesrc. This also
10223         tests the newly added file://localhost/foo/bar support.
10224
10225 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
10226
10227         * gst/gstelementfactory.h:
10228           The klass string is not a hierarchy. Add reference to the design doc
10229           for more information and common types.
10230
10231 2007-02-02  Wim Taymans  <wim@fluendo.com>
10232
10233         * gst/gstquery.c: (gst_query_new_latency):
10234         Remove old structure field.
10235
10236 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
10237
10238         * tools/gst-launch.1.in:
10239           Give example for network streaming (#351998)
10240
10241 2007-02-02  Wim Taymans  <wim@fluendo.com>
10242
10243         * docs/gst/gstreamer-sections.txt:
10244         Add docs for new methods.
10245
10246         * gst/gstevent.c: (gst_event_new_latency),
10247         (gst_event_parse_latency):
10248         * gst/gstevent.h:
10249         Add new LATENCY event to configure latency in a pipeline.
10250         API: gst_event_new_latency
10251         API: gst_event_parse_latency
10252
10253         * gst/gstmessage.c: (gst_message_new_buffering),
10254         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10255         (gst_message_new_latency), (gst_message_parse_buffering),
10256         (gst_message_parse_lost_preroll):
10257         * gst/gstmessage.h:
10258         Added messages used in draft-latency.
10259         API: gst_message_new_lost_preroll
10260         API: gst_message_parse_lost_preroll
10261         API: gst_message_new_prerolled
10262         API: gst_message_new_latency
10263
10264         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10265         (gst_query_parse_latency):
10266         * gst/gstquery.h:
10267         Implemented new latency query as in design doc.
10268         API: gst_query_new_latency
10269         API: gst_query_set_latency
10270         API: gst_query_parse_latency
10271
10272 2007-02-02  Wim Taymans  <wim@fluendo.com>
10273
10274         * docs/design/draft-latency.txt:
10275         Slight redesign to allow for dynamic latency adjustments.
10276
10277         * docs/design/part-negotiation.txt:
10278         Fix some typos.
10279
10280 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
10281
10282         reviewed by: Wim Taymans <wim@fluendo.com>
10283
10284         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10285         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10286         Allow file://localhost/foo/bar URLs and correctly fail for every other
10287         hostname that one sets. This was gnomevfssrc is linked for those if
10288         installed as it can handle it (#403172)
10289
10290 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10291
10292         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10293
10294         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10295         (unref_data), (gst_collect_pads_add_pad_full):
10296         * libs/gst/base/gstcollectpads.h:
10297         Don't put the previously added destroy notify in the GstCollectData
10298         struct as all it's padding is already used and we don't want to break
10299         ABI. Instead put in the pad's GObject data for now. This should be
10300         cleaned up for 0.11 (#402393).
10301
10302 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10303
10304         reviewed by: Wim Taymans <wim@fluendo.com>
10305
10306         * docs/libs/gstreamer-libs-sections.txt:
10307         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10308         (unref_data), (gst_collect_pads_add_pad),
10309         (gst_collect_pads_add_pad_full):
10310         * libs/gst/base/gstcollectpads.h:
10311         API: Add function to specify a destroy notification for custom
10312         GstCollectData when adding new pads in GstCollectPads (#402393).
10313
10314 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
10315
10316         * po/sv.po:
10317           Update Swedish translation (#378255).
10318
10319 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10320
10321         * docs/design/draft-klass.txt:
10322           Fix the previous change, this is a list of categories and not a hierarchy.
10323
10324 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10325
10326         * docs/design/draft-klass.txt:
10327           Add info about how to get a list of used classes.
10328
10329 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
10330
10331         * plugins/elements/gsttypefindelement.c:
10332         (gst_type_find_element_chain_do_typefinding),
10333         (gst_type_find_element_change_state):
10334           Don't leak found caps in chain function (no idea why that never
10335           showed up as a leak anywhere).
10336
10337 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
10338
10339         * gst/gstplugin.h:
10340           Fix and expand GstPluginDesc API docs.
10341
10342 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10343
10344         * gst/gstcaps.c:
10345         * gst/gstelementfactory.c:
10346         * gst/gstpadtemplate.h:
10347           api doc fixes
10348
10349         * libs/gst/controller/gstcontroller.c:
10350         (gst_controlled_property_new):
10351         * tests/examples/controller/audio-example.c:
10352           comment fixes
10353
10354 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10355
10356         * configure.ac:
10357           comment about refining the xml deps
10358
10359         * docs/manuals.mak:
10360           comments about moving away from jade for docs
10361         
10362         * gst/gst.c:
10363           recommit the ifdefs to use the binary registry
10364         
10365         * gst/gstbin.c: (gst_bin_change_state_func):
10366           this break is obsolete
10367
10368         * gst/gstelementfactory.h:
10369           better GST_ELEMENT_DETAILS docs, add comment about translation
10370
10371         * gst/gstinfo.h:
10372           remove eol slash
10373
10374         * gst/gstobject.c: (gst_signal_object_get_type):
10375           add G_UNLIKELY as usual
10376
10377         * gst/gstpad.c: (gst_pad_event_default):
10378           add fall trhu comment
10379
10380         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10381         (gst_registry_binary_initialize_magic),
10382         (gst_registry_binary_save_string),
10383         (gst_registry_binary_save_pad_template),
10384         (gst_registry_binary_save_feature),
10385         (gst_registry_binary_save_plugin),
10386         (gst_registry_binary_write_cache),
10387         (gst_registry_binary_check_magic),
10388         (gst_registry_binary_load_pad_template),
10389         (gst_registry_binary_load_feature),
10390         (gst_registry_binary_load_plugin),
10391         (gst_registry_binary_read_cache):
10392           comment typo and formatting
10393
10394         * gst/gstutils.c: (gst_element_state_get_name),
10395         (gst_element_state_change_return_get_name):
10396           remove obsolete breaks
10397
10398         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10399           add FIXME 0.11 and remove cpp comment
10400
10401 2007-01-29  Edward Hervey  <edward@fluendo.com>
10402
10403         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10404         Fix print statement in an even more portable way.
10405
10406 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
10407
10408         * docs/gst/gstreamer-sections.txt:
10409         * gst/gstutils.h:
10410           API: add GST_ROUND_DOWN_* macros (#401781).
10411
10412 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
10413
10414         * docs/gst/gstreamer.types.in:
10415         * gst/gstregistry.c: (gst_registry_class_init):
10416           Document registry signals and make gtk-doc pick them up (#401381).
10417
10418 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10419
10420         * docs/pwg/building-testapp.xml:
10421           Add some audioconverts and audioresample to the pipeline, and some
10422           more comments and error handling.
10423
10424 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10425
10426         * docs/manual/manual.xml:
10427         * docs/pwg/pwg.xml:
10428           Fix typo (#400987).
10429
10430 2007-01-26  Wim Taymans  <wim@fluendo.com>
10431
10432         * gst/gstcaps.c: (gst_static_caps_get):
10433         Init caps flags too.
10434
10435 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
10436
10437         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10438
10439         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10440         If not using mmap'ed files try to seek to the end instead of the
10441         start to determine whether we can seek at all. This fixes the case
10442         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10443         seeks for everything afterwards fail. Fixes #400656
10444
10445 2007-01-25  Wim Taymans  <wim@fluendo.com>
10446
10447         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10448         Add some refcount debugging.
10449         Make gst_static_caps_get threadsafe, which is needed when autoplugging
10450         in multiple streaming threads.
10451
10452 2007-01-25  Wim Taymans  <wim@fluendo.com>
10453
10454         Patch by: David Schleef <ds at schleef dot org>
10455
10456         * docs/libs/gstreamer-libs-sections.txt:
10457         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10458         * libs/gst/base/gstadapter.h:
10459         API: gst_adapter_copy() that can reduce the amount of memcpy when
10460         getting data from the adapter. Fixes #388201.
10461
10462 2007-01-25  Edward Hervey  <edward@fluendo.com>
10463
10464         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10465         In print statements, "%x" is for guint. Fixes build on macosx.
10466
10467 2007-01-24  Edward Hervey  <edward@fluendo.com>
10468
10469         * plugins/elements/gstmultiqueue.c:
10470         (gst_multi_queue_loop):
10471         Small fix.
10472         (single_queue_overrun_cb), (single_queue_underrun_cb),
10473         (single_queue_check_full), (gst_single_queue_new):
10474         Implement single queue growth system.
10475         This uses the extra-size properties, and will grow single queues by
10476         that much if one goes full whereas there are others empty. This is
10477         called extra-mode in the code.
10478         When a single queue's levels go back below the initial max-size
10479         limits, it is no longer in extra-mode. This is to ensure we don't
10480         consume too much memory.
10481         Fixes #399875
10482
10483 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
10484
10485         * gst/gst.c: (gst_init_get_option_group):
10486           Make warning about late g_thread_init() calls a bit more explicit,
10487           so that it's more obvious to application developers what they need
10488           to do if a user files a bug against their application.
10489
10490 2007-01-22  Edward Hervey  <edward@fluendo.com>
10491
10492         * plugins/elements/gstmultiqueue.c:
10493         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10494         Remove previous hack of unsetting the flushing flag for the source pad
10495         instead of activating it. Instead, fix the source pad activate function
10496         so that it no longer depends on having a parent set or not.
10497
10498 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
10499
10500         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10501
10502         * docs/manual/basics-bus.xml:
10503           Fix example code, gst_element_unref() doesn't exist any longer.
10504
10505 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
10506
10507         Patch by: Mark Nauwelaerts <manauw at skynet be>
10508
10509         * gst/gstpad.c:
10510           Fix two docs typoes (#399094).
10511
10512 2007-01-19  Edward Hervey  <edward@fluendo.com>
10513
10514         * docs/faq/gst-uninstalled:
10515         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10516         depending on libgstbaseutils can work in uninstalled environment.
10517
10518 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
10519
10520         * gst/gsttaglist.h:
10521         * gst/gsttagsetter.c:
10522         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10523         statement for new tag.
10524
10525 2007-01-17  Edward Hervey  <edward@fluendo.com>
10526
10527         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10528         When dynamically creating single queues, activate sinkpad before adding
10529         it.
10530         We should be doing the same thing for the source pad, but we can't
10531         since it would call a method which needs the parent to be set in order
10532         to work propertly. Instead of activating the source pad, we just unset
10533         the flushing flag, which is the minimal requirement for adding a pad
10534         to an element in a state greater than READY.
10535
10536 2007-01-17  Edward Hervey  <edward@fluendo.com>
10537
10538         * docs/faq/gst-uninstalled:
10539         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10540         Mac OS X.
10541
10542 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
10543
10544         * tests/check/gst/gstabi.c:
10545         * tests/check/gst/struct_hppa.h:
10546         * tests/check/libs/libsabi.c:
10547         * tests/check/libs/struct_hppa.h:
10548           Add ABI structs for HPPA (see #393796).
10549
10550 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
10551
10552         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10553           Actually write ABI structs to the file specified in the GST_ABI
10554           environment variable, as the message we print claims we would.
10555
10556 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10557
10558         * tests/check/gst/gsttask.c:
10559           Fix header comment.
10560
10561 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10562
10563         * gst/gsttaglist.c: (_gst_tag_initialize):
10564           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10565           previous two entries.
10566
10567 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10568
10569         * docs/gst/gstreamer-sections.txt:
10570         * gst/gsttaglist.c: (_gst_tag_initialize):
10571         * gst/gsttaglist.h:
10572           Add tag support for beat-per-minute.
10573
10574 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10575
10576         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10577         (gst_registry_binary_initialize_magic),
10578         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10579         (gst_registry_binary_save_pad_template),
10580         (gst_registry_binary_save_feature),
10581         (gst_registry_binary_save_plugin),
10582         (gst_registry_binary_write_cache),
10583         (gst_registry_binary_check_magic),
10584         (gst_registry_binary_load_pad_template),
10585         (gst_registry_binary_load_feature),
10586         (gst_registry_binary_load_plugin),
10587         (gst_registry_binary_read_cache):
10588         * gst/gstregistrybinary.h:
10589           Use glib types, cleanup comments, impement interfaces and uri-types.
10590
10591 2007-01-13  Andy Wingo  <wingo@pobox.com>
10592
10593         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10594         getrange() to return buffers with other caps, while we fix
10595         demuxers and typefind, or otherwise change part-negotiation.txt.
10596
10597 2007-01-12  Andy Wingo  <wingo@pobox.com>
10598
10599         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10600         Factor start/stop into this private function instead of partially
10601         in activate functions and partially in the change_state function.
10602         Fixes setup before the element has changed from READY->PAUSED, as
10603         is the case in pull-mode pipelines.
10604         (gst_base_transform_sink_activate_push)
10605         (gst_base_transform_src_activate_pull): Refactor to use
10606         gst_base_transform_activate().
10607         (gst_base_transform_change_state): Removed, not needed any more.
10608
10609         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10610         Truncate before fixating.
10611         
10612         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10613         Don't set_caps() if the result of fixating is ANY, as it's not
10614         supported, and not necessary in the case of a link with no
10615         template caps on either side. Fixes tests/check/libs/basesrc in
10616         some pull-mode tests.
10617
10618         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10619         (gst_base_transform_init, gst_base_transform_sink_activate_push)
10620         (gst_base_transform_src_activate_pull): 
10621         Track the activation mode.
10622         (gst_base_transform_setcaps): In pull mode, when activating the
10623         src pad, after activating the sink pad, activate the sink pad's
10624         peer, as discussed in part-negotiation.txt.
10625
10626         * libs/gst/base/gstbasesrc.h: 
10627         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10628         vmethod, as in basesink.
10629
10630         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10631
10632         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10633         mode, first proxy the setcaps to the peer pad.
10634         (gst_base_sink_pad_fixate): Add a fixate function that calls the
10635         new fixate vmethod.
10636         (gst_base_sink_default_activate_pull): Rename from
10637         gst_base_sink_activate_pull.
10638         (gst_base_sink_negotiate_pull): New function, performs negotiation
10639         in pull mode before calling ::activate_pull().
10640         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10641         vmethod instead of the default implementation. I have no idea how
10642         this worked before. Negotiate before calling activate_pull.
10643
10644         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10645         sink pads in pull mode. In addition to being correct, fixes
10646         filesrc ! decodebin ! identity ! fakesink.
10647         (gst_pad_get_range, gst_pad_pull_range): Don't call
10648         gst_pad_set_caps() if the caps changes; instead error out with
10649         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10650
10651 2007-01-12  Andy Wingo  <wingo@pobox.com>
10652
10653         * docs/design/part-negotiation.txt: Update with more policy.
10654
10655 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10656
10657         * libs/gst/check/gstbufferstraw.h:
10658         * libs/gst/check/gstcheck.h:
10659           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10660           belongs.
10661
10662 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10663
10664         * tests/check/Makefile.am:
10665         * tests/check/gst/.cvsignore:
10666         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10667         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10668         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10669         (GST_START_TEST), (gst_tag_setter_suite):
10670           Add minimal unit test for beforementioned GstTagSetter bug.
10671
10672 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10673
10674         Patch by: René Stadler <mail at renestadler dot de>
10675
10676         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10677           gst_tag_list_merge() returns a new list, so it's not the best idea
10678           to ingore its return value. Effectively meant that tags could only
10679           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10680           Also add function guard to require a non-NULL taglist as input (has
10681           always been so due to gst_tag_list_copy(), just making it explicit).
10682
10683 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10684
10685         * docs/random/draft-missing-plugins.txt:
10686           Some additions: mention new API that is supposed to be used at the
10687           various stages; short blob about new gst-inspect introspection
10688           option; mention potential future problem with plugins that have
10689           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10690
10691 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10692
10693         * tools/gst-inspect.c:
10694         (print_plugin_automatic_install_info_codecs),
10695         (print_plugin_automatic_install_info_protocols),
10696         (print_plugin_automatic_install_info), (main):
10697         Add --print-plugin-auto-install-info option to gst-inspect, so we can
10698         introspect plugin files and get machine-parsable output that corresponds
10699         to the last bit of the missing-plugin installer string (small gotcha:
10700         doesn't take into account ranks).
10701
10702 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
10703
10704         * configure.ac:
10705         * docs/gst/gstreamer-sections.txt:
10706         * gst/Makefile.am:
10707         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10708         (gst_registry_lookup_locked):
10709         * gst/gstregistry.h:
10710         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10711         (gst_registry_binary_initialize_magic),
10712         (gst_registry_binary_save_string),
10713         (gst_registry_binary_save_pad_template),
10714         (gst_registry_binary_save_feature),
10715         (gst_registry_binary_save_plugin),
10716         (gst_registry_binary_write_cache),
10717         (gst_registry_binary_check_magic),
10718         (gst_registry_binary_load_pad_template),
10719         (gst_registry_binary_load_feature),
10720         (gst_registry_binary_load_plugin),
10721         (gst_registry_binary_read_cache):
10722         * gst/gstregistrybinary.h:
10723         * gst/gstregistryxml.c: (load_feature),
10724         (gst_registry_xml_read_cache):
10725           commit binary registry (disabled by default, see #359653)
10726
10727 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10728
10729         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10730           Fix 'make check' too.
10731
10732 2007-01-10  Andy Wingo  <wingo@pobox.com>
10733
10734         * docs/design/part-negotiation.txt: Fix a typo, add a couple
10735         notes.
10736         
10737         * docs/design/part-negotiation.txt: Update with, um, one way that
10738         pull-mode negotiation might work?
10739
10740         * gst/gstpad.h: 
10741         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10742         that the pad must be a src pad; makes sense to call it the other
10743         way in pull mode, and the logic is symmetric anyway.
10744
10745 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
10746
10747         * plugins/elements/gstfilesink.c:
10748           Include <stdio.h> for fseeko().
10749
10750 2007-01-10  Wim Taymans  <wim@fluendo.com>
10751
10752         * gst/gstevent.c:
10753         * gst/gstevent.h:
10754         Reserve LATENCY event.
10755
10756 2007-01-09  Wim Taymans  <wim@fluendo.com>
10757
10758         * docs/design/draft-latency.txt:
10759         Updates.
10760
10761 2007-01-09  Wim Taymans  <wim@fluendo.com>
10762
10763         * docs/design/draft-latency.txt:
10764         Updates.
10765
10766         * gst/gstelement.h:
10767         * gst/gststructure.c:
10768         * gst/gsttrace.c:
10769         Small typo fixes.
10770
10771 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
10772
10773         * tests/check/.cvsignore:
10774           Ignore test-registry.xml as well.
10775
10776 2007-01-09  Wim Taymans  <wim@fluendo.com>
10777
10778         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10779         unref data at the end when we are done with the pad.
10780
10781 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10782
10783         * docs/gst/gstreamer-sections.txt:
10784         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10785         (init_post), (gst_deinit), (gst_update_registry):
10786         * gst/gst.h:
10787           API: add gst_update_registry() (#391296).
10788
10789         * tests/check/Makefile.am:
10790         * tests/check/gst/gstregistry.c:
10791         * tests/check/gst/.cvsignore:
10792           Simple unit test for the above.
10793
10794 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10795
10796         * gst/gstregistry.c: (gst_registry_scan_path_level):
10797           Plugin extension on HP-UX is .sl, add that to the list of approved
10798           plugin extensions (see #393796).
10799
10800         * tests/check/gst/gstpad.c: (GST_START_TEST):
10801           ulong => gulong. Fixes compilation with HP-UX compiler.
10802
10803         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10804           Fix compilation if valgrind headers are not available.
10805
10806 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
10807
10808         * win32/common/libgstreamer.def: 
10809           Add new exported function.
10810         * win32/vs6/libgstbase.dsp: 
10811           Add gstdataqueue.c to the build.
10812         * win32/vs6/libgstcoreelements.dsp:
10813           Add gstmultiqueue.c to the build.
10814         
10815 2007-01-06  Andy Wingo  <wingo@pobox.com>
10816
10817         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
10818         activate_pull(), providing for a way to specialize the process of
10819         spawning a thread to pull on the sink pad. There is a default
10820         implementation.
10821
10822         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
10823         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
10824         (gst_base_sink_init): Renamed pad activation functions (inserting
10825         "_pad" in their names). Refactor to use the new activate_pull
10826         vmethod, as appropriate.
10827         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
10828         default activate_pull function to start a task pulling from the
10829         sink pad, as before.
10830
10831         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
10832         on the pads if necessary, as in push()/chain(). Update docs.
10833         Shouldn't affect existing pull() usage as it is currently only
10834         being used on buffers without caps.
10835
10836 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10837
10838         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10839         (init_pre):
10840           Call g_thread_init() first thing in gst_init() / gst_check_init().
10841           When initialisation is done via gst_init_get_option_group() and
10842           GOption parsing, issue a warning if the GLib thread system has not
10843           been initialised yet by the time gst_init_get_option_group() is
10844           called, as it's quite likely other GLib functions such as
10845           g_option_context_new() have been called already then, and
10846           g_thread_init() must be called before any other GLib function. The
10847           application in question must be fixed in that case, since memory
10848           corruption might happen otherwise.
10849           We issue the warning because even if the GLib folks decide to work
10850           around the problem on their end in future, this is still an issue
10851           with all GLib versions >= 2.10.0, so we should warn until we depend
10852           on a GLib version we know to be safe.
10853           Update documentation as well.
10854           Closes bug #391278.
10855
10856 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10857
10858         * tools/gst-inspect.c: (main):
10859         * tools/gst-launch.c: (main):
10860         * tools/gst-typefind.c: (main):
10861         * tools/gst-xmlinspect.c: (main):
10862           Call g_thread_init() really really early, before any other GLib
10863           function (see #342564 and recent discussion on gtk-devel-list).
10864
10865 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10866
10867         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
10868
10869         * gst/gst_private.h:
10870         * gst/gstconfig.h.in:
10871         * gst/gstinfo.h:
10872           On win32, all the __declspec stuff for symbol exporting is
10873           apparently only needed with MSVC, but doesn't work with MingW.
10874           Fixes compilation with MingW and #391909.
10875
10876 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10877
10878         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
10879           Change some GST_ERROR_OBJECT that aren't really errors to
10880           GST_WARNING_OBJECT in order to reduce terminal spam.
10881
10882 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10883
10884         * tests/check/Makefile.am:
10885           disable test again, as there seem to be still race problems
10886
10887 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10888
10889         * tests/check/Makefile.am:
10890         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10891         (GST_START_TEST), (queue_suite):
10892           enable queue test again, add tests for the leaky behaviour
10893
10894 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
10895
10896         * configure.ac:
10897         * tests/examples/Makefile.am:
10898           Compile adapter test/example only if the required headers are
10899           available (fixes #391915).
10900
10901 2007-01-01  David Schleef  <ds@schleef.org>
10902
10903         * gst/gstplugin.c:
10904           Restore the previous signal handler for SIGSEGV instead of
10905           setting to default, since we may have stolen it away from
10906           someone.  (i.e., Mono)
10907
10908 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10909
10910         * docs/random/draft-missing-plugins.txt:
10911           Some small additions and clarifications.
10912
10913 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10914
10915         * gst/gstregistryxml.c: (gst_registry_save_escaped):
10916           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
10917           since that can lead to random memory corruptions and crashes
10918           (may or may not be related to #383244, #386711, and #386711).
10919
10920 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10921
10922         * tests/check/.cvsignore:
10923         * tests/check/Makefile.am:
10924           sync .cvsignome and CLEANFILES
10925
10926 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10927
10928         * tests/check/Makefile.am:
10929           fix distcheck
10930
10931 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10932
10933         * docs/design/part-states.txt:
10934           two tiny additional comments
10935         
10936         * gst/gststructure.c:
10937           doc fixing
10938
10939         * tests/check/Makefile.am:
10940         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10941         (GST_START_TEST):
10942           disable test for now, unless it gets fixed
10943
10944 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10945
10946         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10947         (GST_START_TEST):
10948           fix race in underrun test
10949
10950 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10951
10952         * tests/check/elements/.cvsignore:
10953           ignore more
10954
10955         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10956         (GST_START_TEST):
10957           try to narrow test failure
10958
10959 2006-12-21  David Schleef  <ds@schleef.org>
10960
10961         * plugins/elements/gstfakesrc.c:
10962           Use g_random_int_range(), since it produces better random
10963           numbers in a range than almost-correct floating point code.
10964
10965 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10966
10967         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
10968         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10969         (gst_check_teardown_sink_pad):
10970           do not automatically (de)activate pads
10971
10972         * tests/check/Makefile.am:
10973         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10974         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
10975           add new, yet simple tests for queue
10976
10977         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
10978         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
10979         * tests/check/elements/filesrc.c: (cleanup_filesrc),
10980         (GST_START_TEST):
10981         * tests/check/elements/identity.c: (cleanup_identity):
10982           consistent pad (de)activation
10983
10984 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
10985
10986         Patch by: Sebastian Dröge  <slomo ubuntu com>
10987
10988         * libs/gst/base/gstcollectpads.c:
10989           Fix two doc typos (#387866).
10990
10991 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
10992
10993         * docs/manual/advanced-dparams.xml:
10994           Fix typo (g_object_control_properties() doesn't exist).
10995
10996 2006-12-19  Edward Hervey  <edward@fluendo.com>
10997
10998         * gst/gstsegment.c: (gst_segment_set_seek):
10999         Fine tune the cases where the segment start/stop values are really
11000         updated.
11001         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11002         Add tests for the return values of gst_segment_set_seek().
11003
11004 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
11005
11006         * gst/gst.c:
11007           Docs typo fix.
11008
11009         * plugins/elements/gstqueue.c: (gst_queue_class_init),
11010         (gst_queue_init):
11011           Fix incorrect documentation and flesh it out a bit more.
11012           Set default values for the max properties on the GParamSpec as well,
11013           so it shows up correctly in gst-inspect.
11014
11015 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
11016
11017         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
11018           Correct docs of queue, add more detail and crosslink it more.
11019
11020 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
11021
11022         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
11023           Print additional debug info when the stream isn't perfectly
11024           timestamped; don't try to use invalid durations.
11025
11026 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
11027
11028         * docs/design/Makefile.am:
11029           Dist new design docs.
11030
11031 2006-12-16  Wim Taymans  <wim@fluendo.com>
11032
11033         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11034
11035         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
11036         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11037         (gst_collect_pads_stop), (gst_collect_pads_event),
11038         (gst_collect_pads_chain):
11039         * libs/gst/base/gstcollectpads.h:
11040         Add refcounting to the collectpads data so we can track when it's safe
11041         to free the data. Fixes #383382.
11042
11043 2006-12-15  Wim Taymans  <wim@fluendo.com>
11044
11045         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11046         (gst_collect_pads_remove_pad):
11047         Automatically activate/deactivate pads when they are added to a
11048         started/stoped collectpads.
11049
11050 2006-12-15  Wim Taymans  <wim@fluendo.com>
11051
11052         * gst/gstelement.c: (gst_element_add_pad):
11053         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
11054         * gst/gstpad.c: (gst_pad_init):
11055         Set pads to FLUSHING when they are created. Check, warn and fix when a
11056         demuxer adds an inactive pad to itself when running. Fixes #339326.
11057
11058 2006-12-15  Wim Taymans  <wim@fluendo.com>
11059
11060         * gst/gstelement.c: (gst_element_class_init),
11061         (gst_element_default_send_event), (gst_element_send_event),
11062         (gst_element_default_query), (gst_element_query):
11063         Expose default element send_event and query handling as vmethods that
11064         subclasses can chain up to.
11065
11066 2006-12-15  Wim Taymans  <wim@fluendo.com>
11067
11068         * gst/gstelement.c: (gst_element_set_state_func):
11069         Small documentation fixes.
11070
11071 2006-12-15  Wim Taymans  <wim@fluendo.com>
11072
11073         * docs/design/draft-latency.txt:
11074         Checked in draft for handling latency in pipelines.
11075
11076 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11077
11078         * Makefile.am:
11079         * gstreamer.doap:
11080         * gstreamer.spec.in:
11081           adding .doap file
11082
11083 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
11084
11085         * gst/gst.c: (init_pre), (init_post):
11086           init_pre() and init_post() might be called via our GOptionGroup or
11087           from gst_init(), and we should skip both of them if we've already
11088           been initialised, otherwise we will init some things twice or add
11089           two default log functions.
11090
11091 2006-12-13  Edward Hervey  <edward@fluendo.com>
11092
11093         * docs/manual/basics-bus.xml:
11094         No, gst_main_loop does not exist. Its g_main_loop.
11095         Discovered by somebody who abused the copy-paste technique of coding :)
11096
11097 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
11098
11099         * gst/gstghostpad.c:
11100           Log ghostpad debug stuff to the GST_PADS category as well rather
11101           than just to the default category.
11102
11103 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
11104
11105         * configure.ac:
11106         * gst/gst.c: (init_pre):
11107           Add some basic system details such as OS and architecture
11108           to the debug output if possible, courtesy of uname().
11109
11110 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11111
11112         * docs/gst/running.xml:
11113           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
11114           environment variables.
11115
11116 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11117
11118         * tests/check/gst/gstbin.c: (GST_START_TEST):
11119         It is acceptable to have a refcount of 2 or 3 at this point in the
11120         test, because the pipeline might be just posting its state_change
11121         message. The next line then waits for that message to appear using
11122         bus_poll, so that should be fine too.
11123
11124 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11125
11126         * gst/gst.c: (ensure_current_registry_forking):
11127         Ignore EINTR when reading from the child registry pipe.
11128         Explicitly ignore the return value from close, since it makes no
11129         difference.
11130
11131         * gst/gstminiobject.c: (gst_mini_object_ref),
11132         (gst_mini_object_unref):
11133         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
11134
11135         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
11136         When removing cached plugins, remove their features too, so they're
11137         not visible after they've disappeared.
11138
11139         * gst/gstutils.c: (prepare_link_maybe_ghosting):
11140         In the unlikely case that we are linking pads with no parents, don't
11141         crash trying to get the non-existent parent bin.
11142
11143         * gst/parse/grammar.y:
11144         Output debug in the PIPELINE category
11145
11146 2005-03-08  Wim Taymans  <wim@fluendo.com>
11147
11148         Patch by: René Stadler <mail at renestadler dot de>
11149
11150         * gst/gstclock.c: (gst_clock_new_periodic_id):
11151         Reject invalid clock times for interval of periodic ids.
11152         Fixes ##383506.
11153
11154 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11155
11156         * gst/gstelementfactory.c: (gst_element_factory_create):
11157         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11158         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
11159         * tools/gst-inspect.c: (print_element_info):
11160         Fix refcounting of gst_plugin_feature_load to match the docs. 
11161         Fixes: #380129
11162
11163 2006-12-07  Wim Taymans  <wim@fluendo.com>
11164
11165         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
11166         (gst_base_sink_get_position):
11167         Improve debugging of events.
11168
11169 2006-12-07  Wim Taymans  <wim@fluendo.com>
11170
11171         Patch by: René Stadler <mail at renestadler dot de>
11172
11173         * gst/gstclock.c: (gst_clock_id_wait):
11174         Make period ids add the interval to the origial requested time instead
11175         of the possibly updated time which can be wrong when there are multiple
11176         waiters for the same id. Fixes #382592.
11177
11178         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
11179         (gst_system_clock_id_wait_jitter_unlocked),
11180         (gst_system_clock_id_wait_jitter):
11181         Fix restart in the async notify thread when an async entry is added to
11182         the front of the list. Fixes #381492. 
11183
11184         * tests/check/gst/gstsystemclock.c: (store_callback),
11185         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
11186         Added test for multiple async waits.
11187         Added test for async wait order.
11188
11189 2006-12-07  Wim Taymans  <wim@fluendo.com>
11190
11191         * gst/gstbin.c: (gst_bin_query):
11192         Add some more docs about the POSITION query.
11193
11194 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11195
11196         * configure.ac:
11197         Bump version nano - back to CVS.
11198
11199 === release 0.10.11 ===
11200
11201 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
11202
11203         * configure.ac:
11204           releasing 0.10.11, "Love never runs on time"
11205
11206 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
11207
11208         * win32/common/libgstbase.def:
11209         * win32/common/libgstreamer.def:
11210         * win32/vs8/libgstbase.vcproj:
11211         * win32/vs8/libgstcoreelements.vcproj:
11212         * win32/vs8/libgstreamer.vcproj:
11213         Fix compilation on win32 under VS8
11214         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11215         Partially fixes #381175
11216
11217 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
11218
11219         * gst/gstvalue.c: (gst_value_compare_fraction):
11220         If someone is foolish enough to compare 2 fractions with denominator =
11221         0, return UNORDERED rather than aborting.
11222
11223 2006-11-28  Edward Hervey  <edward@fluendo.com>
11224
11225         * libs/gst/base/Makefile.am:
11226         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
11227         (gst_data_queue_base_init), (gst_data_queue_class_init),
11228         (gst_data_queue_init), (gst_data_queue_new),
11229         (gst_data_queue_cleanup), (gst_data_queue_finalize),
11230         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
11231         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
11232         (gst_data_queue_is_empty), (gst_data_queue_is_full),
11233         (gst_data_queue_set_flushing), (gst_data_queue_push),
11234         (gst_data_queue_pop), (gst_data_queue_drop_head),
11235         (gst_data_queue_set_property), (gst_data_queue_get_property):
11236         * libs/gst/base/gstdataqueue.h:
11237         New GstDataQueue object for threadsafe queueing. Most useful for
11238         elements that need some queueing functionnality.
11239         * docs/libs/gstreamer-libs-docs.sgml:
11240         * docs/libs/gstreamer-libs-sections.txt:
11241         Insert documentation for GstDataQueue
11242         * plugins/elements/Makefile.am:
11243         * plugins/elements/gstelements.c:
11244         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11245         (gst_multi_queue_class_init), (gst_multi_queue_init),
11246         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11247         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11248         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11249         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11250         (gst_multi_queue_loop), (gst_multi_queue_chain),
11251         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11252         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11253         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11254         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11255         (wake_up_next_non_linked), (compute_next_non_linked),
11256         (single_queue_overrun_cb), (single_queue_underrun_cb),
11257         (single_queue_check_full), (gst_single_queue_new):
11258         * plugins/elements/gstmultiqueue.h:
11259         New multiqueue element, using GstDataQueue. Used for queuing multiple
11260         streams.
11261         Closes #344639 and #347785
11262
11263 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
11264
11265         * docs/pwg/advanced-types.xml:
11266           add more missing type details
11267
11268         * tools/gst-run.c: (main):
11269           remove unused variable
11270
11271 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
11272
11273         * docs/libs/Makefile.am:
11274         * docs/libs/gstreamer-libs.types:
11275           add types of base classes to enable gobject specific stuff in the docs
11276
11277         * docs/random/ensonic/embedded.txt:
11278           more ideas about isolating platform specific things
11279
11280 2006-11-20  Wim Taymans  <wim@fluendo.com>
11281
11282         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11283
11284         * libs/gst/check/gstcheck.h:
11285         Fix compilation and running against 0.9.4. Fixes #377332.
11286
11287 2006-11-20  Wim Taymans  <wim@fluendo.com>
11288
11289         * gst/gstsegment.c: (gst_segment_set_seek),
11290         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11291         (gst_segment_to_running_time):
11292         Fix boundary checking in to_running_time() and to_stream_time().
11293         Fixes #377183.
11294
11295         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11296         stream and running time can now be calculated for the complete
11297         clipped segment.
11298
11299 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
11300
11301         * gst/gstpad.c: (gst_pad_push_event):
11302           Can't access event structure after giving away ownership of
11303           the event.
11304
11305 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
11306
11307         * docs/random/ensonic/embedded.txt:
11308         * docs/random/ensonic/profiling.txt:
11309         * docs/random/ensonic/receipies.txt:
11310           more thinking
11311
11312 2006-11-13  Wim Taymans  <wim@fluendo.com>
11313
11314         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11315
11316         * gst/gstpad.c:
11317         Fix documentation for gst_pad_dispatcher. Fixes #374475.
11318
11319 2006-11-13  Wim Taymans  <wim@fluendo.com>
11320
11321         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11322
11323         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11324         Store new length in segment duration so we don't keep on calling the
11325         potentially expensize get_size() call. Fixes #370865.
11326
11327 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
11328
11329         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
11330
11331         * win32/common/libgstreamer.def:
11332           Add two missing symbols (#366492).
11333
11334 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
11335
11336         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11337         (gst_adapter_take_buffer):
11338         Fix format string to use all its arguments.
11339         Remove useless >= check on a guint
11340
11341 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11342
11343         * tests/examples/adapter/.cvsignore:
11344         Ignore build file as commanded by the build-bot
11345
11346 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11347
11348         * tests/examples/adapter/Makefile.am:
11349         * tests/examples/adapter/adapter_test.c: (run_test_take),
11350         (run_test_take_buffer), (run_tests), (main):
11351
11352         Add new files from the previous commit
11353
11354 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11355
11356         * Makefile.am:
11357         * configure.ac:
11358         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11359         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11360         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11361         * libs/gst/base/gstadapter.h:
11362         * tests/check/libs/adapter.c: (create_and_fill_adapter),
11363         (GST_START_TEST), (gst_adapter_suite):
11364         * tests/examples/Makefile.am:
11365         Do some optimisation work in GstAdapter to avoid copies in more cases.
11366         It could still do slightly better by merging buffers when
11367         gst_buffer_is_span_fast is true, but is already faster. 
11368
11369         Also, avoid traversing a single-linked list to append each incoming 
11370         buffer inside the adapter.
11371
11372         Add simple test app that times the adapter behaviour in different
11373         situations, and extend the unit test to check that bytes enter and
11374         exit the adapter in their original order.
11375
11376 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
11377
11378         * docs/random/draft-missing-plugins.txt:
11379           Update: use element message instead of adding a new message
11380           type to the core; don't provide GStreamer API to initiate the
11381           plugin download, just provide API to compose the strings needed
11382           and let an external libgimmestuff handle the rest.
11383
11384 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
11385
11386         * tools/gst-inspect.c: (print_element_properties_info):
11387         Print a string instead of 'unknown type' for GValueArray properties
11388
11389 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
11390
11391         * docs/random/draft-missing-plugins.txt:
11392         More small fixes.
11393
11394 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11395
11396         * tests/examples/typefind/typefind.c: (type_found), (main):
11397           Make typefind element example work again (#371894); add a
11398           license header.
11399
11400 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11401
11402         * docs/random/draft-missing-plugins.txt:
11403           Commit initial draft about how to deal with missing plugins,
11404           needs work (API too).
11405
11406 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
11407
11408         * docs/pwg/advanced-types.xml:
11409           documents the new caps elements (see #363118)
11410
11411 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11412
11413         * gst/gstplugin.c: (gst_plugin_load_file):
11414         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11415         (gst_file_src_map_region), (gst_file_src_start):
11416         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11417         (gst_file_index_commit):
11418           Use g_strerror() instead of strerror() - we want UTF-8.
11419
11420 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11421
11422         Patch by: Peter Kjellerstedt <pkj at axis com>
11423
11424         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11425           Another printf fix (#371493).
11426
11427 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11428
11429         * tests/check/gst/gsttag.c:
11430           relicence (okay with author=company)
11431
11432 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11433
11434         * gst/gstpad.c: (gst_pad_event_default_dispatch),
11435         (gst_pad_push_event):
11436           Enhance debug and improve docs
11437         
11438         * gst/gsturi.c:
11439           Fix docs
11440
11441 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11442
11443         * docs/random/ensonic/distributed.txt:
11444         * docs/random/ensonic/profiling.txt:
11445           more ideas
11446
11447 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11448
11449         * docs/gst/gstreamer-sections.txt:
11450           add new API and fix the build
11451           
11452         * gst/gstbin.c: (gst_bin_recalc_state):
11453         * gst/gstelement.c: (gst_element_message_full),
11454         (gst_element_get_state_func), (gst_element_set_state_func):
11455           use new API and improve logging
11456         
11457         * gst/gstutils.c: (gst_element_state_change_return_get_name):
11458         * gst/gstutils.h:
11459           API: add function to get StateChangereturn names to improve logs 
11460
11461 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11462
11463         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11464           I'm considering shooting the next person to put strerror stuff
11465           in the translateable part of the message.
11466
11467 2006-11-03  Wim Taymans  <wim@fluendo.com>
11468
11469         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11470         Get the type and printf conversion specifiers right.
11471
11472 2006-11-03  Wim Taymans  <wim@fluendo.com>
11473
11474         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11475
11476         * gst/gstpad.c: (gst_pad_init), (pre_activate),
11477         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11478         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11479         Some small cleanups. Improve debugging.
11480         * gst/gstpad.h:
11481         Signal all waiting threads with a broadcast instead of just one.
11482         Fixes #369942.
11483
11484 2006-11-03  Wim Taymans  <wim@fluendo.com>
11485
11486         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11487         (gst_fd_src_create):
11488         Add some debugging. 
11489         Only update fd when it's different from the old.
11490
11491 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11492
11493         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11494           Printf fixes for PPC/OSX, take two (#369366).
11495
11496 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11497
11498         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
11499
11500         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11501         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11502         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11503           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11504           don't cast to long long for portability reasons, but use
11505           GLib's types instead.
11506
11507 2006-10-30  Michael Smith  <msmith@fluendo.com>
11508
11509         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11510           Get the arguments to lseek() the right way around.
11511           Fixes 367677.
11512
11513 2006-10-30  Wim Taymans  <wim@fluendo.com>
11514
11515         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11516
11517         * gst/gstinfo.h:
11518         _declspec should be __declspec (two underscores, not one). Fixes 366572.
11519
11520 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11521
11522         Patch by: Kjartan Maraas  <kmaraas at gnome org>
11523
11524         * docs/design/part-MT-refcounting.txt:
11525         * docs/random/wtay/capsnego2-docs:
11526         * gst/gstclock.c:
11527         * gst/gstxml.c:
11528           Typo fixes (#366212).
11529
11530 2006-10-28  Wim Taymans  <wim@fluendo.com>
11531
11532         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11533
11534         * gst/gst.c:
11535         * win32/common/libgstbase.def:
11536         * win32/common/libgstreamer.def:
11537         * win32/vs8/libgstbase.vcproj:
11538         * win32/vs8/libgstcontroller.vcproj:
11539         Add needed entries in .def files.
11540         Use HAVE_UNISTD_H.
11541         Rearrange def files in vs8 solutions. Fixes #366286.
11542
11543 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11544
11545         * win32/common/gstconfig.h:
11546           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11547           hand-made win32 gstconfig.h. Fixes #366321.
11548
11549 2006-10-27  Wim Taymans  <wim@fluendo.com>
11550
11551         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11552         (gst_ghost_pad_new_full):
11553         Make acceptcaps return TRUE when we don't have a target, just like
11554         setcaps does.
11555
11556 2006-10-27  Wim Taymans  <wim@fluendo.com>
11557
11558         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11559         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11560
11561 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
11562
11563         * gst/gststructure.c: (gst_structure_id_set_value):
11564           If someone tries to set a non-UTF8 string field on a structure,
11565           don't just print a warning, but also ignore the request and do
11566           not change/add that field to the structure.
11567
11568         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11569           Test for the above.
11570
11571 2006-10-25  David Schleef  <ds@schleef.org>
11572
11573         * gst/gstinfo.c:
11574           g_hash_table_insert() needs a cast to a non-const pointer duh.
11575
11576 2006-10-25  David Schleef  <ds@schleef.org>
11577
11578         * gst/gstinfo.c:
11579         * gst/gstinfo.h:
11580           Change name parameter of _gst_debug_register_funcptr to const
11581           to reflect the constness of its use in the function as well
11582           as to quiet a gcc warning.
11583
11584 2006-10-25  Edward Hervey  <edward@fluendo.com>
11585
11586         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11587         Don't push the buffer if it's empty.
11588         Closes #363095
11589
11590 2006-10-24  Wim Taymans  <wim@fluendo.com>
11591
11592         * gst/gstevent.h:
11593         Add small comment.
11594
11595         * libs/gst/base/gstbasetransform.c:
11596         (gst_base_transform_sink_eventfunc):
11597         Debug segment values *after* updating them as this is more
11598         interesting.
11599
11600 2006-10-23  Wim Taymans  <wim@fluendo.com>
11601
11602         * docs/design/part-events.txt:
11603         Update some docs.
11604
11605         * docs/design/part-block.txt:
11606         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11607         (gst_pad_push_event):
11608         Revert BLOCKING patch, it tries to be smart without really having a
11609         clear idea what or how. So, now we discard all FLUSHING events again on
11610         a blocking pad. Should fix gnonlin again.
11611
11612 2006-10-23  Wim Taymans  <wim@fluendo.com>
11613
11614         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11615
11616         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11617         (gst_base_src_start), (gst_base_src_activate_push):
11618         Make sure size is always initialized. Fixes #364388.
11619
11620 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
11621
11622         * docs/random/ensonic/distributed.txt:
11623           add some ideas about doing distributed processing
11624
11625         * docs/random/ensonic/profiling.txt:
11626           get_rusage look promising
11627
11628 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11629
11630         * docs/manual/basics-helloworld.xml:
11631           Add a cast in example to fix compile warning
11632
11633 2006-10-18  Wim Taymans  <wim@fluendo.com>
11634
11635         * gst/gstsegment.c: (gst_segment_set_last_stop),
11636         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11637         Relax arg checking again, -1 is allowed.
11638
11639 2006-10-18  Wim Taymans  <wim@fluendo.com>
11640
11641         * gst/gstsegment.c: (gst_segment_set_last_stop),
11642         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11643         _set_last_stop() must be with a value != -1
11644         A _TYPE_SET to -1 means seek to 0.
11645         Calc last_stop correctly for negative rates.
11646         Make sure we work with positive durations when updating a segment.
11647
11648 2006-10-18  Wim Taymans  <wim@fluendo.com>
11649
11650         * docs/design/part-live-source.txt:
11651         * gst/gstclock.h:
11652         Small docs fixes.
11653
11654 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
11655
11656         * gst/gstbuffer.h:
11657           Add an explicit cast to GstBuffer** to keep old code that added an
11658           explicit cast to GstMiniObject** for gst_mini_object_replace()
11659           compiling without warning.
11660
11661 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11662
11663         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11664           check for validity of dates
11665
11666 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11667
11668         * docs/gst/gstreamer-sections.txt:
11669           Forgot this one, makes gtk-doc shut up.
11670
11671 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11672
11673         Patch by: Peter Kjellerstedt <pkj at axis com>
11674
11675         * gst/gstobject.h:
11676           Don't define xmlNodePtr to gpointer if the core was built with
11677           --disable-loadsave and --disable-registry, this will break
11678           applications that want to use libxml2 but are buildling against a
11679           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11680           instead so we don't have to mess with the libxml2 namespace
11681           (#361675).
11682
11683 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11684
11685         * gst/gstbuffer.h:
11686           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11687           type-punned pointer warnings.
11688
11689 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
11690
11691         * gst/gstelement.h:
11692           Add casts to the correct return type to state <=> state transition
11693           macros.
11694
11695 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
11696
11697         * docs/design/part-live-source.txt:
11698           describe howto handle latency
11699         
11700         * docs/random/ensonic/profiling.txt:
11701           more ideas
11702
11703         * tools/gst-plot-timeline.py:
11704           fix log parsing for solaris, remove unused function
11705
11706 2006-10-16  Wim Taymans  <wim@fluendo.com>
11707
11708         * docs/design/part-trickmodes.txt:
11709         * gst/gstevent.c:
11710         Update some docs regarding reverse playback.
11711
11712 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11713
11714         Patch by: Marcus Granado  <mrc dot gran at gmail com>
11715
11716         * win32/vs8/grammar.vcproj:
11717           Error out with a warning if glib-genmarshal.exe is not in path,
11718           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11719
11720 2006-10-13  Wim Taymans  <wim@fluendo.com>
11721
11722         * gst/gstsegment.c: (gst_segment_set_seek):
11723         When seeking to stop -1, set last_stop (current position) to the
11724         duration of the segment.
11725
11726 2006-10-13  Wim Taymans  <wim@fluendo.com>
11727
11728         * gst/gstelement.h:
11729         Clarify _NO_PREROLL a bit more.
11730
11731         * gst/gstevent.c:
11732         Fix docs.
11733
11734         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11735         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11736         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11737         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11738         due to wrong locking order. Fixes #361769.
11739         Remove some redundant/misplaced checks in pad_block.
11740
11741         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11742         For negative rates, count backwards from the duration.
11743
11744 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11745
11746         * gst/gsterror.c: (_gst_library_errors_init):
11747           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11748           up with something better).
11749
11750 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11751
11752         * win32/vs6/libgstreamer.dsp:
11753         * win32/vs7/libgstreamer.vcproj:
11754         * win32/vs8/libgstreamer.vcproj:
11755           Don't reference glib-compat.c which is currently not used and not
11756           disted; add gstquark.c which was recently added. Fixes #361730.
11757
11758 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11759
11760         * win32/common/libgstbase.def:
11761         * win32/common/libgstcontroller.def:
11762         * win32/common/libgstreamer.def:
11763           Add gst_caps_merge() and a bunch of other recently-added functions.
11764           Fixes #361732.
11765
11766 2006-10-11  Wim Taymans  <wim@fluendo.com>
11767
11768         * docs/plugins/gstreamer-plugins.args:
11769         * docs/plugins/inspect/plugin-coreelements.xml:
11770         * docs/plugins/inspect/plugin-coreindexers.xml:
11771         Update element args.
11772
11773         * gst/gstsystemclock.c:
11774         Small comment update.
11775
11776         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11777         (gst_tee_request_new_pad), (gst_tee_release_pad),
11778         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11779         (gst_tee_sink_activate_pull):
11780         * plugins/elements/gsttee.h:
11781         Some tee loving:
11782         Add default property defines.
11783         Implement release pad function.
11784         Give properties better blubs etc.
11785         Activate pads before adding them to a running tee.
11786         Do simple buffer_alloc on the first requested pad.
11787         Post error when activation fails.
11788
11789 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11790
11791         * gst/gst.c: (ensure_current_registry_forking):
11792           Check return value of write() to make compiler happy.
11793
11794 2006-10-11  Wim Taymans  <wim@fluendo.com>
11795
11796         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11797
11798         * plugins/elements/gstqueue.c: (gst_queue_chain):
11799         Recheck queue filledness after signalling the overrun when we're about
11800         to leak downstream because we released the lock when emitting the signal
11801         and the queue could be empty again. Fixes #352345.
11802
11803 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11804
11805         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
11806           Fix refcounting here too, just like we did for _new_valist() a few
11807           days ago (#357180) (thanks to René Stadler). Also remove all those
11808           'Since: 0.9' from the gtk-doc blobs.
11809
11810         * tests/check/libs/controller.c: (controller_refcount_new_list),
11811         (gst_controller_suite):
11812           Unit test for the above.
11813
11814 2006-10-10  Wim Taymans  <wim@fluendo.com>
11815
11816         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
11817
11818         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
11819         (gst_pad_save_thyself):
11820         Update some docs.
11821         Write pad direction in XML output. Fixes #345496.
11822
11823 2006-10-10  Wim Taymans  <wim@fluendo.com>
11824
11825         Patch by: René Stadler <mail at renestadler dot de>
11826
11827         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11828         (gst_controller_new_list), (_gst_controller_dispose),
11829         (_gst_controller_finalize), (_gst_controller_class_init):
11830         Take ref to controlled object so that it cannot disappear. 
11831         Fixes #357432.
11832
11833 2006-10-10  Wim Taymans  <wim@fluendo.com>
11834
11835         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11836         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11837         (gst_check_teardown_sink_pad):
11838         Activate/deactivate pads in setup/teardown respectively.
11839
11840 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11841
11842         Patch by: Josep Torra Valles <josep@fluendo.com>
11843
11844         * gst/Makefile.am:
11845         Cast values when making gstenumtypes.h.  This pacifies Forte
11846         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
11847         in the enumeration.
11848
11849 2006-10-09  Wim Taymans  <wim@fluendo.com>
11850
11851         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
11852         Rename some more @cur to @start to fix docs. 
11853
11854         * gst/gstsegment.c: (gst_segment_set_seek):
11855         Fix typo.
11856         time and start must always stay in sync as defined in design doc.
11857
11858         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11859         Rename param to fix docs.
11860
11861         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11862         Check that start and time are in sync.
11863
11864         * tests/check/pipelines/parse-launch.c:
11865         (gst_parse_test_element_change_state):
11866         Activate pad before adding to the element.
11867
11868 2006-10-09  Wim Taymans  <wim@fluendo.com>
11869
11870         * docs/design/part-qos.txt:
11871         Fix typo.
11872
11873         * gst/gstevent.c:
11874         * gst/gstevent.h:
11875         Update seek event docs regarding negative rates.
11876         Rename @cur to @start. 
11877
11878         * gst/gstsegment.c: (gst_segment_set_seek):
11879         * gst/gstsegment.h:
11880         Update set_seek docs regarding negative rates.
11881         Correctly update last_stop to @stop when dealing with negative
11882         rates.
11883         Rename @cur to @start. 
11884
11885         * tests/check/gst/gstpad.c: (GST_START_TEST):
11886         Activate pads before trying to use them.
11887
11888         * tests/check/gst/gstsegment.c: (GST_START_TEST),
11889         (gst_segment_suite):
11890         Add simple check for segments and negative rates.
11891
11892 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
11893
11894         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11895         * gst/gsttaglist.h:
11896         * docs/gst/gstreamer-sections.txt:
11897           API: add gst_tag_list_is_empty() (#360467).
11898
11899         * tests/check/gst/gsttag.c: (GST_START_TEST):
11900           And a test case.
11901
11902 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11903
11904         * gst/gstmessage.h:
11905         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
11906         a value that doesn't fit on enumeration.
11907
11908 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11909
11910         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11911         Remove local debugging system and use Gstreamer's instead.
11912
11913 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11914
11915         Patch by: Josep Torra Valles <josep@fluendo.com>
11916
11917         * common/m4/gst-error.m4:
11918         Disable warning of statement not reached on Forte.
11919         * gst/gstmessage.h:
11920         Fix warning on Forte (value doesn't fit on enumeration).
11921         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
11922         Fix warning on Forte (value doesn't fit on enumeration).
11923         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11924         DEBUG macro says it takes minimum of 2 args and so Forte
11925         complains about the use with just 1 arg.
11926         * plugins/elements/gstfdsink.c:
11927         * plugins/elements/gstfdsrc.c:
11928         * plugins/elements/gstfilesink.c:
11929         * plugins/elements/gstfilesrc.c:
11930         Use correct return type for the uri handler implementations.
11931
11932         All these fix warnings in Forte.  Fixes bug #360860.
11933
11934 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
11935
11936         * gst/gstelement.h:
11937           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
11938           format string, so don't use G_GNUC_PRINTF for those versions.
11939
11940 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
11941
11942         * gst/gsttaglist.c: (gst_is_tag_list):
11943         * gst/gsttaglist.h:
11944           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
11945
11946         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11947           Small test for the above.
11948
11949 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
11950
11951         * gst/gsttaglist.h:
11952           Less tabs, more spaces.
11953
11954 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
11955
11956         * gst/gstinfo.h:
11957           Those two function declarations do actually belong there, revert
11958           commit from yesterday that turned them intro macros.
11959
11960 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11961
11962         Patch by: Josep Torra Valles <josep@fluendo.com>
11963
11964         * gst/gst.c: (gst_init_get_option_group):
11965         Fix empty declaration and type mismatch.
11966         * gst/gstbin.c: (gst_bin_change_state_func):
11967         Fix type mismatch.
11968         * gst/gstelement.c: (gst_element_continue_state),
11969         (gst_element_set_state_func), (gst_element_change_state),
11970         (gst_element_change_state_func):
11971         Fix type mismatches.
11972         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
11973         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
11974         Cast as appropriate.
11975         * gst/gstobject.c: (gst_class_signal_connect):
11976         Cast as appropriate.  The function pointer parameter really
11977         has the wrong type but would break API if we change it.
11978         * gst/gstquery.c:
11979         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
11980         order of including string.h.
11981         * gst/gstutils.c: (gst_element_state_get_name):
11982         Remove unreachable line.
11983         * gst/gstxml.c: (gst_xml_parse_doc):
11984         Fix type mismatch.
11985         All these caught by Forte.
11986
11987 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11988
11989         Patch by: Josep Torra Valles <josep@fluendo.com>
11990
11991         * common/m4/gst-error.m4:
11992         Fixed bug #360151.
11993         We need to disable warnings on Forte for empty declarations
11994         due to gst-indent adding ;s to lines that just use macros
11995         where the macro actually doesn't need a ; at end to end
11996         statement.
11997
11998 2006-10-06  Wim Taymans  <wim@fluendo.com>
11999
12000         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
12001         (gst_file_sink_close_file), (gst_file_sink_event),
12002         (gst_file_sink_render):
12003         Add some FIXME for the NEWSEGMENT handling.
12004
12005 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12006
12007         * gst/parse/grammar.y:
12008         Remove static function gst_parse_element_lock as all it does
12009         is return.  Looks like cruft from 0.8.
12010
12011 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12012
12013         Patch by: Josep Torra Valles <josep@fluendo.com>
12014
12015         * common/m4/gst-error.m4:
12016         * configure.ac:
12017         * libs/gst/net/Makefile.am:
12018         Fix a compilation issue with Forte on Solaris.  inet_aton is in
12019         libresolv.
12020
12021 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
12022
12023         * gst/gstpad.c: (pre_activate):
12024         * gst/gstregistry.c: (gst_registry_scan_path_level):
12025         * gst/gstregistryxml.c: (load_plugin):
12026         * libs/gst/controller/gstcontroller.c:
12027         (gst_controlled_property_set_interpolation_mode):
12028         * libs/gst/dataprotocol/dataprotocol.c:
12029         (gst_dp_packet_from_event_1_0):
12030         * libs/gst/net/gstnetclientclock.c:
12031         (gst_net_client_clock_observe_times):
12032         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
12033           Printf fixes.
12034
12035 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
12036
12037         * configure.ac:
12038         * docs/gst/gstreamer-sections.txt:
12039         * gst/gstconfig.h.in:
12040         * gst/gstelement.h:
12041         * gst/gstinfo.h:
12042           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
12043           whether we can use G_GNUC_PRINTF in other header files and at
12044           least check the printf format/arguments of debug messages and
12045           GST_ELEMENT_ERROR messages when the printf extension is not
12046           being used.
12047           Replace more tabs with spaces in gstinfo.h and remove two spurious
12048           function declarations in GST_DISABLE_DEBUG part with macros.
12049
12050 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
12051
12052         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
12053           More docs for the sync-message signal (mention that it is not
12054           emitted by default); log message structures of messages posted on
12055           the bus as well.
12056
12057 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
12058
12059         * gst/gst.c: (ensure_current_registry_forking):
12060         Use a pipe pair to receive status results from the forked child, and
12061         ignore the result from waitpid. Fixes #355499
12062
12063 2006-10-02  Wim Taymans  <wim@fluendo.com>
12064
12065         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12066         (gst_ghost_pad_suite):
12067         Fix leak in check.
12068
12069 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12070
12071         * gst/gstpad.c:
12072           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
12073
12074 2006-10-02  Edward Hervey  <edward@fluendo.com>
12075
12076         * docs/design/part-block.txt:
12077         Further explain the use of flushing on blocked pads.
12078         * docs/gst/gstreamer-sections.txt:
12079         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
12080         (gst_pad_push_event):
12081         * gst/gstpad.h:
12082         Added new GstPadFlag : GST_PAD_BLOCKING.
12083         Adds the notion of pads really blocking, which enables to properly
12084         handle FLUSH_START/FLUSH_STOP events on blocked pads.
12085         Fixes #358999
12086         API: gst_pad_is_blocking()
12087         API: GST_PAD_IS_BLOCKING() macro
12088         API: GST_PAD_BLOCKING GstPadFlag
12089         
12090 2006-10-02  Wim Taymans  <wim@fluendo.com>
12091
12092         Patch by: mrcgran <mrc.gran at gmail dot com>
12093
12094         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
12095         Filter the proxied caps against the padtemplate if we have one.
12096
12097         * gst/gstquery.c: (gst_query_new_segment):
12098         Add include for gstinfo.h so that compilation with
12099         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
12100
12101 2006-10-02  Wim Taymans  <wim@fluendo.com>
12102
12103         Patch by: Alessandro Decina  <alessandro at nnva org>
12104
12105         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
12106         (gst_file_sink_set_location), (gst_file_sink_open_file),
12107         (gst_file_sink_close_file), (gst_file_sink_event),
12108         (gst_file_sink_render):
12109         Set file to NULL when closing filesink so that we can set a new filename
12110         in READY. Fixes #358613.
12111
12112 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12113
12114         Patch by: Alessandro Decina  <alessandro at nnva org>
12115
12116         * gst/gstevent.c: (_gst_event_copy):
12117           Fix gst_mini_object_make_writable() and gst_event_copy() for events
12118           with event structures by setting the parent refcount address of the
12119           copied structure to the address of the refcount member of the newly
12120           copied event rather than the address of the refcount member of the
12121           original event. Fixes #358737.
12122
12123         * tests/check/gst/gstevent.c: (GST_START_TEST):
12124           Unit test for the above.
12125
12126 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
12127
12128         * docs/design/Makefile.am:
12129           Dist some more files.
12130
12131 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12132
12133         * tests/check/libs/controller.c: (GST_START_TEST),
12134         (gst_controller_suite):
12135           Add test for the previous fix; add some more tests
12136           for correct refcounting behaviour; fix a few leaks
12137           in test cases; call gst_controller_init() at start
12138           of all tests.
12139
12140 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12141
12142         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12143         (gst_controller_set_from_list):
12144           Don't g_return_val_if_fail() on timed values with invalid timestamps
12145           inside a critical section without unlocking the mutex. Spotted by
12146           René Stadler. (#357617)
12147           Also, fix up refcounting properly: when returning an existing
12148           controller, we should increase the reference only once and not
12149           once per property and when trying to control a property again
12150           we should also increase the refcount.
12151
12152 2006-09-29  Wim Taymans  <wim@fluendo.com>
12153
12154         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12155         * libs/gst/net/gstnettimeprovider.c:
12156         (gst_net_time_provider_thread):
12157         Stop reading commands when EOF as well.
12158
12159         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12160         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12161         * plugins/elements/gstidentity.c: (gst_identity_class_init):
12162         Unify description of the dump property.
12163
12164 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12165
12166         * tests/examples/manual/.cvsignore:
12167         OK, so it's actually cvsignore that needs changing. Stop laughing.
12168
12169 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12170
12171         * tests/examples/manual/Makefile.am:
12172         Gah, declare vars *before* using them
12173
12174 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12175
12176         * gst/gst.c: (init_pre), (scan_and_update_registry),
12177         (ensure_current_registry_nonforking),
12178         (ensure_current_registry_forking), (ensure_current_registry),
12179         (init_post), (gst_debug_help), (gst_deinit):
12180         * gst/gst_private.h:
12181         * gst/gstregistry.c: (gst_registry_finalize),
12182         (gst_registry_remove_features_for_plugin_unlocked),
12183         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12184         (gst_registry_scan_path),
12185         (_priv_gst_registry_remove_cache_plugins),
12186         (_priv_gst_registry_cleanup):
12187         * gst/gstregistry.h:
12188         Re-commit the registry changes, along with an extra fix:
12189           When a cached plugin is encountered at a different file path,
12190           update the stored path in the registry cache so that the parent
12191           process knows where it actually is now when it re-reads the registry
12192           cache. Fixes the thing that broke distcheck with the previous commit.
12193
12194         * tests/check/Makefile.am:
12195         Clean up files named 'core' too when running make clean.
12196
12197         * tests/examples/manual/Makefile.am:
12198         Set up a registry path for running these tests, and clean it properly
12199         for distcheck.
12200
12201 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12202
12203         * configure.ac:
12204         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
12205         want gmodule-no-export-2.0.pc instead so that we don't drag in
12206         --export-dynamic on every project that links to GStreamer.
12207
12208         Also, make our export regex only match the start of symbols, rather 
12209         than any symbol that contains '_gst' somewhere.
12210
12211         * libs/gst/check/Makefile.am:
12212         The libgstcheck we build does however need export-dynamic, as it
12213         produces some symbols that don't match our _gst... style regex.
12214         Fixes: #318031
12215
12216 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12217
12218         * gst/gst.c: (init_pre), (scan_and_update_registry),
12219         (ensure_current_registry_nonforking),
12220         (ensure_current_registry_forking), (ensure_current_registry),
12221         (init_post), (gst_debug_help), (gst_deinit):
12222         * gst/gst_private.h:
12223         * gst/gstregistry.c: (gst_registry_finalize),
12224         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12225         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
12226         (_gst_registry_cleanup):
12227         * gst/gstregistry.h:
12228           Revert previous change until I figure out why it breaks distcheck.
12229
12230 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12231
12232         * gst/gst.c: (init_pre), (scan_and_update_registry),
12233         (ensure_current_registry_nonforking),
12234         (ensure_current_registry_forking), (ensure_current_registry),
12235         (init_post), (gst_debug_help), (gst_deinit):
12236
12237           Make init_pre and init_post take the full complement of GOptionFunc
12238           args so they can return useful GErrors. Make the registry updating
12239           functions do so.
12240
12241           Call _priv_gst_registry_remove_cache_plugins after scanning files to
12242           ensure that the registry we're about to write out doesn't contain
12243           stale information about old-deleted plugin files.
12244
12245           Make _priv_gst_registry_remove_cache_plugins return a boolean so
12246           that deletion of plugin files is considered a registry change.
12247
12248         * gst/gst_private.h:
12249         * gst/gstregistry.c: (gst_registry_finalize),
12250         (gst_registry_remove_features_for_plugin_unlocked),
12251         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12252         (gst_registry_scan_path),
12253         (_priv_gst_registry_remove_cache_plugins),
12254         (_priv_gst_registry_cleanup):
12255         * gst/gstregistry.h:
12256         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12257         by adding _priv prefix, so that they won't appear in the global
12258         symbol table. They still do atm though because of #318031. Move the
12259         prototypes to gst_private.h
12260
12261         When removing a plugin, remove all features for that plugin too. 
12262         Fixes #340878.
12263
12264 2006-09-27  Wim Taymans  <wim@fluendo.com>
12265
12266         * docs/random/moving-plugins:
12267         Make it clear that the "compiled-in descriptions" really mean
12268         the element details.
12269
12270         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12271         (gst_base_sink_wait_preroll):
12272         Update docs.
12273
12274         * docs/libs/gstreamer-libs-sections.txt:
12275         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12276         (gst_base_src_get_range), (gst_base_src_activate_push):
12277         * libs/gst/base/gstbasesrc.h:
12278         Added function to block while waiting for PLAYING, this function
12279         is used by live sources that block on the clock.
12280         API: gst_base_src_wait_playing()
12281
12282 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12283
12284         Patch by: Peter Kjellerstedt <pkj at axis com>
12285
12286         * Makefile.am:
12287           gst-element-check.m4 is generated and should therefore be
12288           copied from the build dir rather than the source dir (#357593).
12289           'make distcheck' hasn't noticed this because we were disting
12290           the file as well, so stop doing that.
12291
12292 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12293
12294         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12295           Add some tests for gst_caps_intersect().
12296
12297         * tools/gst-launch.c: (event_loop):
12298           Print all buffering percentages we get, even the 100% one.
12299
12300 2006-09-26  Wim Taymans  <wim@fluendo.com>
12301
12302         * tools/gst-inspect.c: (print_element_properties_info),
12303         (print_signal_info):
12304         Fix printing of flags to match the look of enums.
12305
12306 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12307
12308         * gst/gstelementfactory.c:
12309           Fix typo in docs blurb.
12310
12311 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12312
12313         * gst/gsturi.c: (search_by_entry):
12314           Don't assert/crash here if a uri handler doesn't return any
12315           supported protocols. The list of protocols could be generated
12316           dynamically at runtime or at plugin registration, and an error
12317           in the underlying library shouldn't be fatal (#353301).
12318
12319 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12320
12321         * gst/gstinfo.c:
12322           Fix warning if HAVE_PRINTF_EXTENSION is undefined
12323           (spotted by Peter Kjellerstedt).
12324
12325 2006-09-23  Wim Taymans  <wim@fluendo.com>
12326
12327         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12328
12329         * libs/gst/base/gstbasesrc.c:
12330         (gst_base_src_default_check_get_range), (gst_base_src_start),
12331         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12332         (gst_base_src_change_state):
12333         Match _start/_stop calls in the activate functions. Remove redundant
12334         _stop call from the state change function. Fixes #356910.
12335         Turn failure DEBUG into ERROR. 
12336
12337 2006-09-22  Wim Taymans  <wim@fluendo.com>
12338
12339         * docs/design/part-buffering.txt:
12340         * gst/gstmessage.c: (gst_message_new_buffering),
12341         (gst_message_parse_buffering):
12342         Update docs about buffering.
12343
12344         * docs/design/part-trickmodes.txt:
12345         Fix typo.
12346
12347 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
12348
12349         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12350         (gst_controller_new_list):
12351           Ref instances when returning them again (fixes #357180)
12352
12353 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12354
12355         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12356           Don't forget to release proxy lock when there's an error.
12357
12358 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
12359
12360         * gst/gstcaps.h:
12361           Add extra initialisers for Caps things, to fix some plugin warnings
12362           when using -Wextra
12363
12364 2006-09-18  Wim Taymans  <wim@fluendo.com>
12365
12366         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12367           Also set template on the internal pad so that a getcaps from the 
12368           target pad returns the template caps.
12369
12370 2006-09-18  Wim Taymans  <wim@fluendo.com>
12371
12372         * gst/gstelement.c: (gst_element_post_message),
12373         (gst_element_dispose):
12374         Use _DEBUG_OBJECT some more.
12375
12376         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12377         Avoid typechecks.
12378
12379         * tools/gst-launch.c: (main):
12380         If the toplevel element is not a GstPipeline, it must be put in a
12381         pipeline so that a bus and clock is selected.
12382
12383 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12384
12385         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12386           JITTER, RATE, and LATENCY query should be handled by the
12387           default case and not by the CONVERT query code.
12388
12389 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12390
12391         * gst/gstformat.c: (gst_format_register):
12392           Fix locking order (must take lock before using n_values).
12393
12394         * gst/gstvalue.c: (gst_value_serialize_enum),
12395         (gst_value_deserialize_enum_iter_cmp),
12396         (gst_value_deserialize_enum):
12397           Fix serialisation/deserialisation of custom registered GstFormats.
12398
12399         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12400           Unit test for custom format serialisation/deserialisation.
12401
12402 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
12403
12404         * docs/pwg/building-boiler.xml:
12405         * plugins/elements/gstcapsfilter.c:
12406         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12407         section.
12408
12409 2006-09-16  Edward Hervey  <edward@fluendo.com>
12410
12411         * libs/gst/base/gstbasetransform.c:
12412         (gst_base_transform_buffer_alloc):
12413         Check if requested caps are the same as the sinks caps IF
12414         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12415         is FALSE.
12416         This fixes the renegotiation issues stated in #352827.
12417
12418 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12419
12420         * configure.ac:
12421         * docs/manual/advanced-autoplugging.xml:
12422         * tests/examples/Makefile.am:
12423         * tests/examples/manual/.cvsignore:
12424         * tests/examples/manual/Makefile.am:
12425         * tests/examples/manual/extract.pl:
12426           Extract the manual examples again like we used to do.
12427           Fix one of them.
12428
12429 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12430
12431         * win32/common/config.h:
12432           update for version
12433
12434 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
12435
12436         * gst/gsterror.c:
12437           Documents how to receive errors.
12438
12439 2006-09-15  Wim Taymans  <wim@fluendo.com>
12440
12441         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12442         (event_loop), (main):
12443         Added some comments here and there.
12444         Post an application message when an interrupt is caught instead of doing
12445         an uncontrolled state change.
12446         Clean up the event loop.
12447         Handle buffering messages, pause/resume the pipeline.
12448         Make shutdown because of an interrupt more reliable.
12449
12450 2006-09-15  Wim Taymans  <wim@fluendo.com>
12451
12452         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12453         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12454         (gst_base_sink_preroll_object):
12455         Make sure that our internal state is correct when we commit our state
12456         asynchronously. This solves a race where a state change to PLAYING
12457         could cause the sink to remain blocked in preroll in some situations.
12458
12459 2006-09-15  Wim Taymans  <wim@fluendo.com>
12460
12461         * tools/gst-inspect.c: (print_element_properties_info),
12462         (print_signal_info):
12463         List flags as hex so it's easier to deal with.
12464
12465 2006-09-15  Wim Taymans  <wim@fluendo.com>
12466
12467         * docs/libs/gstreamer-libs-sections.txt:
12468         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12469         (gst_base_sink_do_sync):
12470         * libs/gst/base/gstbasesink.h:
12471         Expose logic to wait for preroll so that subclasses such as audiosink
12472         can also use this method.
12473         API: gst_base_sink_wait_preroll()
12474
12475 2006-09-15  Wim Taymans  <wim@fluendo.com>
12476
12477         * gst/gstobject.c: (gst_object_set_parent):
12478         * gst/gstpipeline.c: (do_pipeline_seek):
12479         Small cleanups in docs and code.
12480
12481         * gst/gstsegment.c: (gst_segment_clip):
12482         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12483         if stop == start and start is in the segment, no clipping should be
12484         done. Also add a test for this.
12485
12486 2006-09-15  Wim Taymans  <wim@fluendo.com>
12487
12488         * docs/design/part-buffering.txt:
12489         * docs/gst/gstreamer-sections.txt:
12490         * gst/gstmessage.c: (gst_message_new_buffering),
12491         (gst_message_parse_buffering):
12492         * gst/gstmessage.h:
12493         Added methods to create and parse BUFFERING messages.
12494         Added preliminary docs about buffering.
12495         API: gst_message_new_buffering
12496         API: gst_message_parse_buffering
12497
12498 2006-09-06  Wim Taymans  <wim@fluendo.com>
12499
12500         * gst/gstbin.c:
12501         Update documentation.
12502
12503         * gst/gstelement.c: (gst_element_class_init),
12504         (gst_element_release_request_pad), (gst_element_set_clock),
12505         (gst_element_get_index), (gst_element_add_pad),
12506         (gst_element_remove_pad), (gst_element_get_random_pad),
12507         (gst_element_send_event), (gst_element_get_query_types),
12508         (gst_element_query), (gst_element_post_message),
12509         (gst_element_message_full), (gst_element_continue_state),
12510         (gst_element_lost_state), (gst_element_save_thyself),
12511         (gst_element_restore_thyself):
12512         Documentation updates.
12513         Rename last bit of the new-pad -> pad-added signal rename.
12514         Fix the case where an element query would only work if the source
12515         pad was linked.
12516         Avoid some useless type checking in message handling.
12517
12518         * gst/gstevent.c:
12519         * gst/gstevent.h:
12520         * gst/gstutils.c:
12521         Documentation updates.
12522
12523 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12524
12525         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12526           add an INFO line for when we actually update the fd
12527
12528 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12529
12530         * configure.ac:
12531           back to TRUNK
12532
12533 === release 0.10.10 ===
12534
12535 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
12536
12537         * configure.ac:
12538           releasing 0.10.10, "Pais"
12539
12540 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
12541
12542         * docs/manual/advanced-position.xml:
12543           Fix typo in sample code.
12544
12545 2006-09-05  Wim Taymans  <wim@fluendo.com>
12546
12547         * libs/gst/net/gstnetclientclock.c: (inet_aton),
12548         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12549         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12550         * libs/gst/net/gstnetclientclock.h:
12551         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12552         * libs/gst/net/gstnettimepacket.h:
12553         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12554         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12555         (gst_net_time_provider_thread), (gst_net_time_provider_new):
12556         * libs/gst/net/gstnettimeprovider.h:
12557         Make stuff compile on windows. Fixes #345295.
12558
12559 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12560
12561         * gst/gst.c: (ensure_current_registry_forking):
12562           Print better details when child was terminated by signal.
12563
12564 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12565
12566         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12567           Print a warning rather than g_assert() if a plugin feature
12568           is a URI handler but returns no protocols (#353976).
12569
12570 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
12571
12572         * docs/random/moving-plugins:
12573         Fix two typos.         
12574
12575 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12576
12577         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12578           Fix locking order, handle NULL function values properly.
12579
12580         * gst/gstinfo.h:
12581           Fix docs.
12582
12583         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12584           Initialise variable before using it and fix debug statement to
12585           print the address of the function rather than the address of the
12586           variable on the stack holding the address of the function.
12587
12588 2006-09-01  Wim Taymans  <wim@fluendo.com>
12589
12590         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12591         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12592         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12593         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12594         (gst_ghost_pad_parent_unset),
12595         (gst_ghost_pad_internal_do_activate_push),
12596         (gst_ghost_pad_internal_do_activate_pull),
12597         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12598         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12599         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12600         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12601         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12602         (gst_ghost_pad_new_no_target_from_template),
12603         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12604         More cleanups.
12605         Avoid needless typechecking in macros.
12606         Since the internal pad is always present and never changes, there is
12607         no need to locking or ref when retrieving it.
12608         Improve debugging a bit.
12609         Handle link errors when setting the target. Fixes #341029.
12610
12611 2006-09-01  Wim Taymans  <wim@fluendo.com>
12612
12613         * docs/libs/gstreamer-libs-sections.txt:
12614         * docs/plugins/gstreamer-plugins-sections.txt:
12615         Fix docs some more.
12616
12617         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12618         (gst_collect_pads_event):
12619         * libs/gst/base/gstcollectpads.h:
12620         Documentation updates.
12621         Free queued buffer when removing a pad.
12622
12623 2006-08-31  Michael Smith  <msmith@fluendo.com>
12624
12625         * gst/gstutils.c: (gst_element_link_pads),
12626         (gst_element_link_pads_filtered):
12627           Ensure that we set a capsfilter to NULL if we failed to link it
12628           when doing filtered linking, to avoid criticals.
12629
12630           No need to check for unreffing srcpad, which is explicly NULLed
12631           above (a trivial code cleanup).
12632
12633 2006-08-31  Wim Taymans  <wim@fluendo.com>
12634
12635         * docs/design/part-gstghostpad.txt:
12636         Update ascii art in documentation.
12637
12638         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12639         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12640         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12641         (gst_ghost_pad_internal_do_activate_push),
12642         (gst_ghost_pad_internal_do_activate_pull),
12643         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12644         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12645         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12646         (gst_ghost_pad_set_target):
12647         Small cleanups and leak fixes.
12648         Remove some checks now that the internal pad is never NULL.
12649         Fix the case where linking pads without a target would create nasty
12650         criticals. Fixes #341029.
12651         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12652         value of _set_target().
12653
12654         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12655         (gst_ghost_pad_suite):
12656         Some more tests for creating and linking untargeted ghostpads.
12657
12658 2006-08-31  Edward Hervey  <edward@fluendo.com>
12659
12660         * docs/gst/gstreamer-sections.txt:
12661         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12662         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12663         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12664         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12665         (gst_ghost_pad_new_from_template),
12666         (gst_ghost_pad_new_no_target_from_template):
12667         * gst/gstghostpad.h:
12668         Refactored *_new() functions.
12669         Templates are now used as a g_object_new() parameter.
12670         Use template in _do_getcaps() if we don't have a target.
12671         Small documentation cleanups.
12672         Added two new constructors:
12673         gst_ghost_pad_new_from_template()
12674         gst_ghost_pad_new_no_target_from_template()
12675         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12676         (gst_ghost_pad_suite):
12677         Added tests for new ghostpad instanciation functions.
12678
12679         API additions: gst_ghost_pad_new_from_template,
12680         gst_ghost_pad_new_no_target_from_template
12681
12682 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
12683
12684         * docs/random/ensonic/profiling.txt:
12685           Ideas about qos profiling.
12686
12687 2006-08-29  Wim Taymans  <wim@fluendo.com>
12688
12689         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12690         Code cleanups.
12691         Fix memleak.
12692
12693 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
12694
12695         * gst/gstxml.c:
12696           Improve and detypofy docs.
12697
12698         * tests/check/Makefile.am:
12699         * tests/check/gst/.cvsignore:
12700         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12701           Add a basic test suite for GstXML.
12702
12703 2006-08-29  Wim Taymans  <wim@fluendo.com>
12704
12705         * gst/gstelement.c: (activate_pads), (clear_caps),
12706         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12707         Clear the pad caps when the element shut down all of the pads and
12708         is not streaming data that could modify the caps. 
12709         Fixes #352958.
12710
12711 2006-08-28  Michael Smith  <msmith@fluendo.com>
12712
12713         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12714           Revert previous change; I misunderstood single-segment mode.
12715
12716 2006-08-28  Michael Smith  <msmith@fluendo.com>
12717
12718         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12719           Unset DISCONT on buffers when using single-segment mode.
12720
12721 2006-08-28  Wim Taymans  <wim@fluendo.com>
12722
12723         * gst/gstcaps.c: (gst_caps_merge_structure):
12724         * gst/gstcaps.h:
12725         Fix docs and indentation again.
12726
12727         * tests/check/gst/gstquery.c: (GST_START_TEST):
12728         Fix leak in tests and add some more tests.
12729
12730 2006-08-28  Edward Hervey  <edward@fluendo.com>
12731
12732         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12733         Inform GstSegment of the last stop position in order for the current
12734         segment to have a proper duration if it doesn't have a specific stop
12735         position from which a duration could be calculated.
12736         This bug was noticeable when a non-flushing, non-update new segment was
12737         followed by another segment (all buffers from the new segment were being
12738         dropped).
12739
12740 2006-08-28  Wim Taymans  <wim@fluendo.com>
12741
12742         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12743         Small comment update.
12744
12745         * plugins/elements/gstidentity.c: (gst_identity_class_init),
12746         (gst_identity_transform_ip):
12747         Drop-probability is broken, mention this in the code with a 
12748         FIXME and also in the property description.
12749         Make silent also be silent about the drop messages.
12750
12751 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
12752
12753         * docs/manual/appendix-win32.xml:
12754           Remove mention of popt, we don't depend on that any
12755           longer (#353136). Add some comments pointing out that
12756           this section is slightly outdated.
12757
12758 2006-08-28  Wim Taymans  <wim@fluendo.com>
12759
12760         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12761
12762         * gst/gstquery.c: (gst_query_new_segment):
12763         * tests/check/gst/gstquery.c: (GST_START_TEST):
12764         Initialize variables when creating a new segment query.
12765         Fixes #353121.
12766
12767 2006-08-28  Wim Taymans  <wim@fluendo.com>
12768
12769         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12770
12771         * gst/gstelement.c: (gst_element_get_bus):
12772         * tests/check/gst/gstelement.c: (GST_START_TEST):
12773         Check for NULL before _reffing the bus. Fixes #353122.
12774
12775 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
12776
12777         * docs/manual/basics-bus.xml:
12778           Docs update: fix wrong callback return value explanation; add
12779           some lines about the implicit relationship between main loop
12780           and main context; remove duplicate main loop variable declaration.
12781
12782 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
12783
12784         * tests/check/gst/gstcaps.c: (GST_START_TEST):
12785           Don't leak caps in unit test; add a few more simple
12786           checks. 
12787
12788 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
12789
12790         * docs/gst/gstreamer-sections.txt:
12791         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12792         (gst_caps_structure_is_subset), (gst_caps_merge),
12793         (gst_caps_merge_structure):
12794         * gst/gstcaps.h:
12795         * libs/gst/base/gstbasetransform.c:
12796         (gst_base_transform_transform_caps):
12797         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12798           implement caps merging (fixes #352580)
12799
12800 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
12801
12802         * tools/Makefile.am:
12803         * tools/gst-plot-timeline.py:
12804           add debug-log plotting developer tool (#340674)
12805
12806 2006-08-23  Wim Taymans  <wim@fluendo.com>
12807
12808         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
12809         (gst_pad_stop_task):
12810         Improve debugging for task functions.
12811
12812         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
12813         (gst_task_start), (gst_task_pause), (gst_task_join):
12814         Make sure that the task function started and finished after a 
12815         join(). 
12816         Don't try to push the task function on the threadpool multiple
12817         times.
12818         Improve the g_warning message with some useful suggestions
12819         about how to fix the problem. 
12820
12821 2006-08-23  Wim Taymans  <wim@fluendo.com>
12822
12823         * gst/gstutils.c: (gst_pad_proxy_getcaps):
12824         Handle RESYNC correctly in _proxy_getcaps.
12825
12826 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
12827
12828         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
12829         (gst_xml_parse_memory), (gst_xml_get_element):
12830           Chain up to parent class in dispose function and also
12831           unref the elements in the toplevel_elements GList.
12832           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
12833           Always return a reference in gst_xml_get_element() rather
12834           than only sometimes.
12835
12836         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12837           Don't leak GstXml object.
12838
12839 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
12840
12841         * docs/gst/gstreamer-sections.txt:
12842         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
12843         (gst_caps_merge):
12844         * gst/gstcaps.h:
12845         * libs/gst/base/gstbasetransform.c:
12846         (gst_base_transform_transform_caps):
12847           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
12848           in a better way
12849
12850 2006-08-21  Edward Hervey  <edward@fluendo.com>
12851
12852         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
12853         Implement GObject::dispose virtual method in GstXML so we can free the
12854         top_elements GList.
12855
12856 2006-08-21  Wim Taymans  <wim@fluendo.com>
12857
12858         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
12859         (gst_buffer_create_sub):
12860         Copy duration/offset_end/caps when creating a subbuffer of the
12861         complete parent.
12862         Make the subbuffer read-only when we make the metadata writable for
12863         now. Fixes #351768.
12864
12865         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12866         Added check for metadata copy when creating subbuffers.
12867
12868 2006-08-21  Edward Hervey  <edward@fluendo.com>
12869
12870         * libs/gst/base/gstbasetransform.c:
12871         (gst_base_transform_buffer_alloc):
12872         Only call downstream buffer_alloc if transform element is passthrough
12873         or always_in_place. Closes #350449.
12874
12875 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12876
12877         * ChangeLog:
12878           ChangeLog surgery to add comments to previous changes
12879
12880 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12881
12882         * gst/gst.c:
12883           Add comments
12884
12885         * gst/gstpad.c: (gst_pad_set_active):
12886           Be more verbose in the log
12887
12888         * libs/gst/base/gstbasetransform.c:
12889         (gst_base_transform_transform_caps):
12890           Simplify caps to get rid of duplicates, fixes #345444
12891
12892 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12893
12894         * gst/gstvalue.c:
12895         * gst/gstvalue.h:
12896           Use these optimizations only internally.
12897
12898 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12899
12900         * gst/gstvalue.c: (gst_value_compare_list),
12901         (gst_value_compare_fraction_range),
12902         (gst_value_intersect_fraction_fraction_range),
12903         (gst_value_intersect_fraction_range_fraction_range),
12904         (gst_value_subtract_fraction_fraction_range),
12905         (gst_value_subtract_fraction_range_fraction_range),
12906         (gst_value_get_compare_func), (gst_value_compare),
12907         (gst_value_compare_with_func):
12908         * gst/gstvalue.h:
12909           Saves the expensive lookup of the compare function in many cases
12910          (#345444)
12911
12912 2006-08-18  Edward Hervey  <edward@fluendo.com>
12913
12914         * tests/check/gst/gstinfo.c: (gst_info_suite):
12915         Disable test that require gstdebug if it wasn't built in core.
12916
12917 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12918
12919         * docs/random/ensonic/logging.txt:
12920           update ideas
12921           
12922         * gst/gstinfo.c: (gst_debug_log_default):
12923           reorder fields, save some columns, add optional color codes for log
12924           levels
12925
12926 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12927
12928         * docs/random/ensonic/logging.txt:
12929           add ideas about making the logs a bit more useful
12930
12931 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12932
12933         * docs/pwg/advanced-events.xml:
12934         * docs/pwg/titlepage.xml:
12935           Update for 0.10 API (#340627). Add myself
12936           to authors list.
12937
12938 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12939
12940         * docs/libs/gstreamer-libs-docs.sgml:
12941         * docs/libs/gstreamer-libs-sections.txt:
12942         * libs/gst/check/gstbufferstraw.c:
12943           Make gstcheck stuff show up in docs (still needs to
12944           be documented properly though).
12945
12946 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
12947
12948         * docs/gst/gstreamer-sections.txt:
12949         * gst/Makefile.am:
12950         * gst/gst.c: (init_post):
12951         * gst/gst_private.h:
12952         * gst/gstquark.c: (_priv_gst_quarks_initialize):
12953         * gst/gstquark.h:
12954         * gst/gstquery.c: (gst_query_new_position),
12955         (gst_query_set_position), (gst_query_parse_position),
12956         (gst_query_new_duration), (gst_query_set_duration),
12957         (gst_query_parse_duration), (gst_query_new_convert),
12958         (gst_query_set_convert), (gst_query_parse_convert),
12959         (gst_query_new_segment), (gst_query_set_segment),
12960         (gst_query_parse_segment), (gst_query_new_seeking),
12961         (gst_query_set_seeking), (gst_query_parse_seeking):
12962         Add internal helpers for pre-registering quarks from static strings
12963         and using the quark values directly instead of looking them up when
12964         creating and parsing queries. Can be used for event construction too.
12965         Closes #350432.
12966
12967 2006-08-16  Wim Taymans  <wim@fluendo.com>
12968
12969         * gst/gstbin.c:
12970         Fix bogus docs.
12971
12972 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12973
12974         * gst/gstutils.c: (gst_util_set_value_from_string):
12975           Fix memleak (#351502).
12976
12977         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12978           Add unit test for most of gst_util_set_value_from_string()
12979           (not that one would want to encourage use of this function).
12980
12981 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12982
12983         * libs/gst/check/gstcheck.h:
12984           Use const gchar * variables in fail_unless_equals_string
12985           macro to avoid compiler warnings (and don't use tabs for
12986           indenting).
12987
12988 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12989
12990         * tools/gst-launch.c: (print_tag):
12991           More space on the left for the tag names, to cater
12992           for the 'extended comment' tag (not touching the
12993           string for the first line since it's translated).
12994
12995 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12996
12997         * libs/gst/check/gstcheck.h:
12998           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
12999           print something when they fail.
13000
13001 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13002
13003         * docs/gst/gstreamer-sections.txt:
13004         * gst/gsttaglist.c: (_gst_tag_initialize):
13005         * gst/gsttaglist.h:
13006           API: add GST_TAG_EXTENDED_COMMENT (#350935).
13007           Also change merge function for GST_TAG_COMMENT to
13008           use_first.
13009
13010 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13011
13012         * gst/gstinfo.c: (gst_debug_print_object):
13013           Make GST_PTR_FORMAT print messages as well.
13014
13015         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
13016         (GST_START_TEST), (gst_info_suite):
13017           More tests.
13018
13019 2006-08-14  Edward Hervey  <edward@fluendo.com>
13020
13021         * gst/gstelementfactory.c: (gst_element_register):
13022         If the GstElementClass doesn't have a GstElementDetails with all fields
13023         filled up correctly (longname, description AND author), then error out
13024         nicely instead of crashing.
13025
13026 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13027
13028         * gst/gststructure.c:
13029           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
13030
13031         * gst/gstvalue.h:
13032           Expand on the difference between arrays and lists as we use them.
13033           
13034 2006-08-14  Wim Taymans  <wim@fluendo.com>
13035
13036         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
13037         If the parent state change function failed, don't assume we can safely
13038         stop the source, this will be done when the pads are deactivated.
13039
13040 2006-08-14  Wim Taymans  <wim@fluendo.com>
13041
13042         * gst/gstbuffer.c:
13043         * gst/gsttask.c: (gst_task_join):
13044         Small doc updates.
13045
13046         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
13047         (gst_pad_stop_task):
13048         When pad (de)activation failed for some reason, restore the old
13049         activation mode and set the pad to flushing instead of assuming the
13050         pad is deactivated.
13051         If the _task_join() failed, reinstall the task on the pad so that it can
13052         be stopped later and return an error.
13053
13054 2006-08-11  Andy Wingo  <wingo@pobox.com>
13055
13056         * configure.ac:
13057         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13058         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
13059         is only for users of API that don't want to see deprecated
13060         functions in the headers; people that want to compile out
13061         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
13062         CFLAGS. Fixes the build of multifdsink, or will soon..
13063
13064 2006-08-11  Wim Taymans  <wim@fluendo.com>
13065
13066         * docs/gst/gstreamer-sections.txt:
13067         Add GstClockClass vmethod docs.
13068
13069         * gst/gstcaps.h:
13070         Mark #endif with comment for associated #if
13071
13072         * gst/gstclock.c: (gst_clock_id_wait):
13073         * gst/gstclock.h:
13074         Add vmethod wait_jitter to avoid an unneeded _get_time() for
13075         most clock implementations.
13076         Document vmethods.
13077         Flesh out docs about resolution methods.
13078         API: GstClockClass::wait_jitter
13079
13080         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13081         (gst_system_clock_async_thread),
13082         (gst_system_clock_id_wait_jitter_unlocked),
13083         (gst_system_clock_id_wait_jitter):
13084         Use base class wait_jitter variant for improved performance
13085         due to less clock polling.
13086
13087 2006-08-11  Edward Hervey  <edward@fluendo.com>
13088
13089         * gst/gst.c: (gst_init_check), (init_post):
13090         Set gst as being initialized before scanning/updating the registry,
13091         since there might be my python plugin loader that calls gst_init() and
13092         we don't want to loop back in.
13093         Closes #350879
13094
13095 2006-08-11  Wim Taymans  <wim@fluendo.com>
13096
13097         * docs/design/part-qos.txt:
13098         Bring docs in line with the code. Mostly the sign of the jitter was
13099         wrong in the docs. Fixes #349943.
13100
13101         * gst/gstclock.c:
13102         Fix the docs for the jitter.
13103
13104         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
13105         (gst_event_parse_tag), (gst_event_new_buffer_size),
13106         (gst_event_parse_buffer_size), (gst_event_parse_qos),
13107         (gst_event_new_seek), (gst_event_parse_seek),
13108         (gst_event_new_navigation):
13109         Make sure the GstStructure has no parent when creating custom
13110         events.
13111         Add some more argument checking so that we avoid 0.0 rates.
13112         Flesh out the docs for the QoS event some more.
13113
13114 2006-08-11  Wim Taymans  <wim@fluendo.com>
13115
13116         * docs/gst/gstreamer-sections.txt:
13117         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
13118         (ensure_current_registry_forking), (ensure_current_registry),
13119         (parse_one_option), (parse_goption_arg), (gst_deinit),
13120         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
13121         * gst/gst.h:
13122         Doc updates.
13123         Added API and command line option to disable registry forking in
13124         addition to the environment variable.
13125         Constify some static arrays.
13126         Added some more debug.
13127         Don't deinit twice.
13128         API: gst_registry_fork_is_enabled()
13129         API: gst_registry_fork_set_enabled()
13130         API: --gst-disable-registry-fork command line option
13131         Fixes #348918.
13132
13133 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
13134
13135         * gst/gst.c: (gst_init):
13136           Fix typo in error message.
13137
13138 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13139
13140         * libs/gst/controller/gstcontroller.h:
13141           fix ABI size-correction
13142
13143         * tests/check/libs/gdp.c: (gst_dp_suite):
13144           make tests that use deprecated API conditional
13145
13146 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13147
13148         * docs/libs/gstreamer-libs-sections.txt:
13149         * libs/gst/controller/gstcontroller.c:
13150         (_gst_controller_get_property), (_gst_controller_set_property),
13151         (_gst_controller_init), (_gst_controller_class_init):
13152         * libs/gst/controller/gstcontroller.h:
13153         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
13154         (gst_object_set_control_rate):
13155           API: add gst_object_{s,g}et_control_rate(), add private data section,
13156           fix docs
13157
13158         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13159         * libs/gst/dataprotocol/dataprotocol.h:
13160           add deprecation guards to make gtk-doc happy and allow disabling cruft
13161
13162 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13163
13164         * tests/check/Makefile.am:
13165         * tests/check/gst/.cvsignore:
13166           Let's enable the new unit test as well.
13167
13168 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13169
13170         * configure.ac:
13171         * docs/gst/gstreamer-sections.txt:
13172         * gst/gstconfig.h.in:
13173         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
13174         (_gst_info_printf_extension_ptr),
13175         (_gst_info_printf_extension_segment):
13176           API: add GST_SEGMENT_FORMAT, which is a printf extension we
13177           register that lets us easily dump GstSegments into debug
13178           logs (#350419).
13179
13180         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
13181         (info_segment_format_printf_extension), (gst_info_suite):
13182           Add simple unit test that logs a bunch of different segments (not
13183           valgrinded at the moment because of leaks in
13184           gst_debug_add_log_function).
13185
13186 2006-08-09  Edward Hervey  <edward@fluendo.com>
13187
13188         * libs/gst/base/gstbasetransform.c:
13189         (gst_base_transform_buffer_alloc):
13190         Even if we can't figure out the proper format to request downstream,
13191         call buffer_alloc() downstream with the input parameters without setting
13192         the caps on the srcpad. This will force negotiation in the chain
13193         function.
13194         Closes #350449
13195
13196 2006-08-08  Edward Hervey  <edward@fluendo.com>
13197
13198         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13199         Unlinking from a pad without a target is now a perfectly valid case
13200         which should NOT raise an assertion.
13201         This case would happen if a linked ghostpad its target set to NULL after
13202         it was previously linked.
13203
13204 2006-08-08  Edward Hervey  <edward@fluendo.com>
13205
13206         * tests/check/libs/gdp.c:
13207         Also comment out the test (see below).
13208
13209 2006-08-08  Edward Hervey  <edward@fluendo.com>
13210
13211         * tests/check/libs/gdp.c: (gst_dp_suite):
13212         Use the architecture information from config.h and not gcc macros
13213         in order to properly disable a test that fails on PPC64.
13214
13215 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
13216
13217         * gst/gstelement.c: (gst_element_remove_pad):
13218           Don't crash printing the warning if the pad has no parent.
13219
13220 2006-08-02  Wim Taymans  <wim@fluendo.com>
13221
13222         * libs/gst/dataprotocol/dataprotocol.c:
13223         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13224         (gst_dp_crc), (gst_dp_header_payload_length),
13225         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
13226         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
13227         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
13228         (gst_dp_event_from_packet), (gst_dp_validate_header),
13229         (gst_dp_validate_payload):
13230         Make debug category static
13231         Constify the crc table.
13232         Do some more arg checking in public functions.
13233         Fix some docs and do some small cleanups.
13234
13235         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
13236         Add some more checks to see if GDP deals with bogus input.
13237
13238 2006-07-31  Wim Taymans  <wim@fluendo.com>
13239
13240         * gst/gstvalue.c: (gst_value_compare_list):
13241         Fix GstValueList comparison code. Fixes #347293.
13242
13243         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13244         Check to test GstValueList comparison.
13245
13246 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13247
13248         * gst/gstelementfactory.c: (gst_element_factory_create):
13249         Remove unnecessary ref/unref pair
13250
13251         * gst/parse/grammar.y:
13252         Make sure to free the parse buffer on all code paths.
13253         Move a g_free up to the error handler where it's easier to see.
13254
13255         * tests/check/gst/gstevent.c: (test_event):
13256         Extending timeout for downstream travelling events to 10 seconds to
13257         hopefully avoid intermittent failure on the buildbots.
13258
13259         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13260         Don't manually set the state of the src element - it will happen as a
13261         natural consequence of the pipeline changing state, and that way it
13262         will do it in the right order too.
13263
13264 2006-07-31  Wim Taymans  <wim@fluendo.com>
13265
13266         * libs/gst/base/gstbasetransform.c:
13267         (gst_base_transform_buffer_alloc):
13268         Use OBJECT_LOCK and refcounting to get the pad caps in the
13269         buffer_alloc function because the caps could change while we are
13270         busy with them. Fixes #349105
13271
13272 2006-07-31  Wim Taymans  <wim@fluendo.com>
13273
13274         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13275         Protect _PAD_CAPS with OBJECT_LOCK.
13276
13277 2006-07-31  Wim Taymans  <wim@fluendo.com>
13278
13279         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13280         (gst_pad_get_property), (gst_pad_activate_pull),
13281         (gst_pad_activate_push), (gst_pad_set_blocked_async),
13282         (gst_pad_set_activate_function),
13283         (gst_pad_set_activatepull_function),
13284         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13285         (gst_pad_set_getrange_function),
13286         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13287         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13288         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13289         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13290         (gst_pad_set_acceptcaps_function),
13291         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13292         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13293         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13294         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13295         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13296         (gst_pad_configure_sink), (gst_pad_configure_src),
13297         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13298         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13299         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13300         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13301         (gst_pad_send_event):
13302         Use _DEBUG_OBJECT when it makes sense.
13303         Protect GST_PAD_CAPS with the OBJECT_LOCK.
13304         Small cleanups and code reflows.
13305         Avoid caps refcounting in _accept_caps.
13306         Refactor alloc_buffer so that the code performed on the peer is in a
13307         separate function. Also if the pad does not implement a buffer alloc
13308         function, we should still check if the pad is flushing before falling
13309         back to the default allocator.
13310
13311 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13312
13313         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13314         Make all uses of identity and fakesink have silent=true to avoid
13315         serialising every passing data structure, which is breaking tests
13316         on FC4 for some unknown reason.
13317
13318 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13319
13320         * gst/parse/Makefile.am:
13321         * gst/parse/grammar.y:
13322         * gst/parse/parse.l:
13323           Reverted previous patch as it required to bump the flex dependency to
13324           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13325
13326 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13327
13328         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13329
13330         * gst/parse/Makefile.am:
13331         * gst/parse/grammar.y:
13332         * gst/parse/parse.l:
13333           push & pop the state of the lexer for reentrant use case
13334           Fixes #349180
13335
13336 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
13337
13338         * libs/gst/base/gstbasesrc.h:
13339           Note in the docs that the ::newsegment vfunc is not actually used by
13340           GstBaseSrc.
13341
13342 2006-07-28  Wim Taymans  <wim@fluendo.com>
13343
13344         * libs/gst/base/gstcollectpads.c:
13345         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13346         (gst_collect_pads_clear), (gst_collect_pads_flush),
13347         (gst_collect_pads_event), (gst_collect_pads_chain):
13348         When flushing a pad, also clear the queued buffer so that we don't
13349         accidentally use it when we shouldn't.
13350         Fix leaks by inreffing incomming buffer.
13351         Flush out queued buffers in case of errors.
13352         Fixes #347452.
13353
13354 2006-07-28  Wim Taymans  <wim@fluendo.com>
13355
13356         * docs/random/phonon-gst:
13357         Random notes about a Phonon backend.
13358
13359 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13360
13361         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13362         Extra debug output
13363         * tests/check/libs/gdp.c: (gst_dp_suite):
13364         Take a whack at fixing the ppc compile using a different define to
13365         disable the broken test.
13366
13367         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13368         Remove excess g_print()
13369
13370 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13371
13372         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13373         Oops, meant to uncomment this line too to dampen the noise a bit.
13374
13375 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13376
13377         * gst/parse/grammar.y:
13378         * gst/parse/parse.l:
13379         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13380         (GST_START_TEST), (parse_suite):
13381         Fix some of the leaks exposed by extending the parse-launch testsuite,
13382         and move the 3 I can't figure out into a separate test that won't run
13383         the pipelines unless the appropriate line is uncommented.
13384
13385 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13386
13387         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13388           Requesting 0 bytes before the end of the file should result in
13389           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13390           unit test.
13391
13392 2006-07-27  Wim Taymans  <wim@fluendo.com>
13393
13394         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13395         Fix useless assert, a uint is always positive.
13396
13397         * gst/gststructure.c: (gst_structure_nth_field_name),
13398         (gst_structure_foreach), (gst_structure_map_in_place):
13399         Check input arguments for public functions to avoid obvious crashes.
13400
13401         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13402         * plugins/elements/gstfakesink.h:
13403         Do less useless typechecking.
13404
13405 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13406
13407         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13408           Do not use mmap() by default since there are a number of error
13409           conditions that we would like to handle in a non-fatal way that
13410           will result in a SIGBUS if we use mmap(). Examples: external
13411           devices (USB harddrive, portable music player) being unplugged
13412           while in use; file on mounted CD/DVD that can't be read because
13413           the medium is partly damaged. Fixes #348455 and #348475.
13414
13415 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13416
13417         * gst/gstquery.h:
13418         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13419         rates are a gdouble
13420
13421 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
13422
13423         * gst/gstregistry.c:
13424           Move big documentation comment into class section header, so that it
13425           appears in the API docs.
13426
13427 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13428
13429         * docs/gst/gstreamer-sections.txt:
13430         Oops. Commit the docs additions too for new API.
13431         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13432
13433 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13434
13435         * gst/gststructure.c: (gst_structure_id_set),
13436         (gst_structure_id_set_valist):
13437         * gst/gststructure.h:
13438         Add API for setting values into structures without performing
13439         a quark lookup, if the appropriate quark is already known.
13440
13441         API: gst_structure_id_set
13442         API: gst_structure_id_set_valist
13443
13444         * gst/parse/grammar.y:
13445         * gst/parse/parse.l:
13446         Remove some dead code shown by the coverage information.
13447         Don't throw a critical g_warning when encountering a syntax error,
13448         just warn and let the normal error path handle it.
13449
13450         * plugins/elements/gstelements.c:
13451         Bump the rank of filesink up to PRIMARY so that it is preferred over
13452         gnomevfssink for file:// sink uri's
13453
13454         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13455         (GST_START_TEST), (run_delayed_test),
13456         (gst_parse_test_element_base_init),
13457         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13458         (gst_parse_test_element_change_state),
13459         (gst_register_parse_element), (parse_suite):
13460         Beef up the tests for parse syntax to check that more error cases
13461         fail as they are supposed to. Increases the test coverage a bit.
13462
13463 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
13464
13465         * docs/manual/basics-elements.xml:
13466           Fix gst_element_link() example.
13467
13468         * gst/gstutils.c:
13469           Mention in API docs that one should usually gst_bin_add()
13470           elements to a bin or pipeline before doing the linking.
13471           
13472 2006-07-26  Wim Taymans  <wim@fluendo.com>
13473
13474         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13475         (gst_subbuffer_get_type), (gst_buffer_create_sub):
13476         Avoid function call for known types by keeping the buffer and
13477         subbuffer GType global.
13478
13479         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13480         Random silly optimisations in read() path.
13481
13482 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13483
13484         * tools/gst-launch.c: (main):
13485           If the top-level of the parse is a normal bin, it doesn't do the
13486           right logic to run as a top-level element, so place it inside a
13487           pipeline.
13488
13489 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
13490
13491         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13492           Remove superfluous g_object_notify() calls, GObject does
13493           that for us automatically.
13494
13495 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
13496
13497         * gst/gstinfo.h:
13498           on Win32, use dllspec to export the debug category symbols
13499
13500 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
13501
13502         * gst/gsttaglist.c: (_gst_tag_initialize):
13503           Allow more than one GST_TAG_IMAGE per taglist.
13504
13505 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13506
13507         * gst/gstminiobject.c:
13508           update docs
13509         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13510         (gst_fd_src_create):
13511           log recurring events at LOG level
13512           add more debug for when the fd gets set
13513
13514 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13515
13516         * gst/gstparse.c: (gst_parse_launch):
13517           Also remove reentrance checks if flex is MT safe (#348179)
13518          Fix my empty ChangeLog entry below
13519
13520 2006-07-21  Andy Wingo  <wingo@pobox.com>
13521
13522         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13523
13524         * libs/gst/check/Makefile.am
13525         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13526         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
13527         * libs/gst/check/gstbufferstraw.h:
13528         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13529         functions, thus proving I am still a GStreamer haxor. OK I wrote
13530         them a long time ago, but anyways.
13531
13532 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13533
13534         * configure.ac:
13535         * gst/gstparse.c: (gst_parse_launch):
13536           Check for flex version and omit mutex if we have a MT save flex
13537           (fixes #348179)
13538
13539 2006-07-21  Wim Taymans  <wim@fluendo.com>
13540
13541         * gst/gstparse.c: (gst_parse_launch):
13542         Protect recursive calls to _parse with a recursive mutex
13543         and busy flag.
13544
13545 2006-07-21  Wim Taymans  <wim@fluendo.com>
13546
13547         * tests/check/gst/gstpad.c: (GST_START_TEST):
13548         Fix leak in test.
13549
13550 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
13551
13552         * gst/gstparse.c: (gst_parse_launch):
13553           Do not hang on recursive usage of gst_parse_launch()
13554
13555 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13556
13557         * gst/gsttaglist.c:
13558           Add some more docs, comments and FIXME 0.11s here and there
13559           and also fix some typos.
13560
13561 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13562
13563         * gst/gstsegment.h:
13564           Convert tabs to spaces for better readability. 
13565
13566 2006-07-20  Edward Hervey  <edward@fluendo.com>
13567
13568         * tests/check/libs/gdp.c: (gst_dp_suite):
13569         the test_buffer test fails at line 140 on ppc64 at the following
13570         check:
13571         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13572                 GST_BUFFER_FLAG_IN_CAPS),
13573                 "GST_BUFFER_IN_CAPS flag should have been copied !");
13574         See bug #348114 for more details.
13575
13576 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
13577
13578         * docs/pwg/advanced-scheduling.xml:
13579         * gst/gstpad.c:
13580           Fix typos (#348000).
13581
13582 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
13583
13584         * docs/pwg/intro-basics.xml:
13585           Fix wrong links (#347927).
13586
13587 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
13588
13589         * gst/gstregistry.h:
13590         * gst/gstregistryxml.c: (load_feature),
13591         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13592         * win32/common/config.h:
13593           make --disable-index work (#342564)
13594
13595 2006-07-18  Wim Taymans  <wim@fluendo.com>
13596
13597         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13598
13599         * gst/Makefile.am:
13600         * gst/gsttrace.h:
13601         The attached patch adds two missing defines to gsttrace.h when tracing
13602         is disabled.  It also corrects one existing define.
13603         Fixes #347756.
13604
13605 2006-07-17  Wim Taymans  <wim@fluendo.com>
13606
13607         * docs/gst/gstreamer-sections.txt:
13608         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13609         * gst/gst.h:
13610         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13611         Add two functions to check and change the SIGSEGV behaviour
13612         when loading plugins.
13613         Don't mess with the SIGSEGV handler when we were told not to.
13614         Fixes #347794.
13615         API: gst_segtrap_is_enabled
13616         API: gst_segtrap_set_enabled
13617
13618 2006-07-14  Wim Taymans  <wim@fluendo.com>
13619
13620         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13621         * tests/check/elements/filesrc.c: (GST_START_TEST):
13622         Revert fix for regression in #347408 after release.
13623
13624 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
13625
13626         Patch by: Antoine Tremblay <hexa00 at gmail com>
13627
13628         * gst/gstutils.c: (gst_element_unlink):
13629           Free iterator when done (#347311).
13630
13631         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13632           And add a test case for this.
13633
13634 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
13635
13636         * configure.ac:
13637         Bump nano back to CVS
13638
13639 === release 0.10.9 ===
13640
13641 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
13642
13643         * configure.ac:
13644           releasing 0.10.9, "On the road again"
13645
13646 2006-07-13  Wim Taymans  <wim@fluendo.com>
13647
13648         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13649         * tests/check/elements/filesrc.c: (GST_START_TEST):
13650         Revert pull-0 fix for release. Disable check. Fixes #347408.
13651
13652 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13653
13654         * libs/gst/dataprotocol/dataprotocol.c:
13655         (gst_dp_event_from_packet_1_0):
13656           Fixes #347337: failure to deserialize event packets with
13657           empty payload (only event type)
13658
13659 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13660
13661         * gst/Makefile.am:
13662           do not install a .c file in the header directory
13663
13664 2006-07-13  Edward Hervey  <edward@fluendo.com>
13665
13666         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13667         GhostPad no longer implicitely use the padtemplates of the targets.
13668         Fixes #347384
13669
13670 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
13671
13672         * gst/gstvalue.c: (gst_value_compare_list),
13673         (gst_value_compare_array), (_gst_value_initialize):
13674         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13675         Make GstValueArray comparison be order dependent as designed.
13676         Add checks for value lists and value array comparisons.
13677         Fixes #347221
13678
13679 2006-07-11  Edward Hervey  <edward@fluendo.com>
13680
13681         * gst/gstbin.c: (activate_pads),
13682         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13683         (gst_bin_change_state_func):
13684         (de)activate src pads before calling state_change on the childs.
13685         This is to avoid the case where a src ghostpad is blocked (holding the
13686         stream lock), which would block the deactivation of the ghostpad's
13687         target pad.
13688         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13689         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13690         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13691         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13692         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13693         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13694         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13695         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13696         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13697         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13698         (gst_ghost_pad_class_init),
13699         (gst_ghost_pad_internal_do_activate_push),
13700         (gst_ghost_pad_internal_do_activate_pull),
13701         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13702         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13703         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13704         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13705         GhostPads now create their internal GstProxyPad at creation (and not
13706         when they're linked, as it was being done previously).
13707         The internal and target pads are linked straight away.
13708         The data will also travel through the other pad in order to make
13709         pad blocking and probes non-hackish (the probe/block now really happens
13710         on the GhostPad and not on the target).
13711         * gst/gstpad.c: (gst_pad_set_blocked_async),
13712         (gst_pad_link_prepare), (gst_pad_push_event):
13713         Remove previous ghostpad cruft.
13714         * gst/gstutils.c: (gst_pad_add_data_probe),
13715         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13716         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13717         (gst_pad_remove_buffer_probe):
13718         Remove previous ghost pad cruft.
13719         Added more detailed debug statements.
13720         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13721         Fix the testsuite for refcounting changes.
13722         The comments about who has references were correct, but the refcount
13723         being checked wasn't the same (!?!).
13724
13725         Fixes #341029
13726
13727 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13728
13729         * docs/gst/gstreamer-sections.txt:
13730         * gst/gstconfig.h.in:
13731         More docs for configuration options, add docs to gtk-doc.
13732
13733 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13734
13735         * gst/Makefile.am:
13736         * gst/gstconfig.h.in:
13737         * win32/common/config.h:
13738         Fix build when disabling tracing (fixes #344016). Also start to document
13739         the defines that disable the sub-systems.
13740
13741 2006-07-10  Edward Hervey  <edward@fluendo.com>
13742
13743         * gst/gst.c: (ensure_current_registry_forking):
13744         let's make valgrind happy...
13745
13746 2006-07-09  Wim Taymans  <wim@fluendo.com>
13747
13748         * gst/gstelement.c: (activate_pads),
13749         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13750         Better pad activation code: Reset the collect value too on resync.
13751         Add some comments.
13752
13753 2006-07-09  Wim Taymans  <wim@fluendo.com>
13754
13755         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13756         (gst_pad_activate_push):
13757         Use some more macros where it makes sense.
13758         Allow pad mode switching instead of asserting. When a pad
13759         is activated in one mode and we activate it in another, 
13760         deactivate it first before activating it in a different mode.
13761         Fixes #329198.
13762
13763 2006-07-08  Andy Wingo  <wingo@pobox.com>
13764
13765         * tools/gst-launch.c (main): Handle err == NULL.
13766
13767         * gst/gst.c (init_post, ensure_current_registry)
13768         (ensure_current_registry_forking)
13769         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13770         factoring out the registry scanning into separate functions. Don't
13771         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13772         Better environment var name/interface suggestions accepted.
13773
13774 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13775
13776         * gst/gstobject.c: (gst_object_set_name_default),
13777         (gst_object_set_name):
13778           Random micro-optimisation: don't use a hash table
13779           with strings as keys and the usual strdup/strcmp
13780           involved, but rather just use the GQuark of the
13781           type name as key, since it needs to be looked up
13782           anyway to get the type name string.
13783
13784         * tests/check/gst/gstobject.c: (GST_START_TEST):
13785           Fix various leaks.
13786
13787 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13788
13789         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13790         (gst_bin_iterate_all_by_interface):
13791           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13792           GTypes are gulongs and thus the top 4 bytes might be cut
13793           off on some platforms when doing GPOINTER_TO_INT, leading
13794           to invalid GTypes and bad things happening (see RH bug #179654).
13795           Also add a check to make sure the type passed in is really
13796           an interface type.
13797
13798 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13799
13800         * .cvsignore:
13801           Ignore more.
13802
13803 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13804
13805         * Makefile.am:
13806         * configure.ac:
13807         * gst-element-check.m4:
13808         * gst-element-check.m4.in:
13809           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13810           instead of the unversioned gst-inspect (#324176, #168659).
13811
13812 2006-07-06  Wim Taymans  <wim@fluendo.com>
13813
13814         * gst/gstmessage.h:
13815         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
13816         warnings.
13817
13818 2006-07-06  Wim Taymans  <wim@fluendo.com>
13819
13820         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13821         (gst_base_src_wait), (gst_base_src_update_length),
13822         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
13823         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
13824         (gst_base_src_loop), (gst_base_src_start),
13825         (gst_base_src_activate_pull):
13826         Update docs.
13827         blocksize == 0 now means the default blocksize when working in push
13828         based mode.
13829         Remove some pointless asserts in _wait function.
13830         Fix offset/length calculations and EOS handling. We can now pull 0
13831         bytes as well, which is allowed.
13832         use _check_get_range() to decide if we can operate in _pull based
13833         mode.
13834         Fix refcounting leak when check_get_range function was not 
13835         implemented.
13836         API GstBaseSrc::blocksize range can be 0 too now (default)
13837
13838         * tests/check/elements/filesrc.c: (GST_START_TEST),
13839         (filesrc_suite):
13840         Added check to test _get_range() behaviour.
13841
13842 2006-07-06  Wim Taymans  <wim@fluendo.com>
13843
13844         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13845         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
13846         (gst_pad_pull_range):
13847         * gst/gstpad.h:
13848         Lots of comments and docs added to the pad functions.
13849         Flesh out the expected behaviour of the get_range() functions.
13850
13851 2006-07-06  Wim Taymans  <wim@fluendo.com>
13852
13853         * gst/gstbus.h:
13854         * gst/gstclock.h:
13855         * gst/gstevent.h:
13856         * gst/gstiterator.h:
13857         * gst/gstpad.h:
13858         * gst/gstplugin.h:
13859         * gst/gsttask.h:
13860         Remove comma at end of enumerator list. 
13861
13862 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
13863
13864         * win32/common/libgstbase.def:
13865         * win32/common/libgstdataprotocol.def:
13866         * win32/common/libsgtreamer.def:
13867         Add new exported functions.
13868
13869 2006-07-05  Wim Taymans  <wim@fluendo.com>
13870
13871         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
13872         Add some more docs here and there.
13873
13874 2006-07-05  Wim Taymans  <wim@fluendo.com>
13875
13876         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
13877         (gst_base_sink_loop), (gst_base_sink_get_position):
13878         When operating in pull mode update the offset so that we
13879         read sequentially.
13880
13881 2006-07-05  Wim Taymans  <wim@fluendo.com>
13882
13883         * gst/gstregistryxml.c: (read_string):
13884         Avoid strdup. (will happen in libxml, but hey!)
13885
13886         * gst/gsturi.c:
13887         Add some more docs.
13888
13889 2006-07-05  Wim Taymans  <wim@fluendo.com>
13890
13891         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
13892         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
13893         (gst_buffer_suite):
13894         No point in checking if the size of the subbuffer > 0, the
13895         code handles it correclty as demonstrated by unit test.
13896         Also add a unit test for the zero sized _new_and_alloc and
13897         _copy. Fixes #346663.
13898
13899 2006-07-05  Wim Taymans  <wim@fluendo.com>
13900
13901         * libs/gst/base/gstbasetransform.c:
13902         (gst_base_transform_prepare_output_buffer),
13903         (gst_base_transform_buffer_alloc),
13904         (gst_base_transform_handle_buffer):
13905         Make sure the buffer we pass to transform_ip has a refcount of
13906         1 and thus is writable. Fixes #343196
13907
13908 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
13909
13910         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13911         (gst_file_src_init), (gst_file_src_set_property),
13912         (gst_file_src_get_property), (gst_file_src_map_region):
13913         * plugins/elements/gstfilesrc.h:
13914         Add "sequential" property, off by default, to use madvise and hint
13915         to the kernel that sequential access is desired.
13916         Touch all retrieved pages by default to ensure they are pulled
13917         into memory. (Closes #345720)
13918
13919 2006-07-03  Wim Taymans  <wim@fluendo.com>
13920
13921         * docs/design/part-block.txt:
13922         * docs/design/part-dynamic.txt:
13923         Small docs updates.
13924
13925 2006-07-03  Wim Taymans  <wim@fluendo.com>
13926
13927         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
13928         (gst_caps_unref), (gst_static_caps_get),
13929         (gst_caps_append_structure):
13930         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
13931         Use GSlice when the glib we build against is >= 2.10
13932
13933 2006-07-03  Wim Taymans  <wim@fluendo.com>
13934
13935         * gst/gstelement.c: (gst_element_pads_activate):
13936         Small cleanup in pad activation code.
13937
13938 2006-07-03  Wim Taymans  <wim@fluendo.com>
13939
13940         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13941
13942         * gst/gst-i18n-app.h:
13943         * gst/gst-i18n-lib.h:
13944         * tools/gst-inspect.c: (print_signal_info):
13945         The attached patch will make the inclusion of gettext.h unconditional in
13946         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
13947         libintl.h in tools/gst-inspect.c.
13948         This allows use of --disable-nls again and fixes #344642.
13949
13950 2006-07-03  Edward Hervey  <edward@fluendo.com>
13951
13952         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
13953         Implement pad blocking on events according to part-block.txt.
13954         More comments on behaviour.
13955         * tests/check/gst/gstevent.c: (test_event):
13956         Send event to peer pad of blocked pad (else it will block).
13957
13958 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13959
13960         * libs/gst/check/gstcheck.c: (gst_check_message_error),
13961         (gst_check_run_suite):
13962           if we get the wrong message, give us the types as string
13963         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
13964           Fix a translatable
13965         * tests/check/elements/filesrc.c: (GST_START_TEST):
13966           add a test for trying to open a non-existing file
13967
13968 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13969
13970         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13971           add a test for adding self
13972
13973 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13974
13975         * libs/gst/check/gstcheck.h:
13976           add some assert_ as alias for fail_unless_*
13977         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
13978           increase test coverage
13979
13980 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13981
13982         * Makefile.am:
13983           include lcov.mak for lcov coverage generation
13984         * tools/Makefile.am:
13985           add to CLEANFILES
13986
13987 2006-07-02  Edward Hervey  <edward@fluendo.com>
13988
13989         * tests/check/elements/.cvsignore:
13990         moaping
13991
13992 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13993
13994         * configure.ac:
13995           don't set CFLAGS and friends for gcov, done from GST_GCOV now
13996         * tests/check/Makefile.am:
13997           clean up gcov files
13998
13999 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14000
14001         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
14002           remove gst_caps_simplify; it was not declared and not used
14003           and deprecated in 0.8
14004
14005 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14006
14007         * docs/faq/gst-uninstalled:
14008           don't put empty paths on PYTHONPATH
14009         * docs/gst/gstreamer-sections.txt:
14010           remove some symbols that are not there
14011
14012 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14013
14014         * gst/gstcaps.c: (gst_caps_compare_structures):
14015           whitespace fixes
14016         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
14017         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
14018           add more tests
14019
14020 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14021
14022         * libs/gst/dataprotocol/Makefile.am:
14023           build dataprotocol test by linking to the lib, instead of
14024           compiling the source, so we get coverage
14025         * tests/check/Makefile.am:
14026         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
14027         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
14028           add a test for filesrc
14029
14030 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14031
14032         * tests/check/gst/gststructure.c: (GST_START_TEST),
14033         (gst_structure_suite):
14034           Push coverage from 59.04% to 70.00%
14035
14036 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14037
14038         * tests/check/Makefile.am:
14039           gst-inspect every element; this makes sure that we also get
14040           coverage on element's get/set functions
14041
14042 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14043
14044         * configure.ac:
14045           set CFLAGS and friends to -O0 if gcov is being used
14046           add GCOV LIBS
14047         * gst/Makefile.am:
14048         * libs/gst/base/Makefile.am:
14049         * libs/gst/check/Makefile.am:
14050         * libs/gst/controller/Makefile.am:
14051         * libs/gst/dataprotocol/Makefile.am:
14052         * libs/gst/net/Makefile.am:
14053         * plugins/elements/Makefile.am:
14054         * plugins/indexers/Makefile.am:
14055           add makefile rules to generate gcov data and clean up
14056         * tests/check/Makefile.am:
14057           add a coverage target that generates an html overview
14058           of coverage data
14059
14060 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14061
14062         * tests/check/elements/fakesink.c:
14063         * tests/check/elements/fakesrc.c:
14064         * tests/check/elements/fdsrc.c:
14065         * tests/check/elements/identity.c:
14066         * tests/check/generic/sinks.c: (gst_sinks_suite):
14067         * tests/check/generic/states.c:
14068         * tests/check/gst/gst.c:
14069         * tests/check/gst/gstabi.c:
14070         * tests/check/gst/gstbin.c:
14071         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
14072         * tests/check/gst/gstbus.c: (gst_bus_suite):
14073         * tests/check/gst/gstcaps.c: (GST_START_TEST):
14074         * tests/check/gst/gstelement.c:
14075         * tests/check/gst/gstevent.c: (gst_event_suite):
14076         * tests/check/gst/gstghostpad.c:
14077         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
14078         * tests/check/gst/gstmessage.c: (gst_message_suite):
14079         * tests/check/gst/gstminiobject.c:
14080         * tests/check/gst/gstobject.c:
14081         * tests/check/gst/gstpad.c:
14082         * tests/check/gst/gstpipeline.c:
14083         * tests/check/gst/gstplugin.c:
14084         * tests/check/gst/gstquery.c: (gst_query_suite):
14085         * tests/check/gst/gstsegment.c: (gst_segment_suite):
14086         * tests/check/gst/gststructure.c:
14087         * tests/check/gst/gstsystemclock.c:
14088         * tests/check/gst/gsttag.c:
14089         * tests/check/gst/gsttask.c: (gst_task_suite):
14090         * tests/check/gst/gstutils.c:
14091         * tests/check/gst/gstvalue.c:
14092         * tests/check/libs/adapter.c:
14093         * tests/check/libs/basesrc.c:
14094         * tests/check/libs/collectpads.c:
14095         * tests/check/libs/controller.c:
14096         * tests/check/libs/gdp.c: (gst_dp_suite):
14097         * tests/check/libs/gstnetclientclock.c:
14098         * tests/check/libs/gstnettimeprovider.c:
14099         * tests/check/libs/libsabi.c: (libsabi_suite):
14100         * tests/check/libs/typefindhelper.c:
14101         * tests/check/pipelines/cleanup.c:
14102         * tests/check/pipelines/parse-launch.c:
14103         * tests/check/pipelines/simple-launch-lines.c:
14104         * tests/check/pipelines/stress.c: (stress_suite):
14105           use the new macro
14106
14107 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14108
14109         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
14110         * libs/gst/check/gstcheck.h:
14111           create a macro and function so that the simple unit test
14112           case can be just one macro to create main()
14113
14114 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
14115
14116         * gst/gstbin.c: (gst_bin_restore_thyself):
14117         * gst/gstxml.c: (gst_xml_make_element):
14118           Fix deserialisation from XML. Set parent manually
14119           instead of using gst_bin_add(), since gst_bin_add()
14120           will unlink all pads of the element being added.
14121           Fixes #341667.
14122
14123 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
14124
14125         Patch by: Peter Kjellerstedt <pkj at axis com>
14126
14127         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
14128           Fix missing g_strdup() and double free when using the
14129           --gst-plugin-load command line option (#346097).
14130
14131 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14132
14133         * gst/gstinfo.c:
14134           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
14135
14136         * libs/gst/net/gstnetclientclock.c:
14137         * libs/gst/net/gstnettimeprovider.c:
14138           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
14139
14140 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14141
14142         * docs/manual/advanced-dataaccess.xml:
14143           Fix buffer probe example compilation in
14144           ADM (#345708).
14145         
14146 2006-06-22  Edward Hervey  <edward@fluendo.com>
14147
14148         * gst/gstelement.c: (gst_element_pads_activate):
14149         We need to deactivate src pads first and then sink pads.
14150         The reason is the src pads might be blocking while holding the streaming
14151         lock, so we need to deactivate them first so that deactivating the sink
14152         pads doesn't block (since it will require the streaming lock).
14153
14154 2006-06-22  Wim Taymans  <wim@fluendo.com>
14155
14156         * libs/gst/base/gstbasetransform.c:
14157         (gst_base_transform_buffer_alloc):
14158         Forgot to remove two unneeded unrefs.
14159         Simplify a check _is_equal allready checks the obvious case.
14160
14161 2006-06-22  Wim Taymans  <wim@fluendo.com>
14162
14163         * docs/design/part-block.txt:
14164         Some docs about what pad_block should do.
14165
14166 2006-06-22  Wim Taymans  <wim@fluendo.com>
14167
14168         * gst/gstcaps.c: (gst_caps_replace):
14169         Fix crasher when passed NULL. Doc clarification.
14170         Optimize for the trivial case.
14171
14172         * gst/gstpipeline.c: (gst_pipeline_change_state):
14173         Small cleanups.
14174
14175         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14176         Small documentation cleanup.
14177
14178         * libs/gst/base/gstbasetransform.c:
14179         (gst_base_transform_buffer_alloc):
14180         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
14181         is what we need and it avoids a whole lot of redundant 
14182         refcount operations.
14183
14184 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
14185
14186         Patch by: Philip Jägenstedt  <philip at lysator liu se>
14187
14188         * docs/manual/advanced-dataaccess.xml:
14189           Fix 'Embedding static elements' section to use
14190           GST_PLUGIN_DEFINE_STATIC (#345607).
14191
14192 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14193
14194         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
14195           Attempt to 'fix' spuriously failing test case: it seems like the
14196           timeout of half a second is simply too small when the system is under
14197           load otherwise, and the timeout doesn't really seem to serve any
14198           particular purpose here. Give the pipeline a few seconds to preroll
14199           first, and then give it another half a second to go from PAUSED to
14200           PLAYING and marshal the message into the main thread.
14201
14202 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14203
14204         * tools/gst-feedback-m.m:
14205           Don't only use unversioned tools, try versioned tools as well
14206           (#345086).
14207
14208 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14209
14210         * gst/gstbus.c: (gst_bus_class_init):
14211           Fix some typos, make docs more explicit.
14212
14213 2006-06-20  Wim Taymans  <wim@fluendo.com>
14214
14215         * tests/check/gst/gstghostpad.c: (block_callback),
14216         (GST_START_TEST), (gst_ghost_pad_suite):
14217         Added some more ghostpad tests, mainly blocking
14218         and probes.
14219
14220 2006-06-16  Wim Taymans  <wim@fluendo.com>
14221
14222         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
14223         (gst_file_sink_close_file), (gst_file_sink_do_seek),
14224         (gst_file_sink_event), (gst_file_sink_render):
14225         * plugins/elements/gstfilesink.h:
14226         Check if we can seek in the file instead of assuming
14227         we always can. Post an error when we are asked to seek in a
14228         non-seekable file (like a fifo). Fixes #343312.
14229         Some cleanups.
14230
14231 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14232
14233         * tools/gst-launch.1.in:
14234           Un-garble (fourcc) bit in filtered caps section.
14235
14236 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14237
14238         * docs/manual/advanced-autoplugging.xml:
14239         * docs/manual/basics-helloworld.xml:
14240         * docs/manual/highlevel-components.xml:
14241           Don't leak bus reference in sample code.
14242
14243 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
14244
14245         * autogen.sh:
14246           Add default for new --enable-plugin-docs switch.
14247
14248         * configure.ac:
14249           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14250           Fixes #344039.
14251
14252         * docs/Makefile.am:
14253           Use new ENABLE_PLUGIN_DOCS conditional.
14254
14255 2006-06-14  Wim Taymans  <wim@fluendo.com>
14256
14257         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14258         Make it clear with a FIXME and a real define what the #if 0
14259         previously disabled.
14260
14261 2006-06-14  Wim Taymans  <wim@fluendo.com>
14262
14263         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14264         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14265         * libs/gst/base/gstbasetransform.c:
14266         (gst_base_transform_sink_eventfunc):
14267         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14268         Don't randomly and silently reset a segment when the format 
14269         changes as this is a bug somewhere upstream. Fixes #330379.
14270
14271 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
14272
14273         Patch by: Wouter Paesen  <wouter at kangaroot net>
14274
14275         * libs/gst/controller/gstcontroller.c:
14276         (gst_controlled_property_new):
14277           Fix controlling of float properties (#344849).
14278
14279         * tests/check/libs/controller.c:
14280         (gst_test_mono_source_get_property),
14281         (gst_test_mono_source_set_property),
14282         (gst_test_mono_source_class_init), (GST_START_TEST):
14283           While we're at it, add some float stuff to unit test.
14284
14285 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14286
14287         * docs/README:
14288         * docs/images/gdp-header.svg:
14289           add a gdp image
14290         * docs/libs/Makefile.am:
14291         * docs/libs/gdp-header.png:
14292         * libs/gst/dataprotocol/dataprotocol.c:
14293           add it to the API docs
14294         * docs/manual/intro-motivation.xml:
14295           fix typo
14296
14297 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14298
14299         * gst/gst.c: (scan_and_update_registry), (init_post):
14300           If the fork()'ed child process can't write the updated registry cache
14301           file to disk for some reason, make it exit with a failure exit code,
14302           so that the parent can then re-scan the plugins itself and update the
14303           registry structures in memory and work with that (rather than failing
14304           when creating elements because seemingly no plugins are available).
14305           Refactor registry scanning code into separate function for this and
14306           also separate fork() and non-fork() code paths. Fixes #344748.
14307
14308 2006-06-13  Wim Taymans  <wim@fluendo.com>
14309
14310         * docs/manual/advanced-dataaccess.xml:
14311         Fix wrong PluginDesc. Fixes #344755.
14312
14313 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14314
14315         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14316           Fix silly bug that prevented us from creating
14317           ~/.gstreamer-0.10 and writing the registry in one
14318           go (the first call to g_mkstemp() would overwrite the
14319           placeholder in the template string, so the second call
14320           to g_mkstemp() after creating the missing directory
14321           would then error out with 'invalid argument').
14322
14323 2006-06-13  Edward Hervey  <edward@fluendo.com>
14324
14325         * gst/gst.c: (init_post):
14326         Free string.
14327
14328 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14329
14330         * gst/glib-compat-private.h:
14331         * gst/glib-compat.c:
14332         * gst/glib-compat.h:
14333         * gst/gstvalue.c: (gst_value_serialize_flags):
14334           remove GLib 2.6 compatibility code
14335
14336 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
14337
14338         * gst/parse/Makefile.am:
14339           Fix build with 'make -j N' even more (#340016).
14340
14341 2006-06-12  Wim Taymans  <wim@fluendo.com>
14342
14343         * docs/gst/gstreamer-sections.txt:
14344         Fix docs.
14345
14346 2006-06-12  Wim Taymans  <wim@fluendo.com>
14347
14348         * gst/gstsegment.c: (gst_segment_set_duration),
14349         (gst_segment_set_last_stop), (gst_segment_set_seek),
14350         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14351         (gst_segment_to_running_time), (gst_segment_clip):
14352         Use G_UNLIKELY to help the compiler a bit.
14353
14354 2006-06-12  Wim Taymans  <wim@fluendo.com>
14355
14356         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14357
14358         * gst/gstevent.c: (gst_event_get_type):
14359         * gst/gstmessage.c:
14360         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14361         (gst_pad_push):
14362         constify quark registration strings. Fixes #344115
14363         Avoid unneeded type checking is _pad_push() by internally
14364         calling gst_pad_chain_unchecked().
14365
14366 2006-06-12  Wim Taymans  <wim@fluendo.com>
14367
14368         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14369         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14370         (gst_subbuffer_finalize), (gst_buffer_create_sub),
14371         (gst_buffer_is_span_fast), (gst_buffer_span):
14372         Init _type for consistency.
14373         Use _FLAGS macro to avoid type check.
14374         Avoid unneeded type checks in subbufer code.
14375
14376 2006-06-12  Wim Taymans  <wim@fluendo.com>
14377
14378         * gst/gst.c: (gst_debug_help):
14379         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14380         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14381         (gst_plugin_feature_list_free):
14382         * gst/gstregistry.c: (gst_registry_add_plugin),
14383         (gst_registry_add_feature), (gst_registry_plugin_filter),
14384         (gst_registry_feature_filter), (gst_registry_find_plugin),
14385         (gst_registry_find_feature), (gst_registry_get_plugin_list),
14386         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14387         * gst/gstregistryxml.c: (load_feature),
14388         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14389         * gst/gstminiobject.c: (gst_mini_object_unref),
14390         (gst_mini_object_replace), (gst_value_mini_object_free),
14391         (gst_value_mini_object_copy):
14392         Use _CAST macros to avoid unneeded type checking.
14393         Added some more G_UNLIKELY.
14394
14395 2006-06-12  Wim Taymans  <wim@fluendo.com>
14396
14397         * gst/gstbuffer.h:
14398         Avoid unneeded type checking.
14399         API: GST_BUFFER_IS_DISCONT
14400
14401         * gst/gstminiobject.h:
14402         Avoid type check in flag accessor.
14403
14404         * gst/gstelementfactory.h:
14405         * gst/gstplugin.h:
14406         * gst/gstpluginfeature.h:
14407         Add _CAST macros.
14408         API: GST_ELEMENT_FACTORY_CAST
14409         API: GST_PLUGIN_CAST
14410         API: GST_PLUGIN_FEATURE_CAST
14411
14412 2006-06-12  Wim Taymans  <wim@fluendo.com>
14413
14414         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14415         (gst_object_unref):
14416         Add G_UNLIKELY in type registration.
14417         Avoid type check in _ref/_unref since that is also
14418         done in glib.
14419
14420 2006-06-12  Wim Taymans  <wim@fluendo.com>
14421
14422         * gst/gsterror.c: (gst_g_error_get_type):
14423         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14424         (gst_static_pad_template_get_type):
14425         * gst/gsttaglist.c: (gst_tag_list_get_type):
14426         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14427         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14428         * gst/gsturi.c: (gst_uri_handler_get_type):
14429         * gst/gstvalue.c: (gst_date_get_type):
14430         * gst/gstxml.c: (gst_xml_get_type):
14431         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14432         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14433         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14434         Add G_UNLIKELY in type registration.
14435
14436 2006-06-12  Wim Taymans  <wim@fluendo.com>
14437
14438         * tools/gst-inspect.c: (print_signal_info):
14439         Properly print enum values.
14440
14441 2006-06-12  Wim Taymans  <wim@fluendo.com>
14442
14443         * gst/gstinfo.c: (gst_debug_set_active),
14444         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14445         * gst/gstinfo.h:
14446         Add some G_[UN]LIKELY.
14447         Maintain __gst_debug_min to avoid formatting the arguments of
14448         debug messages that will be dropped anyway to avoid a lot of 
14449         overhead from the debugging system.
14450
14451 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14452
14453         * po/POTFILES.in:
14454         * po/POTFILES.skip:
14455           add missing files containing translatable strings, tell intltool about
14456           one exception
14457
14458 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14459
14460         * tests/check/libs/.cvsignore:
14461         add test-binary to ignore list
14462
14463 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14464
14465         * docs/libs/gstreamer-libs-docs.sgml:
14466         reorder (put dp into a chapter) and indent
14467
14468 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14469
14470         * configure.ac:
14471           back to HEAD
14472
14473 === release 0.10.8 ===
14474
14475 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
14476
14477         * configure.ac:
14478           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14479
14480 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14481
14482         * gst/gst.c: (init_post):
14483           move pid declaration to declaration block
14484
14485 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14486
14487         * gst/gst.c: (init_post):
14488           use _exit() instead of exit() in our forked child; this ensures
14489           that none of the registered exit handlers from whatever is using
14490           GStreamer get executed.  This fixes gnome-mixer-applet failing
14491           to load, because ORBit would shut down.
14492           Spotted by: Edward Hervey  <edward@fluendo.com>
14493           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
14494           Fixes #344474
14495
14496 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14497
14498         * configure.ac:
14499           back to TRUNK
14500
14501 === release 0.10.7 ===
14502
14503 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
14504
14505         * configure.ac:
14506           releasing 0.10.7, "Soepeke, ik zie ou"
14507
14508 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14509
14510         * configure.ac:
14511         * po/af.po:
14512         * po/az.po:
14513         * po/bg.po:
14514         * po/ca.po:
14515         * po/cs.po:
14516         * po/de.po:
14517         * po/en_GB.po:
14518         * po/fr.po:
14519         * po/it.po:
14520         * po/nb.po:
14521         * po/nl.po:
14522         * po/ru.po:
14523         * po/sq.po:
14524         * po/sr.po:
14525         * po/sv.po:
14526         * po/tr.po:
14527         * po/uk.po:
14528         * po/vi.po:
14529         * po/zh_CN.po:
14530         * po/zh_TW.po:
14531         * win32/common/config.h:
14532           0.10.6.2 prerelease
14533
14534 2006-06-07  Wim Taymans  <wim@fluendo.com>
14535
14536         * gst/gstindex.c: (gst_index_gtype_resolver):
14537         * tools/gst-xmlinspect.c: (print_plugin_info):
14538         Fix leak spotted by coverity checker. Fixes #343827
14539         Fix another other leak found by paolo borelli.
14540
14541 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14542
14543         * libs/gst/dataprotocol/dataprotocol.c:
14544         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14545         (gst_dp_version_get_type), (gst_dp_init),
14546         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14547         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14548         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14549         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14550         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14551         (gst_dp_packetizer_free):
14552         * libs/gst/dataprotocol/dataprotocol.h:
14553           API: add a GstDPPacketizer object, and create/free functions
14554           API: add GstDPVersion enum
14555           Add 1.0 event function that uses the string serialization
14556           Serialize more useful buffer flags
14557           Fixes #343988
14558
14559 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14560
14561         * tests/check/Makefile.am:
14562         * tests/check/gst/gstabi.c:
14563         * tests/check/gst/struct_ppc64.h:
14564         * tests/check/libs/libsabi.c:
14565         * tests/check/libs/struct_ppc64.h:
14566           add ppc64 structure sizes
14567
14568 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14569
14570         * tests/check/Makefile.am:
14571         * tests/check/gst/gstabi.c:
14572         * tests/check/gst/struct_x86_64.h:
14573         * tests/check/libs/libsabi.c:
14574         * tests/check/libs/struct_x86_64.h:
14575           generate and add structure size lists for x86_64
14576
14577 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14578
14579         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14580         * libs/gst/check/gstcheck.h:
14581           factor out the method from tests that checks size of structures,
14582           and add code to generate the header containing these sizes
14583         * tests/check/gst/gstabi.c: (GST_START_TEST):
14584         * tests/check/gst/struct_i386.h:
14585         * tests/check/libs/libsabi.c: (GST_START_TEST):
14586         * tests/check/libs/struct_i386.h:
14587           use it
14588
14589 2006-06-06  Michael Smith  <msmith@fluendo.com>
14590
14591         * gst/gstsegment.h:
14592           Don't use c++-style comments, fixes #343929
14593
14594 2006-06-05  Edward Hervey  <edward@fluendo.com>
14595
14596         * gst/gst.c:
14597         plugin_paths is not used if we build without registry support.
14598
14599         * gst/gstsegment.c: (gst_segment_copy): 
14600         _copy() was always returning NULL...
14601
14602 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14603
14604         * libs/gst/dataprotocol/dataprotocol.c:
14605         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14606         (gst_dp_packet_from_event):
14607           factor out CRC code
14608
14609 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14610
14611         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14612           make sure we unset caps
14613
14614 2006-06-02  Michael Smith  <msmith@fluendo.com>
14615
14616         * libs/gst/check/gstcheck.c: (gst_check_init),
14617         (gst_check_chain_func):
14618         * libs/gst/check/gstcheck.h:
14619           Add a cond/mutex to the check support lib, signal this whenever we
14620           add to the buffers list. This will allow tests to not busy-wait on
14621           the buffer-list.
14622
14623 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14624
14625         * libs/gst/dataprotocol/dataprotocol.c:
14626         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14627         (gst_dp_packet_from_event):
14628           factor out some common header init code
14629
14630 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14631
14632         * docs/libs/gstreamer-libs-sections.txt:
14633         * docs/libs/tmpl/gstdataprotocol.sgml:
14634         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14635         * libs/gst/dataprotocol/dataprotocol.h:
14636           API: make gst_dp_crc() public
14637
14638 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14639
14640         * plugins/indexers/gstindexers.c: (plugin_init):
14641         conditionally register fileindexer (fixes #343598)
14642
14643 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14644
14645         * gst/gsttagsetter.h:
14646         Can't cast ifaces to a class
14647
14648         * libs/gst/net/gstnetclientclock.h:
14649         * libs/gst/net/gstnettimeprovider.h:
14650         * plugins/elements/gstfakesink.h:
14651         * plugins/elements/gstfakesrc.h:
14652         * plugins/elements/gstfdsink.h:
14653         * plugins/elements/gstfdsrc.h:
14654         * plugins/elements/gstfilesink.h:
14655         * plugins/elements/gstfilesrc.h:
14656         * plugins/elements/gstidentity.h:
14657         * plugins/elements/gstqueue.h:
14658         * plugins/elements/gsttee.h:
14659         * plugins/indexers/gstfileindex.c:
14660         * plugins/indexers/gstmemindex.c:
14661         * tests/old/examples/plugins/example.h:
14662         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14663
14664 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14665
14666         * libs/gst/dataprotocol/dataprotocol.c:
14667         (gst_dp_header_from_buffer):
14668           make sure we zero the whole ABI-compatible area
14669
14670 2006-06-01  Wim Taymans  <wim@fluendo.com>
14671
14672         Patch by: Alessandro Decina <alessandro at nnva dot org>
14673
14674         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14675         Make sure the EOS flag is cleared from pads after a flush
14676         or stop. Fixes #343538.
14677
14678         * tests/check/libs/collectpads.c: (GST_START_TEST),
14679         (gst_collect_pads_suite):
14680         Added test for collectpads reusage after EOS.
14681
14682 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
14683
14684         * gst/gst.c:
14685          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14686         * win32/common/libgstbase.def:
14687          export gst_collect_pads_set_flushing
14688         * win32/common/libgstreamer.def:
14689          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14690          gst_value_fraction_multiply
14691         * win32/vs6/gst_inspect.dsp:
14692          add a link to intl.lib
14693
14694 2006-05-30  Wim Taymans  <wim@fluendo.com>
14695
14696         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14697         (gst_collect_pads_chain):
14698         Handle the case where a pad is removed from the collection
14699         that could cause the other pads to become collectable.
14700
14701 2006-05-30  Wim Taymans  <wim@fluendo.com>
14702
14703         * gst/gstelement.c:
14704         Clarify the use of _release_request_pad() and
14705         _get_request_pad() a bit better.
14706
14707         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14708         (gst_adapter_take_buffer):
14709         Fix some doc and comment typos.
14710
14711 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14712
14713         * docs/gst/gstreamer-sections.txt:
14714         * docs/libs/gstreamer-libs-sections.txt:
14715           add declared symbols
14716
14717 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
14718
14719         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14720         Add debug that can be enabled using a #define at the top of the file,
14721         for dumping stats about how late/early we were when waking up from
14722         waiting on the clock.
14723
14724 2006-05-30  Wim Taymans  <wim@fluendo.com>
14725
14726         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14727         When rebuilding the pad list, don't leak the previous list.
14728
14729 2006-05-30  Wim Taymans  <wim@fluendo.com>
14730
14731         Patch by: Lutz Mueller <lutz at topfrose dot de>
14732
14733         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14734         (gst_base_src_get_query_types), (gst_base_src_update_length):
14735         Publish supported query types.
14736         Update last_stop field in get_range mode so the position
14737         query works. Fixes #342321.
14738
14739 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
14740
14741         * docs/gst/gstreamer-sections.txt:
14742         * gst/gsttaglist.c: (_gst_tag_initialize):
14743         * gst/gsttaglist.h:
14744           API: add GST_TAG_PREVIEW_IMAGE (#343341).
14745
14746 2006-05-30  Wim Taymans  <wim@fluendo.com>
14747
14748         Patch by: Alessandro Decina <alessandro at nnva dot org>
14749
14750         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14751         Unlock mutex when removing an unknown pad.
14752         Fixes #343334.
14753
14754         * tests/check/Makefile.am:
14755         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14756         (push_event), (setup), (teardown), (GST_START_TEST),
14757         (gst_collect_pads_suite), (main):
14758         Added collecpads check, disabled for now as check crashes for
14759         some reason.
14760
14761 2006-05-29  Wim Taymans  <wim@fluendo.com>
14762
14763         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14764         Don't leak pads lists.
14765
14766 2006-05-29  Wim Taymans  <wim@fluendo.com>
14767
14768         * docs/libs/gstreamer-libs-sections.txt:
14769         * libs/gst/base/gstcollectpads.c:
14770         (gst_collect_pads_set_flushing_unlocked),
14771         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14772         (gst_collect_pads_stop):
14773         * libs/gst/base/gstcollectpads.h:
14774         API: gst_collect_pads_set_flushing()
14775         Added api to set the pads to flushing, useful for seeking
14776         code in elements using collectpads.
14777         Clear segment when receiving a flush.
14778
14779 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
14780
14781         * gst/gst.c: (add_path_func), (init_post):
14782           Don't scan registry paths passed via --gst-plugin-path immediately
14783           (will crash, because absolutely nothing is set up and no types are
14784           registered etc.); do this later in init_post(). Fixes #343057.
14785
14786 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14787
14788         * gst/gst.c: (init_post):
14789           if we have fork, fork while reading/rebuilding the registry
14790           so the parent doesn't take the hit of having all plugins loaded
14791           in memory.  Fixes #342777.
14792         * configure.ac:
14793           Check if we have fork()
14794         * win32/common/config.h.in:
14795           no fork() on win32
14796
14797 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14798
14799         * plugins/elements/gstelements.c:
14800         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14801         (gst_file_src_init), (gst_file_src_set_property),
14802         (gst_file_src_get_property), (gst_file_src_start):
14803         * plugins/elements/gstfilesrc.h:
14804           API: GstFileSrc::use-mmap
14805
14806         Add a use-mmap property to enable easier testing of all code paths.
14807         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
14808         in the absence of gnomevfssrc. (Closes #340501)
14809
14810 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
14811
14812         * tools/gst-inspect.c:
14813         Add missing include, removes warning of ngettext not being defined on
14814         some arches.
14815
14816 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14817
14818         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14819         Handle NULL input and output pointers silently as a failed conversion,
14820         rather than g_warnings.
14821
14822 2006-05-25  Wim Taymans  <wim@fluendo.com>
14823
14824         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
14825         Initialize variable before using. Fixes #342820.
14826
14827 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
14828
14829         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
14830           Fix off-by-one bug that would only allow peeks of N-1 bytes
14831           from the start even if the buffer to typefind on contains
14832           in fact N bytes of data (makes vorbis typefinding from a
14833           vorbis identification header buffer work).
14834
14835         * tests/check/Makefile.am:
14836         * tests/check/libs/.cvsignore:
14837         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
14838         (gst_typefindhelper_suite), (main), (foobar_typefind),
14839         (plugin_init):
14840           Add very basic unit test for gst_type_find_helper_for_buffer()
14841           that checks for the problem fixed above.
14842
14843 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14844
14845         * tools/gst-inspect.c: (print_interfaces),
14846         (print_element_properties_info), (print_element_list), (main):
14847           add more translatable strings
14848
14849 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
14850
14851         Patch by: Julien Moutte  <julien at moutte net>
14852
14853         * docs/gst/gstreamer-sections.txt:
14854           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
14855           
14856         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
14857         (gst_fake_sink_preroll):
14858         * plugins/elements/gstfakesink.h:
14859           API: Add new GstFakeSink::preroll-handoff signal (#337100).
14860
14861 2006-05-23  Wim Taymans  <wim@fluendo.com>
14862
14863         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
14864         * gst/gstpad.h:
14865         Added _CUSTOM error and success GstFlowReturn that can be
14866         used be elements internally. 
14867         Added macro to check for SUCCESS flowreturns.
14868         API: GST_FLOW_CUSTOM_SUCCESS
14869         API: GST_FLOW_CUSTOM_ERROR
14870         API: GST_FLOW_IS_SUCCESS
14871
14872         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
14873         Added check for GstFlowReturn sanity.
14874
14875 2006-05-23  Wim Taymans  <wim@fluendo.com>
14876
14877         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
14878
14879         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14880         (gst_collect_pads_event):
14881         clear/reset segment info in FLUSH_STOP.
14882         Fixes #336929.
14883
14884 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
14885
14886         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
14887         (gst_collect_pads_check_collected):
14888         Flush queued buffer on _stop(), fixes playing again (#342454)
14889
14890 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14891
14892         * tests/check/gst/gststructure.c: (GST_START_TEST),
14893         (gst_structure_suite):
14894           add a test for a complete structure
14895
14896 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14897
14898         * docs/faq/developing.xml:
14899         * docs/faq/faq.xml:
14900         * docs/faq/troubleshooting.xml:
14901         * docs/faq/using.xml:
14902           Some minor FAQ updates that won't change the fact that
14903           our FAQ is badly structured, full of information hardly
14904           anyone new to GStreamer needs to know and lacking lots
14905           of information people constantly ask for.
14906           
14907 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
14908
14909         * gst/gstpad.c: (gst_pad_set_caps):
14910           Short-circuit gst_pad_set_caps if setting the existing
14911           caps pointer again, and avoid printing debug and 
14912           reffing/unreffing the caps.
14913
14914         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14915           There's actually no need to set the caps before pushing -
14916           the acceptcaps method will handle it anyway.
14917
14918 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14919
14920         * docs/gst/gstreamer-sections.txt:
14921         * win32/common/libgstreamer.def:
14922         * gst/gstutils.c: (gst_element_seek_simple):
14923         * gst/gstutils.h:
14924           API: add gst_element_seek_simple() (#342238).
14925
14926 2006-05-18  Edward Hervey  <edward@fluendo.com>
14927
14928         * gst/gsttypefind.c: (gst_type_find_get_type):
14929         * gst/gsttypefind.h:
14930         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
14931         registered for GstTypeFind pointers. This allows wrapping the structure
14932         in bindings (i.e. gst-python).
14933
14934 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
14935
14936         * gst/gsttagsetter.c:
14937           Docs additions and fixes (see #339918).
14938
14939 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
14940
14941         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14942         The caps intersection algorithm can produce multiple copies of the
14943         caps. Until that is fixed, we need to simplify the result to be
14944         sure whether the allowed caps are fixed or not.
14945
14946         * plugins/elements/gstqueue.c: (gst_queue_init),
14947         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
14948         (gst_queue_push_one):
14949         Proxied buffer alloc should not set the caps on the source pad.
14950         When pushing buffers, we always accept the caps change that triggers.
14951         This prevents negotiation errors caused by caps changing mid-stream 
14952         and then being refused on our source pad (because upstream is now
14953         refusing those caps).
14954
14955 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
14956
14957         * tests/examples/helloworld/helloworld.c: (main):
14958           Must plug audioconvert and audioresample between decoder
14959           and audio sink.
14960
14961 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
14962
14963         * gst/gstregistryxml.c: (read_string), (load_pad_template),
14964         (load_feature), (load_plugin):
14965         Allow empty strings for some of the plugin fields so we don't 
14966         drop valid plugin entries that were written out correctly
14967         (Fixes #341479)
14968
14969 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
14970         
14971         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14972           Use g_remove and g_rename instead of remove and rename that don't 
14973           handle utf8 characters. rename was failing for users who had specific
14974           characters in their name then the registry was built at each 
14975           gstreamer init.
14976         * win32/vs6/gst_inspect.dsp:
14977         * win32/vs6/gst_launch.dsp:
14978         * win32/vs6/libgstbase.dsp:
14979         * win32/vs6/libgstcoreelements.dsp:
14980         * win32/vs6/libgstreamer.dsp:
14981           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
14982           build of libgstreamer and clean unused libraries in projects link 
14983           settings.
14984
14985 2006-05-17  Edward Hervey  <edward@fluendo.com>
14986
14987         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14988         The queue is not responsible for pushing an EOS when receiving a fatal
14989         flow error. It's up to the real element driving the pipeline to do that.
14990
14991 2006-05-16  Edward Hervey  <edward@fluendo.com>
14992
14993         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14994         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
14995         buffer returned a fatal error. It should just send an EOS and stop
14996         its task.
14997         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
14998         when pushing buffers on the queue and will be able to handle the event.
14999
15000 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
15001
15002         * docs/manual/basics-bins.xml:
15003         * docs/manual/basics-init.xml:
15004           Fix typos and minor errors in sample code (#341856).
15005
15006 2006-05-16  Wim Taymans  <wim@fluendo.com>
15007
15008         * docs/design/part-qos.txt:
15009         Fix indexes in formulas to make more sense.
15010
15011 2006-05-15  Wim Taymans  <wim@fluendo.com>
15012
15013         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15014         Don't report POSITION based on clock time if sync is
15015         disabled in a sink.
15016
15017 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
15018
15019         * gst/gstobject.h:
15020           Add cast to make compiler happy - refcount variable was a gint
15021           in GstObject but is a guint in GObject and g_atomic_int_get()
15022           wants a gint *.
15023
15024 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15025
15026         * gst/parse/Makefile.am:
15027           chain commands using &&, which also makes parallel make work
15028
15029 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
15030
15031         * docs/gst/gstreamer-sections.txt:
15032         * gst/gstevent.c:
15033         * gst/gstevent.h:
15034         * gst/gstmessage.h:
15035           Minor docs fixes.
15036
15037 === release 0.10.6 ===
15038
15039 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
15040
15041         * configure.ac:
15042           releasing 0.10.6, "Take the cannoli"
15043
15044 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15045
15046         * tools/gst-launch.c: (print_tag):
15047           Fix use of uninitialized variable in the hypothetical
15048           case that some broken plugin creates a GST_TAG_IMAGE
15049           tag containing a NULL buffer (#341667).
15050
15051 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
15052
15053         * tools/gst-launch.c: (print_tag):
15054           Print something more intelligible for image tags when
15055           using the -t switch (#341556).
15056
15057 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15058
15059         * Makefile.am:
15060           updates for win32
15061         * configure.ac:
15062           define GST_MAJORMINOR so we have it available in win32/common/config.h
15063           Possibly remove it from our Makefile.am files later
15064         * win32/common/config.h:
15065         * win32/common/config.h.in:
15066           added GST_MAJORMINOR
15067         * win32/common/gstenumtypes.c: (register_gst_resource_error):
15068         * win32/common/gstversion.h:
15069           updated
15070
15071 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
15072
15073         * win32/MANIFEST:
15074           Update win32 files listing.
15075         * win32/common/gstversion.h:
15076           Add GST_MAJORMINOR definition.
15077         * win32/common/libgstreamer.def:
15078           Add new exported functions.
15079           
15080 2006-05-12  Michael Smith  <msmith@fluendo.com>
15081
15082         * gst/gstplugin.c: (gst_plugin_load_file):
15083           If an so file has no plugin entry point, unload the module.
15084
15085 2006-05-11  Wim Taymans  <wim@fluendo.com>
15086
15087         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
15088         (gst_queue_set_property):
15089         Don't forget to signal the _chain or _loop function 
15090         when the queue size or thresholds change since that might
15091         cause them to make progres again.
15092
15093 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
15094
15095         * gst/gstclock.c: (gst_clock_class_init):
15096         * gst/gstindex.c: (gst_index_class_init):
15097         * gst/gstobject.c: (gst_object_class_init):
15098         * gst/gstpad.c: (gst_pad_class_init):
15099         * gst/gstpipeline.c: (gst_pipeline_class_init):
15100         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15101         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
15102         * libs/gst/base/gstbasetransform.c:
15103         (gst_base_transform_class_init):
15104         * libs/gst/net/gstnetclientclock.c:
15105         (gst_net_client_clock_class_init):
15106         * libs/gst/net/gstnettimeprovider.c:
15107         (gst_net_time_provider_class_init):
15108         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
15109         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
15110         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
15111         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
15112         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15113         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
15114         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
15115         * plugins/elements/gstidentity.c: (gst_identity_class_init):
15116         * plugins/elements/gsttee.c: (gst_tee_class_init):
15117         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15118         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15119           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
15120
15121 2006-05-11  Wim Taymans  <wim@fluendo.com>
15122
15123         * gst/gstbuffer.c: (_gst_buffer_initialize):
15124         Register subbufer along with the buffer type so that
15125         it does not accidentally gets registered from N
15126         different streaming threads in a non threadsafe way.
15127
15128 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15129
15130         * gst/gstbuffer.h:
15131         * gst/gstevent.h:
15132         * gst/gstmessage.h:
15133           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
15134           gst_event_ref() and gst_message_ref() functions again
15135           (ugly hack, please do fix if there's a better way besides
15136           overrides.txt, which doesn't seem to work).
15137
15138 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15139
15140         * libs/gst/check/gstcheck.h:
15141           add an assert for setting state to avoid lots of repetitive code
15142           in the future
15143
15144 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15145
15146         * gst/gstvalue.c: (gst_value_serialize_flags):
15147           fix a leak if no flags are set
15148         * tests/check/gst/gstvalue.c: (GST_START_TEST):
15149           fix leak in tests
15150
15151 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15152
15153         * docs/manual/basics-pads.xml:
15154           Expand a bit on caps and filtered links and update
15155           examples that were still using the no longer existing
15156           gst_pad_link_filtered() (#338206).
15157
15158 2006-05-10  Wim Taymans  <wim@fluendo.com>
15159
15160         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15161         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15162         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15163         (gst_collect_pads_stop):
15164         * libs/gst/base/gstcollectpads.h:
15165         No need to call _stop in _finalize.
15166         Iterate the main pad list in _finalize.
15167         Added some more debug.
15168         Free lists and data in the right order.
15169         Also free data whem doing _remove_pad when stopped for
15170         backward compatibility protect ::started with PAD_LOCK as
15171         well.
15172
15173 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15174
15175         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
15176         (gst_structure_parse_value):
15177           add some comments
15178           rename a method so that it actually says what it does better
15179
15180 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15181
15182         * gst/gstevent.c: (_gst_event_initialize):
15183         * gst/gstformat.c: (_gst_format_initialize):
15184           make sure some essential types used by events are registered
15185           as part of gst_init()
15186         * gst/gstvalue.c: (gst_value_serialize_flags):
15187           if no flags are set, serialize them to a value that represents NONE
15188           so that deserializing them works
15189         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15190           add tests for serialization and deserialization of flags
15191
15192 2006-05-10  Wim Taymans  <wim@fluendo.com>
15193
15194         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
15195         (gst_collect_pads_collect_range), (gst_collect_pads_available),
15196         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
15197         (gst_collect_pads_event), (gst_collect_pads_chain):
15198         Update docs.
15199         Better debug info.
15200         Catch and return errors from the collect function
15201         Refuse data on eos pads.
15202
15203 2006-05-10  Edward Hervey  <edward@fluendo.com>
15204
15205         * gst/gstinterface.h:
15206         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
15207         GInterface type checking.
15208         They were previously using non-defined macros.
15209
15210 2006-05-09  Wim Taymans  <wim@fluendo.com>
15211
15212         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
15213         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
15214         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
15215         (gst_collect_pads_start), (gst_collect_pads_stop),
15216         (gst_collect_pads_peek), (gst_collect_pads_pop),
15217         (gst_collect_pads_available), (gst_collect_pads_read),
15218         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
15219         (gst_collect_pads_is_collected), (gst_collect_pads_event),
15220         (gst_collect_pads_chain):
15221         * libs/gst/base/gstcollectpads.h:
15222         Clean up the mess that is collectpads, add comments and
15223         FIXMEs where needed.
15224         Maintain a separate pad list so we can add pads while
15225         collecting the other ones. For this we need a new separate 
15226         lock (see comics).
15227         Fix memory leak in finalize.
15228         Refactor some weird code to set/unset pad flushing flags, mark
15229         with comments.
15230         Don't crash in _available, _read, _flush when we're EOS.
15231
15232         * tests/check/libs/.cvsignore:
15233         Ignore adapter check binary.
15234
15235 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15236
15237         * gst/gstindex.c: (gst_index_resolver_get_type):
15238         * plugins/elements/gstfakesink.c:
15239         (gst_fake_sink_state_error_get_type):
15240         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15241         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15242         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15243           Const-ify GEnumValue arrays.
15244
15245 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15246
15247         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15248           Add test case for flags + gst_buffer_make_metadata_writable().
15249
15250 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15251
15252         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15253           gst_buffer_make_metadata_writable() should maintain the
15254           buffer flags (those that make sense at least) (see #340859).
15255
15256 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15257
15258         * tools/gst-inspect.c:
15259         * tools/gst-launch.c:
15260         * tools/gst-typefind.c:
15261         * tools/gst-xmlinspect.c:
15262         * tools/tools.h:
15263           Fix up includes: need to include stdlib.h in tools.h for exit().
15264
15265 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15266
15267         * gst/gsttaglist.c: (_gst_tag_initialize):
15268         * gst/gsttaglist.h:
15269           API: add GST_TAG_IMAGE tag (#340721).
15270
15271 2006-05-08  Wim Taymans  <wim@fluendo.com>
15272
15273         * gst/gstquery.c:
15274         Added some docs for the segment query.
15275
15276 2006-05-08  Wim Taymans  <wim@fluendo.com>
15277
15278         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15279         (gst_base_src_loop), (gst_base_src_change_state):
15280         Always push non-flushing serialized events in the streaming 
15281         thread.
15282
15283 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15284
15285         * gst/gsterror.c: (_gst_stream_errors_init):
15286           Add a missing error string.
15287
15288 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
15289
15290         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15291         Add applied_rate to the debug
15292
15293         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15294         Copy applied_rate into the outgoing NEWSEGMENT event
15295
15296 2006-05-08  Wim Taymans  <wim@fluendo.com>
15297
15298         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15299
15300         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15301         (gst_base_sink_change_state):
15302         call ::unlock before taking the PREROLL_LOCK so we can safely
15303         handle elements that lock in ::render.
15304         Fixes #340174.
15305
15306 2006-05-08  Edward Hervey  <edward@fluendo.com>
15307
15308         * autogen.sh: (CONFIGURE_DEF_OPT): 
15309         Darwin's libtoolize is in fact called glibtoolize.
15310         Adding glibtoolize to the list of accepted names for libtoolize.
15311
15312 2006-05-08  Wim Taymans  <wim@fluendo.com>
15313
15314         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15315         Unify error handling, don't post an error message
15316         when a push() returns EOS but perform our normal EOS
15317         handling code. Fixes #340772.
15318
15319 2006-05-08  Wim Taymans  <wim@fluendo.com>
15320
15321         * docs/design/part-overview.txt:
15322         Make upsteam/downstream concepts more clear.
15323         Give an example of serialized/non-serialized events.
15324
15325         * docs/design/part-events.txt:
15326         * docs/design/part-streams.txt:
15327         Mention applied_rate.
15328
15329         * docs/design/part-trickmodes.txt:
15330         Mention applied rate, flesh out some more use cases.
15331
15332         * gst/gstevent.c: (gst_event_new_new_segment),
15333         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15334         (gst_event_parse_new_segment_full), (gst_event_new_tag),
15335         (gst_event_parse_tag), (gst_event_new_buffer_size),
15336         (gst_event_parse_buffer_size), (gst_event_new_qos),
15337         (gst_event_parse_qos), (gst_event_parse_seek),
15338         (gst_event_new_navigation):
15339         * gst/gstevent.h:
15340         Add applied_rate field to NEWSEGMENT event.
15341         API: gst_event_new_new_segment_full()
15342         API: gst_event_parse_new_segment_full()
15343
15344         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15345         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15346         (gst_segment_to_stream_time), (gst_segment_to_running_time):
15347         * gst/gstsegment.h:
15348         Add applied_rate to GstSegment structure.
15349         Make calculation of stream_time and running_time more correct
15350         wrt rate/applied_rate.
15351         Add some more docs.
15352         API: GstSegment::applied_rate field
15353         API: gst_segment_set_newsegment_full();
15354
15355         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15356         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15357         * libs/gst/base/gstbasetransform.c:
15358         (gst_base_transform_sink_eventfunc),
15359         (gst_base_transform_handle_buffer):
15360         Parse and use applied_rate in the GstSegment field.
15361
15362         * tests/check/gst/gstevent.c: (GST_START_TEST):
15363         Add check for applied_rate field.
15364
15365         * tests/check/gst/gstsegment.c: (GST_START_TEST),
15366         (gstsegments_suite):
15367         Add more checks for various GstSegment operations.
15368
15369 2006-05-08  Wim Taymans  <wim@fluendo.com>
15370
15371         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15372         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15373         (gst_base_sink_get_position), (gst_base_sink_change_state):
15374         Store the sync time of the buffer end position separatly in a
15375         new variable eos_rtime so we can properly sync the EOS event.
15376         Fixes #340697.
15377         Fix the docs for gst_base_sink_set_qos_enabled().
15378         Don't set segment start to invalid value when we receive a 
15379         non TIME newsegment.
15380         get closer to handling position reporting for negative rates 
15381         correctly.
15382
15383 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15384
15385         * gst/gstcaps.c:
15386         Docs about how to print caps for debug purposes.
15387
15388         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15389         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15390
15391 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15392
15393         * gst/gstelement.c:
15394           use full enum names and preprend a '%' in docs strings to make recent 
15395           gtk-doc turn that into a link
15396
15397 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15398
15399         * docs/manual/basics-bins.xml:
15400         * docs/manual/basics-bus.xml:
15401         * docs/manual/basics-pads.xml:
15402           Some typo fixes, some additions, some clarifications. 
15403
15404 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15405
15406         * tools/gst-inspect.c: (main):
15407         * tools/gst-launch.c: (main):
15408         * tools/gst-run.c: (main):
15409         * tools/gst-typefind.c: (main):
15410         * tools/gst-xmlinspect.c: (main):
15411           Use the string passed to g_option_context_new() for
15412           what it's intended for - the program name is already
15413           printed elsewhere.
15414
15415 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15416
15417         * tools/Makefile.am:
15418         * tools/gst-inspect.c: (main):
15419         * tools/gst-launch.c: (main):
15420         * tools/gst-xmlinspect.c: (main):
15421         * tools/tools.h:
15422           Add back --version command line option (#340460).
15423
15424         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15425           Add --version option and use GOption for argument parsing; refactor a
15426           bit; accept directories as arguments and recurse into them; lastly,
15427           print a decent error message when things go wrong.
15428
15429 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15430
15431         * docs/manual/basics-bins.xml:
15432         Don't mention GstThread (#340611)
15433         * docs/manual/basics-elements.xml:
15434         Update link to GObject tutorial (#340607)
15435         
15436 2006-05-05  Wim Taymans  <wim@fluendo.com>
15437
15438         * gst/gstbuffer.h:
15439         * gst/gstminiobject.c:
15440         Add note about refcounting and miniobject/buffer writeability
15441         to docs. Fixes #340604
15442
15443         * gst/gstelementfactory.h:
15444         Added some explanation about @klass.
15445
15446 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15447
15448         * docs/manual/intro-motivation.xml:
15449         * docs/manual/manual.xml:
15450         Avoid CORBA & Bonobo references (#340598)
15451
15452 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15453
15454         * docs/manual/basics-bus.xml:
15455         * docs/manual/basics-pads.xml:
15456         Fix up some inaccuracies and omissions (#340609)
15457         
15458 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15459
15460         * gst/gstghostpad.c:
15461           Small typo in docs (#340625)
15462
15463 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15464
15465         * gst/parse/Makefile.am:
15466           Make 'make -j' proof (see #340698).
15467
15468 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15469
15470         * configure.ac:
15471           Require GLib-2.8 here as well.
15472
15473 2006-05-05  Wim Taymans  <wim@fluendo.com>
15474
15475         * gst/glib-compat.c:
15476         * gst/gst.c: (init_pre):
15477         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15478         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15479         (gst_object_dispatch_properties_changed):
15480         * gst/gstobject.h:
15481         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15482         * gst/gststructure.c: (gst_structure_set_valist):
15483         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15484         Remove pre glib2.8 compatibility, fixes #340508
15485
15486 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15487
15488         * gst/gsttaglist.h:
15489           Mention type of tags in doc blurbs.
15490
15491 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
15492
15493         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15494         (gst_pad_configure_src), (gst_pad_push):
15495         Restore acceptcaps checking behaviour now that good plugins have
15496         been released.
15497
15498 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15499
15500         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15501
15502         * gst/gst.c:
15503         * gst/gstbus.c:
15504         * gst/gstclock.c:
15505         * gst/gstevent.c:
15506         * gst/gstformat.c:
15507         * gst/gstmessage.c:
15508         * gst/gstparse.c:
15509         * gst/gstquery.c:
15510         * gst/gstutils.c:
15511         * gst/parse/Makefile.am:
15512         * libs/gst/base/gstadapter.c:
15513         * libs/gst/base/gstbasesrc.c:
15514         * libs/gst/base/gstpushsrc.c:
15515         * libs/gst/base/gsttypefindhelper.c:
15516         * plugins/elements/gstfakesrc.c:
15517         * plugins/elements/gstidentity.c:
15518           Make sure gstprivate.h and/or config.h are
15519           always included first, otherwise some of our
15520           defines (like _FILE_OFFSET_BITS) might be
15521           redefined in the system headers. Fixes build
15522           on opensolaris (#340016).
15523
15524 2006-05-04  Wim Taymans  <wim@fluendo.com>
15525
15526         * docs/libs/gstreamer-libs-sections.txt:
15527         API: addition: gst_adapter_take_buffer()
15528         
15529         * libs/gst/base/gstadapter.c: (gst_adapter_push),
15530         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15531         (gst_adapter_available_fast):
15532         * libs/gst/base/gstadapter.h:
15533         Prepare for optimizing the hell out of this hugely inefficient
15534         piece of code. 
15535         Added gst_adapter_take_buffer() so we can at least start thinking
15536         about subbuffering and merging.
15537         Added some comments.
15538
15539         * tests/check/Makefile.am:
15540         * tests/check/libs/adapter.c: (GST_START_TEST),
15541         (gst_adapter_suite), (main):
15542         Added GstAdapter check.
15543
15544 2006-05-04  Wim Taymans  <wim@fluendo.com>
15545
15546         * docs/design/part-overview.txt:
15547         Fix some typos, add blurb about buffer flags.
15548
15549 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15550
15551         * docs/libs/gstreamer-libs-sections.txt:
15552           make sure GstBaseTransformClass shows up in the docs
15553         * libs/gst/base/gstbasetransform.c:
15554         * libs/gst/base/gstbasetransform.h:
15555           move docs so gtk-doc picks it up now
15556
15557 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15558
15559         * docs/libs/gstreamer-libs-sections.txt:
15560           add missing symbols to docs
15561
15562 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15563
15564         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15565           back out the newsegment handling change, see #340060 for ongoing
15566           discussion
15567
15568 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
15569
15570         * tools/gst-run.c: (get_candidates), (main):
15571           Fix wrong g_file_test() usage (see glib docs for why it doesn't
15572           work); fix typo in error message. Fixes #340079.
15573
15574 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15575
15576         * common/Makefile.am:
15577         * docs/Makefile.am:
15578         * docs/faq/Makefile.am:
15579         * docs/gst/Makefile.am:
15580         * docs/libs/Makefile.am:
15581         * docs/manual/Makefile.am:
15582         * docs/plugins/Makefile.am:
15583         * docs/pwg/Makefile.am:
15584         * docs/slides/Makefile.am:
15585         * docs/upload.mak:
15586         * common/upload.mak:
15587           move upload.mak to common
15588
15589 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15590
15591         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15592           add more asserts on refcounts
15593           do more cleanup at end of tests
15594           fix test leaks showing in FC5
15595
15596 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
15597
15598         * plugins/elements/gsttypefindelement.c:
15599         (gst_type_find_element_handle_event):
15600         reverted wrong change and reflowed code to avoid others falling into
15601         this trap
15602
15603 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15604
15605         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15606           fix changelog entry about last collectpads change,
15607           add notes about proper fix
15608
15609 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15610
15611         * gst/gst.c:
15612         * gst/gstregistry.c: (gst_registry_scan_path_level),
15613         (gst_registry_scan_path):
15614         * gst/gstregistry.h:
15615           only write out registry if it has changed, fixes #338339
15616
15617 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15618
15619         * gst/gstbin.c:
15620         * gst/gstpipeline.c:
15621         * plugins/elements/gstcapsfilter.c:
15622         * plugins/elements/gstfakesink.c:
15623         * plugins/elements/gstfakesrc.c:
15624         * plugins/elements/gstfdsink.c:
15625         * plugins/elements/gstfdsrc.c:
15626         * plugins/elements/gstfilesink.c:
15627         * plugins/elements/gstfilesrc.c:
15628         * plugins/elements/gstidentity.c:
15629         * plugins/elements/gstqueue.c:
15630         * plugins/elements/gsttee.c:
15631         * plugins/elements/gsttypefindelement.c:
15632         (gst_type_find_element_handle_event):
15633           make GstElementDetails const
15634
15635 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15636
15637         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15638         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15639         (gst_collect_pads_is_collected), (gst_collect_pads_event):
15640           more detailed debug and formatting cleanup,
15641           forward newsegments to src-pad (so that e.g. adder not eats them)
15642
15643 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15644
15645         * gst/gstutils.c: (gst_element_link_pads):
15646           cleanup double code
15647
15648 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15649
15650         * libs/gst/controller/gstcontroller.c:
15651         (gst_controller_sync_values):
15652           some little tuning
15653         * tests/check/libs/controller.c: (GST_START_TEST),
15654         (gst_controller_suite):
15655           a new test for live value handling
15656
15657 2006-04-28  Wim Taymans  <wim@fluendo.com>
15658
15659         * gst/gstutils.c: (push_and_ref):
15660         Added some more docs.
15661         Fix refcount issue whith gst_element_found_tags() helper 
15662         function. Fixes #338335
15663
15664         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15665         Added testsuite for gst_element_found_tags().
15666
15667 2006-04-28  Michael Smith  <msmith@fluendo.com>
15668
15669         * gst/gstvalue.c: (gst_value_serialize_flags):
15670           Avoid NULL dereference when trying to serialize flags containing
15671           invalid values.
15672
15673 2006-04-28  Michael Smith  <msmith@fluendo.com>
15674
15675         * plugins/elements/gsttypefindelement.c:
15676         (gst_type_find_element_handle_event):
15677           If we get EOS before any data is accumulated, don't use
15678           uninitialised local variables.
15679
15680 2006-04-28  Michael Smith  <msmith@fluendo.com>
15681
15682         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15683         (gst_dp_event_from_packet):
15684           Fixes in reading/writing events over GDP (not currently used?) - 
15685           dereferencing NULL events for unknown/invalid event types, memory
15686           leak, and change g_warning to GST_WARNING.
15687
15688 2006-04-28  Wim Taymans  <wim@fluendo.com>
15689
15690         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15691         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15692         (gst_base_sink_get_position), (gst_base_sink_change_state):
15693         When frame dropping is enabled, we should not ignore frames
15694         without a duration.
15695         Update some documentation.
15696
15697 2006-04-28  Wim Taymans  <wim@fluendo.com>
15698
15699         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15700         (gst_base_src_send_event), (gst_base_src_change_state):
15701         Documentation updates.
15702
15703 2006-04-28  Wim Taymans  <wim@fluendo.com>
15704
15705         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15706         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15707         handle EAGAIN, EINTR and short writes correctly. Also clean
15708         up some error cases, avoid a deadlock on bad file descriptors and
15709         use GST_DEBUG_OBJECT.
15710         Fixes #339843
15711
15712 2006-04-28  Wim Taymans  <wim@fluendo.com>
15713
15714         * gst/gstvalue.c: (gst_value_serialize_buffer),
15715         (gst_value_deserialize_buffer):
15716         Don't try to serialize a GValue with a NULL buffer. 
15717         Fixes #339821.
15718
15719         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15720         Added check for serialisation of NULL buffers.
15721
15722 2006-04-28  Wim Taymans  <wim@fluendo.com>
15723
15724         * gst/gstminiobject.c: (gst_value_take_mini_object):
15725         Taking a NULL miniobject is valid, fix the case where
15726         we try to unref the NULL miniobject.
15727
15728 2006-04-28  Wim Taymans  <wim@fluendo.com>
15729
15730         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15731
15732         * gst/gstbin.c: (gst_bin_handle_message_func):
15733         Update docs.
15734         Don't leak bin refcount when a state recalc is
15735         in progress and we delay another one #339808.
15736
15737 2006-04-28  Wim Taymans  <wim@fluendo.com>
15738
15739         * docs/design/part-TODO.txt:
15740         Mention QoS as an ongoing work item.
15741
15742         * docs/design/part-buffering.txt:
15743         New doc about buffering that needs to be fleshed out
15744         at some point.
15745
15746         * docs/design/part-qos.txt:
15747         More QoS policy for decoders/demuxers/transforms
15748
15749         * docs/design/part-trickmodes.txt:
15750         Small update.
15751
15752 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15753
15754         * configure.ac:
15755           back to HEAD
15756
15757 === release 0.10.5 ===
15758
15759 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
15760
15761         * configure.ac:
15762           releasing 0.10.5, "Fogo"
15763
15764 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15765
15766         patch by: Wim Taymans
15767
15768         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15769         (gst_pad_configure_src), (gst_pad_push):
15770         * gst/gstpipeline.c: (gst_pipeline_init):
15771           Fix internal data flow errors.  Fixes #338711.
15772
15773 2006-04-12  Wim Taymans  <wim@fluendo.com>
15774
15775         * tests/check/gst/gstelement.c: (GST_START_TEST):
15776         Don't leak the factory.
15777
15778 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15779
15780         * configure.ac:
15781         * win32/common/config.h:
15782           prerelease
15783
15784 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
15785
15786         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15787         (gst_controller_unset_all):
15788           Free allocated GstTimedValues when freeing list nodes.
15789           Should fix leaks 'make check-valgrind' complains about.
15790
15791         * win32/common/libgstcontroller.def:
15792           Add gst_controller_unset_all.
15793
15794 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
15795
15796         * docs/libs/gstreamer-libs-sections.txt:
15797         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15798         (gst_controller_unset_all):
15799         * libs/gst/controller/gstcontroller.h:
15800         API: Added new method gst_controller_unset_all()
15801         fixed gst_controller_unset()
15802         * tests/check/libs/controller.c: (GST_START_TEST),
15803         (gst_controller_suite):
15804         Added two testcases for new and fixed method
15805
15806 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
15807
15808         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
15809           MSG_DONTWAIT is not defined on Cygwin, so work
15810           around that (fixes #317048).
15811           
15812 2006-04-11  Wim Taymans  <wim@fluendo.com>
15813
15814         * gst/gstelementfactory.c: (gst_element_register),
15815         (gst_element_factory_create), (gst_element_factory_make):
15816         Some cleanups.
15817         Fixed a FIXME.
15818         Updated docs (Fixes #131079)
15819
15820         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15821         Small cleanups.
15822
15823         * tests/check/gst/gstelement.c: (GST_START_TEST),
15824         (gst_element_suite):
15825         Added testcase for elementfactory class field.
15826
15827 2006-04-10  Wim Taymans  <wim@fluendo.com>
15828
15829         * gst/gstsegment.c:
15830         Added some more docs.
15831
15832         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
15833         (gst_base_sink_reset_qos):
15834         Calculate more accurate rate values.
15835
15836 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
15837
15838         * gst/gst_private.h:
15839           add a new #ifdef to use __declspec(dllimport) only for
15840           other modules and not for gstreamer core
15841         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
15842           use gst_guint64_to_gdouble for conversion
15843         * win32/common/libgstreamer.def:
15844           add new exported functions
15845         * win32/vs6/gst_inspect.dsp:
15846         * win32/vs6/gst_launch.dsp:
15847         * win32/vs6/libgstbase.dsp:
15848         * win32/vs6/libgstcontroller.dsp:
15849         * win32/vs6/libgstcoreelements.dsp:
15850         * win32/vs6/libgstdataprotocol.dsp:
15851         * win32/vs6/libgstnet.dsp:
15852           update project files
15853
15854 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15855
15856         * gst/gstbuffer.c: (gst_subbuffer_class_init):
15857         * gst/gstclock.c: (gst_clock_class_init):
15858         * gst/gstelement.c: (gst_element_class_init):
15859         * gst/gstindex.c: (gst_index_class_init):
15860         * gst/gstindexfactory.c: (gst_index_factory_class_init):
15861         * gst/gstobject.c: (gst_object_class_init),
15862         (gst_signal_object_class_init):
15863         * gst/gstpad.c: (gst_pad_class_init):
15864         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
15865         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
15866         * gst/gstregistry.c: (gst_registry_class_init):
15867         * gst/gstsystemclock.c: (gst_system_clock_class_init):
15868         * gst/gsttask.c: (gst_task_class_init):
15869         * gst/gstxml.c: (gst_xml_class_init):
15870         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15871         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15872         (gst_base_src_loop):
15873         * libs/gst/controller/gstcontroller.c:/
15874         (_gst_controller_class_init):
15875         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15876         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
15877         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
15878         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15879         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15880         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
15881
15882 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
15883
15884         * gst/gstpad.c: (gst_pad_link):
15885           Must set peer pads before calling the link function, otherwise
15886           a task started from a link function might get a flow-not-linked
15887           result when trying to push because the other thread where the
15888           linking happens hasn't had a chance to set the peers yet. This
15889           might happen for example when a queue gets linked to a downstream
15890           element, as queue starts a streaming task when its source pad
15891           gets linked. Happens in real life when playing back flac/musepack
15892           files in playbin (#332390).
15893           
15894 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15895
15896         * gst/gstindex.h:
15897         * gst/gstxml.h:
15898         * libs/gst/base/gstadapter.h:
15899         * libs/gst/base/gstbasesink.h:
15900         * libs/gst/base/gstbasesrc.h:
15901         * libs/gst/base/gstbasetransform.h:
15902         * libs/gst/base/gstcollectpads.h:
15903         * libs/gst/base/gstpushsrc.h:
15904         Fix broken GObject macros
15905
15906 2006-04-07  Wim Taymans  <wim@fluendo.com>
15907
15908         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15909         Initialize start and stop times, thanks valgrind.
15910
15911 2006-04-07  Wim Taymans  <wim@fluendo.com>
15912
15913         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15914         Be a bit nicer to badly behaving upstream elements that expect
15915         us to deal with non TIME segments and timestamps (such as fakesrc
15916         in the testsuite).
15917
15918 2006-04-07  Wim Taymans  <wim@fluendo.com>
15919
15920         * gst/gstbus.c:
15921         Small documentation clarification about the signal watch.
15922
15923         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15924         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15925         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15926         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15927         (gst_base_sink_get_position_last),
15928         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
15929         Convert and store timestamps in stream time and running time, the
15930         raw timestamps are not useful, also document this better.
15931         Use different window sizes for good and bad QoS observations so
15932         we react to badness a little quicker.
15933         Keep track of the amount of rendered and dropped buffers.
15934         Send QoS timestamps in running time.
15935
15936         * libs/gst/base/gstbasetransform.c:
15937         (gst_base_transform_sink_eventfunc),
15938         (gst_base_transform_handle_buffer):
15939         Compare QoS timestamps against running time.
15940
15941 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
15942
15943         * gst/gstpad.c:
15944           Typo fixes in docs.
15945
15946 2006-04-06  Michael Smith  <msmith@fluendo.com>
15947
15948         * gst/gstpad.c: (gst_pad_set_property):
15949           Use g_value_get_object() instead of g_value_dup_gst_object(),
15950           to avoid double-reffing the pad template (which we then sink,
15951           so this worked previously if (and only if) the pad template
15952           was floating.
15953
15954         * gst/gstpadtemplate.c: (gst_pad_template_init),
15955         (gst_pad_template_pad_created):
15956           Never return floating references to pad templates, create
15957           them as initially-sunken.
15958
15959           Document an extra function (and make this stop sinking our
15960           pad template, since that is now guaranteed to do nothing,
15961           since we created it sunken).
15962
15963         * gst/gstghostpad.c:
15964           Fix docs typo.
15965
15966 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
15967
15968         * gst/gstinfo.c: (__gst_in_valgrind):
15969           Add some newlines.
15970
15971         * plugins/elements/gsttypefindelement.c:
15972         (gst_type_find_element_chain):
15973           Don't leak buffer caps.
15974
15975 2006-04-06  Michael Smith  <msmith@fluendo.com>
15976
15977         * gst/parse/grammar.y:
15978           Fix a leak in parse-launch for any source-or-sink named element 
15979           references used.
15980
15981         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
15982           Unref the pipeline if it exists after we've failed parsing.
15983
15984 2006-04-05  Michael Smith  <msmith@fluendo.com>
15985
15986         * gst/gstpipeline.c: (gst_pipeline_init):
15987           When we create a pipeline bus, initially create it in flushing mode.
15988           Fixes leaks in at least one test, and makes a new pipeline work the
15989           same as one that has gone to READY and then back to NULL.
15990
15991         * gst/gstelement.c:
15992           Typo fix in docs.
15993
15994 2006-04-05  Michael Smith  <msmith@fluendo.com>
15995
15996         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15997           Unref a pad we reffed.
15998         * tests/check/gst/gstutils.c: (GST_START_TEST):
15999           Unref bins
16000
16001 2006-04-05  Michael Smith  <msmith@fluendo.com>
16002
16003         * gst/gstquery.c: (gst_query_set_formats),
16004         (gst_query_set_formatsv):
16005           Fix leaking GValues in queries, as shown by valgrind/testsuite.
16006
16007 2006-04-05  Michael Smith  <msmith@fluendo.com>
16008
16009         * tests/check/generic/sinks.c: (GST_START_TEST):
16010           Fix a variety of memleaks in sinks check, which are only sometimes 
16011           shown by running the tests under valgrind (weird?).
16012
16013 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
16014
16015         * docs/version.entities.in:
16016           Fix the substituted entity name after thomas' changes on the
16017           weekend.
16018
16019 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
16020
16021         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
16022         VALGRIND_PRINTF
16023         
16024 2006-04-05  Andy Wingo  <wingo@pobox.com>
16025
16026         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
16027
16028         * libs/gst/base/gstbasetransform.c
16029         (gst_base_transform_sink_eventfunc): When resetting our segment on
16030         FLUSH_STOP, also update the flag saying we haven't seen a
16031         newsegment.
16032
16033 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16034
16035         Patch by: Paolo Borelli  <pborelli at katamail dot com>
16036
16037         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
16038         (gst_plugin_check_license):
16039           minor clean-ups: G_DEFINE_TYPE already takes care of the
16040           parent_class stuff, no need to do it twice. Mark array of
16041           license strings as constant. (#337103)
16042           
16043 2006-04-04  Michael Smith  <msmith@fluendo.com>
16044
16045         * tools/gst-inspect.c: (print_element_list):
16046           Free the right plugin list; fixes a memory leak.
16047
16048 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16049
16050         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
16051
16052         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16053           Don't error out on empty buffers (#336945).
16054           
16055 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
16056
16057         * docs/libs/gstreamer-libs-sections.txt:
16058         * gst/gsttaglist.c:
16059         * libs/gst/base/gstbasesink.c:
16060         * libs/gst/base/gstbasesink.h:
16061         * libs/gst/base/gstbasesrc.c:
16062         * libs/gst/base/gstbasesrc.h:
16063           Documentation updates. Make BaseSink and BaseSrc docs contain the
16064           class structure so that people can actually see the prototypes for
16065           virtual functions they're supposed to be overriding.
16066
16067 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16068
16069         * plugins/elements/gsttypefindelement.c:
16070         (gst_type_find_element_chain):
16071           More debug info; when skipping typefinding, send cached
16072           events in all cases.
16073
16074 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16075
16076         * configure.ac:
16077           use new AS_VERSION and AS_NANO macros
16078         * gst/gst-i18n-lib.h:
16079         * gst/gst.c:
16080         * gst/gsterror.c:
16081         * gst/gstversion.h.in:
16082         * win32/common/config.h:
16083         * win32/common/config.h.in:
16084           update accordingly
16085
16086 2006-03-31  Michael Smith  <msmith@fluendo.com>
16087
16088         * plugins/elements/gsttypefindelement.c:
16089         (gst_type_find_element_chain):
16090           Do not typefind content if the buffers already have caps.
16091           Neccesary for icydemux (#333657), and the right thing to do anyway.
16092
16093 2006-03-30  Wim Taymans  <wim@fluendo.com>
16094
16095         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16096         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
16097         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
16098         (gst_base_sink_record_qos_observation),
16099         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16100         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16101         (gst_base_sink_change_state):
16102         More QoS measurements as described in the design doc.
16103         Get rid of ringbuffer with observations, running average is
16104         more simple and equally good.
16105         Calculates valid proportion now.
16106         Added beginning of flood measurement.
16107
16108 2006-03-29  Wim Taymans  <wim@fluendo.com>
16109
16110         * docs/design/part-qos.txt:
16111         * gst/gstclock.c:
16112         Small documentation updates and additions.
16113
16114 2006-03-29  Wim Taymans  <wim@fluendo.com>
16115
16116         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16117         (gst_base_src_send_event), (gst_base_src_loop),
16118         (gst_base_src_change_state):
16119         Perform the EOS logic when we reach the segment stop position.
16120         Fix compilation on gcc4.1
16121
16122 2006-03-29  Wim Taymans  <wim@fluendo.com>
16123
16124         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
16125
16126         * plugins/elements/gstqueue.c: (gst_queue_init),
16127         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16128         (gst_queue_set_property):
16129         * plugins/elements/gstqueue.h:
16130         In queue, when EOS is received, if minimum threshold > max_size -
16131         current_level, there is chance that queue blocks forever in conditional
16132         item del wait. This is because the queue is not emptied completely due
16133         to minimum threshold.  Here is another approach. Instead of setting
16134         cur_levels to max in EOS, just zero all minimum threshold levels. This
16135         should make sure that queue gives out all data. When going to READY
16136         (stop) state, just reset the original minimum threshold levels.
16137         Fixes #336336.
16138
16139 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
16140
16141         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
16142         (gst_type_find_element_handle_event),
16143         (gst_type_find_element_send_cached_events),
16144         (gst_type_find_element_change_state):
16145         * plugins/elements/gsttypefindelement.h:
16146           When typefinding is done in push mode, we should cache
16147           events we receive during typefinding instead of just
16148           dropping them (e.g. newsegment, custom events from
16149           dvdreadsrc etc.) and then send them out once we've
16150           determined the type of the stream (and decodebin
16151           has had a chance to plug in a decoder/demuxer).
16152           
16153 2006-03-27  Wim Taymans  <wim@fluendo.com>
16154
16155         * docs/design/part-qos.txt:
16156         First QoS ideas.
16157
16158 2006-03-27  Wim Taymans  <wim@fluendo.com>
16159
16160         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
16161
16162         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16163         (gst_base_src_send_event), (gst_base_src_change_state):
16164         Handle element seek correctly when we are streaming.
16165         Fixes #326998.
16166
16167 2006-03-24  Michael Smith  <msmith@fluendo.com>
16168
16169         * docs/faq/gst-uninstalled:
16170           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
16171           allow you to correctly run intalled applications built against old 
16172           core, using plugins that require updated core (e.g. running
16173           installed totem against a full uninstalled gstreamer stack)
16174
16175 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16176
16177         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16178         more debug details
16179
16180 2006-03-24  Wim Taymans  <wim@fluendo.com>
16181
16182         * docs/gst/gstreamer-sections.txt:
16183         Rearrange the order of the methods so that related methods
16184         are grouped together in sections.
16185
16186 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16187
16188         * gst/gstelement.c:
16189           Little clarification in the docs
16190
16191 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16192
16193         * docs/README:
16194         formatting fix
16195         * plugins/elements/gstidentity.c:
16196         * plugins/elements/gstqueue.c:
16197         * plugins/elements/gsttee.c:
16198         * plugins/elements/gsttypefindelement.c:
16199         GST_ELEMENT_DETAILS formatting
16200
16201 2006-03-24  Wim Taymans  <wim@fluendo.com>
16202
16203         * libs/gst/base/gstbasesink.h:
16204         Only add fields, not insert or we break ABI.
16205
16206 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16207
16208         * win32/common/libgstbase.def:
16209         * win32/common/libgstreamer.def:
16210           Update, add recently added functions.
16211
16212 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16213
16214         * docs/gst/gstreamer-sections.txt:
16215         * gst/gstutils.c: (gst_pad_query_peer_position),
16216         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
16217         * gst/gstutils.h:
16218           API: add some new utility functions:
16219            - gst_pad_query_peer_position()
16220            - gst_pad_query_peer_duration()
16221            - gst_pad_query_peer_convert()
16222           
16223 2006-03-23  Wim Taymans  <wim@fluendo.com>
16224
16225         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16226         (gst_base_sink_init), (gst_base_sink_finalize),
16227         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
16228         (gst_base_sink_set_property), (gst_base_sink_get_property),
16229         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
16230         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16231         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
16232         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16233         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16234         (gst_base_sink_preroll_object), (gst_base_sink_event),
16235         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
16236         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
16237         (gst_base_sink_query), (gst_base_sink_change_state):
16238         Decouple max-lateness and the fact that QoS messages are generated
16239         with a new property (qos).
16240         added API: GstBaseSink::async_play()
16241         Add vmethod so subclasses can be notified of ASYNC playing
16242         state changes.
16243         Collect timestamp start and stop to report better current
16244         position in EOS/PLAYING/PAUSED/READY/NULL.
16245         Refactor QoS/frame dropping and other measurements.
16246         API: GstBaseSrc::qos
16247         Fixes #326311
16248
16249         * libs/gst/base/gstbasesink.h:
16250         Added Private struct.
16251         API: gst_base_sink_set_qos_enabled()
16252         API: gst_base_sink_is_qos_enabled()
16253
16254 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16255
16256         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16257           If compiling against GLib-2.8 or newer, try to read the
16258           registry file using GMappedFile first before falling back
16259           to fopen() + fread() (#332151).
16260
16261 2006-03-22  Wim Taymans  <wim@fluendo.com>
16262
16263         * gst/gstinfo.c: (gst_debug_set_active),
16264         (gst_debug_category_set_threshold):
16265         Disable debugging unless explicitly activated.
16266         Fixes #335480.
16267
16268 2006-03-22  Wim Taymans  <wim@fluendo.com>
16269
16270         * gst/gstelement.c: (gst_element_set_locked_state),
16271         (gst_element_dispose):
16272         Cleanup the error case.
16273
16274         * gst/gstobject.c: (gst_object_dispose):
16275         print a critical when some object was disposed with
16276         a parent, also revive the object since it might
16277         crash the parent.
16278
16279 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
16280
16281         * tools/gst-launch.1.in:
16282           Fix another typo.
16283
16284 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16285
16286         * configure.ac:
16287         * tests/check/Makefile.am:
16288           disable some tests when we don't have a registry
16289         * tests/check/gst/gstutils.c: (gst_utils_suite):
16290           don't build the part that needs parsing
16291
16292 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16293
16294         * gst/Makefile.am
16295         * tests/examples/Makefile.am:
16296           fix --disable-parse build
16297
16298 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16299
16300         * tools/gst-feedback.1.in:
16301           Fix typo: s/feeback/feedback/ (#133494).
16302
16303 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16304
16305         * tools/Makefile.am:
16306         * tools/gst-launch.1.in:
16307           Add FILES section and correct entry about GST_REGISTRY_PATH
16308           environment variable (#133495; #133494).
16309
16310 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16311
16312         * tools/Makefile.am:
16313         * tools/gst-md5sum.1.in:
16314         * tools/gst-md5sum.c:
16315           Remove gst-md5sum and man page (the md5sink element
16316           required was removed ages ago)
16317
16318 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16319
16320         * gst/gststructure.c: (gst_structure_id_set_value):
16321           Make sure that string fields in structures/taglists
16322           contain valid UTF-8 - we don't want to pass rubbish to
16323           applications because of a buggy plugin (cp. #334167).
16324
16325 2006-03-21  Edward Hervey  <edward@fluendo.com>
16326
16327         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16328         (gst_bin_handle_message_func):
16329         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16330         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16331         (gst_element_set_bus_func):
16332         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16333         * gst/gstminiobject.c: (gst_value_set_mini_object),
16334         (gst_value_take_mini_object):
16335         * gst/gstpad.c: (gst_pad_set_pad_template):
16336         * gst/gstpipeline.c: (gst_pipeline_dispose),
16337         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16338         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16339         (gst_collect_pads_chain):
16340         * libs/gst/net/gstnettimeprovider.c:
16341         (gst_net_time_provider_set_property):
16342         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16343         It's in fact all issues with gst_*object_replace().
16344
16345 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16346
16347         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
16348         
16349         * pkgconfig/gstreamer-check-uninstalled.pc.in:
16350         * pkgconfig/gstreamer-check.pc.in:
16351           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16352
16353 2006-03-21  Edward Hervey  <edward@fluendo.com>
16354
16355         * gst/gstbuffer.h:
16356         * gst/gstevent.h:
16357         * gst/gstmessage.h:
16358         gst_[buffer|event|message]_ref() macros are replaced by a static
16359         inline functions because gcc-4.1 will about if the return value
16360         isn't used.
16361         * tests/check/gst/gstevent.c: (event_probe):
16362         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16363
16364 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
16365
16366         * gst/gstutils.h:
16367         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16368         the type' case. (Closes: #335195 for now). In the future, when we
16369         depend on GLib 2.10, we could also intern the type name using
16370         g_intern_static_string()
16371
16372 2006-03-20  Wim Taymans  <wim@fluendo.com>
16373
16374         * gst/gstbin.c: (gst_bin_handle_message_func),
16375         (bin_query_max_init), (bin_query_position_fold),
16376         (bin_query_position_done), (gst_bin_query):
16377         Position query should also take max of all streams.
16378
16379 2006-03-20  Wim Taymans  <wim@fluendo.com>
16380
16381         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16382         (gst_fake_src_finalize):
16383         Fix leaks in fakesrc.
16384
16385         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16386         Fix leaks in the testcase.
16387
16388 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
16389
16390         * gst/gst_private.h:
16391           add win32 specific import decoration(__declspec(dllimport)) 
16392           for all extern GstDebugCategory * variables
16393         * win32/common/libgstbase.def:
16394         * win32/common/libgstcontroller.def:
16395         * win32/common/libgstreamer.def:
16396           Add some exports, remove empty lines
16397         * win32/common/libgstdataprotocol.def:
16398         * win32/common/libgstdataprotocol.dsp:
16399         * win32/common/libgstnet.def:
16400         * win32/common/libgstnet.dsp:
16401           new project files and exportation files added
16402         
16403 2006-03-19  Wim Taymans  <wim@fluendo.com>
16404
16405         * tests/check/libs/basesrc.c: (eos_event_counter):
16406         Use proper return value for probe.
16407
16408 2006-03-17  Wim Taymans  <wim@fluendo.com>
16409
16410         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16411         (gst_pad_push):
16412         Don't leak buffers, caps and pads on negotiation errors.
16413
16414 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
16415
16416         * docs/faq/cvs.xml:
16417         * docs/faq/dependencies.xml:
16418         * docs/faq/developing.xml:
16419         * docs/faq/faq.xml:
16420         * docs/faq/general.xml:
16421         * docs/faq/getting.xml:
16422         * docs/faq/legal.xml:
16423         * docs/faq/troubleshooting.xml:
16424         * docs/faq/using.xml:
16425         Faq review and update.
16426
16427 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
16428
16429         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16430         (gst_pad_push):
16431         Don't pound the cpu to pieces by checking get_caps when accept_caps
16432         is called with the same caps as the pad already has.
16433         Use GST_DEBUG_OBJECT when outputting caps change information.
16434
16435 2006-03-15  Wim Taymans  <wim@fluendo.com>
16436
16437         * gst/gstclock.c: (gst_clock_class_init):
16438         Fix docs.
16439
16440 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
16441
16442         * gst/gstbuffer.h:
16443         Documentation fix.
16444
16445         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16446         (gst_pad_accept_caps), (gst_pad_configure_sink),
16447         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16448         Make the default acceptcaps behaviour be to check the requested 
16449         caps against the gst_pad_get_caps output. 
16450
16451         Ensure that gst_pad_accept_caps is used to check caps when a pad
16452         doesn't have a setcaps function, so that pads automatically refuse 
16453         caps that they don't allow in their pad template. (Fixes #332986)
16454
16455         When a buffer with attached caps is pushed, ensure that the source 
16456         pad receives those caps even if the element didn't call
16457         gst_pad_set_caps first.
16458
16459 2006-03-15  Wim Taymans  <wim@fluendo.com>
16460
16461         * libs/gst/base/gstadapter.c:
16462         Add some docs.
16463
16464 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
16465
16466         * win32/common/libgstbase.def:
16467         * win32/common/libgstcontroller.def:
16468         * win32/common/libgstreamer.def:
16469           Add a whole bunch of missing functions (#334434).
16470
16471 2006-03-14  Wim Taymans  <wim@fluendo.com>
16472
16473         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16474         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16475         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16476         Better debug info when we receive a segment event.
16477         Reorganize a bit so we can pass the get_times() results around.
16478         Use the segment format when calculating the running time.
16479         Don't do QoS is sync is disabled or we have no clock or the
16480         element does not want us to sync to the clock.
16481         Don't drop buffers if QoS is disabled for now.
16482
16483 2006-03-14  Wim Taymans  <wim@fluendo.com>
16484
16485         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16486         Marked the stats property as unimplemented so people don't get
16487         wild ideas.
16488         Add debug message when regression goes wrong.
16489         Added some more docs.
16490
16491 2006-03-14  Wim Taymans  <wim@fluendo.com>
16492
16493         * gst/gstsegment.c: (gst_segment_to_stream_time):
16494         Return correct return type in case of errors.
16495
16496 2006-03-14  Wim Taymans  <wim@fluendo.com>
16497
16498         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16499           Don't segfault on invalid formats.
16500
16501 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16502
16503         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16504           Can't use gst_segment_to_running_time() when the segment
16505           is not in GST_TIME_FORMAT (like with filesink, for example).
16506           Stops flac encoding pipelines from spewing critical warnings
16507           at EOS (#331248).
16508           
16509 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16510
16511         * gst/gstpipeline.c: (gst_pipeline_class_init):
16512           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16513
16514         * plugins/elements/gsttypefindelement.c:
16515         (gst_type_find_element_handle_event):
16516           Don't try to typefind empty streams.
16517
16518 2006-03-14  Wim Taymans  <wim@fluendo.com>
16519
16520         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16521         (gst_base_sink_do_qos):
16522         Separate QoS calculation.
16523         Only drop buffers when lateness is bigger than the 
16524         duration of the buffer.
16525
16526 2006-03-13  Wim Taymans  <wim@fluendo.com>
16527
16528         * gst/gstpipeline.c: (gst_pipeline_set_property),
16529         (gst_pipeline_get_property), (do_pipeline_seek),
16530         (gst_pipeline_change_state), (gst_pipeline_set_delay),
16531         (gst_pipeline_get_delay):
16532         Don't deadlock when reading properties.
16533
16534 2006-03-13  Wim Taymans  <wim@fluendo.com>
16535
16536         * libs/gst/base/gstbasetransform.c:
16537         (gst_base_transform_class_init), (gst_base_transform_init),
16538         (gst_base_transform_sink_event),
16539         (gst_base_transform_sink_eventfunc),
16540         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16541         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16542         (gst_base_transform_set_property),
16543         (gst_base_transform_get_property),
16544         (gst_base_transform_change_state), (gst_base_transform_update_qos),
16545         (gst_base_transform_set_qos_enabled),
16546         (gst_base_transform_is_qos_enabled):
16547         * libs/gst/base/gstbasetransform.h:
16548         Make basetransform virtual method for src events too.
16549         Handle QOS in basetransform.
16550         API: gst_base_transform_update_qos()
16551         API: gst_base_transform_set_qos_enabled()
16552         API: gst_base_transform_is_qos_enabled()
16553
16554 2006-03-13  Wim Taymans  <wim@fluendo.com>
16555
16556         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16557         (gst_base_sink_do_sync):
16558         Small cleanups.
16559         Use QOS debug category.
16560
16561 2006-03-13  Wim Taymans  <wim@fluendo.com>
16562
16563         * plugins/elements/gstqueue.c:
16564         Very small doc update.
16565
16566 2006-03-13  Wim Taymans  <wim@fluendo.com>
16567
16568         * gst/gst_private.h:
16569         * gst/gstinfo.c: (_gst_debug_init):
16570         Added QOS debug category
16571
16572 2006-03-13  Wim Taymans  <wim@fluendo.com>
16573
16574         * docs/gst/gstreamer-sections.txt:
16575         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16576         * gst/gstbin.h:
16577         * gst/gstbus.c: (gst_bus_class_init):
16578         * gst/gstbus.h:
16579         * gst/gstclock.c:
16580         * gst/gstelement.c: (gst_element_set_locked_state):
16581         * gst/gstsegment.c:
16582         Documentation updates.
16583
16584         * gst/gstpipeline.c: (gst_pipeline_get_type),
16585         (gst_pipeline_class_init), (gst_pipeline_init),
16586         (gst_pipeline_dispose), (gst_pipeline_set_property),
16587         (gst_pipeline_get_property), (do_pipeline_seek),
16588         (gst_pipeline_send_event), (gst_pipeline_change_state),
16589         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16590         (gst_pipeline_get_delay):
16591         * gst/gstpipeline.h:
16592         Added methods for setting the delay.
16593         API: gst_pipeline_set_delay()
16594         API: gst_pipeline_get_delay()
16595         Add pipeline debug category
16596         Various cleanups.
16597         Updated docs.
16598         Don't reset stream time when seek failed.
16599
16600 2006-03-13  Wim Taymans  <wim@fluendo.com>
16601
16602         * docs/design/draft-klass.txt:
16603         * docs/design/part-clocks.txt:
16604         * docs/design/part-events.txt:
16605         * docs/design/part-gstbin.txt:
16606         * docs/design/part-gstpipeline.txt:
16607         * docs/design/part-messages.txt:
16608         * docs/design/part-negotiation.txt:
16609         * docs/design/part-overview.txt:
16610         * docs/design/part-preroll.txt:
16611         * docs/design/part-seeking.txt:
16612         * docs/design/part-states.txt:
16613         * docs/design/part-streams.txt:
16614         Documentation updates.
16615
16616 2006-03-12  Julien MOUTTE  <julien@moutte.net>
16617
16618         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16619         us to leak strings...
16620
16621 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16622
16623         * libs/gst/net/gstnettimeprovider.c:
16624           fix docs
16625         * win32/common/config.h:
16626           update
16627
16628 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
16629
16630         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16631
16632         * configure.ac:
16633           Don't check for libgnomeui (leftover from old examples
16634           that aren't built or disted any longer) (#334303).
16635           
16636 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
16637
16638         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16639         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16640           Emit RESOURCE_NO_SPACE_LEFT error here as well when
16641           there's no space left on the device.
16642
16643 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
16644
16645         * gst/gstclock.h:
16646           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16647           to cast the input to GstClockTime before comparing with
16648           another GstClockTime value.
16649
16650 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16651
16652         * configure.ac:
16653           back to trunk
16654
16655 === release 0.10.4 ===
16656
16657 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
16658
16659         * configure.ac:
16660           releasing 0.10.4, "Light"
16661
16662 2006-03-10  Michael Smith  <msmith@fluendo.com>
16663
16664         * libs/gst/dataprotocol/dataprotocol.c:
16665           Fix docs for dataprocotol to not get the return types completely
16666           wrong for a few functions.
16667
16668 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16669
16670         * docs/gst/gstreamer-sections.txt:
16671         * gst/gstpipeline.c: (gst_pipeline_class_init),
16672         (gst_pipeline_init), (gst_pipeline_set_property),
16673         (gst_pipeline_get_property), (gst_pipeline_change_state),
16674         (gst_pipeline_set_auto_flush_bus),
16675         (gst_pipeline_get_auto_flush_bus):
16676         * gst/gstpipeline.h:
16677           Add new API: gst_pipeline_set_auto_flush_bus() and
16678           gst_pipeline_get_auto_flush_bus() to disable automatic
16679           flushing of the pipeline's GstBus when going from READY
16680           to NULL state (#332045).
16681
16682 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16683
16684         * docs/gst/gstreamer-sections.txt:
16685         * gst/gsturi.c: (gst_uri_has_protocol):
16686         * gst/gsturi.h:
16687            Add new API: gst_uri_has_protocol() (#333779).
16688
16689 2006-03-09  Wim Taymans  <wim@fluendo.com>
16690
16691         * gst/gstclock.c: (gst_clock_entry_new),
16692         (gst_clock_id_compare_func), (gst_clock_id_wait),
16693         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16694         (gst_clock_init), (gst_clock_get_internal_time),
16695         (gst_clock_set_master), (do_linear_regression),
16696         (gst_clock_add_observation), (gst_clock_set_property):
16697         * gst/gstclock.h:
16698         Review docs.
16699         Small cleanups.
16700         Fix a possible segfault when the window-size is made smaller.
16701         Calculate jitter before performing the clock wait. Ideally
16702         the clock implementation should calculate jitter but we need
16703         API breakage for that.
16704
16705         * gst/gstsystemclock.c: (gst_system_clock_init):
16706         Docs review.
16707         
16708         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16709         Remove leftover else
16710
16711         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16712         (gst_systemclock_suite):
16713         Added check to test GST_CLOCK_DIFF.
16714
16715 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16716
16717         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16718         (gst_type_find_helper_get_range):
16719           If we are provided with the size, we should implement
16720           GstTypeFind::get_length, so that typefind functions who
16721           want to can actually peek at the middle of a file.
16722
16723 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
16724
16725         * docs/manual/advanced-dataaccess.xml:
16726           Add some very very basic error checking.
16727
16728         * docs/pwg/appendix-checklist.xml:
16729           Some updates to the list of things to check when writing an element.
16730
16731 2006-03-08  Wim Taymans  <wim@fluendo.com>
16732
16733         * docs/design/part-element-transform.txt:
16734         Added some docs about the design of tranform elements.
16735
16736         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16737         (gst_base_src_loop), (gst_base_src_change_state):
16738         Mark buffers with the DISCONT flag.
16739
16740 2006-03-08  Michael Smith  <msmith@fluendo.com>
16741
16742         * gst/gstregistry.h:
16743         * gst/gstregistryxml.c: (gst_registry_save),
16744         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16745         (gst_registry_xml_save_pad_template),
16746         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16747         (gst_registry_xml_write_cache):
16748           Rewrite registry-saving to avoid race conditions and check for
16749           failed writes.
16750
16751 2006-03-08  Wim Taymans  <wim@fluendo.com>
16752
16753         * libs/gst/base/gstbasetransform.c:
16754         (gst_base_transform_transform_caps),
16755         (gst_base_transform_transform_size),
16756         (gst_base_transform_prepare_output_buffer),
16757         (gst_base_transform_get_unit_size),
16758         (gst_base_transform_buffer_alloc),
16759         (gst_base_transform_handle_buffer),
16760         (gst_base_transform_change_state):
16761         Cleanups, separate normal flow from errors, add sensible
16762         DEBUG lines.
16763         Don't try to renegotiate when allocating an output buffer.
16764         Also copy DISCONT buffer flag when copying a buffer.
16765         Reset the transform after we finish streaming, not during.
16766
16767 2006-03-08  Wim Taymans  <wim@fluendo.com>
16768
16769         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16770         Use last buffer timestamp in qos message.
16771
16772 2006-03-07  Wim Taymans  <wim@fluendo.com>
16773
16774         Patch by: Christophe Fergeau
16775
16776         * docs/pwg/advanced-tagging.xml:
16777         * docs/pwg/building-pads.xml:
16778           fixes #333416
16779
16780 2006-03-07  Wim Taymans  <wim@fluendo.com>
16781
16782         * docs/libs/gstreamer-libs-sections.txt:
16783         Added basesink new methods.
16784
16785         * gst/gstevent.c:
16786         * gst/gstevent.h:
16787         Docs updates. Flesh out the QoS docs.
16788
16789         * libs/gst/base/gstadapter.c:
16790         Small doc clarification about ownership and flushing.
16791
16792         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16793         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16794         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
16795         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16796         * libs/gst/base/gstbasesink.h:
16797         API additions: 
16798         Added new methods to allow subclass to control max-lateness 
16799         and sync.
16800         Generate very basic QoS events based on last sync observation.
16801         Updated docs, fix typo, added some QoS blurb.
16802
16803         * libs/gst/base/gstbasesrc.c:
16804         Remove obsolete _get_state() calls from docs.
16805
16806 2006-03-07  Wim Taymans  <wim@fluendo.com>
16807
16808         * docs/libs/gstreamer-libs-sections.txt:
16809         * libs/gst/base/gstbasetransform.h:
16810         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
16811         Fix docs for GstBaseSrc.
16812
16813 2006-03-07  Wim Taymans  <wim@fluendo.com>
16814
16815         * docs/gst/gstreamer-sections.txt:
16816         * gst/gstbuffer.h:
16817         * gst/gstvalue.c:
16818         * libs/gst/base/gstbasetransform.h:
16819         Small documentation fixes.
16820
16821 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16822
16823         * gst/gstvalue.c:
16824           Document thread-unsafety of gst_value_register_foo_func()
16825           when used at the same time as gst_value_foo() (#322628).
16826
16827 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16828
16829         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
16830         (gst_push_src_check_get_range):
16831           Push sources don't support pull mode by default.
16832
16833 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16834
16835         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16836         (gst_base_src_init), (gst_base_src_pad_check_get_range),
16837         (gst_base_src_default_check_get_range):
16838         * libs/gst/base/gstbasesrc.h:
16839           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
16840           provide default implementation, and rename
16841           gst_base_src_check_get_range() to
16842           gst_base_src_pad_check_get_range() for clarity.
16843
16844 2006-03-06  Wim Taymans  <wim@fluendo.com>
16845
16846         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16847         Make property overridable.
16848
16849 2006-03-06  Wim Taymans  <wim@fluendo.com>
16850
16851         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16852         (gst_base_sink_init), (gst_base_sink_set_property),
16853         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16854         * libs/gst/base/gstbasesink.h:
16855         API addition: Make max-lateness a property.
16856
16857 2006-03-06  Wim Taymans  <wim@fluendo.com>
16858
16859         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
16860         (gst_base_sink_do_sync), (gst_base_sink_render_object):
16861         Don't ever draw a frame that is >10ms late.
16862
16863 2006-03-06  Michael Smith  <msmith@fluendo.com>
16864
16865         * gst/gstmessage.c: (_gst_message_copy):
16866           When copying a message, set the parent_refcount of the enclosed
16867           structure to point at the copy, not the original message.
16868
16869 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16870
16871         Patch by: Christophe Fergeau
16872
16873         * gst/gstutils.h:
16874           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
16875           usable in c++ code (#333417)
16876
16877 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16878
16879         * gst/gstclock.h:
16880           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
16881
16882 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
16883
16884         * libs/gst/base/gstbasetransform.c:
16885         (gst_base_transform_transform_caps):
16886           Make sure caps are writable before passing them to
16887           gst_caps_append().
16888
16889 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16890
16891         * gst/gsterror.h:
16892           Fix some minor docs errors.
16893
16894 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16895
16896           Patch by: Ross Burton <ross at burtonini dot com>
16897
16898         * gst/gsterror.c: (_gst_resource_errors_init):
16899         * gst/gsterror.h:
16900           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
16901
16902 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16903
16904         * gst/gst.c:
16905         Add a check and output a g_warning when GStreamer is built
16906         against GLib 2.6 but running against 2.8 or higher, and vice 
16907         versa. (Closes: #323542)
16908
16909 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16910
16911         * gst/parse/parse.l:
16912           Commit patch for parse_launch syntax from #331255. Removes 
16913           support for quoted strings and mimetypes when writing filtered 
16914           caps. See the bug report for more details - I'm pretty sure this
16915           obscure feature is not in use by _anyone_ anywhere.
16916
16917           With this simple change, the size of the gstreamer.so here 
16918           drops from 2193KB to 1565KB.
16919
16920 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16921
16922         * plugins/elements/gsttypefindelement.h:
16923         * plugins/elements/gsttypefindelement.c:
16924         (gst_type_find_element_src_event), (start_typefinding),
16925         (stop_typefinding), (gst_type_find_element_handle_event),
16926         (gst_type_find_element_chain),
16927         (gst_type_find_element_chain_do_typefinding):
16928           Use gst_type_find_helper_for_buffer() for chain-based
16929           typefinding.
16930
16931 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16932
16933         * plugins/elements/gsttypefindelement.c:
16934         (gst_type_find_element_class_init),
16935         (gst_type_find_element_set_property),
16936         (gst_type_find_element_get_property):
16937           Deprecate "maximum" property (not only was it only taken into
16938           account for typefinding in push-mode anyway, it also was never
16939           actually possible to set it in the first place because the
16940           property was registered with the numeric property ID for the
16941           "minimum" property). Register "maximum" property correctly,
16942           for the sake of future copy'n'pasters. Remove some cruft
16943           from property get/set functions.
16944
16945 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16946
16947         * plugins/elements/gsttypefindelement.c:
16948         (gst_type_find_element_activate):
16949           Use gst_type_find_helper_get_range() here, so we
16950           can honour the "minimum" property and also emit
16951           the signal with the correct probability of the found caps.
16952
16953 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
16954
16955         * docs/libs/gstreamer-libs-sections.txt:
16956         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
16957         (helper_find_suggest), (gst_type_find_helper_get_range),
16958         (gst_type_find_helper):
16959         * libs/gst/base/gsttypefindhelper.h:
16960           New API: gst_type_find_helper_get_range() (#333042).
16961
16962 2006-03-02  Michael Smith  <msmith@fluendo.com>
16963
16964         * gst/gstregistryxml.c: (load_feature):
16965           Asserting on a failure to read part of the registry is Not Cool.
16966           Just log a warning and return NULL (which is already handled)
16967
16968 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
16969
16970         * win32/common/libgstbase.def:
16971           added export of gst_type_find_helper_for_buffer
16972         * win32/common/libgstbase.def:
16973           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
16974           gst_ghost_pad_get_target
16975
16976 2006-02-28  Wim Taymans  <wim@fluendo.com>
16977
16978         * docs/design/draft-klass.txt:
16979         We use Filter now.
16980         Added Connector to mark elements that are only used to
16981         allow pipeline connections.
16982         Moved Debug to extra feature since most of them are 
16983         functionally something else.
16984
16985 2006-02-28  Wim Taymans  <wim@fluendo.com>
16986
16987         * docs/design/draft-klass.txt:
16988         Some updates and clarifications.
16989
16990 2006-02-28  Wim Taymans  <wim@fluendo.com>
16991
16992         * docs/design/draft-klass.txt:
16993         Proposal for klass field values.
16994
16995         * docs/design/part-streams.txt:
16996         Start of a doc describing stream anatomy.
16997
16998 2006-02-28  Wim Taymans  <wim@fluendo.com>
16999
17000         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
17001         Help the compiler a bit with type registration.
17002         Use existing forward cod path instead of duplicating it when 
17003         handling a message.
17004         
17005         * gst/gstbus.c: (gst_bus_get_type):
17006         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
17007         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
17008         * gst/gstclock.c: (gst_clock_get_type):
17009         * gst/gstelement.c: (gst_element_get_type),
17010         * gst/gstelementfactory.c: (gst_element_factory_get_type):
17011         * gst/gstindexfactory.c: (gst_index_factory_get_type):
17012         * gst/gstminiobject.c: (gst_mini_object_get_type):
17013         * gst/gstpad.c: (gst_pad_get_type):
17014         * gst/gstsegment.c: (gst_segment_get_type):
17015         * gst/gststructure.c: (gst_structure_get_type):
17016         * gst/gstsystemclock.c: (gst_system_clock_get_type):
17017         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
17018         * gst/gstvalue.c:
17019         Help compiler with type registration.
17020
17021         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
17022         Small doc update.
17023
17024 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17025
17026         * plugins/elements/gsttypefindelement.c:
17027         (gst_type_find_element_handle_event):
17028           When we get an EOS event and have not found a type yet
17029           (most likely because we had not yet accumulated
17030           TYPE_FIND_MIN_SIZE of data yet), try to determine the
17031           type given the data we have so far. Fixes typefinding
17032           for very short streams again, most notably quicktime
17033           redirections as used on Apple's trailer site (#331701).
17034
17035 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17036
17037         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
17038         (gst_type_find_helper):
17039           Try typefinding factories with the highest rank first.
17040
17041 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17042
17043         * docs/libs/gstreamer-libs-docs.sgml:
17044         * docs/libs/gstreamer-libs-sections.txt:
17045         * libs/gst/base/gsttypefindhelper.c:
17046           Add section for typefind helper and add documentation
17047           for the old and the new function.
17048
17049 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17050
17051         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
17052         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
17053         (gst_type_find_helper_for_buffer):
17054         * libs/gst/base/gsttypefindhelper.h:
17055           New API: gst_type_find_helper_for_buffer() (#332723).
17056           
17057 2006-02-27  Michael Smith  <msmith@fluendo.com>
17058
17059         Patch by: Loïc Minier
17060
17061         * configure.ac:
17062         * docs/Makefile.am:
17063         * docs/slides/Makefile.am:
17064           prevent CVS directories getting disted.
17065
17066 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17067
17068         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
17069           Use the REFCOUNTING category for caps refcounting.
17070           
17071 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17072
17073         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
17074           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
17075
17076 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17077
17078         * plugins/elements/gsttypefindelement.c:
17079         (gst_type_find_element_activate):
17080           Use gst_pad_check_pull_range() before _activate_pull()
17081           to avoid unnecessary open/close (see #331690).
17082
17083 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17084
17085         * gst/gstutils.c:
17086           Docs enhancement: make it crystal clear what the
17087           gst_pad_add_*_probe() callbacks should look like.
17088
17089 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17090
17091         * libs/gst/base/gstbasesrc.c:
17092           Document how applications can stop recording from
17093           live sources (see #330996).
17094
17095 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17096
17097         * tests/check/Makefile.am:
17098         * tests/check/libs/basesrc.c: (eos_event_counter),
17099         (basesrc_eos_events_pull), (basesrc_eos_events_push),
17100         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
17101         (gst_basesrc_suite), (main):
17102           ... and add some tests for the base source EOS stuff.
17103
17104 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17105
17106         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
17107           Test case originally showed the problem fixed below,
17108           but was then amended. Add checks back at the place
17109           where they used to be.
17110
17111 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17112
17113         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17114         (gst_base_src_init), (gst_base_src_loop),
17115         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17116         (gst_base_src_change_state):
17117         * libs/gst/base/gstbasesrc.h:
17118           Don't unconditionally send EOS when going from PAUSED to
17119           READY state, esp. make sure we don't send two EOS events
17120           in some cases (e.g. one when reaching EOS and one when
17121           going from PAUSED to READY). Also, we don't want to send
17122           EOS events when operating in pull mode. However, we do
17123           want to send an EOS event when shutting down a live
17124           source explicitly, for example (fixes #330996).
17125           
17126 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17127
17128         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
17129           Update src->read_position after a seek when not using mmap.
17130           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
17131
17132 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
17133
17134         * gst/Makefile.am:
17135         * gst/gstparse.h:
17136         * gst/gstutils.c:
17137         * gst/gstutils.h:
17138         Make things work with --disable-parse as they do with 
17139         --disable-load-save - the symbols involved disappear, but the
17140         header is still installed and GST_DISABLE_PARSE is included via
17141         gstconfig.h
17142
17143 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17144
17145         * libs/gst/base/gstbasetransform.c:
17146         (gst_base_transform_change_state): Fix a stupid bug. I was 
17147         sure I compiled that.
17148
17149 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17150
17151         * gst/gstpad.c: (gst_pad_set_blocked_async):
17152         * gst/gstutils.c: (gst_pad_add_data_probe),
17153         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17154         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17155         (gst_pad_remove_buffer_probe): Make those function act on the
17156         ghostpad target when it's a ghostpad. (Closes #331727)
17157
17158 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17159
17160         * libs/gst/base/gstbasetransform.c:
17161         (gst_base_transform_change_state): Make basetransform reusable.
17162         (Closes #331898)
17163
17164 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
17165
17166         * docs/random/release:
17167         Move the current documentation of how to do a release to the top
17168         of the file.
17169
17170         * gst/gstbin.c: (gst_bin_class_init),
17171         (gst_bin_handle_message_func):
17172         Allow multiple state-recalculation threads. (Closes #328873)
17173
17174 2006-02-19  Julien MOUTTE  <julien@moutte.net>
17175
17176         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
17177         * gst/gstpad.c: (gst_pad_set_event_function),
17178         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17179         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
17180         2 strings. You can't use the STR_NULL macro on that.
17181
17182 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
17183
17184         * gst/gstpad.c: (gst_pad_set_event_function),
17185         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17186         (gst_pad_set_getcaps_function)
17187         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
17188           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
17189           So now, we can use --gst-debug-level=5 on Windows
17190         * win32/common/libgstcontroller.def:
17191           Added export of gst_controller_init
17192         * win32/vs6/libgstcontroller.dsp:
17193           Fixed Release post build configuration
17194
17195 2006-02-17  Wim Taymans  <wim@fluendo.com>
17196
17197         * tests/check/gst/gstquery.c: (GST_START_TEST):
17198         Added another check.
17199
17200 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
17201
17202         * plugins/elements/gsttypefindelement.c: (find_peek):
17203           We can do peeks at non-zero offsets, as long as they
17204           fall within the buffer we have.
17205
17206 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
17207
17208         * tests/check/Makefile.am:
17209         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
17210         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
17211         (parse_suite), (main):
17212           Add testsuite for parse launch syntax
17213
17214 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
17215
17216         * plugins/elements/gsttypefindelement.c:
17217         (gst_type_find_element_chain):
17218           When typefinding is unsuccessful in the chain function, don't
17219           error out immediately. Only error out with NO_CAPS_FOUND if
17220           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
17221           otherwise simply wait for more data so we can try typefinding
17222           again with more data later. Also, don't attempt to typefind
17223           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
17224           this should improve typefinding from network sources where the
17225           size of the first buffer can be somewhat random.
17226
17227 2006-02-14  Wim Taymans  <wim@fluendo.com>
17228
17229         * docs/gst/gstreamer-sections.txt:
17230         * gst/gstpadtemplate.c:
17231         * gst/gstpadtemplate.h:
17232         Fix padtemplate docs, fixes #328805.
17233
17234 2006-02-14  Wim Taymans  <wim@fluendo.com>
17235
17236         * tools/gst-launch.c: (main):
17237         NO_PREROLL is not an ERROR so don't send confusing messages
17238         to the user.
17239
17240 2006-02-14  Wim Taymans  <wim@fluendo.com>
17241
17242         Patch by: Torsten Schoenfeld
17243
17244         * gst/gstregistry.c: (gst_registry_get_default),
17245         (_gst_registry_cleanup):
17246         Protect default registry with lock and ref/sink it.
17247         Fixes #324818
17248
17249 2006-02-14  Wim Taymans  <wim@fluendo.com>
17250
17251         * gst/gstbuffer.c:
17252         * gst/gstquery.c: (gst_query_list_add_format),
17253         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17254         (gst_query_parse_formats_nth):
17255         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17256         Docs fixes.
17257
17258 2006-02-14  Wim Taymans  <wim@fluendo.com>
17259
17260         * docs/gst/gstreamer-sections.txt:
17261         Reworked query docs.
17262
17263         * gst/gstquery.c: (gst_query_new_formats),
17264         (gst_query_list_add_format), (gst_query_set_formats),
17265         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17266         (gst_query_parse_formats_nth):
17267         * gst/gstquery.h:
17268         Flesh out formats query, added some new methods.
17269         Fix part of #324398.
17270
17271         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17272         Added query creation tests.
17273
17274 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
17275
17276         * gst/gstpad.c: (fixate_value):
17277         Add a default fixation for fraction lists.
17278
17279 2006-02-13  Wim Taymans  <wim@fluendo.com>
17280
17281         * gst/gsttask.c: (gst_task_init), (gst_task_func),
17282         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17283         (gst_task_join):
17284         * gst/gsttask.h:
17285         Detect and warn for obvious deadlocks. fixes #320340
17286         Fix error case where lock was not released.
17287
17288         * tests/check/Makefile.am:
17289         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17290         (task_func), (gst_element_suite), (main):
17291         Add task check.
17292
17293 2006-02-13  Wim Taymans  <wim@fluendo.com>
17294
17295         * docs/gst/gstreamer-sections.txt:
17296         * gst/gstbus.c:
17297         Add new functions to docs.
17298
17299 2006-02-13  Wim Taymans  <wim@fluendo.com>
17300
17301         * docs/design/part-TODO.txt:
17302         Updated TODO list, basesrc supports seeking to non-bytes
17303         formats.
17304
17305         * docs/design/part-element-sink.txt:
17306         Update docs.
17307
17308         * gst/gstbin.c: (bin_replace_message),
17309         (gst_bin_handle_message_func):
17310         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17311         * gst/gstevent.c: (gst_event_finalize):
17312         * gst/gstpad.c: (gst_pad_event_default_dispatch),
17313         (gst_pad_send_event):
17314         Use shiny new _TYPE_NAME macros.
17315
17316         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17317         Move debug statement up.
17318
17319         * gst/gstelement.c: (gst_element_set_locked_state):
17320         Add some debugging.
17321
17322 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
17323
17324         * docs/gst/gstreamer-sections.txt:
17325         * gst/gstmessage.h:
17326         * gst/gstquery.h:
17327           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17328           macros (#330906). Also, document the already existing
17329           GST_QUERY_TYPE macro.
17330
17331 2006-02-13  Wim Taymans  <wim@fluendo.com>
17332
17333         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17334         (event_probe), (GST_START_TEST):
17335         Only events up to the pipeline EOS are counted, there are
17336         some more when going to NULL currently which we don't care
17337         about for now.
17338
17339 2006-02-13  Wim Taymans  <wim@fluendo.com>
17340
17341         * gst/gstpad.c: (gst_pad_send_event):
17342         Correctly check flushing and emit probes. fixes #330125
17343
17344 2006-02-10  Andy Wingo  <wingo@pobox.com>
17345
17346         * gst/gstbus.c (gst_bus_class_init): Declare our private data
17347         structure.
17348         (gst_bus_init): Cache the location of the private data in the
17349         instance structure.
17350         (gst_bus_enable_sync_message_emission) 
17351         (gst_bus_disable_sync_message_emission): Implement new public
17352         functions.
17353         (gst_bus_post): Emit the sync-message signal if the user asked for
17354         it. Fixes #330684.
17355
17356         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17357         location of the bus-private structure.
17358         (gst_bus_enable_sync_message_emission)
17359         (gst_bus_disable_sync_message_emission): API addition
17360
17361 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
17362
17363         Patch by: Vincent Torri
17364
17365         * docs/pwg/building-boiler.xml:
17366         PWG patch from #326800
17367
17368 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
17369
17370         * configure.ac:
17371         * docs/Makefile.am:
17372         * docs/design/Makefile.am:
17373           Dist design docs.
17374
17375 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17376
17377         * configure.ac:
17378           back to CVS
17379
17380 === release 0.10.3 ===
17381
17382 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
17383
17384         * configure.ac:
17385           releasing 0.10.3, "Like a virgin"
17386
17387 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17388
17389         * configure.ac:
17390           2nd prerelease of 0.10.3
17391           Bump libtool versioning.
17392
17393 2006-02-07  Andy Wingo  <wingo@pobox.com>
17394
17395         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17396         update last_stop if we're in TIME format and the timestamp is
17397         valid.
17398
17399         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
17400         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
17401         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17402         If we get a new newsegment with a different format, adapt
17403         accordingly.
17404
17405         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17406         of 0. Not a problem, really.
17407
17408         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17409         warn if sync=true.
17410
17411 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
17412
17413         * configure.ac:
17414           Prelease of 0.10.3
17415
17416 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
17417
17418         * win32/vs7:
17419           project files updated to the default vs7 configuration
17420         * win32/common/libgstbase.def:
17421         * win32/common/libgstreamer.def:
17422           added new symbols,
17423           removed empty lines,
17424           sorted all exported symbols alphabetically
17425         * win32/common/dirent.c:
17426         * win32/common/dirent.h:
17427         * win32/common/gchar.h:
17428           use windows line end.
17429           
17430 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17431
17432         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17433           Send EOS event when stopping.
17434
17435 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17436
17437         * docs/README:
17438           Tell folks what to do if the plugin-foobar.xml file
17439           hasn't been generated for a newly-added plugin.
17440
17441 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17442
17443         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17444         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17445         (gst_collect_pads_start), (gst_collect_pads_stop),
17446         (gst_collect_pads_event): Collectpads now holds a reference
17447         to the GstPad that was added. Indeed we don't want to look
17448         at pads that might just go away with no warning...
17449
17450 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17451
17452         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17453         (gst_collect_pads_start), (gst_collect_pads_stop),
17454         (gst_collect_pads_event), (gst_collect_pads_chain):
17455         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17456         Mark Nauwelaerts's patch on bug #328491.
17457
17458 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17459
17460         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17461         (gst_utils_suite):
17462           Add some simple tests for gst_parse_bin_from_description() and
17463           gst_bin_find_unconnected_pad() (#329069).
17464
17465 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17466
17467         * tools/gst-launch.c: (event_loop), (main):
17468           Catch errors during preroll (#320084).
17469
17470 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
17471
17472         * plugins/elements/gsttypefindelement.c:
17473         (gst_type_find_element_activate):
17474           Post TYPE_NOT_FOUND error message when typefinding
17475           is unsuccessful in the activate function as well.
17476
17477 2006-02-02  Wim Taymans  <wim@fluendo.com>
17478
17479         * docs/design/part-element-sink.txt:
17480         Updated doc.
17481
17482 2006-02-02  Wim Taymans  <wim@fluendo.com>
17483
17484         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17485         (gst_base_sink_render_object),
17486         (gst_base_sink_queue_object_unlocked):
17487         Only keep track of prerollable items when we are 
17488         prerolling.
17489         Before rendering after preroll, always check if we
17490         have queued items.
17491         Added some more debugging.
17492
17493 2006-02-02  Wim Taymans  <wim@fluendo.com>
17494
17495         * gst/gstelement.c: (gst_element_continue_state),
17496         (gst_element_set_state_func), (gst_element_change_state):
17497         Fixed #326576, been running this for quite some time with
17498         no regressions at all.
17499
17500 2006-02-02  Wim Taymans  <wim@fluendo.com>
17501
17502         * common/gst.supp:
17503         Added more suppressions
17504
17505 2006-02-02  Wim Taymans  <wim@fluendo.com>
17506
17507         * docs/design/part-element-sink.txt:
17508         Updated document.
17509
17510         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17511         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17512         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17513         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17514         (gst_base_sink_do_sync), (gst_base_sink_render_object),
17515         (gst_base_sink_preroll_object),
17516         (gst_base_sink_queue_object_unlocked),
17517         (gst_base_sink_queue_object), (gst_base_sink_event),
17518         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17519         (gst_base_sink_loop), (gst_base_sink_activate_pull),
17520         (gst_base_sink_get_position), (gst_base_sink_change_state):
17521         * libs/gst/base/gstbasesink.h:
17522         Totally refactored matching the design doc.
17523         Use two segments, one to clip incomming buffers and another to
17524         perform sync.
17525         Handle queueing correctly, bypass the queue when playing.
17526         Make EOS cancelable.
17527         Handle errors correctly when operating in pull based mode.
17528
17529         * tests/check/elements/fakesink.c: (GST_START_TEST),
17530         (fakesink_suite):
17531         Added new check for sinks.
17532
17533 2006-02-02  Wim Taymans  <wim@fluendo.com>
17534
17535         * gst/gstsegment.c: (gst_segment_clip):
17536         No reason to refuse to clip when start == -1
17537
17538 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
17539
17540         * docs/README:
17541         * docs/manual/intro-basics.xml:
17542         * docs/manual/intro-preface.xml:
17543         * docs/manual/manual.xml:
17544         * docs/pwg/advanced-dparams.xml:
17545         * docs/pwg/intro-basics.xml:
17546         * docs/pwg/intro-preface.xml:
17547         * docs/pwg/pwg.xml:
17548           describe dparams (controller) for plugins
17549           unify docs a little more
17550
17551 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
17552
17553         * docs/gst/gstreamer-sections.txt:
17554         * gst/gstutils.c: (element_find_unconnected_pad),
17555         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17556         * gst/gstutils.h:
17557           Add new API: gst_parse_bin_from_description() and
17558           gst_bin_find_unconnected_pad() (#329069).
17559
17560 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
17561
17562         * docs/manual/README:
17563           uncover a nasty detail of the docs build
17564
17565 2006-01-31  Wim Taymans  <wim@fluendo.com>
17566
17567         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17568         Don't cache duration messages if we're not going to use or
17569         free them.
17570
17571 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
17572
17573         * docs/manual/advanced-dparams.xml:
17574         * docs/pwg/advanced-dparams.xml:
17575           more dparam docs
17576         * gst/gstindex.c:
17577           fix docs
17578         * libs/gst/controller/lib.c: (gst_controller_init):
17579           init just once
17580
17581 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
17582
17583         * gst/gstelement.c: (gst_element_message_full):
17584           also show file/line/func if no additional debug was given
17585
17586 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
17587         
17588         * win32/vs7/grammar.vcproj:
17589           activate copy of autogenerated files for Release mode
17590
17591 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17592         
17593         * win32/common/libgstreamer.def:
17594           export gst_value_compare
17595
17596 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
17597
17598         * plugins/elements/Makefile.am:
17599         * plugins/elements/gstelements.c:
17600         * plugins/elements/gstfdsink.c: (_do_init),
17601         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17602         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17603         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17604         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17605         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17606         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17607         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17608         * plugins/elements/gstfdsink.h:
17609         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17610
17611 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
17612
17613         * docs/manual/advanced-dparams.xml:
17614           describe controller
17615         * docs/manual/advanced-position.xml:
17616         * docs/manual/basics-init.xml:
17617         * docs/manual/manual.xml:
17618         * docs/manual/titlepage.xml:
17619         * docs/pwg/pwg.xml:
17620         * docs/pwg/titlepage.xml:
17621           cleanup xml (more to come)
17622         * libs/gst/controller/gstcontroller.c:
17623           fix typo
17624
17625 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17626         
17627         * win32/vs6/grammar.dsp:
17628           add autogen of gstmarshal.c,h for Release mode
17629                 
17630 2006-01-30  Wim Taymans  <wim@fluendo.com>
17631
17632         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17633         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17634         (gst_base_sink_handle_object), (gst_base_sink_event),
17635         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17636         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17637         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17638         (gst_base_sink_deactivate), (gst_base_sink_activate),
17639         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17640         (gst_base_sink_query), (gst_base_sink_change_state):
17641         Basesink cleanups, remove some old code.
17642         Handle the case where a subclass can preroll in the render
17643         method (mostly audiosinks).
17644         Handle more events.
17645         Remove some locks around variables that are now protected
17646         with the PREROLL_LOCK (clock_id, flushing, ..).
17647         Optimize position query some more, do correct locking.
17648         Remove old code to push queue in state change, this is not
17649         needed anymore since preroll blocks on all prerollable items 
17650         now.
17651         Almost implemented as described in design doc.
17652
17653 2006-01-30  Wim Taymans  <wim@fluendo.com>
17654
17655         * tests/check/gst/gstbin.c: (GST_START_TEST):
17656         Wait for refcount to settle down before checking.
17657
17658 2006-01-30  Wim Taymans  <wim@fluendo.com>
17659
17660         * docs/design/part-element-sink.txt:
17661         Pseudo code overview of desired sink behaviour regarding
17662         preroll.
17663
17664 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17665         * win32/vs6/grammar.dsp:
17666           fix some bugs in Release mode for autogenerated files
17667                 
17668 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17669         * win32/common/libgstbase.def:
17670         * win32/common/libgstreamer.def:
17671           export some new symbols: gst_base_src_set_format,
17672           gst_iterator_next, gst_structure_set_valist
17673
17674 2006-01-29  Julien MOUTTE  <julien@moutte.net>
17675
17676         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17677         Set pad functions unconditionally. Fixes #329105.
17678
17679 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17680         * win32/vs8:
17681           add vs8 project files created by Sergey Scobich
17682
17683 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
17684
17685         * gst/gstutils.c: (gst_element_unlink_pads):
17686         Don't leak pad references.
17687
17688         * tests/check/elements/fakesink.c: (GST_START_TEST):
17689         * tests/check/generic/sinks.c: (GST_START_TEST):
17690         * tests/check/generic/states.c: (GST_START_TEST):
17691         * tests/check/gst/gstbin.c: (GST_START_TEST):
17692         * tests/check/gst/gstcaps.c: (GST_START_TEST):
17693         * tests/check/gst/gstelement.c: (GST_START_TEST):
17694         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17695         * tests/check/gst/gstiterator.c: (GST_START_TEST):
17696         * tests/check/gst/gstvalue.c: (GST_START_TEST):
17697         Fix a bunch of leaks. Make generic/sinks.c
17698         use a bit less cpu by slowing the buffer rate
17699         between fakesrc and fakesink.
17700         
17701 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
17702         * gst/gstcaps.c:
17703         * gst/gstelement.c: (gst_element_send_event):
17704         * gst/gstevent.c:
17705         * gst/gstinfo.c:
17706         * gst/gstiterator.c:
17707         * gst/gstiterator.h:
17708         * gst/gstpad.c: (gst_pad_send_event):
17709         * gst/gststructure.c:
17710         * gst/gsturi.c:
17711         * gst/gstutils.c:
17712         * gst/gstvalue.c:
17713         * libs/gst/base/gstadapter.c:
17714           doc fixes, to link to function, just write gst_cool_function(), don't
17715           prefix with '#'
17716
17717 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17718
17719         * plugins/elements/gsttee.c: (gst_tee_do_push),
17720         (gst_tee_handle_buffer):
17721         Always prefer an actual return value from a src
17722         pad in place of NOT_LINKED. This means we return
17723         WRONG_STATE when all src pads are WRONG_STATE
17724         instead of NOT_LINKED.
17725
17726         Lock when replacing the last message to prevent
17727         racing with the get_property method.
17728
17729         Add debug output
17730
17731 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17732
17733         * tests/check/Makefile.am:
17734         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17735         (main):
17736         Add a very simple check that should have caught the memleak I fixed
17737         last night (if not for the slice allocator hiding it)
17738
17739 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17740
17741         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17742         (gst_bin_remove_func), (gst_bin_handle_message_func),
17743         (bin_query_duration_fold), (bin_query_generic_fold):
17744         Clean up references to the clock provider when disposed or when
17745         handling a clock-lost message from it.
17746
17747         Unref sinks when performing a query via gst_iterator_fold, as the
17748         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17749
17750         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17751         (gst_clock_set_master):
17752         Drop our reference to the master clock, if any, when we are disposed.
17753
17754         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17755         Chain up in dispose. 
17756
17757 2006-01-26  Wim Taymans  <wim@fluendo.com>
17758
17759         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17760         Add some debugging.
17761
17762 2006-01-26  Julien MOUTTE  <julien@moutte.net>
17763
17764         * plugins/elements/gsttee.c: (gst_tee_do_push),
17765         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17766         handles pad being NOT_LINKED or in WRONG_STATE.
17767
17768 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17769
17770         * win32/MANIFEST:
17771           more updating
17772
17773 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17774
17775         * win32/MANIFEST:
17776           remove obsolete entry
17777
17778 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17779
17780         * docs/gst/gstreamer-sections.txt:
17781         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17782         (gst_bin_iterate_sources), (gst_bin_send_event):
17783         * gst/gstbin.h:
17784         * gst/gstelement.c: (gst_element_send_event):
17785         * gst/gstevent.c:
17786         * gst/gstpad.c: (gst_pad_send_event):
17787           added code for downstream events, reviewed docs in gstevent.c
17788
17789 2006-01-25  Julien MOUTTE  <julien@moutte.net>
17790
17791         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17792         We only query position using the clock in the playing state.
17793         Query peer in the other cases.
17794         * win32/common/config.h: Updates.
17795
17796 2006-01-24  Wim Taymans  <wim@fluendo.com>
17797
17798         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17799         A clock entry that is scheduled for the exact time of the
17800         clock is still in time.
17801
17802         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17803         (gst_base_sink_do_sync):
17804         Add some more debug info.
17805
17806 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17807
17808         * win32/vs7:
17809           Add new vs7 project files and solution.
17810
17811 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17812
17813         * win32/vs7:
17814           all files removed as they were out-dated.
17815
17816 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17817
17818         * docs/random/release:
17819           update notes
17820         * gst/gstbin.c: (gst_bin_init):
17821         * gst/gstbus.c: (gst_bus_new):
17822         * gst/gstbus.h:
17823         * gst/gstpipeline.c: (gst_pipeline_init):
17824           use gst_bus_new(), improve logging, fix docs
17825         * win32/common/config.h:
17826           update for cvs build
17827
17828 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17829
17830         * autogen.sh:
17831           up required version of automake to 1.7
17832
17833 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
17834
17835         * win32/common/libgstreamer.def:
17836           export gst_buffer_is_metadata_writable
17837
17838 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
17839
17840         * docs/gst/gstreamer-sections.txt:
17841         * gst/gstevent.h:
17842           Add gst_event_replace() (#327001)
17843
17844 2006-01-20  Wim Taymans  <wim@fluendo.com>
17845
17846         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17847         Make it actually compile too..
17848
17849 2006-01-20  Wim Taymans  <wim@fluendo.com>
17850
17851         * gst/gstcaps.c:
17852         Clarify behaviour of _is_equal() when passing NULL parameters.
17853
17854         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17855         (gst_pad_set_caps):
17856         Cleanups. Don't unref NULL caps.
17857         When setting the same caps, protect caps of the pad with
17858         proper lock.
17859         Use full functionality of _is_equal() when comparing caps.
17860
17861 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17862
17863         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
17864         Don't loop infinitely if there are no buffers to present. Partially
17865         fixes #327197, but collectpads is just broken for reusing elements
17866         to do multiple encodes atm.
17867
17868 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17869
17870         * tools/gst-inspect.c: (print_element_features):
17871         * tools/gst-xmlinspect.c: (main):
17872         URL_HANDLER is not a plugin feature we can search for in
17873         the registry.
17874
17875 2006-01-19  Edward Hervey  <edward@fluendo.com>
17876
17877         * gst/gstelement.c: (gst_element_pads_activate): 
17878         When activating, do src pads first, then sink pads.
17879         When de-activating, do sink pads first, then src pads.
17880
17881 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17882
17883         * docs/gst/gstreamer-sections.txt:
17884         Add gst_index_add_associationv to the docs
17885
17886 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17887
17888         * gst/gstevent.c:
17889           Fix docs typo
17890
17891         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
17892         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
17893           Do some refactoring. Doesn't actually change functionality,
17894           but makes landing the DRAIN event easier later.
17895
17896 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
17897
17898         * docs/pwg/advanced-scheduling.xml:
17899           Update from 0.9.x to 0.10 API and make example a bit
17900           clearer.
17901
17902 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17903
17904         * docs/gst/gstreamer-sections.txt:
17905         Add gst_buffer_(is|make)_metadata_writable methods.
17906
17907 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17908
17909         * docs/design/part-sparsestreams.txt:
17910         Update sparse streams doc, hopefully for greater clarity
17911
17912 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
17913
17914         * docs/design/part-events.txt:
17915         Remove mention of FILLER events.
17916         Add DRAIN event.
17917
17918         * docs/design/part-sparsestreams.txt:
17919         Write some things about using NEWSEGMENT to keep sparse streams
17920         flowing.
17921
17922 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
17923
17924         * gst/gstbin.c: (gst_bin_dispose):
17925           Guard gst_object_unref call against a NULL object (dispose
17926           can theoretically be called multiple times).
17927           
17928 2006-01-18  Wim Taymans  <wim@fluendo.com>
17929
17930         * gst/gstbin.c: (gst_bin_element_set_state):
17931         * gst/gstclock.c: (gst_clock_id_wait):
17932         Added some more debug info.
17933
17934         * libs/gst/base/gstadapter.c:
17935         Added more docs.
17936
17937         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17938         (gst_base_sink_do_sync), (gst_base_sink_chain):
17939         Added some comments.
17940
17941 2006-01-18  Wim Taymans  <wim@fluendo.com>
17942
17943         * tests/check/Makefile.am:
17944         * tests/check/elements/fakesink.c: (chain_async_buffer),
17945         (chain_async), (chain_async_return), (GST_START_TEST),
17946         (fakesink_suite), (main):
17947         Added fakesink test that checks prerolling and clipping
17948         behaviour.
17949
17950         * tests/check/gst/gstutils.c: (GST_START_TEST):
17951         Make check run faster so that buildbots don't timeout.
17952
17953 2006-01-18  Wim Taymans  <wim@fluendo.com>
17954
17955         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17956         (gst_base_sink_do_sync):
17957         Some cleanups.
17958         When the sink finishes blocking on the preroll buffer, it can
17959         immediatly render it instead of rendering when the next buffer
17960         arrives.
17961
17962 2006-01-18  Wim Taymans  <wim@fluendo.com>
17963
17964         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
17965         (gst_base_sink_get_property), (gst_base_sink_do_sync),
17966         (gst_base_sink_chain):
17967         Small cleanups.
17968         GST_ELEMENT_CLOCK and sync are protected with LOCK.
17969         Don't store _last_stop if the buffer is dropped.
17970
17971 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
17972
17973         * plugins/elements/gsttypefindelement.c:
17974         (gst_type_find_element_class_init):
17975           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
17976           object method handler that sets the caps on the pad and we want
17977           that to happen before we emit the signal (fixes e.g. feeding a
17978           plain text file to decodebin).
17979
17980 2006-01-18  Christian Schaller  <Christian@fluendo.com>
17981
17982         * gst/gstplugin.c: Add MPL and Proprietary as license options
17983
17984 2006-01-18  Andy Wingo  <wingo@pobox.com>
17985
17986         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
17987         symbol was exported before, it appears this was just an oversight.
17988         Fixes #168703.
17989         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
17990
17991         * gst/gstindex.c (gst_index_add_associationv): Changed int in
17992         prototype to gint. OK since this prototype was not in the header.
17993
17994 2006-01-17  Andy Wingo  <wingo@pobox.com>
17995
17996         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
17997         registry while we remove plugins.
17998
17999         * tools/gst-inspect.c (print_element_info): Don't unref the
18000         factory arg, that should be the responsibility of whatever code
18001         received the ref. Fixes a double-free when called from
18002         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
18003         (main): Unref the factory if we have one.
18004         (print_element_list): No change -- relies on the
18005         plugin_feature_list_free to free the list of features.
18006
18007 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
18008
18009         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18010         (gst_buffer_make_metadata_writable):
18011         * gst/gstbuffer.h:
18012         * libs/gst/base/gstbasetransform.c:
18013         (gst_base_transform_prepare_output_buf):
18014         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18015         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18016           Replace gst_buffer_(make|is)_metadata_writable patch now
18017           that the release is out.
18018
18019 2006-01-17  Andy Wingo  <wingo@pobox.com>
18020
18021         * gst/gstregistry.c: Reflow design comment. Update so as to speak
18022         in the present tense without reference to versions.
18023
18024         * gst/gstregistry.c (gst_registry_add_plugin)
18025         (gst_registry_remove_plugin, gst_registry_remove_feature)
18026         (gst_registry_find_feature, gst_registry_get_feature_list)
18027         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
18028         (gst_registry_lookup, gst_registry_scan_path)
18029         (_gst_registry_remove_cache_plugins)
18030         (gst_registry_get_feature_list_by_plugin): Add argument
18031         validation.
18032
18033 === release 0.10.2 ===
18034
18035 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
18036
18037         * configure.ac:
18038           releasing 0.10.2, "If man is five"
18039
18040 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18041
18042         * gst/gstbuffer.c:
18043         * gst/gstbuffer.h:
18044         * libs/gst/base/gstbasetransform.c:
18045         (gst_base_transform_prepare_output_buf):
18046         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18047         * tests/check/gst/gstbuffer.c: (gst_test_suite):
18048           Back out patch until after the release.
18049
18050 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18051
18052         * gst/gstminiobject.c:
18053           Spelling fix in docs.
18054         * ChangeLog - remove conflict indicator
18055
18056 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18057
18058         Reviewed By: Andy Wingo
18059
18060         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18061         (gst_buffer_make_metadata_writable):
18062         * gst/gstbuffer.h:
18063           Add gst_buffer_(is|make)_metadata_writable as analogues of
18064           gst_buffer_(is|make)_writable.
18065
18066         * libs/gst/base/gstbasetransform.c:
18067         (gst_base_transform_prepare_output_buf):
18068         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18069           Use name gst_buffer_(is|make)_metadata_writable functions.
18070
18071         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18072           Test gst_buffer_(is|make)_metadata_writable
18073         
18074           (Closes: #324162)
18075
18076 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
18077
18078         * docs/manual/Makefile.am:
18079           don't do parallel make
18080         * configure.ac:
18081           AC_SUBST HOST_CPU
18082         * win32/common/config.h.in:
18083           add generations for HOST_CPU and GST_MAJORMINOR
18084         * win32/common/config.h:
18085           commit generated result
18086
18087 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
18088
18089         * docs/manual/appendix-integration.xml:
18090           Update GNOME integration section to use gst_init_get_option_group()
18091           instead of the old popt stuff (#322911). Also, GNOME applications
18092           should  now use gconf*sink and gconf*src instead of the old gconf
18093           helper lib we had.
18094
18095 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
18096
18097
18098         * docs/gst/gstreamer-docs.sgml:
18099         * docs/gst/gstreamer-sections.txt:
18100         * docs/libs/gstreamer-libs-sections.txt:
18101           add new API entries to the docs
18102         * libs/gst/controller/Makefile.am:
18103         * libs/gst/controller/gstcontroller.c:
18104         * libs/gst/controller/gstcontroller.h:
18105         * libs/gst/controller/gstcontrollerprivate.h:
18106         * libs/gst/controller/gsthelper.c:
18107         * libs/gst/controller/gstinterpolation.c:
18108           move private structs to private header
18109         * po/README:
18110           gstreamer-0.7 -> gstreamer-0.10
18111         * tests/check/libs/struct_i386.h:
18112           remove private structs
18113
18114 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18115
18116         * plugins/indexers/Makefile.am:
18117           Fixes as part of #317048
18118
18119 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18120
18121         * plugins/indexers/Makefile.am:
18122           fix #316086 - compilation when mmap is missing
18123
18124 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
18125
18126         * libs/gst/base/gstbasesink.c:
18127           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
18128           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
18129         * win32/common/config.h:
18130           added some defines GST_MAJORMINOR and HOST_CPU
18131         * win32/common/libgstbase.def:
18132         * win32/common/libgstreamer.def:
18133           added some exported functions.
18134
18135 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18136
18137         * libs/gst/controller/gstcontroller.c:
18138         (gst_controlled_property_set_interpolation_mode),
18139         (gst_controlled_property_new):
18140         * libs/gst/controller/gstcontroller.h:
18141         * libs/gst/controller/gstinterpolation.c:
18142         (interpolate_none_get_string_value_array):
18143           make G_TYPE_STRING controlable
18144
18145 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18146
18147         * tools/README:
18148         * tools/gst-feedback.1.in:
18149         * tools/gst-inspect.1.in:
18150         * tools/gst-launch.1.in:
18151         * tools/gst-md5sum.1.in:
18152         * tools/gst-typefind.1.in:
18153         * tools/gst-xmlinspect.1.in:
18154         * tools/gst-xmllaunch.1.in:
18155           cleanup man-pages, remove reference to gst-register, document env-vars
18156
18157 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
18158
18159         * gst/gstbuffer.c: (gst_buffer_span):
18160           gst_buffer_span should copy the timestamp of the first buffer
18161           if they were both originally overlapping subbuffers of the 
18162           same parent, using the same logic as the 'slow copy' case.
18163
18164 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
18165
18166         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
18167           Need to awaken ALL the pads when we pop a buffer, otherwise
18168           collectpads only works when there is 2 input streams.
18169
18170 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
18171
18172         * docs/random/ensonic/media-device-daemon.txt:
18173           more ideas (dbus)
18174         * gst/gstbuffer.c:
18175           fix doc example, add clarification
18176         * tools/gst-launch.1.in:
18177           add initial info about GST_PLUGIN_PATH, needs more work
18178
18179 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
18180
18181         * docs/manual/basics-bins.xml:
18182         * docs/manual/basics-elements.xml:
18183         * docs/manual/intro-basics.xml:
18184           Some more minor docs additions and updates.
18185
18186 2006-01-11  Wim Taymans  <wim@fluendo.com>
18187
18188         * docs/manual/basics-bins.xml:
18189         * docs/manual/basics-elements.xml:
18190         Some small fixes as pointed out by Ser-ver on IRC.
18191
18192 2006-01-10  Edward Hervey  <edward@fluendo.com>
18193
18194         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18195         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
18196         the single-segment mode.
18197
18198 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
18199
18200         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18201
18202         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
18203         (gst_base_src_perform_seek), (gst_base_src_send_event),
18204         (gst_base_src_set_property), (gst_base_src_get_property),
18205         (gst_base_src_loop), (gst_base_src_start),
18206         (gst_base_src_activate_push):
18207         * libs/gst/base/gstbasesrc.h:
18208           Name (private) union; makes Sun's Forte compiler happy (#324900).
18209
18210 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
18211
18212         * README:
18213           gst-register is gone.
18214
18215 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
18216
18217         * gst/gstvalue.c: (_gst_value_initialize):
18218           make the G_TYPE_DATE instantiation work if debug is disabled
18219
18220 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
18221
18222         * gst/gstmessage.c: (gst_message_parse_tag),
18223         (gst_message_parse_error), (gst_message_parse_warning):
18224           Don't crash when return location for error/warning debug
18225           string is NULL; add fact that return locations can be
18226           NULL to docs where appropriate.
18227
18228 2006-01-05  Wim Taymans  <wim@fluendo.com>
18229
18230         * gst/gstplugin.c: (gst_plugin_load_file):
18231         Replace strdup by g_strdup.
18232
18233 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18234
18235         * docs/pwg/advanced-types.xml:
18236           fix doc borkage
18237
18238 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18239
18240         submitted by: Abel Cheung
18241
18242         * po/LINGUAS:
18243         * po/zh_TW.po:
18244           Added Chinese (traditional) translation
18245
18246 2006-01-04  Wim Taymans  <wim@fluendo.com>
18247
18248         * docs/manual/basics-pads.xml:
18249         * docs/plugins/Makefile.am:
18250         * docs/plugins/gstreamer-plugins-docs.sgml:
18251         * docs/plugins/gstreamer-plugins-sections.txt:
18252         * docs/pwg/advanced-clock.xml:
18253         * docs/pwg/advanced-scheduling.xml:
18254         * docs/pwg/advanced-types.xml:
18255         * plugins/elements/gstfdsink.c:
18256         * plugins/elements/gstfdsrc.c:
18257         * plugins/elements/gstfdsrc.h:
18258         * plugins/elements/gstidentity.c: (gst_identity_class_init):
18259         * plugins/elements/gstidentity.h:
18260         * plugins/elements/gstqueue.h:
18261         * plugins/elements/gsttee.c:
18262         * plugins/elements/gsttee.h:
18263         * plugins/elements/gsttypefindelement.c:
18264         (gst_type_find_element_class_init):
18265         * plugins/elements/gsttypefindelement.h:
18266         Small updates to various docs.
18267         Added core plugins to docs.
18268
18269 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18270
18271         * common/gst.supp:
18272           add a suppression for liboil's uninitialized variable
18273
18274 2006-01-02  James Livingston  <jrl at ids dot org dot au>
18275
18276         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18277
18278         * gst/gstutils.h:
18279           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18280           macro, so that gcc doesn't complain if the -Wmissing-prototypes
18281           compiler switch is being used (#325429).
18282
18283 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
18284
18285         * gst/gstbin.c: (gst_bin_query):
18286           Disable duration query caching in bins until it gets
18287           fixed (see #324807).
18288
18289 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18290
18291         * tools/gst-inspect.c: (print_element_properties_info):
18292           Handle properties of POINTER and BOXED type.
18293
18294 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18295
18296         * gst/gst.c: (init_post):
18297           Init tags stuff and some other things before loading
18298           any static plugins (there may be other static plugins
18299           than just the GStreamer ones, and they may want to
18300           register their own tags or formats or whatever, and
18301           preferably without segfaulting).
18302
18303         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18304           Print at least a warning in the debug logs if we drop a
18305           query just because we don't know how to adjust the value
18306           in the particular format.
18307
18308 2005-12-24  David Schleef  <ds@schleef.org>
18309
18310         * tools/gstreamer-completion:
18311           Replacement for gst-complete written in sh and sed.  Only
18312           completes names of features, but that's 90% of what I want
18313           it for.  Properties are not available in registry.xml.  (Maybe
18314           they should be...)
18315
18316 === release 0.10.1 ===
18317
18318 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
18319
18320         * configure.ac:
18321           releasing 0.10.1, "Nollaig chridheil"
18322
18323 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
18324
18325         * docs/faq/cvs.xml:
18326           Add missing quote, should be make ERROR_CFLAGS="".
18327
18328 2005-12-20  Wim Taymans  <wim@fluendo.com>
18329
18330         * docs/design/part-trickmodes.txt:
18331         More documentation on trickmodes.
18332
18333 2005-12-20  Edward Hervey  <edward@fluendo.com>
18334
18335         * gst/gstcaps.c: (gst_static_caps_get_type):
18336         * gst/gstcaps.h:
18337           API addition: GST_TYPE_STATIC_CAPS
18338         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18339         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18340         * gst/gstpadtemplate.h:
18341           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18342         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18343         bindings.
18344
18345 2005-12-18  Wim Taymans  <wim@fluendo.com>
18346
18347         * libs/gst/base/gstadapter.c:
18348         * libs/gst/base/gstadapter.h:
18349         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18350         (gst_base_sink_get_position):
18351         * libs/gst/base/gstbasesink.h:
18352         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18353         (gst_base_src_default_query), (gst_base_src_default_do_seek),
18354         (gst_base_src_do_seek), (gst_base_src_perform_seek),
18355         (gst_base_src_send_event), (gst_base_src_update_length),
18356         (gst_base_src_get_range), (gst_base_src_loop),
18357         (gst_base_src_start):
18358         * libs/gst/base/gstbasesrc.h:
18359         * libs/gst/base/gstbasetransform.h:
18360         * libs/gst/base/gstcollectpads.h:
18361         * libs/gst/base/gstpushsrc.c:
18362         * libs/gst/base/gstpushsrc.h:
18363         * libs/gst/dataprotocol/dataprotocol.c:
18364         * libs/gst/dataprotocol/dataprotocol.h:
18365         * libs/gst/net/gstnetclientclock.h:
18366         * libs/gst/net/gstnettimeprovider.h:
18367         Documentation updates.
18368
18369 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
18370
18371         * docs/manual/basics-helloworld.xml:
18372           Remove superfluous closing bracket in helloworld example.
18373
18374 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
18375
18376         * tools/gst-launch.1.in:
18377           Update gst-launch man page; add a section with useful
18378           environment variables. Fixes #323882.
18379
18380 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
18381
18382         * gst/gst.c:
18383         * gst/gst_private.h:
18384           change some char* into char[]
18385
18386 2005-12-16  Wim Taymans  <wim@fluendo.com>
18387
18388         * gst/gstregistryxml.c: (load_feature):
18389         Cleanups.
18390         Don't use g_object_unref on GstObjects so that we avoid
18391         leaks on unsafe glibs.
18392
18393 2005-12-16  Wim Taymans  <wim@fluendo.com>
18394
18395         * gst/gstbin.c: (gst_bin_recalc_state):
18396         Small doc updates.
18397
18398 2005-12-16  Wim Taymans  <wim@fluendo.com>
18399
18400         * common/check.mak:
18401         Added make forever target for check.
18402
18403 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18404
18405         * gst/gst.c: (init_post):
18406           make the registry cache file HOST_CPU-dependent
18407
18408 2005-12-16  Andy Wingo  <wingo@pobox.com>
18409
18410         * plugins/elements/gstbufferstore.c
18411         (gst_buffer_store_cleared_func): Pay attention to g_list_append
18412         return value.
18413
18414         * tests/check/gst/gstobject.c
18415         (test_fake_object_name_threaded_unique): Pay attention to
18416         g_list_sort return value.
18417
18418 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
18419
18420         * tools/gst-feedback-m.m:
18421           Update for 0.9/0.10 (fixes #323870).
18422
18423 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
18424
18425         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18426           Fix lcopy for mini objects, the mini object needs to be ref'ed.
18427           
18428         * tests/check/gst/gstminiobject.c: (my_foo_init),
18429         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18430         (test_value_collection), (gst_mini_object_suite):
18431           Add test to ensure refcounts end up as expected when passing
18432           GstMiniObjects through g_object_get() and g_object_set().
18433
18434 2005-12-14  Julien MOUTTE  <julien@moutte.net>
18435
18436         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18437         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18438         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18439         of collectpads. This version removes a lot of races without
18440         touching API/ABI. Yay !
18441
18442 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
18443
18444         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18445           Don't allow activation of a srcpad in pull_range if it has no
18446           getrange function.
18447           Change some debug statements to be a little clearer
18448
18449         * plugins/elements/gsttypefindelement.c:
18450         (gst_type_find_handle_src_query):
18451           Check that we have a peer before executing queries thereupon.
18452
18453         * tests/examples/metadata/read-metadata.c: (message_loop):
18454           Use gst_bus_pop instead of gst_bus_poll when we just want it to
18455           immediately return us any available message with 0 timeout.
18456
18457 2005-12-12  Michael Smith  <msmith@fluendo.com>
18458
18459         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18460           Don't unref factories after calling them.
18461         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18462         * plugins/elements/gsttypefindelement.c:
18463         (gst_type_find_element_chain):
18464           Free lists of factories after using them. Fixing typefinding memory
18465           leaks.
18466
18467 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18468
18469         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18470         (gst_plugin_feature_load):
18471           more meaningful debug output
18472         * configure.ac:
18473         * tests/Makefile.am:
18474         * tests/old/examples/Makefile.am:
18475           make make distcheck happy again
18476
18477 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18478
18479         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18480           Catch the special case where we are operating chain-based,
18481           but the downstream peer pad has no chain function. Emit a
18482           custom error message in this case instead of letting the
18483           core generate one implying that this is some sort of core
18484           bug. It's not, it just means that whatever got plugged
18485           into the pipeline downstream when we announced the type
18486           can only operate pull-based, while our source can only
18487           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18488           Error string has not been marked for translation yet, as
18489           it probably needs some more work first.
18490
18491         (gst_type_find_element_get_best_possibility):
18492           Add helper function to find the best of all available
18493           found possibilities that qualify given the min. threshold.
18494
18495         (gst_type_find_element_handle_event):
18496           Fix the case where we get an EOS while still in TYPEFIND
18497           mode (we want to chose the best of all possible types,
18498           not just the first type that happens to be in our unsorted
18499           list of possible types).
18500
18501         (gst_type_find_element_chain):
18502           Make sure we return GST_FLOW_ERROR when we errored out
18503           in stop_typefinding(); also, don't just find the best of
18504           all found type entries and then use the last examined
18505           type entry, but actually use the best entry.
18506
18507 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18508
18509         * tests/examples/typefind/typefind.c: (type_found):
18510         * tests/examples/xml/runxml.c: (xml_loaded):
18511           More gcc4 fixes and a mem leak fix.
18512
18513 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18514
18515         * tests/examples/xml/createxml.c: (object_saved):
18516           gcc 4 fixes
18517
18518 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18519
18520         * tests/Makefile.am:
18521           enable the examples even more
18522
18523 2005-12-12  Andy Wingo  <wingo@pobox.com>
18524
18525         * libs/gst/net/gstnettimeprovider.c
18526         (gst_net_time_provider_class_init, gst_net_time_provider_init)
18527         (gst_net_time_provider_set_property)
18528         (gst_net_time_provider_get_property):
18529         API addition: Export "active" as a GObject property.
18530         (gst_net_time_provider_thread): Only respond to time queries if
18531         the time provider is active.
18532
18533         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18534         NetTimeProvider, preserving binary compat.
18535
18536 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18537
18538         * tests/examples/controller/audio-example.c: (main):
18539         * tests/examples/launch/Makefile.am:
18540           convert comments again
18541
18542 2005-12-12  Wim Taymans  <wim@fluendo.com>
18543
18544         * libs/gst/base/gstpushsrc.c:
18545         Fix typo.
18546
18547 2005-12-12  Wim Taymans  <wim@fluendo.com>
18548
18549         * docs/libs/gstreamer-libs-sections.txt:
18550         Added new symbol to docs.
18551
18552         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18553         (gst_base_src_init), (gst_base_src_set_format),
18554         (gst_base_src_default_query), (gst_base_src_query),
18555         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18556         (gst_base_src_perform_seek), (gst_base_src_send_event),
18557         (gst_base_src_default_event), (gst_base_src_event_handler),
18558         (gst_base_src_set_property), (gst_base_src_get_property),
18559         (gst_base_src_wait), (gst_base_src_do_sync),
18560         (gst_base_src_update_length), (gst_base_src_get_range),
18561         (gst_base_src_check_get_range), (gst_base_src_loop),
18562         (gst_base_src_default_negotiate), (gst_base_src_start),
18563         (gst_base_src_activate_push), (gst_base_src_activate_pull),
18564         (gst_base_src_change_state):
18565         * libs/gst/base/gstbasesrc.h:
18566         Implement seeking to other formats than _BYTES.
18567         Implement more seeking methods correctly.
18568         Doc updates.
18569         Added query vmethod.
18570         Added do_seek vmethod to make life easier for subclasses
18571         when seeking.
18572         API addition: gst_base_src_set_format()
18573
18574 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18575
18576         * tests/examples/Makefile.am:
18577           added that too
18578
18579 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18580
18581         * configure.ac:
18582         * docs/random/ensonic/media-device-daemon.txt:
18583         * tests/examples/controller/.cvsignore:
18584         * tests/examples/controller/Makefile.am:
18585         * tests/examples/controller/audio-example.c: (main):
18586         * tests/examples/helloworld/.cvsignore:
18587         * tests/examples/helloworld/Makefile.am:
18588         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18589         * tests/examples/launch/.cvsignore:
18590         * tests/examples/launch/Makefile.am:
18591         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18592         * tests/examples/metadata/.cvsignore:
18593         * tests/examples/metadata/Makefile.am:
18594         * tests/examples/metadata/read-metadata.c: (message_loop),
18595         (make_pipeline), (print_tag), (main):
18596         * tests/examples/queue/.cvsignore:
18597         * tests/examples/queue/Makefile.am:
18598         * tests/examples/queue/queue.c: (event_loop), (main):
18599         * tests/examples/typefind/.cvsignore:
18600         * tests/examples/typefind/Makefile.am:
18601         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18602         (main):
18603         * tests/examples/xml/.cvsignore:
18604         * tests/examples/xml/Makefile.am:
18605         * tests/examples/xml/createxml.c: (object_saved), (main):
18606         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18607         * tests/old/examples/Makefile.am:
18608         * tests/old/examples/TODO:
18609         * tests/old/examples/controller/.cvsignore:
18610         * tests/old/examples/controller/Makefile.am:
18611         * tests/old/examples/controller/audio-example.c:
18612         * tests/old/examples/helloworld/.cvsignore:
18613         * tests/old/examples/helloworld/Makefile.am:
18614         * tests/old/examples/helloworld/helloworld.c:
18615         * tests/old/examples/launch/.cvsignore:
18616         * tests/old/examples/launch/Makefile.am:
18617         * tests/old/examples/launch/mp3parselaunch.c:
18618         * tests/old/examples/launch/mp3play:
18619         * tests/old/examples/manual/Makefile.am:
18620         * tests/old/examples/metadata/Makefile.am:
18621         * tests/old/examples/metadata/read-metadata.c:
18622         * tests/old/examples/queue/.cvsignore:
18623         * tests/old/examples/queue/Makefile.am:
18624         * tests/old/examples/queue/queue.c:
18625         * tests/old/examples/typefind/.cvsignore:
18626         * tests/old/examples/typefind/Makefile.am:
18627         * tests/old/examples/typefind/typefind.c:
18628         * tests/old/examples/xml/.cvsignore:
18629         * tests/old/examples/xml/Makefile.am:
18630         * tests/old/examples/xml/createxml.c:
18631         * tests/old/examples/xml/runxml.c:
18632           applied some simple fixing to some examples
18633           re-enabled the working examples
18634
18635 2005-12-12  Wim Taymans  <wim@fluendo.com>
18636
18637         * gst/gstsegment.c: (gst_segment_init),
18638         (gst_segment_set_last_stop), (gst_segment_set_seek),
18639         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18640         (gst_segment_to_running_time):
18641         Added more documentation.
18642         Make sure the last_pos value is updated properly.
18643         Make sure to_stream_time and to_running_time don't
18644         operate on wrong values.
18645
18646         * tests/check/gst/gstsegment.c: (GST_START_TEST):
18647         Update check.
18648
18649 2005-12-12  Michael Smith  <msmith@fluendo.com>
18650
18651         * plugins/elements/gsttypefindelement.c: (free_entry),
18652         (gst_type_find_element_chain):
18653           Now that we're not leaking factories, make sure we keep references
18654           to them while we need them.
18655
18656 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18657
18658         * tests/check/gst/struct_i386.h:
18659           ifdef out the XML structs
18660
18661 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18662
18663         * gst/gstvalue.c: (gst_value_transform_double_fraction):
18664           floor is not needed, F is always positive; this obviates the
18665           need for adding -lm when building without libxml
18666
18667 2005-12-12  Wim Taymans  <wim@fluendo.com>
18668
18669         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18670         Take current playback rate into account when reporting
18671         the position.
18672
18673 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18674
18675         * docs/manual/mime-world.fig:
18676           Let's try this again, this time with a file that is
18677           actually in XFig format.
18678
18679 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18680
18681         * docs/manual/mime-world.fig:
18682           Add audioconvert element to diagram so that it
18683           matches the text and the code (fixes #319526).
18684
18685 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18686
18687         * docs/pwg/building-chainfn.xml:
18688         * docs/pwg/building-pads.xml:
18689         * docs/pwg/building-state.xml:
18690         * docs/pwg/other-source.xml:
18691           Update state change stuff for 0.10 (fixes #322969).
18692
18693 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18694
18695         * docs/manual/advanced-dataaccess.xml:
18696         * docs/manual/appendix-checklist.xml:
18697         * docs/manual/appendix-programs.xml:
18698         * docs/manual/basics-pads.xml:
18699         * docs/manual/highlevel-components.xml:
18700         * docs/manual/manual.xml:
18701           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18702           add converters in front of pipelines; remove curly
18703           brackets for threads stuff, they no longer exist; use
18704           GST_TYPE_FRACTION for framerates; update some pieces of
18705           code to 0.10, but there's plenty more to do.
18706
18707         * docs/manual/appendix-porting.xml:
18708           Expand on asynchroneous state changes; s/0.9/0.10/;
18709           mention disappearance of gst_init_get_popt_table()
18710           (fixes #322916).
18711
18712 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18713
18714         * docs/faq/using.xml:
18715           Spider no longer exists, and neither does gst-launch-ext.
18716           Update examples to use decodebin and playbin and put
18717           converters in front of sinks (fixes #323726).
18718
18719 2005-12-09  Michael Smith  <msmith@fluendo.com>
18720
18721         * plugins/elements/gsttypefindelement.c: (find_peek),
18722         (gst_type_find_element_chain):
18723           Fix leaking element factories in typefinding.
18724           Fix problem where we forgot about a probable type on non-seekable
18725           files, and thus later mis-typefound it.
18726
18727 2005-12-09  Michael Smith  <msmith@fluendo.com>
18728
18729         * common/m4/gst-makecontext.m4:
18730         * common/m4/gst-mcsc.m4:
18731         * configure.ac:
18732         * win32/common/config.h:
18733         * win32/common/config.h.in:
18734           Remove makecontext stuff; not used in 0.10 and causes problems on
18735           HPUX according to bug #322441
18736
18737 2005-12-07  Wim Taymans  <wim@fluendo.com>
18738
18739         * tests/check/Makefile.am:
18740         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18741         (main):
18742         * tests/check/libs/struct_i386.h:
18743         Added ABI check for libs
18744
18745 2005-12-07  Wim Taymans  <wim@fluendo.com>
18746
18747         * tests/check/Makefile.am:
18748         And add the struct_i386.h to dist.
18749
18750 2005-12-07  Wim Taymans  <wim@fluendo.com>
18751
18752         * tests/check/Makefile.am:
18753         * tests/check/gst/.cvsignore:
18754         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18755         (main):
18756         * tests/check/gst/struct_i386.h:
18757         Added check for ABI compatibility.
18758
18759 2005-12-07  Wim Taymans  <wim@fluendo.com>
18760
18761         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18762         (gst_fake_src_get_times), (gst_fake_src_create):
18763         Fix broken sync option, fixes #323259
18764
18765 2005-12-07  Wim Taymans  <wim@fluendo.com>
18766
18767         * gst/gstbuffer.c:
18768         Small docs update.
18769
18770         * gst/gstcaps.c: (gst_caps_is_equal):
18771         Don't assert on NULL <--> X. Fixes #323260
18772
18773         * gst/gstminiobject.c: (gst_mini_object_replace):
18774         If we're doing atomic operations, we might just as well use
18775         the proper way to get an atomic pointer.
18776
18777         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18778         Clean up debugging.
18779
18780 2005-12-07  Michael Smith  <msmith@fluendo.com>
18781
18782         * gst/parse/grammar.y:
18783           Remove handling of { } for threads.
18784
18785 2005-12-06  David Schleef  <ds@schleef.org>
18786
18787         * libs/gst/base/gstbasetransform.c: speling fix.
18788
18789 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18790
18791         * docs/libs/tmpl/gstdataprotocol.sgml:
18792         * docs/random/omega/testing/gstobject.c:
18793         * gst/gst.c:
18794         * gst/gstclock.c:
18795         * gst/gstelement.c:
18796         * gst/gstelementfactory.c:
18797         * gst/gsterror.c:
18798         * gst/gstevent.c:
18799         * gst/gstghostpad.c:
18800         * gst/gstinfo.c:
18801         * gst/gstpadtemplate.c:
18802         * gst/gstregistryxml.c:
18803         * gst/gsttaglist.c:
18804         * gst/gsttagsetter.c:
18805         * gst/gsttypefind.c:
18806         * gst/gstvalue.c:
18807         * libs/gst/base/gstbasesrc.c:
18808         * libs/gst/net/gstnetclientclock.c:
18809         * libs/gst/net/gstnettimeprovider.c:
18810         * plugins/elements/gstfakesrc.c:
18811         * plugins/elements/gstfdsrc.c:
18812         * plugins/elements/gstfilesrc.c:
18813         * plugins/elements/gstidentity.c:
18814         * plugins/elements/gstqueue.c:
18815         * plugins/elements/gsttypefindelement.c:
18816         * plugins/indexers/gstfileindex.c:
18817         * plugins/indexers/gstmemindex.c:
18818         * tests/check/gst/gsttag.c:
18819         * tests/old/examples/cutter/cutter.c:
18820         * tests/old/examples/mixer/mixer.c:
18821         * tests/old/examples/xml/runxml.c: (main):
18822         * tests/old/testsuite/caps/normalisation.c:
18823         * tests/old/testsuite/debug/global.c:
18824         * tests/old/testsuite/parse/parse1.c:
18825         * tools/gst-xmlinspect.c:
18826         * win32/common/dirent.c:
18827           expand tabs
18828
18829 === release 0.10.0 ===
18830
18831 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18832
18833         * configure.ac:
18834           releasing 0.10.0, "Maroilles"
18835
18836 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18837
18838         submitted by: Funda Wang <fundawang@linux.net.cn>
18839
18840         * po/LINGUAS:
18841         * po/zh_CN.po:
18842           added Chinese (Traditional) translation
18843
18844 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18845
18846         * docs/gst/gstreamer-sections.txt:
18847         * docs/libs/tmpl/gstdataprotocol.sgml:
18848         * docs/random/thomasvs/TODO:
18849         * gst/gstutils.c:
18850         * gst/gstutils.h:
18851           fix docs
18852
18853 2005-12-05  Andy Wingo  <wingo@pobox.com>
18854
18855         patch by: Wim Taymans <wim@fluendo.com>
18856
18857         * libs/gst/base/gstbasetransform.c
18858         (gst_base_transform_prepare_output_buf)
18859         (gst_base_transform_buffer_alloc):
18860         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
18861         alloc_buffer_and_set_caps.
18862
18863         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
18864         set_caps on the source pad.
18865         (gst_pad_alloc_buffer_and_set_caps): New function, does what
18866         alloc_buffer used to do. Fixes #322874.
18867
18868         * docs/gst/gstreamer-sections.txt: 
18869         * docs/design/part-negotiation.txt: 
18870         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
18871         changes.
18872
18873 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18874
18875         patch by: Sebastien Moutte
18876
18877         * win32/MANIFEST:
18878         * win32/common/config.h.in:
18879         * win32/vs6/libgstcontroller.dsp:
18880           win32 build fixes
18881
18882 2005-12-05  Wim Taymans  <wim@fluendo.com>
18883
18884         * gst/gstcaps.c: (gst_caps_is_equal):
18885         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18886         (gst_fake_src_create):
18887         Back out previous code changes, leave doc updates, file bugs 
18888         instead. 
18889
18890 2005-12-05  Wim Taymans  <wim@fluendo.com>
18891
18892         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18893         (gst_fake_src_get_times), (gst_fake_src_create):
18894         * plugins/elements/gstfakesrc.h:
18895         Fix broken sync code.
18896
18897 2005-12-05  Wim Taymans  <wim@fluendo.com>
18898
18899         * gst/gstcaps.c: (gst_caps_is_equal):
18900         Comparing NULL against !NULL yields different caps, not a
18901         failure.
18902
18903 2005-12-05  Wim Taymans  <wim@fluendo.com>
18904
18905         * gst/gstpipeline.c:
18906         Fix small typo in docs.
18907
18908 2005-12-05  Andy Wingo  <wingo@pobox.com>
18909
18910         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
18911
18912         * gst/gst.c (init_post): remove hard-coded 0.9 location for
18913         registries/plugins with a MAJORMINOR one.
18914         (plugin_desc): Rename library from gstcoreleements to
18915         staticelements. Fixes #323222.
18916
18917 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
18918
18919         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
18920           Change debug category to 'collectpads' from 'collect_pads'
18921           (fixes #323250).
18922
18923 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18924
18925         patch by: Sebastien Moutte
18926
18927         * libs/gst/controller/gstinterpolation.c:
18928           use convert function for uint64/double
18929         * win32/vs6/libgstcontroller.dsp:
18930           link to GLib
18931
18932 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18933
18934         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
18935         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
18936         * gst/gstutils.h:
18937         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18938           add tests that seem to show that the guint64/gdouble conversions
18939           are correct.
18940
18941 2005-12-02  Wim Taymans  <wim@fluendo.com>
18942
18943         * gst/gstregistry.c: (gst_registry_add_path):
18944         * gst/gstregistry.h:
18945         * gst/gstregistryxml.c:
18946         Fix docs again.
18947
18948 2005-12-02  Wim Taymans  <wim@fluendo.com>
18949
18950         * gst/gstutils.c: (gst_util_uint64_scale_int64),
18951         (gst_util_uint64_scale_int):
18952         Small cleanup.
18953
18954         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18955         Add debug log line.
18956
18957         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
18958         Add FIXME.
18959
18960 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18961
18962         * win32/MANIFEST:
18963         * win32/common/config.h:
18964         * win32/vs6/gstreamer.dsw:
18965         * win32/vs6/libgstcoreelements.dsp:
18966         * win32/vs6/libgstelements.dsp:
18967           renamed core elements plugin
18968
18969 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18970
18971         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
18972         (get_candidates):
18973           do piece-wise major/minor comparison so 0.9 < 0.10
18974           also allow .exe extensions for tools
18975
18976 2005-12-02  Michael Smith  <msmith@fluendo.com>
18977
18978         * gst/gst.c:
18979           Escape a % to make gtkdoc happier; bug 322958.
18980
18981 === release 0.9.7 ===
18982
18983 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18984
18985         * configure.ac:
18986           releasing 0.9.7, "My Dog Has No Nose"
18987
18988 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18989
18990         * common/gst-xmlinspect.py:
18991         * configure.ac:
18992         * docs/libs/tmpl/gstdataprotocol.sgml:
18993         * docs/random/release:
18994         * po/af.po:
18995         * po/az.po:
18996         * po/bg.po:
18997         * po/ca.po:
18998         * po/cs.po:
18999         * po/de.po:
19000         * po/en_GB.po:
19001         * po/fr.po:
19002         * po/it.po:
19003         * po/nb.po:
19004         * po/nl.po:
19005         * po/ru.po:
19006         * po/sq.po:
19007         * po/sr.po:
19008         * po/sv.po:
19009         * po/tr.po:
19010         * po/uk.po:
19011         * po/vi.po:
19012         * win32/common/config.h:
19013         * win32/common/config.h.in:
19014         * win32/vs6/gst_inspect.dsp:
19015         * win32/vs6/gst_launch.dsp:
19016         * win32/vs6/libgstbase.dsp:
19017         * win32/vs6/libgstelements.dsp:
19018         * win32/vs6/libgstreamer.dsp:
19019         * win32/vs7/GStreamer.vcproj:
19020         * win32/vs7/gst-inspect.vcproj:
19021         * win32/vs7/gst-launch.vcproj:
19022         * win32/vs7/libgstbase.vcproj:
19023           bump GST_MAJORMINOR to 0.10
19024           reset libtool version
19025
19026 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19027
19028         * po/LINGUAS:
19029         * po/bg.po:
19030           Added Bulgarian translation by (Alexander Shopov)
19031
19032 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19033
19034         * tests/check/gst/gstplugin.c:
19035           fix test
19036
19037 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19038
19039         * common/gst-xmlinspect.py:
19040         * common/gtk-doc-plugins.mak:
19041         * configure.ac:
19042         * docs/Makefile.am:
19043         * docs/gst/Makefile.am:
19044         * docs/gst/gstreamer-docs.sgml:
19045         * docs/gst/gstreamer-sections.txt:
19046         * docs/gst/gstreamer.types:
19047         * docs/gst/gstreamer.types.in:
19048         * docs/plugins/Makefile.am:
19049         * docs/plugins/gstreamer-plugins-docs.sgml:
19050         * docs/plugins/gstreamer-plugins-sections.txt:
19051         * docs/plugins/gstreamer-plugins.types:
19052         * docs/plugins/inspect.stamp:
19053         * docs/plugins/inspect/plugin-coreelements.xml:
19054         * docs/plugins/inspect/plugin-coreindexers.xml:
19055         * docs/plugins/scanobj-build.stamp:
19056         * gstreamer.spec.in:
19057         * plugins/elements/Makefile.am:
19058         * plugins/elements/gstelements.c:
19059         * plugins/elements/gstfakesink.c:
19060         * plugins/elements/gstfakesrc.c:
19061         * plugins/elements/gstfilesink.c:
19062         * plugins/elements/gstfilesrc.c:
19063         * plugins/elements/gstqueue.c:
19064         * plugins/indexers/Makefile.am:
19065         * plugins/indexers/gstindexers.c:
19066           document core plugins in a separate document just like all the
19067           others
19068           rename these plugins to something starting with core
19069
19070 2005-12-01  Andy Wingo  <wingo@pobox.com>
19071
19072         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
19073         padding here before, but it missed the commit.
19074
19075 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19076
19077         * libs/gst/controller/gstinterpolation.c:
19078           whitespace prices have crashed, we should feel free to use some now
19079           use gst_guint64_to_gdouble
19080
19081 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19082
19083         * libs/gst/controller/gstcontroller.c:
19084         * libs/gst/controller/gsthelper.c:
19085         * libs/gst/controller/gstinterpolation.c:
19086         * libs/gst/controller/lib.c:
19087           wrap config.h include
19088
19089 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19090
19091         * docs/gst/gstreamer-sections.txt:
19092           update docs
19093
19094 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19095
19096         * plugins/elements/gstelements.c:
19097         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
19098         (gst_fd_sink__class_init), (gst_fd_sink__init),
19099         (gst_fd_sink__chain), (gst_fd_sink__set_property),
19100         (gst_fd_sink__get_property):
19101         * plugins/elements/gstfdsink.h:
19102         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
19103         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
19104         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
19105         (gst_fd_src_unlock), (gst_fd_src_set_property),
19106         (gst_fd_src_get_property), (gst_fd_src_create),
19107         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
19108         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
19109         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
19110         (gst_fd_src_uri_handler_init):
19111         * plugins/elements/gstfdsrc.h:
19112         * plugins/elements/gstqueue.c: (gst_queue_get_type):
19113           more anal cleanup
19114
19115 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19116
19117         * docs/gst/Makefile.am:
19118         * docs/gst/gstreamer.types.in:
19119         * gst/Makefile.am:
19120           fix the docs build
19121
19122 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19123
19124         * configure.ac:
19125         * gst/Makefile.am:
19126         * gst/gst.c:
19127         * gst/gstplugin.h:
19128         * gst/gstregistry.h:
19129         * tests/benchmarks/complexity.c:
19130         * tests/benchmarks/mass-elements.c:
19131         * tests/check/Makefile.am:
19132         * tools/Makefile.am:
19133         * tools/gst-inspect.c:
19134         * tools/gst-xmlinspect.c:
19135           various fixes to make
19136           --disable-nls --disable-registry --disable-loadsave
19137           --disable-parse --disable-gst-debug
19138           work and get the core .so down to 360444 bytes after stripping
19139
19140 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19141
19142         * Makefile.am:
19143         * configure.ac:
19144           descend into tests
19145         * docs/random/thomasvs/TODO:
19146         * tests/Makefile.am:
19147         * tests/README:
19148           add a README
19149
19150 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19151
19152         * win32/GStreamer.vcproj:
19153         * win32/MANIFEST:
19154         * win32/Makefile:
19155         * win32/Makefile.inspect:
19156         * win32/Makefile.launch:
19157         * win32/Makefile.register:
19158         * win32/README.txt:
19159         * win32/gst-inspect.vcproj:
19160         * win32/gst-launch.vcproj:
19161         * win32/gst-register.vcproj:
19162         * win32/gstelements.vcproj:
19163         * win32/gstgetbits.def:
19164         * win32/gstgetbits.vcproj:
19165         * win32/gstreamer-dbg.def:
19166         * win32/gstreamer.def:
19167         * win32/libgstbase.def:
19168         * win32/libgstbase.vcproj:
19169         * win32/link_oldruntime.c:
19170         * win32/mman.c:
19171         * win32/mman.h:
19172         * win32/mman.inl:
19173         * win32/msvc71.sln:
19174           move even more stuff, win32/ is nice and clean now
19175
19176 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19177
19178         * libs/gst/control/.cvsignore:
19179         * win32/MANIFEST:
19180         * win32/config.h:
19181         * win32/dirent.c:
19182         * win32/dirent.h:
19183         * win32/gstbytestream.def:
19184         * win32/gstbytestream.vcproj:
19185         * win32/gstconfig.h:
19186         * win32/gstenumtypes.c:
19187         * win32/gstenumtypes.h:
19188         * win32/gstoptimalscheduler.vcproj:
19189         * win32/gstversion.h:
19190         * win32/gtchar.h:
19191         * win32/testsuite/bins.vcproj:
19192         * win32/testsuite/bytestream.vcproj:
19193         * win32/testsuite/caps.vcproj:
19194         * win32/testsuite/cleanup.vcproj:
19195         * win32/testsuite/clock.vcproj:
19196         * win32/testsuite/debug.vcproj:
19197         * win32/testsuite/dlopen.vcproj:
19198         * win32/testsuite/dynparams.vcproj:
19199         * win32/testsuite/elements.vcproj:
19200         * win32/testsuite/ghostpads.vcproj:
19201         * win32/testsuite/indexers.vcproj:
19202         * win32/testsuite/negotiation.vcproj:
19203         * win32/testsuite/parse.vcproj:
19204         * win32/testsuite/plugin.vcproj:
19205         * win32/testsuite/refcounting.vcproj:
19206         * win32/testsuite/schedulers.vcproj:
19207         * win32/testsuite/states.vcproj:
19208         * win32/testsuite/tags.vcproj:
19209         * win32/testsuite/threads.vcproj:
19210           remove old win32 stuff that isn't maintained and should be
19211           reorganized
19212
19213 2005-11-30  Andy Wingo  <wingo@pobox.com>
19214
19215         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
19216         loading the gst.interfaces python module bork.
19217
19218         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
19219         available since GLib 2.2. Fixes #318031.
19220
19221 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19222
19223         * Makefile.am:
19224         * check/.cvsignore:
19225         * check/Makefile.am:
19226         * check/elements/.cvsignore:
19227         * check/elements/fakesrc.c:
19228         * check/elements/fdsrc.c:
19229         * check/elements/identity.c:
19230         * check/generic/.cvsignore:
19231         * check/generic/states.c:
19232         * check/gst-libs/.cvsignore:
19233         * check/gst-libs/controller.c:
19234         * check/gst-libs/gdp.c:
19235         * check/gst/.cvsignore:
19236         * check/gst/capslist.h:
19237         * check/gst/gst.c:
19238         * check/gst/gstbin.c:
19239         * check/gst/gstbuffer.c:
19240         * check/gst/gstbus.c:
19241         * check/gst/gstcaps.c:
19242         * check/gst/gstelement.c:
19243         * check/gst/gstevent.c:
19244         * check/gst/gstghostpad.c:
19245         * check/gst/gstiterator.c:
19246         * check/gst/gstmessage.c:
19247         * check/gst/gstminiobject.c:
19248         * check/gst/gstobject.c:
19249         * check/gst/gstpad.c:
19250         * check/gst/gstpipeline.c:
19251         * check/gst/gstplugin.c:
19252         * check/gst/gstsegment.c:
19253         * check/gst/gststructure.c:
19254         * check/gst/gstsystemclock.c:
19255         * check/gst/gsttag.c:
19256         * check/gst/gstutils.c:
19257         * check/gst/gstvalue.c:
19258         * check/net/.cvsignore:
19259         * check/net/gstnetclientclock.c:
19260         * check/net/gstnettimeprovider.c:
19261         * check/pipelines/.cvsignore:
19262         * check/pipelines/cleanup.c:
19263         * check/pipelines/simple_launch_lines.c:
19264         * check/pipelines/stress.c:
19265         * check/states/.cvsignore:
19266         * check/states/sinks.c:
19267         * configure.ac:
19268         * examples/Makefile.am:
19269         * examples/appreader/.cvsignore:
19270         * examples/appreader/Makefile.am:
19271         * examples/appreader/appreader.c:
19272         * examples/controller/.cvsignore:
19273         * examples/controller/Makefile.am:
19274         * examples/controller/audio-example.c:
19275         * examples/cutter/.cvsignore:
19276         * examples/cutter/Makefile.am:
19277         * examples/cutter/cutter.c:
19278         * examples/cutter/cutter.h:
19279         * examples/events/Makefile.am:
19280         * examples/events/seek.c:
19281         * examples/helloworld/.cvsignore:
19282         * examples/helloworld/Makefile.am:
19283         * examples/helloworld/helloworld.c:
19284         * examples/helloworld2/.cvsignore:
19285         * examples/helloworld2/Makefile.am:
19286         * examples/helloworld2/helloworld2.c:
19287         * examples/launch/.cvsignore:
19288         * examples/launch/Makefile.am:
19289         * examples/launch/mp3parselaunch.c:
19290         * examples/launch/mp3play:
19291         * examples/manual/.cvsignore:
19292         * examples/manual/Makefile.am:
19293         * examples/manual/extract.pl:
19294         * examples/metadata/Makefile.am:
19295         * examples/metadata/read-metadata.c:
19296         * examples/mixer/.cvsignore:
19297         * examples/mixer/Makefile.am:
19298         * examples/mixer/mixer.c:
19299         * examples/mixer/mixer.h:
19300         * examples/pingpong/.cvsignore:
19301         * examples/pingpong/Makefile.am:
19302         * examples/pingpong/pingpong.c:
19303         * examples/plugins/.cvsignore:
19304         * examples/plugins/Makefile.am:
19305         * examples/plugins/example.c:
19306         * examples/plugins/example.h:
19307         * examples/pwg/.cvsignore:
19308         * examples/pwg/Makefile.am:
19309         * examples/pwg/extract.pl:
19310         * examples/queue/.cvsignore:
19311         * examples/queue/Makefile.am:
19312         * examples/queue/queue.c:
19313         * examples/queue2/.cvsignore:
19314         * examples/queue2/Makefile.am:
19315         * examples/queue2/queue2.c:
19316         * examples/queue3/.cvsignore:
19317         * examples/queue3/Makefile.am:
19318         * examples/queue3/queue3.c:
19319         * examples/queue4/.cvsignore:
19320         * examples/queue4/Makefile.am:
19321         * examples/queue4/queue4.c:
19322         * examples/retag/.cvsignore:
19323         * examples/retag/Makefile.am:
19324         * examples/retag/retag.c:
19325         * examples/retag/transcode.c:
19326         * examples/thread/.cvsignore:
19327         * examples/thread/Makefile.am:
19328         * examples/thread/thread.c:
19329         * examples/typefind/.cvsignore:
19330         * examples/typefind/Makefile.am:
19331         * examples/typefind/typefind.c:
19332         * examples/xml/.cvsignore:
19333         * examples/xml/Makefile.am:
19334         * examples/xml/createxml.c:
19335         * examples/xml/runxml.c:
19336         * tests/Makefile.am:
19337         * tests/check/Makefile.am:
19338         * testsuite/.cvsignore:
19339         * testsuite/Makefile.am:
19340         * testsuite/Rules:
19341         * testsuite/caps/.cvsignore:
19342         * testsuite/caps/Makefile.am:
19343         * testsuite/caps/app_fixate.c:
19344         * testsuite/caps/audioscale.c:
19345         * testsuite/caps/caps.c:
19346         * testsuite/caps/caps.h:
19347         * testsuite/caps/caps_strings:
19348         * testsuite/caps/compatibility.c:
19349         * testsuite/caps/deserialize.c:
19350         * testsuite/caps/enumcaps.c:
19351         * testsuite/caps/eratosthenes.c:
19352         * testsuite/caps/filtercaps.c:
19353         * testsuite/caps/fixed.c:
19354         * testsuite/caps/fraction-convert.c:
19355         * testsuite/caps/fraction-multiply-and-zero.c:
19356         * testsuite/caps/intersect2.c:
19357         * testsuite/caps/intersection.c:
19358         * testsuite/caps/normalisation.c:
19359         * testsuite/caps/random.c:
19360         * testsuite/caps/renegotiate.c:
19361         * testsuite/caps/sets.c:
19362         * testsuite/caps/simplify.c:
19363         * testsuite/caps/string-conversions.c:
19364         * testsuite/caps/structure.c:
19365         * testsuite/caps/subtract.c:
19366         * testsuite/caps/union.c:
19367         * testsuite/debug/.cvsignore:
19368         * testsuite/debug/Makefile.am:
19369         * testsuite/debug/category.c:
19370         * testsuite/debug/commandline.c:
19371         * testsuite/debug/global.c:
19372         * testsuite/debug/output.c:
19373         * testsuite/debug/printf_extension.c:
19374         * testsuite/dlopen/.cvsignore:
19375         * testsuite/dlopen/Makefile.am:
19376         * testsuite/dlopen/dlopen_gst.c:
19377         * testsuite/dlopen/loadgst.c:
19378         * testsuite/elements/.cvsignore:
19379         * testsuite/elements/Makefile.am:
19380         * testsuite/elements/gst-inspect-check.in:
19381         * testsuite/elements/struct_i386.h:
19382         * testsuite/elements/struct_size.c:
19383         * testsuite/indexers/.cvsignore:
19384         * testsuite/indexers/Makefile.am:
19385         * testsuite/indexers/cache1.c:
19386         * testsuite/indexers/indexdump.c:
19387         * testsuite/parse/.cvsignore:
19388         * testsuite/parse/Makefile.am:
19389         * testsuite/parse/parse1.c:
19390         * testsuite/parse/parse2.c:
19391         * testsuite/plugin/.cvsignore:
19392         * testsuite/plugin/Makefile.am:
19393         * testsuite/plugin/README:
19394         * testsuite/plugin/dynamic.c:
19395         * testsuite/plugin/linked.c:
19396         * testsuite/plugin/loading.c:
19397         * testsuite/plugin/registry.c:
19398         * testsuite/plugin/static.c:
19399         * testsuite/plugin/static2.c:
19400         * testsuite/plugin/testplugin.c:
19401         * testsuite/plugin/testplugin2.c:
19402         * testsuite/plugin/testplugin2_s.c:
19403         * testsuite/plugin/testplugin_s.c:
19404         * testsuite/refcounting/.cvsignore:
19405         * testsuite/refcounting/Makefile.am:
19406         * testsuite/refcounting/bin.c:
19407         * testsuite/refcounting/element.c:
19408         * testsuite/refcounting/element_pad.c:
19409         * testsuite/refcounting/mainloop.c:
19410         * testsuite/refcounting/mem.c:
19411         * testsuite/refcounting/mem.h:
19412         * testsuite/refcounting/object.c:
19413         * testsuite/refcounting/pad.c:
19414         * testsuite/refcounting/sched.c:
19415         * testsuite/refcounting/thread.c:
19416         * testsuite/states/.cvsignore:
19417         * testsuite/states/Makefile.am:
19418         * testsuite/states/bin.c:
19419         * testsuite/states/locked.c:
19420         * testsuite/states/parent.c:
19421         * testsuite/threads/.cvsignore:
19422         * testsuite/threads/159566.c:
19423         * testsuite/threads/159852.c:
19424         * testsuite/threads/Makefile.am:
19425         * testsuite/threads/queue.c:
19426         * testsuite/threads/signals.c:
19427         * testsuite/threads/staticrec.c:
19428         * testsuite/threads/thread.c:
19429         * testsuite/threads/threadb.c:
19430         * testsuite/threads/threadc.c:
19431         * testsuite/threads/threadd.c:
19432         * testsuite/threads/threade.c:
19433         * testsuite/threads/threadf.c:
19434         * testsuite/threads/threadg.c:
19435         * testsuite/threads/threadh.c:
19436         * testsuite/threads/threadi.c:
19437           move all of these under tests
19438
19439 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19440
19441         * configure.ac:
19442         * tests/Makefile.am:
19443           fix distcheck
19444
19445 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19446
19447         * docs/gst/gstreamer-sections.txt:
19448         * tests/sched/.cvsignore:
19449         * tests/sched/Makefile.am:
19450         * tests/sched/cases/(fs-fs).xml:
19451         * tests/sched/cases/(fs-i-fs).xml:
19452         * tests/sched/cases/(fs-i-i-fs).xml:
19453         * tests/sched/cases/(fs-i-q[i-fs]).xml:
19454         * tests/sched/dynamic-pipeline.c:
19455         * tests/sched/interrupt1.c:
19456         * tests/sched/interrupt2.c:
19457         * tests/sched/interrupt3.c:
19458         * tests/sched/runtestcases:
19459         * tests/sched/runxml.c:
19460         * tests/sched/sched-stress.c:
19461         * tests/sched/sort.c:
19462         * tests/sched/testcases:
19463         * tests/sched/testcases1.tc:
19464         * tests/seeking/.cvsignore:
19465         * tests/seeking/Makefile.am:
19466         * tests/seeking/seeking1.c:
19467         * tests/threadstate/.cvsignore:
19468         * tests/threadstate/Makefile.am:
19469         * tests/threadstate/test1.c:
19470         * tests/threadstate/test2.c:
19471         * tests/threadstate/threadstate1.c:
19472         * tests/threadstate/threadstate2.c:
19473         * tests/threadstate/threadstate3.c:
19474         * tests/threadstate/threadstate4.c:
19475         * tests/threadstate/threadstate5.c:
19476           remove obsolete tests
19477         * configure.ac:
19478         * tests/bench-complexity.scm:
19479         * tests/bench-mass_elements.scm:
19480         * tests/complexity.c:
19481         * tests/complexity.gnuplot:
19482         * tests/instantiate/.cvsignore:
19483         * tests/instantiate/Makefile.am:
19484         * tests/instantiate/caps.c:
19485         * tests/mass_elements.c:
19486         * tests/network-clock-utils.scm:
19487         * tests/network-clock.scm:
19488         * tests/plot-data:
19489         First pass at cleaning up tests/ dir before moving the rest
19490         Combined with CVS surgery
19491
19492 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19493
19494         * po/POTFILES.in:
19495           queue has moved, update
19496
19497 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19498
19499         * docs/gst/gstreamer-sections.txt:
19500           remove double entries from the docs
19501         * gst/gst_private.h:
19502         * gst/gstinfo.c: (_gst_debug_init):
19503           remove the THREAD debug category
19504         * gst/Makefile.am:
19505         * gst/gstqueue.c:
19506         * gst/gstqueue.h:
19507         * docs/gst/gstreamer.types:
19508         * plugins/elements/gstqueue.c: (gst_queue_get_type),
19509         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19510           completely move queue and fix up debugging categories
19511
19512 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19513
19514         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19515           make initialization portable, using LL is not
19516
19517 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19518
19519         * win32/common/gstconfig.h:
19520           add large padding
19521
19522 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19523
19524         * win32/common/libgstreamer.def:
19525           rename symbols; sort base section
19526
19527 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19528
19529         * gst/gstclock.c: (do_linear_regression):
19530           remove crack non-portable handrolled DEBUG macro
19531
19532 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19533
19534         * docs/random/release:
19535           update notes
19536         * win32/common/gstenumtypes.c: (register_gst_object_flags),
19537         (gst_object_flags_get_type), (register_gst_bin_flags),
19538         (gst_bin_flags_get_type), (register_gst_buffer_flag),
19539         (gst_buffer_flag_get_type), (register_gst_bus_flags),
19540         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19541         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19542         (gst_caps_flags_get_type), (register_gst_clock_return),
19543         (gst_clock_return_get_type), (register_gst_clock_entry_type),
19544         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19545         (gst_clock_flags_get_type), (register_gst_state),
19546         (gst_state_get_type), (register_gst_state_change_return),
19547         (gst_state_change_return_get_type), (register_gst_state_change),
19548         (gst_state_change_get_type), (register_gst_element_flags),
19549         (gst_element_flags_get_type), (register_gst_core_error),
19550         (gst_core_error_get_type), (register_gst_library_error),
19551         (gst_library_error_get_type), (register_gst_resource_error),
19552         (gst_resource_error_get_type), (register_gst_stream_error),
19553         (gst_stream_error_get_type), (register_gst_event_type_flags),
19554         (gst_event_type_flags_get_type), (register_gst_event_type),
19555         (gst_event_type_get_type), (register_gst_seek_type),
19556         (gst_seek_type_get_type), (register_gst_seek_flags),
19557         (gst_seek_flags_get_type), (register_gst_format),
19558         (gst_format_get_type), (register_gst_index_certainty),
19559         (gst_index_certainty_get_type), (register_gst_index_entry_type),
19560         (gst_index_entry_type_get_type),
19561         (register_gst_index_lookup_method),
19562         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19563         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19564         (gst_index_resolver_method_get_type), (register_gst_index_flags),
19565         (gst_index_flags_get_type), (register_gst_debug_level),
19566         (gst_debug_level_get_type), (register_gst_debug_color_flags),
19567         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19568         (gst_iterator_result_get_type), (register_gst_iterator_item),
19569         (gst_iterator_item_get_type), (register_gst_message_type),
19570         (gst_message_type_get_type), (register_gst_mini_object_flags),
19571         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19572         (gst_pad_link_return_get_type), (register_gst_flow_return),
19573         (gst_flow_return_get_type), (register_gst_activate_mode),
19574         (gst_activate_mode_get_type), (register_gst_pad_direction),
19575         (gst_pad_direction_get_type), (register_gst_pad_flags),
19576         (gst_pad_flags_get_type), (register_gst_pad_presence),
19577         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19578         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19579         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19580         (gst_plugin_error_get_type), (register_gst_plugin_flags),
19581         (gst_plugin_flags_get_type), (register_gst_rank),
19582         (gst_rank_get_type), (register_gst_query_type),
19583         (gst_query_type_get_type), (register_gst_tag_merge_mode),
19584         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19585         (gst_tag_flag_get_type), (register_gst_task_state),
19586         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19587         (gst_alloc_trace_flags_get_type),
19588         (register_gst_type_find_probability),
19589         (gst_type_find_probability_get_type), (register_gst_uri_type),
19590         (gst_uri_type_get_type), (register_gst_parse_error),
19591         (gst_parse_error_get_type):
19592         * win32/common/gstenumtypes.h:
19593         * win32/common/gstversion.h:
19594           update visual studio generated files
19595
19596 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19597
19598         * win32/vs6/libgstbase.dsp:
19599         * win32/vs6/libgstelements.dsp:
19600           update project files for new locations
19601
19602 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19603
19604         * Makefile.am:
19605           remove some files
19606         * README:
19607           reinstate and update
19608         * DEVEL:
19609         * REQUIREMENTS:
19610           removed
19611         * LICENSE:
19612         * docs/random/LICENSE:
19613           moved to random
19614
19615 2005-11-30  Edward Hervey  <edward@fluendo.com>
19616
19617         * gst/gsttypefind.c: (gst_type_find_register):
19618         * gst/gsttypefind.h:
19619         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19620         (gst_type_find_factory_dispose):
19621         * gst/gsttypefindfactory.h:
19622         Fix memory leak in GstTypeFindFactory.
19623
19624 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19625
19626         * gst/gst.c:
19627         * plugins/elements/Makefile.am:
19628         * plugins/elements/gstelements.c:
19629         * plugins/elements/gstqueue.c:
19630           move queue from core to the elements plugin
19631
19632 2005-11-29  Andy Wingo  <wingo@pobox.com>
19633
19634         * libs/gst/base/gstbasetransform.h: 
19635         * libs/gst/base/gstbasesrc.h: 
19636         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19637
19638         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19639         of pointers by which to pad very extensible base classes (like the
19640         ones in libs/gst/base).
19641
19642 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19643
19644         * docs/gst/gstreamer-docs.sgml:
19645         * docs/gst/gstreamer-sections.txt:
19646         * docs/libs/gstreamer-libs-docs.sgml:
19647         * docs/libs/gstreamer-libs-sections.txt:
19648           moving documentation from core to lib
19649
19650 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19651
19652         * check/Makefile.am:
19653         * configure.ac:
19654         * docs/gst/Makefile.am:
19655         * gst/Makefile.am:
19656         * gst/base/.cvsignore:
19657         * gst/base/Makefile.am:
19658         * gst/base/README:
19659         * gst/base/gstadapter.c:
19660         * gst/base/gstadapter.h:
19661         * gst/base/gstbasesink.c:
19662         * gst/base/gstbasesink.h:
19663         * gst/base/gstbasesrc.c:
19664         * gst/base/gstbasesrc.h:
19665         * gst/base/gstbasetransform.c:
19666         * gst/base/gstbasetransform.h:
19667         * gst/base/gstcollectpads.c:
19668         * gst/base/gstcollectpads.h:
19669         * gst/base/gstpushsrc.c:
19670         * gst/base/gstpushsrc.h:
19671         * gst/base/gsttypefindhelper.c:
19672         * gst/base/gsttypefindhelper.h:
19673         * gst/check/Makefile.am:
19674         * gst/check/gstcheck.c:
19675         * gst/check/gstcheck.h:
19676         * gst/net/Makefile.am:
19677         * gst/net/gstnet.h:
19678         * gst/net/gstnetclientclock.c:
19679         * gst/net/gstnetclientclock.h:
19680         * gst/net/gstnettimepacket.c:
19681         * gst/net/gstnettimepacket.h:
19682         * gst/net/gstnettimeprovider.c:
19683         * gst/net/gstnettimeprovider.h:
19684         * libs/gst/Makefile.am:
19685         * libs/gst/base/Makefile.am:
19686         * libs/gst/base/gstbasetransform.c:
19687         * libs/gst/check/Makefile.am:
19688         * plugins/elements/Makefile.am:
19689         * po/POTFILES.in:
19690           CVS surgery + support to move base, check, and net out of gst
19691           and into libs/gst
19692
19693 2005-11-29  Andy Wingo  <wingo@pobox.com>
19694
19695         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19696
19697         * gst/gststructure.h (struct _GstStructure): Only one pointer of
19698         padding.
19699
19700         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19701
19702         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19703
19704         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19705
19706         * gst/gstobject.h: (struct _GstObject): Only one pointer of
19707         padding; reduces object size by about 30%. We don't expect
19708         anything else to go into gstobject.
19709
19710         * gst/gstminiobject.h (struct _GstMiniObject)
19711         (struct _GstMiniObjectClass): Only one pointer of padding; the
19712         payload is only a pointer and two ints anyway. For the class there
19713         are only two methods as well.
19714         
19715         * gst/gstelement.h (struct _GstElementClass): Removed
19716         the state_changed signal callback, it is not used.
19717
19718 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19719
19720         * docs/gst/gstreamer.types:
19721           fix includes, though they are a little dinky
19722
19723 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19724
19725         * check/Makefile.am:
19726           look in the right place for elements, a lot more chance of
19727           success
19728         * gst/Makefile.am:
19729           remove indexers and elements subdirs
19730         * plugins/Makefile.am:
19731           make indexers conditional
19732
19733 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19734
19735         * Makefile.am:
19736         * configure.ac:
19737         * plugins/elements/Makefile.am:
19738         * plugins/elements/gstcapsfilter.c:
19739         * plugins/elements/gstfilesink.c:
19740         * plugins/elements/gstfilesrc.c:
19741         * plugins/elements/gstidentity.c:
19742         * plugins/indexers/Makefile.am:
19743           do CVS surgery and related build fixery to move elements
19744           and indexers in a new gstreamer/plugins directory, out of the
19745           gst/ directory
19746
19747 2005-11-29  Andy Wingo  <wingo@pobox.com>
19748
19749         * check/Makefile.am:
19750         * pkgconfig/gstreamer-net-uninstalled.pc.in:
19751         * pkgconfig/gstreamer-net.pc.in:
19752         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19753         #322257.
19754
19755 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19756
19757         * tools/Makefile.am:
19758         * tools/gst-complete.1.in:
19759         * tools/gst-complete.c:
19760         * tools/gst-compprep.1.in:
19761         * tools/gst-compprep.c:
19762           removing -compprep and -complete
19763
19764 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19765
19766         * gst/gstevent.c: (gst_event_new_new_segment),
19767         (gst_event_parse_new_segment):
19768         * gst/gstevent.h:
19769           fix #320529 - clean up new_segment API and structure.
19770           Let's hope everyone was using the methods, and not the structure.
19771
19772 2005-11-29  Edward Hervey  <edward@fluendo.com>
19773
19774         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19775         (gst_base_sink_event), (gst_base_sink_do_sync),
19776         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19777         Properly handle non GST_FORMAT_TIME segment
19778         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19779         Properly handle non GST_FORMAT_TIME segment
19780         * gst/gstsegment.c:
19781         This function is valid if the accumulator is 0 and the format
19782         is different from the requested format.
19783         
19784 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19785
19786         * docs/gst/gstreamer-sections.txt:
19787         Add gst_query_new_seeking and gst_query_parse_seeking to the
19788         docs.
19789
19790 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19791
19792         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19793           Treat a pad alloc with new caps the same as if we were not
19794           negotiated, in order to allow a changing upstream output
19795           to produce a new format of data.
19796
19797 2005-11-29  Edward Hervey  <edward@fluendo.com>
19798
19799         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19800         (gst_base_transform_event), (gst_base_transform_eventfunc):
19801         The event virtual method is now properly implemented, with a default
19802         handler
19803         Sub classes should call the parent_class event method. They should
19804         return FALSE if they had a problem handling the given event, or don't
19805         want GstBaseTransform to send that even downstream
19806         * gst/elements/gstidentity.c: (gst_identity_class_init),
19807         (gst_identity_init), (gst_identity_event),
19808         (gst_identity_transform_ip), (gst_identity_set_property),
19809         (gst_identity_get_property):
19810         * gst/elements/gstidentity.h:
19811         Added the single-segment boolean property.
19812         If set to TRUE, it will output a single segment of data, starting from
19813         0, will eat up all incoming newsegment, and modify the timestamp of the
19814         buffers accordingly
19815
19816 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
19817
19818         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
19819           Don't ref NULL target pad (#322751). Improve docs.
19820
19821 2005-11-29  Michael Smith  <msmith@fluendo.com>
19822
19823         * gst/gstregistryxml.c: (load_plugin):
19824           Don't crash if we failed to load a feature from a plugin. 
19825
19826 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19827
19828         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19829         (GST_START_TEST):
19830           use more check API and less GLib API
19831
19832 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19833
19834         * Makefile.am:
19835           don't run checks if we don't have check
19836         * common/check.mak:
19837           remove the registry when running make torture
19838         * docs/gst/gstreamer-sections.txt:
19839           remove second multiply
19840         * gst/gstqueue.c: (gst_queue_loop):
19841           fix a compile warning when disabling debug
19842
19843 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19844
19845         * gst/gstinfo.h:
19846         Hey! Let's print the pad name if the pointer != NULL instead
19847         of when it == NULL :-)
19848
19849 2005-11-28  Wim Taymans  <wim@fluendo.com>
19850
19851         * check/gst/gstutils.c: (GST_START_TEST):
19852         Updated check, add some scaling accuracy checking code.
19853
19854         * gst/gstutils.c: (gst_util_div128_64),
19855         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
19856         (gst_util_uint64_scale_int):
19857         Fix 6 times faster division code. Optimize for common 
19858         1/1 and less common X/1 cases.
19859
19860 2005-11-28  Wim Taymans  <wim@fluendo.com>
19861
19862         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19863         More checks.
19864
19865         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
19866         (do_linear_regression), (gst_clock_add_observation):
19867         Cleanups.
19868         Release lock when the clock cannot be slaved.
19869         Catch the case where the regression returned an invalid denominator.
19870
19871         * gst/gstutils.c: (gst_util_div128_64_iterate),
19872         (gst_util_div128_64), (gst_util_uint64_scale_int64),
19873         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19874         Add protentially more performant non-iterative 128/64 divide function
19875         that unfortunatly does not work yet.
19876         Shortcut the trivial 0/X = 0 case.
19877         Remove the warnings on overflow.
19878
19879 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19880
19881         * gst/gstplugin.c: (gst_plugin_register_func):
19882           everything causing a plugin not to load should be at least a WARNING
19883
19884 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
19885
19886         * docs/random/ensonic/dparams.txt:
19887           some TODOs for the next dev cycle
19888         * libs/gst/controller/gstcontroller.c:
19889         (gst_controlled_property_set_interpolation_mode),
19890         (gst_controlled_property_new):
19891         * libs/gst/controller/gstcontroller.h:
19892           use base type to assign acccessor functions
19893
19894 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19895
19896         * check/Makefile.am:
19897         Oops, that should have been top_srcdir
19898
19899 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19900
19901         * check/Makefile.am:
19902         * check/elements/fdsrc.c: (GST_START_TEST):
19903         Use a cmdline define to specify the location of a file to use for
19904         testing, to avoid breaking distcheck.
19905
19906 2005-11-28  Andy Wingo  <wingo@pobox.com>
19907
19908         * gst/gstpad.c (fixate_value): Use array functions for arrays.
19909
19910 2005-11-28  Edward Hervey  <edward@fluendo.com>
19911
19912         * tools/gst-launch.c: (main):
19913         Clarify the output strings, makes it easier to translate.
19914         Fixes #322626
19915
19916 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19917
19918         * gst/Makefile.am:
19919           don't try and build net if we don't even have <sys/socket.h>
19920
19921 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
19922
19923         * check/Makefile.am:
19924         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
19925         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
19926           Add tests for fdsrc seekability
19927
19928         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19929         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
19930         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
19931         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
19932         * gst/elements/gstfdsrc.h:
19933           fdsrc should not be a 'live' source.
19934           Implement seeking on seekable fd's.
19935
19936         * gst/gstquery.c: (gst_query_new_seeking),
19937         (gst_query_parse_seeking):
19938         * gst/gstquery.h:
19939           Implement SEEKING query functions: 
19940             *_new_seeking and *_parse_seeking
19941
19942 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
19943
19944         * gst/gstelement.c: (gst_element_dispose):
19945           don't loop forever
19946
19947         * gst/gstiterator.c:
19948         * gst/gststructure.c:
19949           doc fixes
19950
19951         * libs/gst/controller/gstcontroller.c:
19952         (gst_controlled_property_set_interpolation_mode):
19953         * libs/gst/controller/gstcontroller.h:
19954         * libs/gst/controller/gstinterpolation.c:
19955         (interpolate_none_get_enum_value_array):
19956           support controlling enums
19957
19958 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
19959
19960         * gst/gstvalue.c:
19961           Improve documentation for gst_value_union().
19962
19963         * gst/gstvalue.h:
19964           Change return value for union, intersect and subtract functions
19965           from gint to gboolean.
19966
19967 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
19968
19969         * gst/gstvalue.c: (gst_value_serialize_any_list),
19970         (gst_value_transform_any_list_string),
19971         (gst_value_deserialize_list), (gst_value_deserialize_array),
19972         (gst_value_set_int_range), (gst_value_deserialize_int_range),
19973         (gst_value_set_double_range), (gst_value_deserialize_double_range),
19974         (gst_value_set_fraction_range_full),
19975         (gst_value_deserialize_fraction_range),
19976         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
19977         (gst_value_deserialize_boolean),
19978         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
19979         (gst_value_serialize_float), (gst_value_deserialize_float),
19980         (gst_string_wrap), (gst_value_deserialize_string),
19981         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
19982         (gst_value_union_int_range_int_range),
19983         (gst_value_intersect_int_range_int_range),
19984         (gst_value_intersect_double_range_double_range),
19985         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
19986         (gst_value_subtract_int_range_int_range),
19987         (gst_value_subtract_double_double_range),
19988         (gst_value_subtract_double_range_double_range),
19989         (gst_value_deserialize_fraction):
19990         * gst/gstvalue.h:
19991           Use gint, gdouble and gchar in our API instead of int, double and
19992           char (and make usage in gstvalue.c more consistent).
19993
19994 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19995
19996         * check/Makefile.am:
19997         * libs/gst/controller/Makefile.am:
19998         * libs/gst/dataprotocol/Makefile.am:
19999           fix up Makefile.am and remove GST_ENABLE_NEW
20000
20001 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20002
20003         * configure.ac:
20004         * gst/Makefile.am:
20005         * gst/base/Makefile.am:
20006         * gst/check/Makefile.am:
20007         * gst/elements/Makefile.am:
20008         * gst/net/Makefile.am:
20009           update LDFLAGS use some more
20010
20011 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20012
20013         * common/m4/gst-doc.m4:
20014           Fixes #312589
20015
20016 2005-11-26  Edward Hervey  <edward@fluendo.com>
20017
20018         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
20019         This shouldn't issue a g_warning since it returns NULL if it
20020         couldn't find the plugin, and all functions using this behave
20021         properly on a NULL return. Switching to a GST_WARNING.
20022
20023 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
20024
20025         * gst/gstbin.c: (gst_bin_handle_message_func):
20026         Don't leak clock messages.
20027
20028 2005-11-25  Wim Taymans  <wim@fluendo.com>
20029
20030         * gst/gstutils.c: (gst_util_uint64_scale_int64),
20031         (gst_util_uint64_scale_int):
20032         Optimisations, remove unneeded vars.
20033
20034 2005-11-25  Wim Taymans  <wim@fluendo.com>
20035
20036         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20037         Added more checks for the high precision uint64 cases.
20038
20039         * gst/gstutils.c: (gst_util_uint64_scale_int64),
20040         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
20041         Implement high precision (guint64 * guint64) / guint64.
20042
20043 2005-11-24  Wim Taymans  <wim@fluendo.com>
20044
20045         * gst/base/gstbasesrc.c: (gst_base_src_query):
20046         Fix wrong percentage query.
20047
20048         * gst/gstutils.c: (gst_util_uint64_scale),
20049         (gst_util_uint64_scale_int):
20050         Add some more common cases that can be handled 
20051         efficiently to _scale.
20052
20053 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20054
20055         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
20056         (gst_mini_object_suite):
20057           don't use check calls from threads; check probably isn't
20058           threadsafe and using a lock to make it threadsafe would
20059           defeat the purpose of this check
20060         * gst/check/gstcheck.c:
20061         * gst/check/gstcheck.h:
20062           use GST_DEBUG some more
20063
20064 2005-11-24  Wim Taymans  <wim@fluendo.com>
20065
20066         * gst/gstutils.c: (gst_util_uint64_scale),
20067         (gst_util_uint64_scale_int):
20068         Chain trivial case to _scale_int.
20069
20070 2005-11-24  Wim Taymans  <wim@fluendo.com>
20071
20072         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20073         Added test for scaling.
20074
20075         * gst/gstclock.h:
20076         Small doc fix.
20077
20078         * gst/gstutils.c: (gst_util_uint64_scale_int):
20079         Implemented high precision scaling code.
20080
20081 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
20082
20083         * gst/gstinfo.h:
20084           do not crash on pad==NULL
20085
20086 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20087
20088         Patch by: Stefan Kost
20089
20090         * common/gtk-doc.mak:
20091         * docs/gst/Makefile.am:
20092         * docs/libs/Makefile.am:
20093           Fix distcheck issues for the libraries docs build
20094           Closes #319599.
20095
20096 2005-11-24  Michael Smith <msmith@fluendo.com>
20097
20098         * docs/manual/basics-helloworld.xml:
20099           Fix bug #315027: memory leak in example code in docs.
20100
20101 2005-11-24  Michael Smith <msmith@fluendo.com>
20102
20103         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20104           Unlock the PREROLL_LOCK in a failure case.
20105
20106 2005-11-24  Wim Taymans  <wim@fluendo.com>
20107
20108         * docs/gst/gstreamer-sections.txt:
20109         * gst/base/gstadapter.h:
20110         * gst/base/gstbasesink.h:
20111         * gst/base/gstbasesrc.h:
20112         * gst/base/gstbasetransform.h:
20113         * gst/base/gstpushsrc.h:
20114         * gst/elements/gstfakesink.h:
20115         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
20116         * gst/elements/gstfakesrc.h:
20117         * gst/elements/gstfilesink.h:
20118         * gst/elements/gstfilesrc.h:
20119         * gst/gst.c:
20120         * gst/gstbin.c:
20121         * gst/gstbuffer.c: (_gst_buffer_copy):
20122         * gst/gstbus.h:
20123         * gst/gstcaps.c:
20124         * gst/gstchildproxy.c:
20125         * gst/gstclock.c:
20126         * gst/gstelement.c:
20127         * gst/gstelementfactory.c:
20128         * gst/gstelementfactory.h:
20129         * gst/gstevent.c:
20130         * gst/gstghostpad.h:
20131         * gst/gstindex.h:
20132         * gst/gstinterface.h:
20133         * gst/gstminiobject.c:
20134         * gst/gstminiobject.h:
20135         * gst/gstpad.c:
20136         * gst/gstpad.h:
20137         * gst/gstpadtemplate.h:
20138         * gst/gstpipeline.h:
20139         * gst/gstpluginfeature.h:
20140         * gst/gstquery.h:
20141         * gst/gstqueue.h:
20142         * gst/gsttaglist.c:
20143         * gst/gsttaglist.h:
20144         * gst/gsttagsetter.c:
20145         * gst/gsttagsetter.h:
20146         * gst/gsttrace.c:
20147         * gst/gsttrace.h:
20148         * gst/gsttypefind.h:
20149         * gst/gsturi.h:
20150         * gst/gstvalue.c:
20151         * gst/net/gstnetclientclock.c:
20152         * gst/net/gstnetclientclock.h:
20153         * gst/net/gstnettimepacket.c:
20154         * gst/net/gstnettimeprovider.c:
20155         * gst/net/gstnettimeprovider.h:
20156         Doc fixes.
20157
20158 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20159
20160         * configure.ac: back to HEAD
20161
20162 === release 0.9.6 ===
20163
20164 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
20165
20166         * configure.ac:
20167           releasing 0.9.6, "Always On Time"
20168
20169 2005-11-23  Wim Taymans  <wim@fluendo.com>
20170
20171         * docs/gst/gstreamer-sections.txt:
20172         * gst/glib-compat.c:
20173         * gst/gsttagsetter.c:
20174         * gst/gstvalue.c:
20175         * gst/net/gstnetclientclock.c:
20176         * gst/net/gstnettimepacket.h:
20177         Doc updates.
20178
20179 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20180
20181         * docs/faq/using.xml:
20182         * docs/libs/tmpl/gstcontrol.sgml:
20183         * docs/manual/advanced-dparams.xml:
20184         * docs/manual/appendix-checklist.xml:
20185         * docs/manual/basics-elements.xml:
20186         * docs/pwg/other-source.xml:
20187         * docs/random/moving-plugins:
20188         * gst/gstpad.c:
20189         * tools/gst-launch.1.in:
20190           remove mentions of sinesrc
20191
20192 2005-11-23  Michael Smith <msmith@fluendo.com>
20193
20194         * docs/gst/gstreamer-sections.txt:
20195           Update for new API and API changes.
20196         * gst/gstobject.h:
20197           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
20198         * gst/gstvalue.c:
20199           Documentation typo fix.
20200         * gst/net/gstnettimepacket.c:
20201           Documentation fixes for arguments.
20202
20203 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
20204
20205         * gst/gststructure.c: (gst_structure_get_fraction),
20206         (gst_structure_parse_value),
20207         (gst_structure_fixate_field_nearest_fraction):
20208         * gst/gststructure.h:
20209         * gst/gstutils.c: (gst_util_uint64_scale_int):
20210         * gst/gstutils.h:
20211         * scripts/update-funcnames:
20212         API Changes. 
20213         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
20214         Make gst_structure_fixate_field_nearest_fraction take a numerator
20215         and denominator argument instead of a GValue
20216         add gst_structure_get_fraction helper function.
20217
20218 2005-11-23  Wim Taymans  <wim@fluendo.com>
20219
20220         * docs/design/part-TODO.txt:
20221         Update TODO.
20222
20223         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
20224         * gst/net/gstnetclientclock.h:
20225         Use parent fields for timeout and window_size.
20226
20227 2005-11-23  Andy Wingo  <wingo@pobox.com>
20228
20229         * check/net/gstnetclientclock.c (test_functioning): Adjust to
20230         rate_num/rate_denom change.
20231
20232         * gst/net/gstnetclientclock.c
20233         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
20234         OBJECT_LOCK. Don't call add_observation with the lock.
20235
20236         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
20237         fraction.
20238         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
20239         rate fraction.
20240         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20241         deal with rate as a fraction whose numerator and denominator are
20242         GstClockTime values.
20243         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20244         master; the other fields are protected by the SLAVE_LOCK.
20245         (do_linear_regression): Note that this must be called with the
20246         SLAVE_LOCK.
20247         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20248         OBJECT_LOCK. Call set_calibration instead of touching the
20249         variables directly.
20250         (gst_clock_set_property, gst_clock_get_property): Protect
20251         master/slave parameters with the SLAVE_LOCK.
20252
20253         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20254         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20255         note that all of the instance variables that add_observation and
20256         the set_master functions use are protected by that lock and not
20257         the OBJECT_LOCK.
20258         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20259
20260         * gst/gstclock.c (gst_clock_add_observation): No longer requires
20261         the caller to take the object lock.
20262
20263 2005-11-23  Wim Taymans  <wim@fluendo.com>
20264
20265         * gst/gsterror.c: (_gst_core_errors_init):
20266         * gst/gsterror.h:
20267         Add error for clock stuff.
20268
20269         * gst/gstpipeline.c: (gst_pipeline_change_state),
20270         (gst_pipeline_set_clock):
20271         Post clock error when clock cannot be used in a pipeline.
20272
20273 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
20274
20275         * docs/gst/gstreamer-sections.txt:
20276           make two symbols from gstinfo private for the docs
20277         * gst/base/gstcollectpads.h:
20278         * gst/gstutils.c:
20279           fix doc typos, update docs
20280
20281 2005-11-22  Wim Taymans  <wim@fluendo.com>
20282
20283         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20284         (gst_base_sink_wait), (gst_base_sink_do_sync),
20285         (gst_base_sink_handle_event):
20286         * gst/base/gstbasesink.h:
20287         No need to store the clock, the parent element class already
20288         has it.
20289
20290         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20291         Updates for clock_set returning a gboolean
20292
20293         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20294         (gst_clock_id_wait_async), (gst_clock_class_init),
20295         (gst_clock_init), (gst_clock_finalize),
20296         (gst_clock_get_internal_time), (gst_clock_get_time),
20297         (gst_clock_slave_callback), (gst_clock_set_master),
20298         (gst_clock_get_master), (do_linear_regression),
20299         (gst_clock_add_observation), (gst_clock_set_property),
20300         (gst_clock_get_property):
20301         * gst/gstclock.h:
20302         Implement master/slave. When setting a clock as a slave, a
20303         periodic timeout is scheduled to sample master and slave times.
20304         Then the slave clock is recalibrated to match offset and rate
20305         of the master clock.
20306         Update logging a bit.
20307         Add flag so that a clock can state that is cannot be slaved to
20308         another clock.
20309
20310         * gst/gstelement.c: (gst_element_set_clock):
20311         * gst/gstelement.h:
20312         The set clock returns a gboolean for when an element cannot
20313         deal with the selected clock in the pipeline. 
20314
20315         * gst/gstpipeline.c: (gst_pipeline_change_state),
20316         (gst_pipeline_set_clock):
20317         * gst/gstpipeline.h:
20318         Handle the case where the selected clock cannot be set on
20319         the pipeline.
20320
20321         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20322         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20323         (gst_net_client_clock_set_property),
20324         (gst_net_client_clock_get_property),
20325         (gst_net_client_clock_observe_times):
20326         * gst/net/gstnetclientclock.h:
20327         Use regression code in GstClock parent, remove duplicated
20328         functionality.
20329
20330 2005-11-22  Michael Smith <msmith@fluendo.com>
20331
20332         * gst/gstutils.c: (gst_util_clock_time_scale):
20333         * gst/gstutils.h:
20334         * docs/gst/gstreamer-sections.txt:
20335           Rename method to have extra underscore.
20336
20337 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20338
20339         * gst/elements/Makefile.am:
20340         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20341         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20342         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20343         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20344         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20345         * gst/elements/gstfakesrc.h:
20346         * gst/gstqueue.c: (queue_leaky_get_type):
20347           correctly fix GEnumValues so that nick is the short lowercase
20348           dashed tag
20349         * tools/gst-inspect.c: (print_element_properties_info):
20350           also show the nick, since it's useful to use from parse_launch
20351           syntax
20352           Fixes #322139
20353
20354 2005-11-22  Michael Smith <msmith@fluendo.com>
20355
20356         * gst/gstutils.c: (gst_util_clocktime_scale):
20357         * gst/gstutils.h:
20358         * docs/gst/gstreamer-sections.txt:
20359           Add util method for scaling a clocktime by a fraction. Useful 
20360           implementation is left as an exercise for the reader.
20361
20362 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20363
20364         * gst/gstvalue.c: (gst_value_collect_fraction_range):
20365         If needed, allocate storage in the destination value during
20366         collection.
20367
20368 2005-11-22  Edward Hervey  <edward@fluendo.com>
20369
20370         * docs/gst/gstreamer-sections.txt:
20371         * gst/Makefile.am:
20372         * gst/gst.h:
20373         * gst/gsturitype.c:
20374         * gst/gsturitype.h:
20375         * gst/gstutils.c: (gst_util_set_object_arg):
20376         * tools/gst-compprep.c: (main):
20377         * tools/gst-inspect.c: (print_element_properties_info):
20378         Removed GstURI, closes bug #321061
20379
20380 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20381
20382         * check/gst/gststructure.c: (GST_START_TEST):
20383         * gst/gststructure.c: (gst_structure_parse_value):
20384           Oops, broke automatic string type parsing.
20385           Add a test to catch it in future.
20386
20387 2005-11-22  Andy Wingo  <wingo@pobox.com>
20388
20389         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
20390         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20391         Actually rename the function implementations. Grr.
20392
20393 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20394
20395         * check/gst/capslist.h:
20396           Comment test cases
20397         * check/gst/gststructure.c: (GST_START_TEST),
20398         (gst_structure_suite):
20399           Test automatic value type detection in gst_structure_from_string.
20400         * gst/gststructure.c: (gst_structure_parse_value):
20401           Add fraction as a type we try and guess automatically in
20402           caps/structure strings.
20403
20404 2005-11-22  Andy Wingo  <wingo@pobox.com>
20405
20406         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20407
20408         * gst/gsttagsetter.h:
20409         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20410         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20411         (gst_tag_setter_add_tag_valist)
20412         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20413         _add_values, _add_valist, and _add_valist_values. Since this is an
20414         interface the function suffixes should be more explicit so
20415         language binding don't end up with element.add_valist ->
20416         gst_tag_setter_add_valist, for example. Fixes #322069.
20417
20418 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20419
20420         * check/gst/gstcaps.c: (GST_START_TEST):
20421           Extend caps string tests to check that a caps to string
20422           conversion is reversible and produces the same caps.
20423
20424         * gst/gststructure.c: (gst_structure_value_get_generic_type):
20425           Output "fraction" as the generic type fraction range, so caps
20426           serialisation and deserialisation works.
20427         * check/gst/capslist.h:
20428         * gst/gstvalue.c: (gst_value_deserialize_fraction):
20429           Support 'MIN' and 'MAX' for deserialising fractions.
20430
20431 2005-11-22  Andy Wingo  <wingo@pobox.com>
20432
20433         * gst/gstevent.h (gst_event_new_new_segment)
20434         (gst_event_parse_new_segment, gst_event_new_buffer_size)
20435         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20436         Renamed from *_newsegment, *_buffersize, *_notarget.
20437
20438         * scripts/update-funcnames: New script, performs the changes
20439         listed above.
20440
20441 2005-11-22  Wim Taymans  <wim@fluendo.com>
20442
20443         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20444         Make sure the GstFlowReturn is returned.
20445
20446         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20447         (gst_bus_add_signal_watch):
20448         * gst/gstbus.h:
20449         add gst_bus_add_signal_watch_full.
20450
20451         * gst/gstplugin.c: (gst_plugin_load_file):
20452         Small style cleanup.
20453
20454 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20455
20456         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20457           Block the fakesrc srcpad when we send an event, to avoid
20458           contention on the stream_lock causing random test failures.
20459
20460 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20461
20462         * check/gst/gstvalue.c: (GST_START_TEST):
20463         * gst/gstvalue.c: (gst_value_fraction_subtract):
20464           Fix subtraction.
20465
20466 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
20467
20468         * gst/gst.h:
20469           include "gstchildproxy.h"
20470         * gst/gstchildproxy.h:
20471         * libs/gst/controller/gstcontroller.h:
20472           use G_GNUC_NULL_TERMINATED
20473
20474 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20475
20476         * check/gst/capslist.h:
20477         * check/gst/gstcaps.c: (GST_START_TEST):
20478         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20479         * gst/gststructure.c: (gst_structure_parse_range),
20480         (gst_structure_fixate_field_nearest_fraction):
20481         * gst/gststructure.h:
20482         * gst/gstvalue.c: (gst_value_init_fraction_range),
20483         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20484         (gst_value_collect_fraction_range),
20485         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20486         (gst_value_set_fraction_range_full),
20487         (gst_value_get_fraction_range_min),
20488         (gst_value_get_fraction_range_max),
20489         (gst_value_serialize_fraction_range),
20490         (gst_value_transform_fraction_range_string),
20491         (gst_value_compare_fraction_range),
20492         (gst_value_deserialize_fraction_range),
20493         (gst_value_intersect_fraction_fraction_range),
20494         (gst_value_intersect_fraction_range_fraction_range),
20495         (gst_value_subtract_fraction_fraction_range),
20496         (gst_value_subtract_fraction_range_fraction),
20497         (gst_value_subtract_fraction_range_fraction_range),
20498         (gst_value_collect_fraction), (gst_value_fraction_multiply),
20499         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20500         (gst_value_transform_string_fraction), (_gst_value_initialize):
20501         * gst/gstvalue.h:
20502           Implement fraction ranges and extend GstFraction to support
20503           arithmetic subtraction, as well as deserialization from integer
20504           strings such as "100"
20505           Add a testsuite as for int and double range set operations
20506
20507 2005-11-21  Andy Wingo  <wingo@pobox.com>
20508
20509         * gst/gsttaglist.h: 
20510         * gst/gstcaps.h: 
20511         * gst/gststructure.h: Add glib-compat.h.
20512
20513 2005-11-21  Wim Taymans  <wim@fluendo.com>
20514
20515         * gst/gstbin.c: (gst_bin_change_state_func):
20516         Fix for #321595
20517
20518 2005-11-21  Wim Taymans  <wim@fluendo.com>
20519
20520         * gst/gstsegment.h:
20521         And add a nice define too.
20522
20523 2005-11-21  Wim Taymans  <wim@fluendo.com>
20524
20525         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20526         (gst_segment_new), (gst_segment_free), (gst_segment_init),
20527         (gst_segment_set_duration), (gst_segment_set_last_stop),
20528         (gst_segment_set_seek), (gst_segment_set_newsegment),
20529         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20530         (gst_segment_clip):
20531         * gst/gstsegment.h:
20532         Make binding friendly.
20533
20534 2005-11-21  Andy Wingo  <wingo@pobox.com>
20535
20536         * gst/gsttagsetter.h: 
20537         * gst/gsttaglist.h: 
20538         * gst/gststructure.h: 
20539         * gst/gstcaps.h: 
20540         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20541         #319940.
20542
20543         * gst/gsterror.c (_gst_core_errors_init):
20544         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20545         category.
20546
20547         * gst/Makefile.am (gst_headers): Add glib-compat.h.
20548         (noinst_HEADERS): noinst the -private.
20549
20550 2005-11-21  Michael Smith <msmith@fluendo.com>
20551
20552         * gst/gstplugin.h:
20553         * gst/gstregistry.h:
20554           Remove unimplemented declarations for which we can see no sensible
20555           use.
20556
20557 2005-11-21  Andy Wingo  <wingo@pobox.com>
20558
20559         * gst/gst.h: Include glib-compat.h.
20560
20561         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20562
20563         * gst/glib-compat.c: Include the public and the private header.
20564
20565         * gst/glib-compat-private.h: Copied here from glib-compat.h.
20566
20567         * gst/gstvalue.c: 
20568         * gst/gstpad.c: 
20569         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20570
20571         * check/gst/gstevent.c (create_custom_events): Check that
20572         FLUSH_STOP is serialized.
20573
20574         * check/elements/identity.c (event_func): 
20575         * check/elements/fakesrc.c (event_func): No stream lock, the core
20576         takes it.
20577
20578         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20579         stream lock taking, yay.
20580
20581         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20582         ensure that core takes the stream lock.
20583
20584         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20585         lock name change.
20586
20587         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20588         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20589         it already. For the flush start we do take it though so we get the
20590         right preroll state change messages.
20591
20592         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20593         the stream lock here, the core does it for us.
20594
20595         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20596         GST_STREAM_GET_LOCK.
20597         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
20598         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
20599         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20600         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20601         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
20602         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20603
20604         * gst/gstpad.c: Update for stream lock name change.
20605
20606         * gst/base/gstbasesink.c: Update for preroll lock name change.
20607
20608 2005-11-21  Wim Taymans  <wim@fluendo.com>
20609
20610         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20611         (gst_clock_get_master):
20612         * gst/gstclock.h:
20613         * gst/gstsystemclock.c: (gst_system_clock_init):
20614         Convert Clock flags to object flags.
20615         Added methods to manage master/slave clocks.
20616
20617 2005-11-21  Wim Taymans  <wim@fluendo.com>
20618
20619         * check/gst/gstsegment.c: (GST_START_TEST):
20620         * docs/design/part-TODO.txt:
20621         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20622         (gst_base_sink_event), (gst_base_sink_do_sync),
20623         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20624         (gst_base_sink_query), (gst_base_sink_change_state):
20625         * gst/base/gstbasesink.h:
20626         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20627         (gst_base_src_default_newsegment),
20628         (gst_base_src_configure_segment), (gst_base_src_do_seek),
20629         (gst_base_src_get_range), (gst_base_src_loop),
20630         (gst_base_src_change_state):
20631         * gst/base/gstbasesrc.h:
20632         * gst/base/gstbasetransform.c:
20633         (gst_base_transform_prepare_output_buf),
20634         (gst_base_transform_event), (gst_base_transform_change_state):
20635         * gst/base/gstbasetransform.h:
20636         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20637         (gst_collect_pads_event):
20638         * gst/base/gstcollectpads.h:
20639         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20640         (gst_fake_src_create):
20641         * gst/elements/gstfakesrc.h:
20642         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20643         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20644         (gst_segment_set_last_stop), (gst_segment_set_seek),
20645         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20646         (gst_segment_to_running_time), (gst_segment_clip):
20647         * gst/gstsegment.h:
20648         More segment updates, replace code in plugins with segment
20649         helper functions.
20650
20651 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20652
20653         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20654         Don't ignore sscanf results
20655
20656 2005-11-21  Andy Wingo  <wingo@pobox.com>
20657
20658         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20659
20660         * *.h:
20661         * *.c: Ran scripts/update-macros. Oh yes.
20662
20663         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20664         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20665         GST_GET_LOCK, etc.
20666
20667         * scripts/update-macros: New script. Run it on your files to
20668         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20669         well.
20670
20671 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20672
20673         * docs/gst/Makefile.am:
20674         * docs/gst/gstreamer-docs.sgml:
20675         * docs/gst/gstreamer-sections.txt:
20676         * docs/gst/gstreamer.types:
20677         * gst/gstinfo.h:
20678           more docs fixes, add new api to the docs
20679
20680 2005-11-21  Andy Wingo  <wingo@pobox.com>
20681
20682         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20683         state_broadcast call.
20684
20685         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20686
20687 2005-11-21  Julien MOUTTE  <julien@moutte.net>
20688
20689         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20690         function calls for arrays.
20691
20692 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20693
20694         * docs/random/ensonic/media-device-daemon.txt:
20695           wild idea, can this be done?
20696         * docs/gst/gstreamer-sections.txt:
20697         * gst/gsterror.h:
20698         * gst/gstfilter.c:
20699         * gst/gstfilter.h:
20700         * gst/gstplugin.h:
20701         * gst/gstpluginfeature.c:
20702         * gst/gsttrace.c:
20703         * gst/gstvalue.c:
20704         * gst/gstvalue.h:
20705           doc fixes and additions
20706
20707 2005-11-21  Andy Wingo  <wingo@pobox.com>
20708
20709         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
20710         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
20711         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
20712         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20713         private to the basesrc implementation.
20714
20715         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20716         behalf of event function if necessary. It should no longer be
20717         necessary to take the stream lock in pad's event functions. Fixes
20718         #320299.
20719
20720 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20721         * docs/gst/gstreamer-sections.txt:
20722         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20723         (gst_structure_fixate_field_nearest_double),
20724         (gst_structure_fixate_field_boolean):
20725         * gst/gststructure.h:
20726         * win32/common/libgstreamer.def:
20727         * win32/gstreamer.def:
20728
20729         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20730         (#322027)
20731
20732 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20733
20734         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20735         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20736         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20737         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20738         (gst_fdsrc_uri_handler_init):
20739         * gst/elements/gstfdsrc.h:
20740           Port fd:// URI handler from 0.8 to fdsrc
20741
20742 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20743
20744         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20745         (gst_value_serialize_fourcc):
20746         * gst/gstvalue.h:
20747           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20748           consistent with our other format defines (#320324).
20749
20750 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20751
20752         * gst/gstvalue.c: (gst_value_is_fixed):
20753           Revert previous commit. Value lists are by definition
20754           not fixed, as they are a list of possible values.
20755
20756 2005-11-21  Andy Wingo  <wingo@pobox.com>
20757
20758         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20759         during the stable series if we need it. Fixes #319178.
20760
20761         * gst/gstevent.c (gst_event_new_filler): Removed.
20762
20763         * check/gst/gstevent.c: Update comment about filler events.
20764
20765 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20766
20767         * gst/gstvalue.c: (gst_value_is_fixed):
20768           Should handle both value arrays and value lists.
20769
20770 2005-11-21  Andy Wingo  <wingo@pobox.com>
20771
20772         patch by: Alessandro Dessina <alessandro nnva org>
20773
20774         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20775         functions to access arrays. Fixes #321962.
20776
20777 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20778
20779         * docs/gst/gstreamer.types:
20780           gst_collectpads_get_type => gst_collect_pads_get_type.
20781           
20782         * gst/base/gstbasetransform.c:
20783           Remove unused SIGNAL_HANDOFF enum.
20784
20785 2005-11-21  Andy Wingo  <wingo@pobox.com>
20786
20787         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20788         the event type (upstream, downstream, serialized). Renamed
20789         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20790         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20791         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20792
20793         * gst/gstevent.c: Update for new CUSTOM event names.
20794
20795         * check/gst/gstevent.c: Update check for new CUSTOM event names.
20796
20797         * gst/gstevent.h:
20798         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
20799         bug #319392.
20800
20801 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20802
20803         * docs/gst/gstreamer-sections.txt:
20804         * win32/common/libgstbase.def:
20805         * win32/libgstbase.def:
20806         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20807         (gst_collect_pads_class_init), (gst_collect_pads_init),
20808         (gst_collect_pads_finalize), (gst_collect_pads_new),
20809         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
20810         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
20811         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
20812         (gst_collect_pads_start), (gst_collect_pads_stop),
20813         (gst_collect_pads_peek), (gst_collect_pads_pop),
20814         (gst_collect_pads_available), (gst_collect_pads_read),
20815         (gst_collect_pads_flush), (gst_collect_pads_event),
20816         (gst_collect_pads_chain):
20817         * gst/base/gstcollectpads.h:
20818           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
20819           unimplemented functions as unimplemented. Add padding to
20820           GstCollectData. (#320766, #320423)
20821
20822 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20823
20824         * gst/gstmessage.c:
20825           Improve docs for DURATION message (usage of duration parameter)
20826           (#320113)
20827
20828 2005-11-20  Wim Taymans  <wim@fluendo.com>
20829
20830         * check/Makefile.am:
20831         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
20832         (main):
20833         * gst/Makefile.am:
20834         * gst/gst.h:
20835         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20836         (gst_segment_set_seek), (gst_segment_set_newsegment),
20837         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20838         (gst_segment_clip):
20839         * gst/gstsegment.h:
20840         Added segment helper structure and methods. Not fully implemented
20841         yet.
20842         Added segment check.
20843
20844 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
20845
20846         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20847           Add a deserialisation test for fractions
20848         * examples/metadata/read-metadata.c: (message_loop),
20849         (make_pipeline), (main):
20850           Fix up metadata reading sample.
20851         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20852           Debug format fix
20853         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20854           Don't try and fixate empty caps
20855         * gst/gst_private.h:
20856           Wrap in G_BEGIN_DECLS/G_END_DECLS
20857         * gst/gstvalue.c: (gst_value_collect_fraction),
20858         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
20859         (gst_value_transform_string_fraction),
20860         (gst_value_compare_fraction):
20861           Add some extra guards to ensure that we don't end up 
20862           with an invalid denominator of 0 in a gstfraction and
20863           that fractions always get reduced.
20864
20865 2005-11-20  Wim Taymans  <wim@fluendo.com>
20866
20867         * docs/gst/gstreamer-sections.txt:
20868         * gst/gstbuffer.h:
20869         * gst/gstelement.c:
20870         * gst/gstformat.c:
20871         * gst/gstformat.h:
20872         * gst/gstindex.h:
20873         * gst/gstquery.c:
20874         * gst/gstquery.h:
20875         * gst/gstvalue.c:
20876         Doc fixes.
20877
20878 2005-11-20  Wim Taymans  <wim@fluendo.com>
20879
20880         * docs/design/part-TODO.txt:
20881         * gst/gstcaps.h:
20882         Make a proper enum of the flag.
20883
20884 2005-11-19  Wim Taymans  <wim@fluendo.com>
20885
20886         * docs/design/part-TODO.txt:
20887         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
20888         (gst_format_to_quark), (gst_format_register):
20889         * gst/gstformat.h:
20890         * gst/gstquery.c: (_gst_query_initialize),
20891         (gst_query_type_get_name), (gst_query_type_to_quark),
20892         (gst_query_type_register):
20893         * gst/gstquery.h:
20894         Add type to quark and type to string conversions.
20895
20896 2005-11-19  Andy Wingo  <wingo@pobox.com>
20897
20898         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
20899         #320097.
20900
20901 2005-11-19  Wim Taymans  <wim@fluendo.com>
20902
20903         * docs/design/part-TODO.txt:
20904         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20905         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
20906         (gst_bin_handle_message_func):
20907         * gst/gstbin.h:
20908         Make message handling overridable.
20909
20910 2005-11-19  Andy Wingo  <wingo@pobox.com>
20911
20912         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
20913
20914         * gst/gstclock.h:
20915         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
20916         be a GstClockTime.
20917         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
20918         is a GstClockTime. Fixes #321710.
20919
20920         * gst/gstclock.h (GstClock): Remove offset property. Add
20921         internal_calibration and external_calibration. Fix padding. Pad
20922         also by GstClockTime so we don't run into problems.
20923
20924         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
20925         (gst_clock_get_rate_offset): Remove.
20926         (gst_clock_set_time_adjust): Remove. Fixes #321712.
20927
20928         * gst/gstutils.h:
20929         * gst/gstutils.c (g_static_rec_cond_wait)
20930         (g_static_rec_cond_timed_wait): Removed, no longer needed.
20931
20932         * gst/gstbin.c: Remove terrible continue_state prototype.
20933
20934         * gst/gstelement.h (gst_element_continue_state): Make public.
20935
20936         * gst/gstelement.h:
20937         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
20938         by continue_state. Fixes #319389.
20939
20940         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
20941         Really fixes #168438. However I don't see anywhere where the
20942         filter function is called... stupid GStreamer...
20943         
20944         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
20945         don't have a dispose function, so it won't get called when the
20946         object is unreffed, but oh well!
20947
20948         * gst/gstindex.c (gst_index_set_filter_full): New API function,
20949         allows a destroy function to be set so user_data can be freed.
20950         Fixes #168438.
20951         (gst_index_set_filter): Call gst_index_set_filter_full.
20952
20953         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
20954
20955         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
20956         string should produce an error, given the lack of a way to
20957         represent NULL strings. Fixes #165650.
20958         
20959         * gst/gstvalue.h: 
20960         * gst/gstvalue.c (gst_value_array_append_value) 
20961         (gst_value_array_prepend_value, gst_value_array_get_size) 
20962         (gst_value_array_get_value): New API, copied from
20963         gst_value_list_*, only operates on arrays.
20964         (gst_value_list_append_value, gst_value_list_prepend_value) 
20965         (gst_value_list_concat, gst_value_list_get_size) 
20966         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
20967
20968         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
20969         init_list, because it works on both.
20970         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
20971         (gst_value_copy_list_or_array): Renamed from copy_list.
20972         (gst_value_free_list_or_array): Renamed from free_list.
20973         (gst_value_collect_list_or_array): Renamed from collect_list.
20974         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
20975         (gst_value_list_or_array_peek_pointer): Renamed from
20976         list_peek_pointer.
20977         (_gst_value_array_value_table, _gst_value_list_value_table):
20978         Update value table functions.
20979         (gst_value_compare_list_or_array): Renamed from compare_list.
20980
20981         * gsttaglist.h: Whoops, foreach function returns void. Also fix
20982         some constness.
20983
20984         * gst/gsttaglist.c:
20985         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
20986         GstTagList*. Fixes #143472.
20987
20988         * gst/gststructure.h: Clarify what the foreach/map functions can
20989         or can't do to their arguments.
20990
20991 2005-11-18  Wim Taymans  <wim@fluendo.com>
20992
20993         * gst/gstclock.c: (gst_clock_set_calibration),
20994         (gst_clock_get_calibration):
20995         Doc and API fixes.
20996         Calibration can be set with internal time equal to current
20997         internal time too.
20998
20999 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21000
21001         * gst/gsterror.c:
21002         * gst/gsterror.h:
21003           document
21004
21005 2005-11-18  Andy Wingo  <wingo@pobox.com>
21006
21007         * configure.ac: 
21008         * pkgconfig/gstreamer-net.pc.in:
21009         * pkgconfig/gstreamer-net-uninstalled.pc.in:
21010         * pkgconfig/Makefile.am: Add net pkgconfig files.
21011
21012 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
21013
21014         * gst/gstcaps.c:
21015         * gst/gstghostpad.c:
21016         * gst/gsttrace.c:
21017         * gst/gstvalue.c:
21018         * gst/gstvalue.h:
21019           docs fixes
21020
21021 2005-11-18  Andy Wingo  <wingo@pobox.com>
21022
21023         * gst/net/gstnetclientclock.c: Turn off debugging.
21024
21025         * check/net/gstnetclientclock.c (test_functioning): Assert that the
21026         times connverge somewhat. Can't make a real test.
21027
21028         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
21029         integer arithmetic. Return the minimum of the domain, which can be
21030         set as "internal" for gst_clock_set_calibration.
21031         (gst_net_client_clock_observe_times): Call _set_calibration.
21032         (gst_net_client_clock_new): Call _set_calibration instead of
21033         rate_offset.
21034
21035         * check/net/gstnetclientclock.c (test_functioning): Use the right
21036         adjustment api.
21037
21038         * gst/gstclock.h:
21039         * gst/gstclock.c (gst_clock_get_calibration) 
21040         (gst_clock_set_calibration): New functions, obsolete the ones I
21041         added yesterday. Doh. Precision issues mean we have to extrapolate
21042         from a point in the more recent past than 1970.
21043         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
21044         obsolete.
21045         (gst_clock_adjust_unlocked): Use the right calibration data.
21046
21047 2005-11-18  Edward Hervey  <edward@fluendo.com>
21048
21049         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
21050         Also reset the ->current_* values in READY->PAUSED
21051
21052 2005-11-18  Andy Wingo  <wingo@pobox.com>
21053
21054         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
21055         Whoops, check the right fd. Also add some debugging.
21056         (gst_net_client_clock_observe_times): Adjust for int64 offset.
21057         (do_linear_regression): Add a crapload of debugging. Subtract off
21058         the minimum values from the input series to discard unneeded bits.
21059         Use only int arithmetic. There is still double arithmetic when
21060         calculating the intercept that needs fixing. Return boolean to
21061         indicate success; FALSE would mean the domain or range is too
21062         great. Still needs fixes.
21063
21064 2005-11-18  Wim Taymans  <wim@fluendo.com>
21065
21066         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
21067         For the current position in stream time, we need to subtract
21068         accumulated time.
21069         
21070         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
21071         Release lock before calling the callback function of async
21072         entries.
21073
21074 2005-11-18  Andy Wingo  <wingo@pobox.com>
21075
21076         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
21077         Port goes all the way to MAXUINT16.
21078
21079         * gst/net/gstnettimeprovider.c: Make the port range the same as
21080         for the kernel: 0 assigns, otherwise ports are less than
21081         MAXUINT16.
21082
21083         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
21084         port change.
21085
21086         * check/net/gstnetclientclock.c (test_functioning): Add the start
21087         of another test. 
21088
21089 2005-11-18  Wim Taymans  <wim@fluendo.com>
21090
21091         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21092         (gst_bin_remove_func), (bin_bus_handler):
21093         * gst/gstbin.h:
21094         Removing a clock provider from a bin, triggers a clock lost message
21095         so that a new clock will be selected.
21096         Adding a clock to a bin triggers a clock provider message.
21097         Make sure we reselect a clock when we received a clock lost message.
21098         Keep a reference to the element that provided the clock.
21099
21100 2005-11-18  Andy Wingo  <wingo@pobox.com>
21101
21102         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
21103         the clock initially so it produces values around the base time.
21104         (gst_net_client_clock_class_init): Typo fix.
21105         (gst_net_client_clock_thread): Add note on when the socket gets
21106         closed.
21107
21108 2005-11-17  Wim Taymans  <wim@fluendo.com>
21109
21110         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
21111         Free remote and local time arrays.
21112
21113 2005-11-17  Wim Taymans  <wim@fluendo.com>
21114
21115         * gst/net/gstnetclientclock.c: (do_linear_regression),
21116         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
21117         Fix compilation, uninitialized vars and a forgotten continue.
21118
21119 2005-11-17  Andy Wingo  <wingo@pobox.com>
21120
21121         * check/Makefile.am (check_PROGRAMS): 
21122         * check/net/gstnetclientclock.c: Add a most minimal test for the
21123         net client clock. More to come later.
21124
21125         * gst/net/gstnet.h: 
21126         * gst/net/Makefile.am: Add netclientclock.
21127
21128         * gst/net/gstnetclientclock.h:
21129         * gst/net/gstnetclientclock.c: New files, implement an untested
21130         GstClock that takes its time from a network time provider.
21131         Implements the algorithm in network-clock.scm.
21132
21133         * tests/network-clock.scm (*window-size*): Rename from
21134         *queue-length*.
21135         * tests/network-clock.scm (network-time): 
21136         * tests/network-clock-utils.scm (q-push): Update callers.
21137
21138 2005-11-17  Wim Taymans  <wim@fluendo.com>
21139
21140         * gst/gstbin.c: (gst_bin_provide_clock_func),
21141         (gst_bin_sort_iterator_new):
21142         And unref the child too..
21143
21144 2005-11-17  Wim Taymans  <wim@fluendo.com>
21145
21146         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
21147         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
21148         Refactor the sort iterator so it can be used while holding the
21149         LOCK too.
21150         Make clock selection select a clock closest to the source.
21151
21152 2005-11-17  Michael Smith <msmith@fluendo.com>
21153
21154         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
21155         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
21156         * gst/gstclock.h:
21157           Anonymous structs are a gcc (and some other compilers) extension, so
21158           don't use them. Since this is only for ABI-compatibility, and our
21159           API/ABI freeze is over in a few days, this whole thing will only
21160           last a few days, so don't bother trying to think up a meaningful
21161           name for the struct.
21162
21163 2005-11-17  Andy Wingo  <wingo@pobox.com>
21164
21165         * gst/gstclock.h (GstClock): Add rate and offset properties,
21166         preserving ABI stability. Add rate/offset accessors. Will file bug
21167         for the freeze break.
21168
21169         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
21170         and offset, trying to keep precision and avoiding
21171         underflow/overflow.
21172         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
21173         functions. Make gst_clock_set_time_adjust obsolete.
21174         (gst_clock_set_time_adjust): Note that this function is obsolete.
21175         Will file bug soon.
21176
21177         * gst/base/gstbasetransform.h: Make the ABI-stability hack
21178         greppable by using GST_PADDING-1+1.
21179
21180 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
21181
21182         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21183
21184         * gst/gstmessage.c: (gst_message_parse_clock_lost):
21185           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
21186
21187         * gst/gstpadtemplate.h:
21188         * gst/gstpluginfeature.h:
21189           Don't use c++ style comments in headers (#321638).
21190
21191 2005-11-16  Andy Wingo  <wingo@pobox.com>
21192
21193         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
21194         buffer.
21195
21196         * check/net/gstnettimeprovider.c: Check to see that the time
21197         provider actually provides times. Works, yo!
21198
21199 2005-11-16  Wim Taymans  <wim@fluendo.com>
21200
21201         * check/Makefile.am:
21202         Enable more tests.
21203
21204         * check/elements/fakesrc.c: (GST_START_TEST):
21205         Set element to NULL before disposing it.
21206
21207 2005-11-16  Andy Wingo  <wingo@pobox.com>
21208
21209         * gst/net/Makefile.am:
21210         * gst/net/gstnet.h:
21211         * gst/net/gstnettimeprovider.c: 
21212         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
21213         provider, include it from gstnet.h, and add it to the build.
21214
21215         * gst/net/gstnettimepacket.h: 
21216         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
21217         sending and receiving.
21218
21219 2005-11-16  Wim Taymans  <wim@fluendo.com>
21220
21221         * check/Makefile.am:
21222         Enable valgrind check.
21223
21224         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
21225         (gst_fake_src_alloc_buffer):
21226         Fix memleak.
21227
21228 2005-11-16  Wim Taymans  <wim@fluendo.com>
21229
21230         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
21231         Call parent finalize too.
21232
21233 2005-11-16  Wim Taymans  <wim@fluendo.com>
21234
21235         * check/Makefile.am:
21236         Enable valgrind check that should work fine now.
21237
21238         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21239         * gst/gstqueue.c: (gst_queue_init):
21240         Fix memleaks in pad allocation.
21241
21242 2005-11-16  Andy Wingo  <wingo@pobox.com>
21243
21244         * gst/net/Makefile.am:
21245         * gst/net/gstnet.h: New part of core to hold network elements and
21246         objects. Put in core because it exposes API that applications want
21247         to use. The library is named libgstnet-tempname right now because
21248         of the existing libgstnet in gst-plugins-base. Solution is
21249         probably to rename the one in plugins-base; will file a bug for
21250         the freeze break.
21251
21252         * gst/net/gstnettimeprovider.c: 
21253         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21254         get_time call over the network.
21255
21256         * configure.ac: 
21257         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21258
21259         * check/Makefile.am:
21260         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21261         get additions shortly.
21262
21263 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21264
21265         * gst/gstpad.c: (gst_pad_new_from_static_template):
21266         * gst/gstpad.h:
21267           add gst_pad_new_from_static_template functions
21268         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21269         (gst_check_setup_sink_pad):
21270         * gst/elements/gsttee.c: (gst_tee_init):
21271           and use them
21272
21273 2005-11-16  Wim Taymans  <wim@fluendo.com>
21274
21275         * gst/gstpad.c: (gst_pad_pause_task):
21276         Removed warning, it's not really an error either.
21277
21278 2005-11-16  Wim Taymans  <wim@fluendo.com>
21279
21280         * gst/base/gstbasetransform.c:
21281         (gst_base_transform_prepare_output_buf),
21282         (gst_base_transform_event):
21283         Check if the caps are NULL, this can happen if the element
21284         is shutting down and the pad caps are set to NULL.
21285
21286 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21287
21288         * gst/elements/gsttee.c: (gst_tee_init):
21289           fix pad template leak in tee
21290
21291 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21292
21293         * gst/glib-compat.c: (g_value_dup_gst_object):
21294         * gst/glib-compat.h:
21295         * gst/gstpad.c: (gst_pad_set_property):
21296           use gst_object_ref when setting the pad template; this will
21297           trigger the pad template leaks on GLib 2.6 and the slaves
21298
21299 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21300
21301         * gst/glib-compat.c: (gst_flags_get_first_value):
21302         * gst/glib-compat.h:
21303         * gst/gstregistryxml.c:
21304           remove functions copied from GLib 2.6
21305
21306 2005-11-16  Michael Smith <msmith@fluendo.com>
21307
21308         * gst/Makefile.am:
21309           Don't link against VALGRIND_LIBS. That was always the wrong thing to
21310           do, but only breaks with newer valgrind versions. We're not a
21311           valgrind tool, we have no link-time dependencies on libcoregrind.
21312
21313 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21314
21315         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21316           some debug changes
21317         * gst/gstmessage.h:
21318           typo fixes
21319
21320 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21321
21322         * gst/base/gstbasesrc.c: (gst_base_src_init):
21323         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21324         * gst/gstqueue.c: (gst_queue_init):
21325         * gst/gstregistryxml.c: (load_feature):
21326           Revert all these unrefs, they don't even pass make check !
21327
21328 2005-11-15  Johan Dahlin  <johan@gnome.org>
21329
21330         * gst/base/gstbasesrc.c: (gst_base_src_init):
21331         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21332         * gst/gstqueue.c: (gst_queue_init): 
21333         Free pad templates, fixes a couple of leaks.
21334
21335 2005-11-15  Daniel Fischer  <dan at f3c dot com>
21336
21337         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21338
21339         * gst/gstpad.c: (gst_pad_get_property):
21340           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21341           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21342           (#321452)
21343
21344 2005-11-15  Wim Taymans  <wim@fluendo.com>
21345
21346         * gst/gstevent.c:
21347         Small doc update.
21348
21349 2005-11-15  Andy Wingo  <wingo@pobox.com>
21350
21351         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21352
21353         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21354         using GST_CLOCK_TIME_NONE to disable base time management.
21355         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21356         time if it was NONE before.
21357         (gst_pipeline_change_state): Only munge the base time if
21358         stream_time != GST_CLOCK_TIME_NONE.
21359
21360         * check/gst/gstpipeline.c (test_base_time): Punt around the
21361         problem of the probe not being called, because that's not the
21362         issue I'm looking at. Add a check that setting stream_time to NONE
21363         disables base time management.
21364         
21365 2005-11-15  Wim Taymans  <wim@fluendo.com>
21366
21367         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21368         segment_stop == -1 at startup.
21369
21370         * gst/base/gstbasetransform.c: (gst_base_transform_event),
21371         (gst_base_transform_change_state):
21372         Init segment values at start.
21373
21374 2005-11-15  Wim Taymans  <wim@fluendo.com>
21375
21376         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21377         0 segment values are 0 in any format.
21378
21379         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21380         * gst/base/gstbasetransform.h:
21381         Parse newsegment correctly in basetransform
21382
21383         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21384         Sync to clock using updated segment values.
21385
21386 2005-11-15  Andy Wingo  <wingo@pobox.com>
21387
21388         * check/gst/gstpipeline.c (test_base_time): Add check that the
21389         base time and stream time are reset correctly.
21390
21391 2005-11-15  Wim Taymans  <wim@fluendo.com>
21392
21393         * docs/design/part-TODO.txt:
21394         Some more TODO items.
21395
21396 2005-11-15  Andy Wingo  <wingo@pobox.com>
21397
21398         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21399         error if the user selected "no clock" as the clocking method.
21400
21401         * check/gst/gstpipeline.c (test_base_time): New test for buffer
21402         timestamps with live capture.
21403
21404         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21405         is 0 but we are a live source, timestamp the buffers using the
21406         element's clock.
21407
21408 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
21409
21410         * docs/gst/gstreamer-sections.txt:
21411         * gst/gsterror.c:
21412         * gst/gstghostpad.c:
21413         * gst/gstobject.h:
21414         * gst/gstxml.c:
21415           more section docs
21416
21417 2005-11-14  Wim Taymans  <wim@fluendo.com>
21418
21419         * common/gst.supp:
21420           add suppressions from Wim's Debian machine
21421
21422 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
21423
21424         * common/gst.supp:
21425           add suppressions from Andy's AMD64 Ubuntu machine
21426
21427 2005-11-14  Andy Wingo  <wingo@pobox.com>
21428
21429         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21430         STATE_LOCK not necessary. Fixes #311489.
21431
21432         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21433         #305291.
21434
21435         * gst/gstindex.c (gst_index_add_object): Note in the docs that
21436         this function is not implemented.
21437
21438 2005-11-14  Julien MOUTTE  <julien@moutte.net>
21439
21440         * gst/base/gstbasetransform.c:
21441         (gst_base_transform_prepare_output_buf):
21442         Ref the source pad caps while we need them.
21443         Fixes (#321386)
21444
21445 2005-11-11  Wim Taymans  <wim@fluendo.com>
21446
21447         * docs/gst/gstreamer-sections.txt:
21448         Added some docs for GstCollectData.
21449
21450         * gst/base/gstadapter.c:
21451         Some small code example fix.
21452
21453         * gst/base/gstcollectpads.c:
21454         * gst/base/gstcollectpads.h:
21455         Document some more.
21456
21457 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21458
21459         * configure.ac: back to HEAD
21460
21461 === release 0.9.5 ===
21462
21463 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
21464
21465         * configure.ac:
21466           releasing 0.9.5, "Bike Lunch Day"
21467
21468 2005-11-11  Wim Taymans  <wim@fluendo.com>
21469
21470         * gst/gstbuffer.c: (_gst_buffer_copy):
21471         Copy more flags.
21472
21473         * gst/gstcaps.c: (gst_caps_is_equal):
21474         Fix some docs.
21475         Make _is_equal fast in the trivial cases.
21476
21477         * gst/gstminiobject.c:
21478         * gst/gstminiobject.h:
21479         More docs. Spifify .h file.
21480
21481         * gst/gstutils.c:
21482         Small doc update.
21483
21484 2005-11-11  Wim Taymans  <wim@fluendo.com>
21485
21486         * gst/base/gstbasetransform.c:
21487         (gst_base_transform_prepare_output_buf),
21488         (gst_base_transform_handle_buffer):
21489         Small cleanups.
21490         If we're processing a buffer and need to allocate an output
21491         buffer, we cannot accept a format change. If we did get a 
21492         format change, we have to alloc a buffer ourselves of the 
21493         right size.
21494
21495 2005-11-11  Wim Taymans  <wim@fluendo.com>
21496
21497         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21498         While checking the flag for reentrancy in the gstcaps function
21499         is nice to detect recursive invocations, it also makes it 
21500         impossible to call getcaps from multiple threads, which must be
21501         possible. So, checking for recursive calls has to go.
21502
21503 2005-11-11  Michael Smith <msmith@fluendo.com>
21504
21505         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21506           Don't sync on buffers that fall partially outside our current
21507           segment. Prevents an assertion failure/abort playing some files.
21508
21509 2005-11-10  Andy Wingo  <wingo@pobox.com>
21510
21511         * check/gst/gstbin.c (test_message_state_changed_children): Style
21512         fix..
21513
21514         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21515         gst_bus_poll with the signal watch. Ensures that poll and a signal
21516         watch see the same messages.
21517
21518         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21519         a poll and a watch at the same time get the same messages.
21520
21521 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21522
21523         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21524         * gst/gstcaps.c: (gst_caps_intersect):
21525           Don't call gst_caps_do_simplify - it doesn't respect order of caps
21526           and it's not needed.
21527
21528 2005-11-10  Wim Taymans  <wim@fluendo.com>
21529
21530         * docs/design/part-TODO.txt:
21531         Updated todo.
21532
21533 2005-11-10  Wim Taymans  <wim@fluendo.com>
21534
21535         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21536         * gst/base/gstbasesrc.c: (gst_base_src_wait),
21537         (gst_base_src_do_sync), (gst_base_src_get_range):
21538         Implement clock sync in base class.
21539
21540 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21541
21542         patch by: Tim-Philipp Müller <tim at centricular dot net>
21543
21544         * gst/gststructure.c: (gst_structure_parse_field),
21545         (gst_structure_from_string):
21546           Forward-port a 0.8 patch to handle escaped spaces in structure string,
21547           so that gst_parse_launch() can deal with spaces in filtered link
21548           caps (fixes #164479)
21549         * check/gst/capslist.h:
21550         * check/gst/gststructure.c: (GST_START_TEST):
21551           add unit tests for this change
21552
21553 2005-11-10  Wim Taymans  <wim@fluendo.com>
21554
21555         * docs/gst/gstreamer-sections.txt:
21556         * gst/gstelement.c:
21557         * gst/gstelement.h:
21558         Fix docs, move some STATE macros to private.
21559
21560 2005-11-10  Wim Taymans  <wim@fluendo.com>
21561
21562         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21563         Added check for bug #317341
21564
21565         * gst/gstbuffer.c:
21566         * gst/gstbuffer.h:
21567         Some more spiffifying.
21568
21569         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21570         Call peer linkfunction if we are a source pad. Totally fixes
21571         #317341
21572
21573         * gst/gstpad.c:
21574         Update docs, source pads should call the peer linkfunction
21575         so they can atomically perform the pad link.
21576
21577 2005-11-09  Wim Taymans  <wim@fluendo.com>
21578
21579         * gst/gstbuffer.c:
21580         * gst/gstbuffer.h:
21581         Uber-spiffy-spiffify some more.
21582
21583 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
21584
21585         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21586         * gst/elements/gstfilesink.c: (gst_file_sink_init):
21587         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21588         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21589         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21590         * gst/gstpad.c: (gst_pad_init):
21591           Use GST_DEBUG_FUNCPTR() more extensively.
21592
21593 2005-11-09  Wim Taymans  <wim@fluendo.com>
21594
21595         * gst/gstobject.c: (gst_object_class_init):
21596         * gst/gstobject.h:
21597         Documentation fixes.
21598
21599 2005-11-09  Edward Hervey  <edward@fluendo.com>
21600
21601         * gst/gsttypefindfactory.c:
21602         Fix docs.
21603         
21604 2005-11-09  Edward Hervey  <edward@fluendo.com>
21605
21606         * gst/base/gsttypefindhelper.c:
21607         * gst/gsttypefind.c:
21608         * gst/gsttypefind.h:
21609         Fix docs.
21610
21611 2005-11-09  Wim Taymans  <wim@fluendo.com>
21612
21613         * gst/gstiterator.c:
21614         Fix revision data.
21615
21616         * gst/gsttask.c:
21617         * gst/gsttask.h:
21618         Fix docs.
21619
21620 2005-11-09  Wim Taymans  <wim@fluendo.com>
21621
21622         * gst/gstevent.h:
21623         * gst/gsturi.h:
21624         Fix docs.
21625
21626 2005-11-09  Wim Taymans  <wim@fluendo.com>
21627
21628         * docs/gst/gstreamer-sections.txt:
21629         Moved the message async delivery private lock and cond
21630         to the private section.
21631
21632         * gst/gstmessage.c:
21633         * gst/gstmessage.h:
21634         Fixed docs.
21635
21636 2005-11-09  Edward Hervey  <edward@fluendo.com>
21637
21638         * docs/gst/gstreamer-sections.txt:
21639         * gst/gsturi.c:
21640         * gst/gsturi.h:
21641         Document GstURIHandler
21642
21643 2005-11-09  Wim Taymans  <wim@fluendo.com>
21644
21645         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21646         (gst_iterator_find_custom):
21647         * gst/gstiterator.h:
21648         Fix iterator docs.
21649
21650 2005-11-09  Wim Taymans  <wim@fluendo.com>
21651
21652         * gst/gstbin.h:
21653         Document another field.
21654
21655         * gst/gststructure.c:
21656         * gst/gststructure.h:
21657         Document.
21658
21659 2005-11-09  Wim Taymans  <wim@fluendo.com>
21660
21661         * gst/gstbin.h:
21662         Documented structs.
21663
21664 2005-11-09  Wim Taymans  <wim@fluendo.com>
21665
21666         * docs/gst/gstreamer-sections.txt:
21667         Added some new macros.
21668
21669         * gst/gstclock.c:
21670         * gst/gstclock.h:
21671         * gst/gstobject.h:
21672         Docs updates.
21673
21674 2005-11-09  Wim Taymans  <wim@fluendo.com>
21675
21676         * docs/design/part-TODO.txt:
21677         Some more items for the TODO
21678
21679         * gst/gstcaps.c:
21680         * gst/gstcaps.h:
21681         Document GstCaps.
21682
21683 2005-11-09  Andy Wingo  <wingo@pobox.com>
21684
21685         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21686         to work on something else now tho...
21687
21688         * gst/base/gstadapter.c: More adapter docs.
21689
21690         * gst/elements/gstfilesink.c (gst_file_sink_start) 
21691         (gst_file_sink_stop): New functions, replace the state change
21692         handler.
21693         (gst_file_sink_class_init): Hook up the start and stop functions.
21694         (gst_file_sink_base_init): Don't set the state change handler any
21695         more. It was a bit ugly too, being set from here...
21696         (gst_file_sink_get_property, gst_file_sink_set_property):
21697         Cleanups...
21698         (gst_file_sink_set_location): More robust check that doesn't call
21699         GST_STATE. Ugggggg.
21700
21701 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
21702
21703         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21704           Hold STREAM_LOCK while pushing newsegment or tag events as well.
21705
21706 2005-11-08  Wim Taymans  <wim@fluendo.com>
21707
21708         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21709         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21710         (gst_base_sink_chain), (gst_base_sink_change_state):
21711         * gst/base/gstbasesink.h:
21712         * gst/base/gstbasesrc.h:
21713         * gst/gstelement.h:
21714         * gst/gstevent.h:
21715         Avoid excessive typechecking in macros.
21716
21717         * gst/gstminiobject.c: (gst_mini_object_get_type),
21718         (gst_mini_object_init), (gst_mini_object_new),
21719         (gst_mini_object_free):
21720         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21721         (gst_object_finalize):
21722         Remove cruft code, optimize alloc_trace.
21723
21724 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
21725
21726         * docs/faq/gst-uninstalled:
21727           fix up PS1 for systems that try to reset it
21728
21729 2005-11-07  Wim Taymans  <wim@fluendo.com>
21730
21731         * gst/base/gstbasesrc.c: (gst_base_src_init),
21732         (gst_base_src_get_range):
21733         Set the segment_end to -1 initially. Fixed typefind.
21734
21735 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
21736
21737         * gst/base/gstadapter.c:
21738           Debug category should be 'adapter', not 'GstAdapter'.
21739           
21740         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21741         (gst_collectpads_class_init), (gst_collectpads_init),
21742         (gst_collectpads_peek), (gst_collectpads_pop),
21743         (gst_collectpads_event), (gst_collectpads_chain):
21744           Add debug category and some debugging output. Use boilerplate
21745           macros. Remove some extraneous words from docs.
21746
21747 2005-11-05  Andy Wingo  <wingo@pobox.com>
21748
21749         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21750         macro.
21751
21752 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21753
21754         * docs/gst/gstreamer-sections.txt:
21755         * gst/gstcaps.h:
21756         * gst/gstinfo.c:
21757         * gst/gstminiobject.h:
21758         * gst/gstobject.h:
21759         * gst/gstutils.h:
21760           more docs added
21761
21762 2005-11-04  Wim Taymans  <wim@fluendo.com>
21763
21764         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21765         Small update to stop at the configured segment_end
21766         position.
21767
21768 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21769
21770         * gst/gstregistry.c:
21771         * gst/gstregistry.h:
21772           added missing docs
21773
21774 2005-11-04  Edward Hervey  <edward@fluendo.com>
21775
21776         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21777         Check if we are doing a segment seek and have arrived at the
21778         end of that segment.
21779
21780 2005-11-04  Wim Taymans  <wim@fluendo.com>
21781
21782         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21783         Don't leak a mutex unlock in case of an error.
21784
21785         * gst/gstbus.h:
21786         Doc fixes.
21787
21788 2005-11-04  Wim Taymans  <wim@fluendo.com>
21789
21790         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21791         (gst_bus_post):
21792         Get the context to wake up only once.
21793
21794 2005-11-03  Wim Taymans  <wim@fluendo.com>
21795
21796         * check/states/sinks.c: (GST_START_TEST):
21797         Uncomment fixed check.
21798
21799         * docs/design/part-TODO.txt:
21800         Updated TODO.
21801
21802         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21803         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21804         (gst_base_sink_get_position):
21805         If we are going to PLAYING, post the right pending state
21806         when we post the intermediate paused message.
21807
21808         * gst/gstelement.c: (gst_element_continue_state),
21809         (gst_element_set_state_func), (gst_element_change_state):
21810         Don't post state changes that were between the same state
21811         and were not ASYNC.
21812
21813 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21814
21815         * docs/gst/gstreamer-sections.txt:
21816         * gst/gstcaps.h:
21817         * gst/gstinfo.c:
21818         * gst/gstminiobject.h:
21819         * gst/gstobject.h:
21820         * gst/gstutils.h:
21821           more docs and doc style fixes
21822
21823 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21824
21825         * docs/gst/gstreamer-sections.txt:
21826         * gst/gstelement.c:
21827         * gst/gstminiobject.c:
21828         doc fixes
21829
21830 2005-11-03  Andy Wingo  <wingo@pobox.com>
21831
21832         * check/states/sinks.c (test_livesrc_sink): Add checks that the
21833         state-changed messages actually have the right order and the right
21834         values.
21835
21836 2005-11-03  Wim Taymans  <wim@fluendo.com>
21837
21838         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21839         Added some more checks. Specifically the case where NO_PREROLL
21840         elements are in the pipeline.
21841
21842         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21843         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21844         (gst_base_sink_get_position):
21845         Post READY->PAUSED state change messages too.
21846         Fix bug where VOID was posted as pending state...
21847
21848         * gst/gstbin.c: (gst_bin_recalc_state):
21849         use _element_continue_state() to continue the state change.
21850
21851         * gst/gstelement.c: (gst_element_continue_state),
21852         (gst_element_commit_state), (gst_element_set_state_func),
21853         (gst_element_change_state), (gst_element_change_state_func):
21854         Lots of state change cleanups, assign the STATE_RETURN in
21855         a new continue_state() function that also propagates the
21856         last return value from a state change to the app.
21857         Update some debug statements with proper category.
21858
21859 2005-11-03  Wim Taymans  <wim@fluendo.com>
21860
21861         * docs/design/part-events.txt:
21862         * docs/design/part-gstpipeline.txt:
21863         * docs/design/part-messages.txt:
21864         * docs/design/part-overview.txt:
21865         * docs/design/part-seeking.txt:
21866         * docs/design/part-states.txt:
21867         * docs/design/part-trickmodes.txt:
21868         * docs/manual/advanced-position.xml:
21869         Small docs updates.
21870
21871         * gst/gstobject.h:
21872         People think !! is ugly, this looks better.
21873
21874         * gst/gstpad.c: (gst_pad_set_blocked_async):
21875         Remove !! since it's fixed elsewhere now.
21876
21877 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21878
21879         * gst/gstminiobject.h:
21880         * gst/gstobject.h:
21881           Add !! to _FLAG_IS_SET macros to make the result boolean.
21882
21883 2005-11-03  Edward Hervey  <edward@fluendo.com>
21884
21885         * gst/gstpad.c: (gst_pad_set_blocked_async):
21886         comparing a flag and a gboolean rarely returns coherent results...
21887         Added two characters (!!) to make that work correctly.
21888         
21889 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21890
21891         * gst/gstbus.c: (gst_bus_class_init):
21892           Fix some typos.
21893           
21894         * gst/gstqueue.c: (gst_queue_loop):
21895           Don't assume a miniobject that isn't a buffer is an
21896           event (it could be that there is a refcounting
21897           problem somewhere and the pointer is stale and
21898           refers to an already destroyed miniobject).
21899
21900 2005-11-03  Julien MOUTTE  <julien@moutte.net>
21901
21902         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
21903
21904 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21905
21906         * docs/manual/advanced-position.xml:
21907           Update seek example and explanations to current 0.9 API.
21908
21909         * gst/elements/gsttypefindelement.c:
21910         (gst_type_find_element_activate):
21911           Remove FIXME comment now that the found caps
21912           are unreffed.
21913
21914 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21915
21916         * gst/gstregistryxml.c: (load_feature):
21917           Add another GST_STR_NULL instance
21918
21919 2005-11-02  Edward Hervey  <edward@fluendo.com>
21920
21921         * gst/gstpad.c: (handle_pad_block):
21922         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
21923         
21924 2005-11-02  Wim Taymans  <wim@fluendo.com>
21925
21926         * gst/gstbin.c:
21927         Fix typo in docs.
21928
21929         * gst/gstelement.c: (gst_element_commit_state):
21930         Remove unused value.
21931
21932         * gst/gstiterator.c:
21933         Mention that the returned element is reffed in the docs.
21934
21935 2005-11-02  Wim Taymans  <wim@fluendo.com>
21936
21937         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
21938         (gst_pad_push), (gst_pad_push_event):
21939         Unlock blocked pads when they are flushed.
21940
21941 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21942
21943         * docs/README:
21944         * docs/gst/gstreamer-sections.txt:
21945         * gst/gstbin.c:
21946           doc updates
21947         * gst/gstregistry.c: (gst_registry_scan_path_level):
21948           fix for a nasty little missed situation where an installed plug-in
21949           which was in the cache did not get overridden by an uninstalled one
21950           which was earlier in the plugin path because the newly created plugin
21951           for the uninstalled one (not in the registry) didn't get its
21952           ->registered set to TRUE
21953
21954 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
21955
21956         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
21957         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
21958         (gst_collectpads_is_active), (gst_collectpads_collect),
21959         (gst_collectpads_collect_range), (gst_collectpads_start),
21960         (gst_collectpads_stop), (gst_collectpads_peek),
21961         (gst_collectpads_pop), (gst_collectpads_available),
21962         (gst_collectpads_read), (gst_collectpads_flush):
21963           Guard public API with assertions.
21964         
21965         * gst/gstpad.c:
21966           Fix docs for gst_pad_set_link_function().
21967
21968 2005-11-02  Johan Dahlin  <johan@gnome.org>
21969
21970         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
21971         Unref found_caps after we used it.
21972
21973 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
21974
21975         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
21976           Don't try to ref NULL.
21977
21978 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21979
21980         * win32/common/config.h.in:
21981           provide a GST_FUNCTION that just gives a string for now
21982
21983 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21984
21985         * win32/common/gstenumtypes.c: (register_gst_object_flags),
21986         (gst_object_flags_get_type), (register_gst_bin_flags),
21987         (gst_bin_flags_get_type), (register_gst_buffer_flag),
21988         (gst_buffer_flag_get_type), (register_gst_bus_flags),
21989         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
21990         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
21991         (gst_clock_return_get_type), (register_gst_clock_entry_type),
21992         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
21993         (gst_clock_flags_get_type), (register_gst_state),
21994         (gst_state_get_type), (register_gst_state_change_return),
21995         (gst_state_change_return_get_type), (register_gst_state_change),
21996         (gst_state_change_get_type), (register_gst_element_flags),
21997         (gst_element_flags_get_type), (register_gst_core_error),
21998         (gst_core_error_get_type), (register_gst_library_error),
21999         (gst_library_error_get_type), (register_gst_resource_error),
22000         (gst_resource_error_get_type), (register_gst_stream_error),
22001         (gst_stream_error_get_type), (register_gst_event_type),
22002         (gst_event_type_get_type), (register_gst_seek_type),
22003         (gst_seek_type_get_type), (register_gst_seek_flags),
22004         (gst_seek_flags_get_type), (register_gst_format),
22005         (gst_format_get_type), (register_gst_index_certainty),
22006         (gst_index_certainty_get_type), (register_gst_index_entry_type),
22007         (gst_index_entry_type_get_type),
22008         (register_gst_index_lookup_method),
22009         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
22010         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
22011         (gst_index_resolver_method_get_type), (register_gst_index_flags),
22012         (gst_index_flags_get_type), (register_gst_debug_level),
22013         (gst_debug_level_get_type), (register_gst_debug_color_flags),
22014         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
22015         (gst_iterator_result_get_type), (register_gst_iterator_item),
22016         (gst_iterator_item_get_type), (register_gst_message_type),
22017         (gst_message_type_get_type), (register_gst_mini_object_flags),
22018         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
22019         (gst_pad_link_return_get_type), (register_gst_flow_return),
22020         (gst_flow_return_get_type), (register_gst_activate_mode),
22021         (gst_activate_mode_get_type), (register_gst_pad_direction),
22022         (gst_pad_direction_get_type), (register_gst_pad_flags),
22023         (gst_pad_flags_get_type), (register_gst_pad_presence),
22024         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
22025         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
22026         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
22027         (gst_plugin_error_get_type), (register_gst_plugin_flags),
22028         (gst_plugin_flags_get_type), (register_gst_rank),
22029         (gst_rank_get_type), (register_gst_query_type),
22030         (gst_query_type_get_type), (register_gst_tag_merge_mode),
22031         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
22032         (gst_tag_flag_get_type), (register_gst_task_state),
22033         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
22034         (gst_alloc_trace_flags_get_type),
22035         (register_gst_type_find_probability),
22036         (gst_type_find_probability_get_type), (register_gst_uri_type),
22037         (gst_uri_type_get_type), (register_gst_parse_error),
22038         (gst_parse_error_get_type):
22039         * win32/common/gstversion.h:
22040           update win32 copies
22041
22042 2005-11-01  Luca Ognibene  <luogni@tin.it>
22043
22044         * gst/gst.c:
22045           fix docs. popt is dead, long live GOption.
22046
22047 2005-10-31  Wim Taymans  <wim@fluendo.com>
22048
22049         * gst/gstbuffer.h:
22050         Small doc fix.
22051
22052 2005-10-31  Andy Wingo  <wingo@pobox.com>
22053
22054         * Boo!
22055
22056         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
22057
22058         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
22059         need to serialize property notifications on GLib 2.8. GLib 2.6 has
22060         the possibility of deadlocks here if code calling notify() or
22061         set() has a lock that can be taken in another notify handler (ABBA
22062         with class lock and e.g. python GIL state lock).
22063
22064 2005-10-28  Julien MOUTTE  <julien@moutte.net>
22065
22066         * gst/gstbus.c: Doc updates.
22067
22068 2005-10-28  Wim Taymans  <wim@fluendo.com>
22069
22070         * docs/design/part-TODO.txt:
22071         * gst/gstiterator.c:
22072         * gst/gstsystemclock.c:
22073         * gst/gstsystemclock.h:
22074         Doc updates.
22075
22076 2005-10-28  Edward Hervey  <edward@fluendo.com>
22077
22078         * docs/gst/gstreamer-docs.sgml:
22079         * docs/gst/gstreamer-sections.txt:
22080         the GstURIType documentation page is private, it only defines GstURIType
22081         which should be defined in the GstURIHandler page
22082         
22083 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
22084
22085         * gst/gstbin.c: (gst_bin_class_init):
22086         * gst/gstbin.h:
22087         * gst/gstutils.c:
22088         Documentation updates.
22089
22090 2005-10-28  Wim Taymans  <wim@fluendo.com>
22091
22092         * docs/gst/gstreamer-sections.txt:
22093         * gst/gstclock.c:
22094         * gst/gstclock.h:
22095         Documented the clocks.
22096
22097 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
22098
22099         * docs/gst/gstreamer-sections.txt:
22100           move some macros to private sections
22101         * gst/gstminiobject.c:
22102         * gst/gstminiobject.h:
22103           add descriptions provided by ds and some more
22104         * gst/gstpad.h:
22105           mark macro as to be removed
22106
22107 2005-10-28  Wim Taymans  <wim@fluendo.com>
22108
22109         * docs/design/part-TODO.txt:
22110         Add an item to TODO.
22111
22112         * gst/gstiterator.c: (gst_iterator_fold),
22113         (gst_iterator_find_custom):
22114         * gst/gstiterator.h:
22115         Add iterator docs.
22116
22117 2005-10-28  Wim Taymans  <wim@fluendo.com>
22118
22119         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22120         (gst_base_transform_init):
22121         Don't leak class.
22122
22123         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
22124         An EOS event marks the queue as completely filled.
22125
22126 2005-10-27  Wim Taymans  <wim@fluendo.com>
22127
22128         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22129         (gst_base_sink_do_sync), (gst_base_sink_get_position):
22130         Some more debugging.
22131
22132         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
22133         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
22134         (gst_base_transform_event), (gst_base_transform_getrange),
22135         (gst_base_transform_chain):
22136         * gst/base/gstbasetransform.h:
22137         Fix debugging,
22138         Protect transform and concurrent buffer alloc with a new lock.
22139         Try not to break ABI/API.
22140
22141 2005-10-27  Wim Taymans  <wim@fluendo.com>
22142
22143         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22144         (gst_base_src_init), (gst_base_src_query),
22145         (gst_base_src_default_newsegment),
22146         (gst_base_src_configure_segment), (gst_base_src_do_seek),
22147         (gst_base_src_send_event), (gst_base_src_event_handler),
22148         (gst_base_src_pad_get_range), (gst_base_src_loop),
22149         (gst_base_src_unlock), (gst_base_src_default_negotiate),
22150         (gst_base_src_start), (gst_base_src_deactivate),
22151         (gst_base_src_activate_push), (gst_base_src_change_state):
22152         Move some stuff around and cleanup things.
22153
22154 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
22155
22156         * gst/base/gstbasesrc.c: (gst_base_src_query):
22157           Add missing break statements.
22158
22159 2005-10-27  Wim Taymans  <wim@fluendo.com>
22160
22161         * check/gst/gstbin.c: (GST_START_TEST):
22162         An extra refcount is taken in basesrc.
22163
22164         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
22165         (gst_base_src_get_range), (gst_base_src_pad_get_range),
22166         (gst_base_src_loop):
22167         Small cleanups, check for flushing after being unlocked from the 
22168         LIVE_LOCK. take refcounts correctly (not yet everywhere).
22169         Don't send out EOS when going to READY.
22170
22171 2005-10-27  Wim Taymans  <wim@fluendo.com>
22172
22173         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22174         (gst_base_sink_get_position):
22175         Some more debug.
22176
22177         * gst/gstbin.c: (message_check), (bin_replace_message),
22178         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22179         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22180         (bin_query_duration_init), (bin_query_duration_fold),
22181         (bin_query_duration_done), (bin_query_generic_fold),
22182         (gst_bin_query):
22183         * tools/gst-launch.c: (main):
22184         Remove old option.
22185
22186 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
22187
22188         * examples/controller/audio-example.c: (main):
22189         * examples/queue/queue.c: (event_loop):
22190         * gst/base/gstbasetransform.h:
22191         * gst/gstelement.c: (gst_element_send_event):
22192         * gst/gstevent.h:
22193         * gst/gstpad.c: (gst_pad_send_event):
22194           fixing examples
22195           fixing docs typos
22196           changing log priority in error situations
22197
22198 2005-10-25  Wim Taymans  <wim@fluendo.com>
22199
22200         * gst/gstbin.c: (message_check), (bin_replace_message),
22201         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22202         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22203         (bin_query_duration_init), (bin_query_duration_fold),
22204         (bin_query_duration_done), (bin_query_generic_fold),
22205         (gst_bin_query):
22206         Some doc and debug updates.
22207         Cache previously requested query DURATION for speed. invalidate
22208         cached duration if element posts a DURATION message.
22209
22210 2005-10-25  Wim Taymans  <wim@fluendo.com>
22211
22212         * docs/design/part-TODO.txt:
22213         Update TODO.
22214
22215         * gst/gstbin.c: (message_check), (bin_replace_message),
22216         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22217         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22218         (bin_query_duration_init), (bin_query_duration_fold),
22219         (bin_query_duration_done), (bin_query_generic_fold),
22220         (gst_bin_query):
22221         Handle SEGMENT_START/DONE messages correctly.
22222         More evolved query algorithm that handles duration queries
22223         correctly.
22224
22225         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
22226         (gst_element_get_state_func), (gst_element_abort_state),
22227         (gst_element_commit_state), (gst_element_lost_state):
22228         Some more debugging.
22229
22230         * gst/gstmessage.h:
22231         Added doc.
22232
22233 2005-10-25  Wim Taymans  <wim@fluendo.com>
22234
22235         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
22236         Don't use invalid stream_time.
22237
22238         * gst/gstevent.c: (gst_event_new_newsegment):
22239         stream_time in newsegment cannot be undefined.
22240
22241 2005-10-24  Wim Taymans  <wim@fluendo.com>
22242
22243         * gst/gstbus.c:
22244         Doc fix.
22245
22246         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22247         (gst_queue_loop):
22248         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22249
22250 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
22251
22252         * docs/libs/tmpl/gstdparam.sgml:
22253         * docs/libs/tmpl/gstdplinint.sgml:
22254         * docs/libs/tmpl/gstdpman.sgml:
22255         * docs/libs/tmpl/gstdpsmooth.sgml:
22256         * docs/libs/tmpl/gstunitconvert.sgml:
22257           these are obsolete
22258
22259 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22260
22261         * configure.ac:
22262           back to HEAD
22263
22264 === release 0.9.4 ===
22265
22266 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22267
22268         * configure.ac:
22269           releasing 0.9.4, "Tyrannosaurus Rex"
22270
22271 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
22272
22273         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22274         (gst_file_sink_get_current_offset):
22275           Use fseeko() and ftello() if available. When falling back on
22276           lseek() to get the current offset, fflush() first to make sure
22277           everything is up-to-date and we get the right offset.
22278
22279 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22280
22281         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22282         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22283         * gst/gsterror.c: (_gst_stream_errors_init):
22284         * gst/gsterror.h:
22285         * gst/gstqueue.c: (gst_queue_loop):
22286         * po/POTFILES.in:
22287           remove prematurely added error category and clean up the instances
22288
22289 2005-10-21  Wim Taymans  <wim@fluendo.com>
22290
22291         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22292         (gst_base_sink_get_position), (gst_base_sink_query),
22293         (gst_base_sink_change_state):
22294         Simply set the right flag when going to playing, that's all
22295         we need to do instead of calling a function inside the object
22296         lock (that could take the lock as well and deadlock)
22297
22298 2005-10-21  Wim Taymans  <wim@fluendo.com>
22299
22300         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22301         (gst_base_src_loop):
22302         Don't warn, the peer element knows what to do best when
22303         the seek failed, it might try something else.
22304
22305 2005-10-21  Wim Taymans  <wim@fluendo.com>
22306
22307         * gst/base/gstbasesrc.c: (gst_base_src_init),
22308         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22309         Fix seeking.
22310
22311 2005-10-21  Wim Taymans  <wim@fluendo.com>
22312
22313         * docs/design/part-segments.txt:
22314         More docs.
22315
22316         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22317         Correctly set caps, even on the subbufer.
22318
22319 2005-10-21  Wim Taymans  <wim@fluendo.com>
22320
22321         * docs/gst/gstreamer-docs.sgml:
22322         * docs/gst/gstreamer-sections.txt:
22323         * gst/gstelement.h:
22324         * gst/gstevent.c:
22325         * gst/gstevent.h:
22326         * gst/gstmessage.h:
22327         * gst/gstpad.h:
22328         * gst/gstparse.h:
22329         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22330         * gst/gsttask.h:
22331         * gst/gstutils.c:
22332         * gst/gstutils.h:
22333         And 2% more doc coverage.
22334
22335 2005-10-21  Andy Wingo  <wingo@pobox.com>
22336
22337         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22338         position reporting.
22339
22340 2005-10-20  Wim Taymans  <wim@fluendo.com>
22341
22342         * gst/gsterror.c: (gst_error_get_message):
22343         * gst/gstparse.h:
22344         * gst/gstquery.h:
22345         * gst/gststructure.c:
22346         * gst/gsttrace.c:
22347         * gst/gstutils.c:
22348         More docs.
22349
22350 2005-10-20  Wim Taymans  <wim@fluendo.com>
22351
22352         * gst/gstbuffer.h:
22353         * gst/gstpad.c:
22354         * gst/gstparse.c:
22355         Another 1% more coverage.
22356
22357 2005-10-20  Wim Taymans  <wim@fluendo.com>
22358
22359         * docs/gst/gstreamer-sections.txt:
22360         * gst/gstelement.c: (gst_element_get_state_func),
22361         (gst_element_abort_state), (gst_element_commit_state),
22362         (gst_element_lost_state):
22363         * gst/gstevent.h:
22364         * gst/gstquery.c: (gst_query_set_position),
22365         (gst_query_parse_position), (gst_query_set_duration),
22366         (gst_query_parse_duration), (gst_query_new_convert):
22367         * gst/gstutils.c:
22368         Yay! 1% more docs coverage.
22369
22370 2005-10-20  Wim Taymans  <wim@fluendo.com>
22371
22372         * gst/gstpad.h:
22373         * gst/gstquery.c: (gst_query_set_position),
22374         (gst_query_parse_position), (gst_query_set_duration),
22375         (gst_query_parse_duration), (gst_query_new_convert):
22376         * gst/gstquery.h:
22377         * gst/gstutils.c: (gst_element_query_convert):
22378         * gst/gstutils.h:
22379         Docs and consistency fixes.
22380
22381 2005-10-20  Wim Taymans  <wim@fluendo.com>
22382
22383         * gst/gsttask.c:
22384         * gst/gsttask.h:
22385         More docs.
22386
22387 2005-10-20  Wim Taymans  <wim@fluendo.com>
22388
22389         * gst/gstbin.c: (message_check), (bin_replace_message),
22390         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22391         (update_degree), (gst_bin_sort_iterator_next),
22392         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22393         Reworked the message handling a bit, cache the messages instead of
22394         only the senders. alows us to do more in the future.
22395
22396 2005-10-20  Wim Taymans  <wim@fluendo.com>
22397
22398         * docs/design/part-TODO.txt:
22399         Update TODO
22400
22401         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22402         (gst_base_sink_query):
22403         Don't use clock time to report position when in EOS.
22404
22405 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
22406
22407         * tools/gst-inspect.c: (print_interfaces),
22408         (print_element_properties_info), (print_element_info):
22409           Fix interface output with gst-inspect -a; don't print
22410           newlines after double/float properties.
22411
22412 2005-10-20  Wim Taymans  <wim@fluendo.com>
22413
22414         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22415         (gst_base_sink_query):
22416         Speed up current position calculation.
22417
22418         * gst/base/gstbasesrc.c: (gst_base_src_query),
22419         (gst_base_src_default_newsegment):
22420         Correctly set stream position in newsegment.
22421
22422         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22423         (update_degree), (gst_bin_sort_iterator_next),
22424         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22425         * gst/gstmessage.c: (gst_message_new_custom):
22426         Clean up debugging info
22427
22428         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22429         (gst_queue_loop), (gst_queue_handle_src_query):
22430         Pause task faster.
22431
22432 2005-10-19  Wim Taymans  <wim@fluendo.com>
22433
22434         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22435         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22436         Fix query handling again.
22437
22438 2005-10-19  Wim Taymans  <wim@fluendo.com>
22439
22440         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22441         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22442         * gst/base/gstbasesrc.c: (gst_base_src_query):
22443         * gst/elements/gstfilesink.c: (gst_file_sink_query):
22444         * gst/elements/gsttypefindelement.c:
22445         (gst_type_find_handle_src_query), (find_element_get_length),
22446         (gst_type_find_element_activate):
22447         API change fix.
22448
22449         * gst/gstquery.c: (gst_query_new_position),
22450         (gst_query_set_position), (gst_query_parse_position),
22451         (gst_query_new_duration), (gst_query_set_duration),
22452         (gst_query_parse_duration), (gst_query_set_segment),
22453         (gst_query_parse_segment):
22454         * gst/gstquery.h:
22455         Bundling query position/duration is not a good idea since duration
22456         does not change much and we don't want to recalculate it for every
22457         position query, so they are separated again..
22458         Base value in segment query is not needed.
22459
22460         * gst/gstqueue.c: (gst_queue_handle_src_query):
22461         * gst/gstutils.c: (gst_element_query_position),
22462         (gst_element_query_duration), (gst_pad_query_position),
22463         (gst_pad_query_duration):
22464         * gst/gstutils.h:
22465         Updates for query API change.
22466         Added some docs here and there.
22467
22468 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22469
22470         * check/gst/gstbin.c: (GST_START_TEST):
22471         * check/gst/gstghostpad.c: (GST_START_TEST):
22472         * check/pipelines/cleanup.c: (GST_START_TEST):
22473           wait on thread to die so we can check refcount correctly
22474
22475 2005-10-18  Wim Taymans  <wim@fluendo.com>
22476
22477         * check/pipelines/stress.c: (GST_START_TEST):
22478         Make check a little more time consuming.
22479
22480 2005-10-18  Wim Taymans  <wim@fluendo.com>
22481
22482         * check/Makefile.am:
22483         * check/pipelines/stress.c: (GST_START_TEST),
22484         (simple_launch_lines_suite), (main):
22485         Small state change torture test.
22486
22487         * docs/design/part-states.txt:
22488         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22489         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22490         (gst_base_sink_change_state):
22491         Never take state lock from streaming thread, clean up ugly
22492         hacks. Unfortunatly core does not yet support nice ways to
22493         async commit state.
22494         
22495         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22496         (bin_bus_handler):
22497         Start state recalc if a STATE_DIRTY message is posted, but only
22498         on the toplevel bin.
22499
22500         * gst/gstelement.c: (gst_element_sync_state_with_parent),
22501         (gst_element_get_state_func), (gst_element_abort_state),
22502         (gst_element_commit_state), (gst_element_lost_state),
22503         (gst_element_set_state_func), (gst_element_change_state):
22504         * gst/gstelement.h:
22505         State variables are now protected with the LOCK, the state
22506         lock is only used to serialize _set_state().
22507
22508 2005-10-18  Wim Taymans  <wim@fluendo.com>
22509
22510         * check/gst/gstbin.c: (GST_START_TEST):
22511         * check/gst/gstmessage.c: (GST_START_TEST):
22512         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22513         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22514         (bin_bus_handler):
22515         * gst/gstelement.c: (gst_element_abort_state),
22516         (gst_element_commit_state), (gst_element_lost_state):
22517         * gst/gstmessage.c: (gst_message_new_state_changed),
22518         (gst_message_new_state_dirty), (gst_message_new_segment_start),
22519         (gst_message_new_segment_done), (gst_message_new_duration),
22520         (gst_message_parse_state_changed),
22521         (gst_message_parse_segment_start),
22522         (gst_message_parse_segment_done), (gst_message_parse_duration):
22523         * gst/gstmessage.h:
22524         * tools/gst-launch.c: (event_loop):
22525         Seriously, this is better than a previous commit as we only need
22526         to notify the fact that an element changed state in a streaming
22527         thread, marking the state of the parents dirty, hence the 
22528         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22529         message.
22530
22531 2005-10-18  Wim Taymans  <wim@fluendo.com>
22532
22533         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22534         (gst_bin_recalc_func):
22535         * gst/gstelement.c: (gst_element_set_clock),
22536         (gst_element_abort_state), (gst_element_lost_state):
22537         Cleanups, prepare for state change fixes.
22538
22539 2005-10-18  Wim Taymans  <wim@fluendo.com>
22540
22541         * gst/gstbin.h:
22542         * gst/gstelement.c: (gst_element_class_init),
22543         (gst_element_set_state), (gst_element_set_state_func):
22544         * gst/gstelement.h:
22545         Pending ABI changes.
22546         GThreadPool in GstBinClass to monitor async state changes.
22547         state_cookie in GstElement to detect concurrent gst/set state.
22548         set_state is now virtual too in case a very complicated element
22549         has to be constructed.
22550
22551 2005-10-18  Wim Taymans  <wim@fluendo.com>
22552
22553         * check/gst/gstbin.c: (GST_START_TEST):
22554         * check/gst/gstmessage.c: (GST_START_TEST):
22555         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22556         * gst/gstbin.c: (bin_bus_handler):
22557         * gst/gstelement.c: (gst_element_commit_state),
22558         (gst_element_lost_state):
22559         * gst/gstmessage.c: (gst_message_new_state_changed),
22560         (gst_message_new_segment_start), (gst_message_new_segment_done),
22561         (gst_message_new_duration), (gst_message_parse_state_changed),
22562         (gst_message_parse_segment_start),
22563         (gst_message_parse_segment_done), (gst_message_parse_duration):
22564         * gst/gstmessage.h:
22565         * tools/gst-launch.c: (event_loop):
22566         Make messages future proof.
22567         state-change gets a flag if it was a message comming from the
22568         streaming thread.
22569         segment-start/stop can also be specified in other formats.
22570         A message to notify an app that a pipeline changed playback 
22571         duration.
22572         Also fix a GstMessage leak in -launch
22573
22574 2005-10-18  Andy Wingo  <wingo@pobox.com>
22575
22576         * gst/gstelement.c (gst_element_dispose): More helpful message.
22577
22578 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22579
22580         reviewed by: <delete if not using a buddy>
22581
22582         * common/gtk-doc.mak:
22583
22584 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22585
22586         * gst/gstregistry.c: (gst_registry_scan_path_level):
22587           unref a plug-in we get that was already initialized
22588
22589 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
22590
22591         * docs/gst/gstreamer-sections.txt:
22592         * docs/libs/gstreamer-libs-sections.txt:
22593         * gst/gstelement.h:
22594           add new api entries
22595           hide internal macro
22596
22597 2005-10-17  Andy Wingo  <wingo@pobox.com>
22598
22599         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22600         cleanup.
22601
22602         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22603
22604         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22605
22606         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22607         (gst_element_get_state_func): Better debug message.
22608         (gst_element_commit_state): s/INFO/DEBUG/.
22609         (gst_element_lost_state, gst_element_change_state): 
22610
22611         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22612         (gst_message_new_custom): s/INFO/LOG/.
22613
22614 2005-10-17  Michael Smith <msmith@fluendo.com>
22615
22616         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22617           Check if end time is valid using end time, not start time.
22618
22619 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
22620
22621         * check/gst-libs/controller.c: (GST_START_TEST),
22622         (gst_controller_suite):
22623         * libs/gst/controller/gstcontroller.c:
22624         (gst_controlled_property_set_interpolation_mode):
22625         * libs/gst/controller/gstcontroller.h:
22626         * libs/gst/controller/gstinterpolation.c:
22627         * testsuite/controller/.cvsignore:
22628         * testsuite/controller/Makefile.am:
22629         * testsuite/controller/interpolator.c:
22630           merge controller testsuites
22631           fix broken tests
22632           remove mem-chunk from docs
22633
22634 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22635
22636         * gst/gstmemchunk.c:
22637         * gst/gstmemchunk.h:
22638         * gst/gsttrashstack.c:
22639         * gst/gsttrashstack.h:
22640           out.  get out.  you're fired.  to the Attic !
22641
22642 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22643
22644         * gst/gstcaps.c: (gst_caps_intersect):
22645           fix signedness issues in a (hopefully) correct way
22646         * gst/gstelement.c: (gst_element_pads_activate):
22647           some debugging
22648         * gst/gstobject.c: (gst_object_set_parent):
22649           some debugging
22650
22651 2005-10-17  Julien MOUTTE  <julien@moutte.net>
22652
22653         * gst/gstvalue.h: Fix prototypes.
22654
22655 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22656
22657         * docs/gst/gstreamer-sections.txt:
22658         * gst/gst.c: (gst_version_string):
22659         * gst/gst.h:
22660         * gst/gstversion.h.in:
22661         * win32/common/libgstreamer.def:
22662           add gst_version_string ()
22663
22664 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22665
22666         * configure.ac:
22667           clean up further
22668         * gst/gst.c: (init_post):
22669         * win32/common/config.h.in:
22670           it's PLUGINDIR now
22671         * gst/gstcaps.c: (gst_caps_intersect):
22672           use gint64, the range could be bigger than a guint
22673
22674 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22675
22676         * gst/gstclock.h:
22677           document potential problem in 2038
22678
22679 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22680
22681         * gst/gstcaps.c: (gst_caps_intersect):
22682           Fix guint j diving under 0
22683
22684 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22685
22686         * configure.ac:
22687         * win32/common/config.h:
22688         * win32/common/config.h.in:
22689           check for process.h, declares getpid() on Windows
22690         * gst/gstinfo.c:
22691           include process.h if we have it
22692         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22693         * gst/gstmemchunk.h:
22694           fix signedness issues
22695         * win32/common/libgstreamer.def:
22696           fix get_type's
22697
22698 2005-10-16  Julien MOUTTE  <julien@moutte.net>
22699
22700         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22701         fix. Because of unsigned ints, caps intersection was going nuts and
22702         trying to access structures with G_MAXUINT index. That fixes
22703         videotestsrc ! ffmpegcolorspace ! fakesink
22704         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22705         consistency.
22706
22707 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22708
22709         * configure.ac:
22710           use the gettext macro
22711         * gst/elements/gstelements.c:
22712         * gst/gst.c:
22713         * gst/indexers/gstindexers.c:
22714           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22715         * win32/common/config.h:
22716           updated config.h
22717         * win32/common/config.h.in:
22718           add the template to generate config.h
22719         * win32/common/gstenumtypes.c:
22720         * win32/common/gstversion.h:
22721           updated copies
22722
22723 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22724
22725         * gst/gst.c: (gst_version):
22726         * gst/gstversion.h.in:
22727           add the nano
22728
22729 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22730
22731         * gst/gstevent.h:
22732           Oops, add missing closing bracket.
22733
22734 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22735
22736         * configure.ac:
22737           use common m4's for argument checking
22738
22739 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22740
22741         * docs/gst/gstreamer-sections.txt:
22742         * gst/gstevent.h:
22743           Add GST_EVENT_TYPE_NAME() macro.
22744
22745 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22746
22747         * gst/gstinfo.c:
22748         * gst/gstpluginfeature.c:
22749         * gst/gsttask.c:
22750           privatize more symbols
22751
22752 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22753
22754         * configure.ac:
22755           add srcdir, builddir includes to GST_ALL_CFLAGS, since
22756           everything that uses GStreamer API should have the includes
22757
22758 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22759
22760         * docs/gst/gstreamer-sections.txt:
22761         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22762         * gst/gstvalue.h:
22763           give each value a _get_type, removes the DATA exports
22764
22765 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22766
22767         * gst/gst.c:
22768         * gst/gst.h:
22769           remove _gst_registry_auto_load, not used anymore
22770         * gst/gstbin.c: (gst_bin_get_type):
22771         * gst/gstbin.h:
22772         * gst/gstelement.c: (gst_element_get_type):
22773         * gst/gstelement.h:
22774         * gst/gstobject.c: (gst_object_get_type):
22775         * gst/gstobject.h:
22776         * gst/gstpad.c: (gst_pad_get_type):
22777         * gst/gstpad.h:
22778           make _get_type functions similar, fixes data export from library
22779
22780 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22781
22782         * configure.ac:
22783           correctly make conditionals
22784         * gst/elements/Makefile.am:
22785         * gst/elements/gstelements.c:
22786           fix typo causing fdsrc not to build
22787
22788 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22789
22790         * testsuite/Makefile.am:
22791         * testsuite/bytestream/.cvsignore:
22792         * testsuite/bytestream/Makefile.am:
22793         * testsuite/bytestream/filepadsink.c:
22794         * testsuite/bytestream/gstbstest.c:
22795         * testsuite/bytestream/test1.c:
22796         * testsuite/bytestream/testfile1:
22797         * testsuite/caps/normalisation.c:
22798         * testsuite/caps/random.c: (main):
22799         * testsuite/cleanup/.cvsignore:
22800         * testsuite/cleanup/Makefile.am:
22801         * testsuite/cleanup/cleanup1.c:
22802         * testsuite/cleanup/cleanup2.c:
22803         * testsuite/cleanup/cleanup3.c:
22804         * testsuite/cleanup/cleanup4.c:
22805         * testsuite/cleanup/cleanup5.c:
22806         * testsuite/controller/interpolator.c:
22807         * testsuite/debug/printf_extension.c: (main):
22808         * testsuite/elements/tee.c:
22809         * testsuite/negotiation/.cvsignore:
22810         * testsuite/negotiation/Makefile.am:
22811         * testsuite/negotiation/pad_link.c:
22812         * testsuite/pad/Makefile.am:
22813         * testsuite/pad/chainnopull.c:
22814         * testsuite/pad/getnopush.c:
22815         * testsuite/pad/link.c:
22816         * testsuite/refcounting/sched.c: (create_pipeline):
22817         * testsuite/registry/Makefile.am:
22818         * testsuite/registry/gst-print-formats.c:
22819         * testsuite/schedulers/.cvsignore:
22820         * testsuite/schedulers/142183-2.c:
22821         * testsuite/schedulers/142183.c:
22822         * testsuite/schedulers/143777-2.c:
22823         * testsuite/schedulers/143777.c:
22824         * testsuite/schedulers/147713.c:
22825         * testsuite/schedulers/147819.c:
22826         * testsuite/schedulers/147894-2.c:
22827         * testsuite/schedulers/147894.c:
22828         * testsuite/schedulers/Makefile.am:
22829         * testsuite/schedulers/group_link.c:
22830         * testsuite/schedulers/queue_link.c:
22831         * testsuite/schedulers/relink.c:
22832         * testsuite/schedulers/unlink.c:
22833         * testsuite/schedulers/unref.c:
22834         * testsuite/schedulers/useless_iteration.c:
22835         * testsuite/states/bin.c:
22836           clean out/remove some stuff from the testsuite directories
22837
22838 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22839
22840         * configure.ac:
22841           check for some headers
22842         * gst/elements/Makefile.am:
22843         * gst/elements/gstelements.c:
22844           don't compile fdsrc without sys/socket.h
22845         * gst/indexers/Makefile.am:
22846         * gst/indexers/gstindexers.c: (plugin_init):
22847           don't compile fileindex without mmap
22848
22849 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22850
22851         * configure.ac:
22852           reorganize
22853           clean up
22854           document more
22855           remove cruft
22856         * check/Makefile.am:
22857         * docs/gst/Makefile.am:
22858         * examples/helloworld/Makefile.am:
22859         * gst/Makefile.am:
22860         * gst/base/Makefile.am:
22861         * gst/check/Makefile.am:
22862         * gst/elements/Makefile.am:
22863         * gst/indexers/Makefile.am:
22864         * gst/parse/Makefile.am:
22865         * libs/gst/controller/Makefile.am:
22866         * libs/gst/dataprotocol/Makefile.am:
22867         * examples/helloworld/helloworld.c: (event_loop):
22868           compile fixes, though it's not being compiled currently
22869
22870 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22871
22872         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
22873           Add some simple tests for the new taglist date API.
22874
22875 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22876
22877         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
22878         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
22879           Beautify 'last-message' output: print 'none' for buffer timestamps
22880           and durations if none is set; improve alignment with next messages.
22881
22882 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22883
22884         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
22885         * gst/gstpluginfeature.h:
22886         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
22887         * gst/gstregistry.h:
22888         * docs/gst/gstreamer-sections.txt:
22889           Add new API to check plugin feature version requirements.
22890
22891         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
22892           Some basic tests for the above.         
22893
22894 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22895
22896         * gst/gststructure.c: (gst_structure_to_string):
22897           guard against NULL printf - happens when for example
22898           a message structure with GstClock gets serialized
22899
22900 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
22901
22902         * gst/base/gstcollectpads.c: (gst_collectpads_event):
22903           Fix presumable copy'n'pasto.
22904
22905 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22906
22907         * gst/elements/gstfakesrc.h:
22908         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
22909         * gst/elements/gsttypefindelement.c:
22910           fix some signedness
22911         * gst/elements/gstfilesink.c: (gst_file_sink_render):
22912           I wonder if this could actually write +2GB files before
22913
22914 2005-10-13  Andy Wingo  <wingo@pobox.com>
22915
22916         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
22917         Fix Timmeke Waymans bug.
22918         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
22919         string of the proper length to gst_caps_from_string. There's a
22920         potential for, before this fix, that this could cause someone
22921         connecting over the network to cause a segfault if the payload is
22922         not NUL-terminated.
22923
22924 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
22925
22926         * docs/design/draft-push-pull.txt:
22927         * docs/design/part-overview.txt:
22928         * docs/random/TODO-pre-0.9:
22929         * docs/random/old/ChangeLog.gstreamer:
22930         * gst/base/gstpushsrc.c:
22931         * gst/gstclock.c:
22932           fixed typos
22933
22934 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22935
22936         * gst/glib-compat.c: (gst_flags_get_first_value):
22937         * gst/glib-compat.h:
22938         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
22939         (gst_value_compare_double), (gst_value_serialize_flags):
22940           GLib 2.6 g_flags_get_first_value has a bug that triggers an
22941           infinite loop
22942
22943 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22944
22945         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22946         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22947           fix up debugging
22948         * tools/gst-launch.c: (event_loop):
22949           print out clock nicely
22950
22951 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
22952
22953         * docs/gst/gstreamer-sections.txt:
22954         * gst/gsttaglist.h:
22955         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
22956         (gst_tag_list_get_date_index):
22957           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
22958           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
22959
22960 2005-10-13  Julien MOUTTE  <julien@moutte.net>
22961
22962         * gst/base/gstcollectpads.c: (gst_collectpads_event),
22963         (gst_collectpads_chain):
22964         * gst/base/gstcollectpads.h: Handle newsegment and store informations
22965         in CollectData.
22966
22967 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
22968
22969         * docs/gst/gstreamer-sections.txt:
22970         * gst/gst.c:
22971         * gst/gsterror.h:
22972         * tools/gst-inspect.c: (main):
22973         * tools/gst-launch.c: (main):
22974         * tools/gst-run.c: (main):
22975         * tools/gst-xmlinspect.c: (main):
22976           fix GOption context leaks
22977           doc fixes
22978
22979 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22980
22981         * gst/gstbus.c:
22982           use HAVE_UNISTD_H
22983         * win32/common/config.h:
22984           update config
22985         * win32/vs6/grammar.dsp:
22986         * win32/vs6/libgstelements.dsp:
22987         * win32/vs6/libgstreamer.dsp:
22988           update vs6 files
22989
22990 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22991
22992         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22993         * gst/base/gstbasesrc.c: (gst_base_src_query):
22994           fix more guint64<->gdouble conversions
22995
22996 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22997
22998         * Makefile.am:
22999           add win32-update target
23000         * win32/common/gstconfig.h:
23001         * win32/common/gstenumtypes.c:
23002         * win32/common/gstenumtypes.h:
23003         * win32/common/gstversion.h:
23004           add files that visual studio can't generate
23005
23006 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23007
23008         * Makefile.am:
23009           add a win32-update target
23010         * configure.ac:
23011
23012 2005-10-12  Wim Taymans  <wim@fluendo.com>
23013
23014         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23015         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
23016         * gst/gstelement.c: (gst_element_commit_state),
23017         (gst_element_set_state):
23018         Protect flags with proper lock.
23019         unref provided cached clock in dispose.
23020
23021 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
23022
23023         * gst/gst.c:
23024         * gst/gstminiobject.h:
23025         * gst/gstpad.h:
23026         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
23027           removed unused flags from miniobject
23028           doc fixes
23029
23030 2005-10-12  Wim Taymans  <wim@fluendo.com>
23031
23032         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
23033         (gst_file_sink_event), (gst_file_sink_render):
23034         Flush before seeking.
23035
23036 2005-10-12  Andy Wingo  <wingo@pobox.com>
23037
23038         * gst/gst.c (gst_init_check): Ignore unknown options, as has
23039         always been the case.
23040
23041 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
23042
23043         * check/gst/gstbin.c: (GST_START_TEST):
23044         * docs/gst/gstreamer-sections.txt:
23045         * gst/base/gstbasesink.c: (gst_base_sink_init):
23046         * gst/base/gstbasesrc.c: (gst_base_src_init),
23047         (gst_base_src_get_range), (gst_base_src_check_get_range),
23048         (gst_base_src_start), (gst_base_src_stop):
23049         * gst/base/gstbasesrc.h:
23050         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
23051         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23052         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
23053         (bin_bus_handler):
23054         * gst/gstbin.h:
23055         * gst/gstbuffer.h:
23056         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
23057         * gst/gstbus.h:
23058         * gst/gstelement.c: (gst_element_is_locked_state),
23059         (gst_element_set_locked_state), (gst_element_commit_state),
23060         (gst_element_set_state):
23061         * gst/gstelement.h:
23062         * gst/gstindex.c: (gst_index_init):
23063         * gst/gstindex.h:
23064         * gst/gstminiobject.h:
23065         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
23066         (gst_object_set_parent):
23067         * gst/gstobject.h:
23068         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
23069         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
23070         * gst/gstpad.h:
23071         * gst/gstpadtemplate.h:
23072         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
23073         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
23074         * gst/gstpipeline.h:
23075         * gst/indexers/gstfileindex.c: (gst_file_index_load),
23076         (gst_file_index_commit):
23077         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
23078         * testsuite/pad/link.c: (gst_test_src_init),
23079         (gst_test_filter_init), (gst_test_sink_init):
23080         * testsuite/states/locked.c: (main):
23081           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
23082           moved bitshift from macro to enum definition
23083
23084 2005-10-12  Wim Taymans  <wim@fluendo.com>
23085
23086         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
23087         * gst/elements/gstfilesink.c: (gst_file_sink_event),
23088         (gst_file_sink_render):
23089         Some more debugging info.
23090
23091 2005-10-12  Wim Taymans  <wim@fluendo.com>
23092
23093         * docs/design/part-states.txt:
23094         * tools/gst-launch.c: (main):
23095         Some doc updates.
23096         Revert non-intentional change.
23097
23098 2005-10-12  Wim Taymans  <wim@fluendo.com>
23099
23100         * check/gst/gstbin.c: (GST_START_TEST):
23101         * check/gst/gstelement.c: (GST_START_TEST):
23102         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
23103         * check/gst/gstghostpad.c: (GST_START_TEST):
23104         * check/gst/gstpipeline.c: (GST_START_TEST):
23105         * check/pipelines/simple_launch_lines.c: (run_pipeline):
23106         * check/states/sinks.c: (GST_START_TEST):
23107         * gst/elements/gsttypefindelement.c: (stop_typefinding):
23108         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23109         (gst_bin_remove_func), (gst_bin_get_state_func),
23110         (gst_bin_recalc_state), (gst_bin_change_state_func),
23111         (bin_bus_handler):
23112         * gst/gstelement.c: (gst_element_get_state_func),
23113         (gst_element_get_state), (gst_element_abort_state),
23114         (gst_element_commit_state), (gst_element_set_state),
23115         (gst_element_change_state), (gst_element_change_state_func):
23116         * gst/gstelement.h:
23117         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
23118         (gst_pipeline_provide_clock_func):
23119         * gst/gstutils.c: (gst_element_link_pads_filtered):
23120         * tools/gst-launch.c: (main):
23121         * tools/gst-typefind.c: (main):
23122         Use GstClockTime in _get_state() instead of GTimeVal.
23123         Remove old code in gstutils.c
23124
23125 2005-10-12  Andy Wingo  <wingo@pobox.com>
23126
23127         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
23128         removed.
23129
23130         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
23131         there is no task. Shouldn't affect any code, as nothing in our
23132         plugins checks this return value.
23133         (gst_pad_stop_task): Also take the stream lock if the pad has no
23134         task. Docs updated.
23135
23136 2005-10-12  Wim Taymans  <wim@fluendo.com>
23137
23138         * gst/gstpad.c: (pre_activate), (post_activate),
23139         (gst_pad_activate_pull), (gst_pad_activate_push):
23140         Cleanup activation code. Reset old state if
23141         activation failed.
23142
23143 2005-10-12  Wim Taymans  <wim@fluendo.com>
23144
23145         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23146         (gst_base_sink_change_state):
23147         No need to prerol after receiving EOS.
23148
23149         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23150         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
23151         * gst/elements/gstidentity.c: (gst_identity_event):
23152         Print events more verbosely.
23153
23154 2005-10-12  Wim Taymans  <wim@fluendo.com>
23155
23156         * check/Makefile.am:
23157         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
23158         * check/states/sinks2.c:
23159         Moved sinks2 testcode in sinks check.
23160
23161         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23162         (gst_bin_remove_func), (gst_bin_recalc_state),
23163         (gst_bin_change_state_func), (bin_bus_handler):
23164         Fix potential race condition when _get_state() iterated over an
23165         ASYNC element right before it posted a state completion.
23166
23167         * gst/gstclock.h:
23168         Do proper cast here.
23169
23170         * gst/gstevent.c: (gst_event_new_newsegment),
23171         (gst_event_parse_newsegment):
23172         A playback rate of 0.0 is not allowed.
23173
23174 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23175
23176         * win32/common/config.h:
23177         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
23178         (_trewinddir), (_ttelldir), (_tseekdir):
23179         * win32/common/dirent.h:
23180         * win32/common/gtchar.h:
23181         * win32/common/libgstbase.def:
23182         * win32/common/libgstreamer.def:
23183         * win32/vs6/grammar.dsp:
23184         * win32/vs6/gst_inspect.dsp:
23185         * win32/vs6/gst_launch.dsp:
23186         * win32/vs6/gstreamer.dsw:
23187         * win32/vs6/libgstbase.dsp:
23188         * win32/vs6/libgstelements.dsp:
23189         * win32/vs6/libgstreamer.dsp:
23190           Visual Studio 6 project files, and a new common directory.
23191           Phear.
23192
23193 2005-10-11  Wim Taymans  <wim@fluendo.com>
23194
23195         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23196         (gst_base_sink_do_sync), (gst_base_sink_query),
23197         (gst_base_sink_change_state):
23198         * gst/base/gstbasesink.h:
23199         Correctly parse newsegment info.
23200
23201 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23202
23203         * gst/gst.c: (init_post):
23204           split plugin paths correctly
23205
23206 2005-10-11  Wim Taymans  <wim@fluendo.com>
23207
23208         * check/gst/gstevent.c: (GST_START_TEST):
23209         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23210         (gst_base_sink_change_state):
23211         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
23212         * gst/base/gstbasetransform.c: (gst_base_transform_event):
23213         * gst/elements/gstfilesink.c: (gst_file_sink_event):
23214         * gst/gstevent.c: (gst_event_new_newsegment),
23215         (gst_event_parse_newsegment):
23216         * gst/gstevent.h:
23217         Added extra flag to newsegment for future API freeze.
23218         Updated check and base elements.
23219
23220 2005-10-11  Julien MOUTTE  <julien@moutte.net>
23221
23222         * gst/base/gstcollectpads.c: (gst_collectpads_init),
23223         (gst_collectpads_add_pad), (gst_collectpads_pop),
23224         (gst_collectpads_event), (gst_collectpads_chain):
23225         * gst/base/gstcollectpads.h: Handle EOS correctly.
23226
23227 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23228
23229         * tools/gst-launch.c: (main):
23230           more null protecting
23231
23232 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23233
23234         * gst/gst-i18n-lib.h:
23235           check for ENABLE_NLS, not GETTEXT_PACKAGE
23236         * gst/gstregistry.c: (gst_registry_add_plugin),
23237         (gst_registry_scan_path_level),
23238         (_gst_registry_remove_cache_plugins):
23239           protect possibly NULL strings
23240         * gst/parse/types.h:
23241           config.h already included before
23242         * tools/gst-inspect.c: (main):
23243           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23244           check for ENABLE_NLS, not GETTEXT_PACKAGE
23245         * tools/gst-launch.c: (main):
23246           check for ENABLE_NLS, not GETTEXT_PACKAGE
23247
23248 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23249
23250         * configure.ac:
23251           if we don't have glib, fail before testing 2.8
23252         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23253           fix a leak, should fix plugins-base testsuite
23254
23255 2005-10-11  Andy Wingo  <wingo@pobox.com>
23256
23257         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23258         take the mode we're going to as an arg. Go head and set the mode
23259         and flushing flags now, so that if the activate function starts a
23260         thread all the flags will be in the right state.
23261         (post_activate): Renamed also. Just handle making sure streaming
23262         finishes for the deactivation case, and setting the deactivated
23263         mode.
23264         (gst_pad_set_active): Complain loudly if deactivation fails.
23265         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23266         (gst_pad_activate_push): Adapt to pre/post_activate changes,
23267         remove the terrible hack.
23268
23269 2005-10-11  Wim Taymans  <wim@fluendo.com>
23270
23271         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23272         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23273         (gst_bin_recalc_state), (gst_bin_change_state_func),
23274         (gst_bin_dispose), (bin_bus_handler):
23275         * gst/gstbin.h:
23276         Prepare to make current EOS message queue more generic.
23277         Fix some typos.
23278
23279         * gst/gstevent.c: (gst_event_new_newsegment),
23280         (gst_event_parse_newsegment):
23281         * gst/gstevent.h:
23282         Rename base to stream_time.
23283
23284         * gst/gstmessage.h:
23285         Fix typo in docs.
23286
23287 2005-10-11  Wim Taymans  <wim@fluendo.com>
23288
23289         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23290         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23291         (gst_bin_change_state_func), (bin_bus_handler):
23292         * gst/gstbin.h:
23293         Work on proper clock selection.
23294
23295 2005-10-11  Edward Hervey  <edward@fluendo.com>
23296
23297         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
23298         * libs/gst/controller/gstcontroller.h:
23299         Added GList* version of _remove_properties() in order to be able to wrap
23300         it in bindings.
23301
23302 2005-10-11  Wim Taymans  <wim@fluendo.com>
23303
23304         * docs/design/part-states.txt:
23305         Some more docs.
23306
23307         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23308         (gst_bin_change_state_func), (bin_bus_handler):
23309         Doc updates. Don't distribute the same clock over and over again.
23310
23311         * gst/gstclock.c:
23312         * gst/gstclock.h:
23313         Doc updates.
23314
23315         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23316         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23317         (gst_pad_send_event):
23318         * gst/gstpad.h:
23319         Make probe emission threadsafe again.
23320         Register quarks and move _get_name() from utils.
23321         Doc updates.
23322
23323         * gst/gstpipeline.c: (gst_pipeline_class_init),
23324         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23325         Only redistribute the clock of it changed.
23326
23327         * gst/gstsystemclock.h:
23328         Doc updates. 
23329
23330         * gst/gstutils.c:
23331         * gst/gstutils.h:
23332         Moved the _flow_get_name() to GstPad.
23333
23334 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23335
23336         * check/gst-libs/gdp.c: (GST_START_TEST):
23337         * check/gst/gstcaps.c: (GST_START_TEST):
23338         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23339         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23340         (gst_dp_packet_from_caps):
23341           fix more valgrind warnings before turning up the heat
23342
23343 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23344
23345         * gst/parse/grammar.y:
23346           some cleanup before the hacking
23347
23348 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23349
23350         * gst/base/gstbasesrc.c: (gst_base_src_query):
23351           use conversions
23352         * gst/gstutils.c: (gst_guint64_to_gdouble),
23353         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23354         * gst/gstutils.h:
23355           externalize, basesrc uses it
23356           obviously the implementation needs testing
23357
23358 2005-10-10  Wim Taymans  <wim@fluendo.com>
23359
23360         * tests/sched/Makefile.am:
23361         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23362         (make_pipeline3), (make_pipeline4), (print_elem), (main):
23363
23364 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23365
23366         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23367           apparently converting from guint64 to double is not implemented
23368           on MSVC
23369
23370 2005-10-10  Wim Taymans  <wim@fluendo.com>
23371
23372         * check/Makefile.am:
23373         * check/generic/states.c: (GST_START_TEST):
23374         * check/gst/gstbin.c: (GST_START_TEST):
23375         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23376         * check/states/sinks.c: (GST_START_TEST):
23377         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23378         (main):
23379         Check fixes, use API as stated in design docs, remove hacks.
23380
23381         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23382         (gst_base_sink_change_state):
23383         Catch stopping our task while we're shutting down.
23384
23385         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23386         (gst_bin_remove_func), (gst_bin_get_state_func),
23387         (gst_bin_recalc_state), (gst_bin_change_state_func),
23388         (bin_bus_handler):
23389         * gst/gstbin.h:
23390         * gst/gstelement.c: (gst_element_init),
23391         (gst_element_get_state_func), (gst_element_abort_state),
23392         (gst_element_commit_state), (gst_element_lost_state),
23393         (gst_element_set_state), (gst_element_change_state),
23394         (gst_element_change_state_func):
23395         * gst/gstelement.h:
23396         New state change algorithm (see #318116)
23397
23398         * gst/gstpipeline.c: (gst_pipeline_class_init),
23399         (gst_pipeline_init), (gst_pipeline_set_property),
23400         (gst_pipeline_get_property), (do_pipeline_seek),
23401         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23402         * gst/gstpipeline.h:
23403         Remove crude state change hacks.
23404
23405         * gst/gstutils.h:
23406         Remove crude hacks.
23407
23408         * tools/gst-launch.c: (main):
23409         Fixes for state change. Needs some more work to fully use the
23410         new stuff.
23411
23412 2005-10-10  Andy Wingo  <wingo@pobox.com>
23413
23414         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23415
23416         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23417         this flag, but it's not even in GLib 2.6. Odd. Hack around the
23418         issue.
23419
23420 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23421
23422         * gst/gstiterator.c: (gst_iterator_new):
23423           Fix my previous commit: GTypes passed to gst_iterator_new()
23424           can be fundamental types.
23425
23426 2005-10-10  Wim Taymans  <wim@fluendo.com>
23427
23428         * gst/gstelement.c: (gst_element_iterate_pad_list),
23429         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23430         (gst_element_iterate_sink_pads):
23431         Use src/sink pads lists for the respective iterators instead
23432         of filtering.
23433
23434 2005-10-10  Andy Wingo  <wingo@pobox.com>
23435
23436         Merged in popt removal + GOption addition patch from Ronald, bug
23437         #169772.
23438
23439         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23440         GstElement macros around, remove popt-related symbols, add goption
23441         stuff.
23442
23443         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23444         
23445         * docs/gst/Makefile.am:
23446         * docs/libs/Makefile.am: No POPT_CFLAGS.
23447         
23448         * examples/manual/Makefile.am:
23449         * docs/manual/basics-init.xml: Doc updates with an example.
23450         
23451         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23452         (gst_init), (parse_one_option), (parse_goption_arg):
23453         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23454         bit of hand merging and debugging to get the GOption stuff working
23455         tho.
23456         
23457         * tests/Makefile.am:
23458         * tools/Makefile.am:
23459         * tools/gst-inspect.c: (main):
23460         * tools/gst-launch.c: (main):
23461         * tools/gst-run.c: (main):
23462         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23463
23464 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23465
23466         * gst/gstiterator.c: (gst_iterator_new):
23467           Add assertions to make sure passed GType is likely to really
23468           be a GType (as the compiler won't catch it if the size and
23469           GType arguments get mixed up, see #318447).
23470
23471 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
23472
23473         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23474
23475         * gst/gstbin.c: (gst_bin_iterate_sorted):
23476           Pass GType and size arguments to gst_iterator_new() in the right
23477           order (maybe we should make _new() take the GType as first argument
23478           just like _new_list()?) (#318447).
23479           
23480
23481 2005-10-10  Wim Taymans  <wim@fluendo.com>
23482
23483         * gst/gstelement.c: (gst_element_finalize):
23484         And free the GStaticRecMutex too
23485
23486 2005-10-10  Andy Wingo  <wingo@pobox.com>
23487
23488         * gst/gstelement.c (gst_element_init, gst_element_finalize):
23489         Allocate and free the mutex properly.
23490
23491         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23492         New macros.
23493         (GstElement): The state_lock is now recursive. Rebuild your
23494         plugins, suckers. Old macros adapted.
23495
23496         * docs/gst/gstreamer-sections.txt: Doc updates.
23497
23498         * gst/gstutils.h:
23499         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
23500         (g_static_rec_cond_wait): Ported from state changes patch, while
23501         we wait on bug #317802 to be solved in a well-distributed GLib.
23502
23503         * gst/gstelement.c (gst_element_change_state_func): Renamed from
23504         gst_element_change_state, variable name changes.
23505         (gst_element_change_state): Split out of gst_element_set_state in
23506         preparation for the state change merge. Doesn't pay attention to
23507         the 'transition' argument.
23508         (gst_element_set_state): Updates, hopefully purely cosmetic.
23509         (gst_element_sync_state_with_parent): MT-safety. Ported from the
23510         state change patch.
23511         (gst_element_get_state_func): Renamed from get_state, cosmetic
23512         changes.
23513
23514 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23515
23516         * gst/elements/gstelements.c:
23517         * win32/GStreamer.vcproj:
23518         * win32/config.h:
23519         * win32/dirent.c: (_tseekdir):
23520         * win32/gst-inspect.vcproj:
23521         * win32/gst-launch.vcproj:
23522         * win32/gstconfig.h:
23523         * win32/gstelements.vcproj:
23524         * win32/gstenumtypes.c: (gst_object_flags_get_type):
23525         * win32/gstreamer.def:
23526         * win32/msvc71.sln:
23527           updates for the win32 build (patch from Sebastien Moutte)
23528
23529 2005-10-10  Andy Wingo  <wingo@pobox.com>
23530
23531         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23532         gst_bin_get_state, cleaned up (but no logic changes).
23533         (bin_element_is_sink): Comment updates.
23534         (sink_iterator_filter): Remove needless cast.
23535         (gst_bin_iterate_sinks): Doc update.
23536         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23537         cleaned up (but no logic changes).
23538
23539         * check/states/sinks.c (test_src_sink): Cleanups from the state
23540         change patch.
23541         (test_livesrc_sink): Sync on the state.
23542
23543         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23544         the state change patch.
23545
23546         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23547         change patch.
23548
23549         * check/gst/gstbin.c: Merge in some style fixes and additional
23550         checks from Wim's state change patch.
23551
23552 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23553
23554         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23555         (gst_type_find_helper):
23556           Check whether we have the requested data already in our list of
23557           cached buffers before pulling a new buffer; also make the buffer
23558           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23559
23560 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23561
23562         * gst/gstcaps.c:
23563         * gst/gstevent.c:
23564           doc updates
23565         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23566           don't use long long, it's not portable.  Replacing with
23567           gint64 seems to work; let's hope no skeletons fall out of the closet.
23568
23569 2005-10-10  Andy Wingo  <wingo@pobox.com>
23570
23571         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23572
23573 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
23574
23575         * docs/gst/gstreamer-sections.txt:
23576         * gst/gstevent.c:
23577         * gst/gstevent.h:
23578         * gst/gstinfo.c:
23579         * gst/gstinfo.h:
23580         * gst/gstmessage.c: (gst_message_parse_state_changed):
23581         * gst/gstpad.c:
23582         * gst/gstpad.h:
23583           more docs, fix compilation
23584
23585 2005-10-09  Philippe Khalaf <burger@speedy.org>
23586         * gst/gstmessage.c:
23587           Fixed a few forgotten variables on previous commit
23588
23589 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
23590
23591         * gst/base/gsttypefindhelper.c: (helper_find_peek):
23592           Fix evil typefind crasher: getrange() might return a short
23593           buffer at the end of a file, but gst_type_find_peek() must
23594           either return the full data as requested or NULL, but
23595           never a short buffer.
23596
23597 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23598
23599         * gst/gstmessage.c: (gst_message_new_state_changed),
23600         (gst_message_parse_state_changed):
23601         * gst/gstmessage.h:
23602           don't use "new", it's a C++ keyword
23603
23604 2005-10-08  Wim Taymans  <wim@fluendo.com>
23605
23606         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23607         * gst/gstelement.c: (gst_element_post_message):
23608         * gst/gstpipeline.c: (gst_pipeline_change_state):
23609         Small docs and debug updates.
23610
23611 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23612
23613         * docs/gst/gstreamer-sections.txt:
23614         * gst/gstelementfactory.c:
23615         * gst/gstevent.c:
23616         * gst/gsttaglist.c:
23617           more docs
23618
23619 2005-10-08  Wim Taymans  <wim@fluendo.com>
23620
23621         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23622         (gst_bin_dispose), (bin_bus_handler):
23623         Fix typos, add comments.
23624         Clear EOS list when going to PAUSED from any direction and do it
23625         in a threadsafe way.
23626         Get base time in a threadsafe way too.
23627         Fix confusing debug in the change_state function.
23628         Various other small cleanups.
23629         
23630         * gst/gstelement.c: (gst_element_post_message):
23631         Fix very verbose bus posting code.
23632
23633         * gst/gstpipeline.c: (gst_pipeline_class_init),
23634         (gst_pipeline_set_property), (gst_pipeline_get_property),
23635         (gst_pipeline_change_state):
23636         Small ARG_ -> PROP_ cleanup
23637
23638 2005-10-08  Wim Taymans  <wim@fluendo.com>
23639
23640         * gst/gstbin.c: (is_eos), (bin_bus_handler):
23641         Do a less CPU demanding EOS check because we can.
23642
23643 2005-10-08  Wim Taymans  <wim@fluendo.com>
23644
23645         * libs/gst/dataprotocol/dataprotocol.c:
23646         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23647         (gst_dp_packet_from_event):
23648         * libs/gst/dataprotocol/dataprotocol.h:
23649         * libs/gst/dataprotocol/dp-private.h:
23650         It's about time we bump the version number.
23651         Since event types don't fit in the guint8 anymore describing
23652         the payload type, make payload type 16 bits wide.
23653
23654 2005-10-08  Wim Taymans  <wim@fluendo.com>
23655
23656         * docs/design/part-TODO.txt:
23657         * docs/design/part-clocks.txt:
23658         * docs/design/part-events.txt:
23659         * docs/design/part-gstbin.txt:
23660         * docs/design/part-gstelement.txt:
23661         * docs/design/part-gstpipeline.txt:
23662         * docs/design/part-live-source.txt:
23663         * docs/design/part-messages.txt:
23664         * docs/design/part-overview.txt:
23665         * docs/design/part-states.txt:
23666         Many doc updates.
23667
23668 2005-10-08  Wim Taymans  <wim@fluendo.com>
23669
23670         * gst/gstevent.c:
23671         * gst/gstevent.h:
23672         Fix event quark registration.
23673         Add some space between events so we can insert them in the
23674         right groups.
23675
23676 2005-10-08  Wim Taymans  <wim@fluendo.com>
23677
23678         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23679         (gst_base_sink_handle_buffer):
23680         Better log message.
23681
23682         * gst/gstbus.h:
23683         * gst/gstelement.h:
23684         More docs.
23685
23686         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23687         (gst_queue_set_property), (gst_queue_get_property):
23688         * gst/gstqueue.h:
23689         Remove old unused properties.
23690
23691 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23692         * docs/gst/gstreamer-sections.txt:
23693         * gst/gstmessage.c:
23694         * gst/gstmessage.h:
23695         * gst/gstminiobject.c:
23696         * gst/gstminiobject.h:
23697         * gst/gstobject.h:
23698         * gst/gstpad.h:
23699         * gst/gstutils.h:
23700           lots of new docs and doc fixes
23701
23702 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23703
23704         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23705         * gst/gstplugin.h:
23706         * gst/gstregistry.c: (gst_registry_lookup_locked),
23707         (gst_registry_scan_path_level):
23708         * gst/gstregistryxml.c: (load_plugin):
23709           Only ever load one plugin for a given plugin basename.
23710           This ensures correct overriding of GST_PLUGIN_PATH over
23711           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23712           system installed plugins.
23713
23714 2005-10-08  Wim Taymans  <wim@fluendo.com>
23715
23716         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23717         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23718         Prepare for doing QOS.
23719
23720 2005-10-08  Wim Taymans  <wim@fluendo.com>
23721
23722         * check/gst/gstbin.c: (GST_START_TEST):
23723         * check/pipelines/cleanup.c: (GST_START_TEST):
23724         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23725         Allow new clock message too.
23726
23727 2005-10-08  Wim Taymans  <wim@fluendo.com>
23728
23729         * gst/gstmessage.c: (gst_message_new_error),
23730         (gst_message_new_warning), (gst_message_new_tag),
23731         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23732         (gst_message_new_clock_lost), (gst_message_new_new_clock),
23733         (gst_message_new_segment_start), (gst_message_new_segment_done),
23734         (gst_message_parse_state_changed),
23735         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23736         (gst_message_parse_new_clock):
23737         * gst/gstmessage.h:
23738         Also carry the clock in question.
23739
23740 2005-10-08  Wim Taymans  <wim@fluendo.com>
23741
23742         * gst/gstmessage.c: (gst_message_new_custom),
23743         (gst_message_new_eos), (gst_message_new_error),
23744         (gst_message_new_warning), (gst_message_new_tag),
23745         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23746         (gst_message_new_new_clock), (gst_message_new_segment_start),
23747         (gst_message_new_segment_done), (gst_message_parse_state_changed),
23748         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23749         * gst/gstmessage.h:
23750         Clean up.
23751         Added clock related messages.
23752
23753         * gst/gstpipeline.c: (gst_pipeline_change_state):
23754         Post message when the clock changed.
23755
23756         * tools/gst-launch.c: (event_loop):
23757         Print new clock.
23758
23759 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
23760
23761         * tools/gst-inspect.c: (print_element_properties_info):
23762           Can't pass NULL strings to g_print() on windows.
23763
23764 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23765
23766         * docs/Makefile.am:
23767         * docs/gst/Makefile.am:
23768         * docs/gst/gstreamer-docs.sgml:
23769         * docs/gst/running.xml:
23770         * docs/version.entities.in:
23771           add a chapter on running GStreamer.
23772           document GST_DEBUG and GST_PLUGIN* env vars
23773
23774 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23775
23776         * Makefile.am:
23777           remove include dir
23778         * configure.ac:
23779           remove PLUGINS_BUILDDIR stuff
23780         * gst/gst.c: (init_post):
23781           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23782         * idiottest.mak:
23783           remove, it was condescending and not needed
23784
23785 2005-10-08  Wim Taymans  <wim@fluendo.com>
23786
23787         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23788         (gst_base_sink_handle_object), (gst_base_sink_event),
23789         (gst_base_sink_wait), (gst_base_sink_handle_event),
23790         (gst_base_sink_change_state):
23791         * gst/base/gstbasesink.h:
23792         Repost EOS message while going to PLAYING if still EOS.
23793         Make sure that when receiving a FLUSH_START we don't attempt
23794         to sync on the clock anymore.
23795
23796 2005-10-08  Wim Taymans  <wim@fluendo.com>
23797
23798         * tools/gst-launch.c: (event_loop):
23799         Better message printout.
23800
23801 2005-10-08  Wim Taymans  <wim@fluendo.com>
23802
23803         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
23804         (gst_bin_child_proxy_get_children_count):
23805         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23806         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
23807         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
23808         (gst_child_proxy_set_valist):
23809         * gst/parse/grammar.y:
23810         Make ChildProxy threadsafe and fix mem leaks.
23811
23812 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23813
23814         * gst/gst.c: (init_post):
23815           debug the GST_PLUGIN_ env vars
23816
23817 2005-10-08  Wim Taymans  <wim@fluendo.com>
23818
23819         * check/gst/gstbin.c: (GST_START_TEST):
23820         * check/gst/gstmessage.c: (GST_START_TEST):
23821         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
23822         * gst/gstelement.c: (gst_element_commit_state),
23823         (gst_element_lost_state):
23824         * gst/gstmessage.c: (gst_message_new_state_changed),
23825         (gst_message_parse_state_changed):
23826         * gst/gstmessage.h:
23827         * tools/gst-launch.c: (event_loop):
23828         Added extra field to STATE_CHANGE message with the pending
23829         state, which will be different from the new state soon.
23830
23831 2005-10-08  Wim Taymans  <wim@fluendo.com>
23832
23833         * gst/gstbus.c: (gst_bus_pop):
23834         * gst/gstclock.c:
23835         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
23836         Small cleanups and doc updates.
23837
23838 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23839
23840         * gst/gst.c: (init_pre):
23841         * gst/gstbin.c: (gst_bin_add_func):
23842           log distributing clocks and base time
23843         * gst/gstregistry.c: (gst_registry_add_plugin),
23844         (gst_registry_scan_path_level), (gst_registry_scan_path):
23845           clean up the debugging output a little
23846         * gst/gstutils.c: (gst_element_state_get_name):
23847           warn about a memleak (I've actually seen this be used, though
23848           it was probably a bug)
23849
23850 2005-10-07  Wim Taymans  <wim@fluendo.com>
23851
23852         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23853         (gst_base_src_init), (gst_base_src_default_newsegment),
23854         (gst_base_src_newsegment), (gst_base_src_do_seek),
23855         (gst_base_src_loop), (gst_base_src_start):
23856         * gst/base/gstbasesrc.h:
23857         Make the newsegment event customizable by subclasses.
23858
23859 2005-10-07  Wim Taymans  <wim@fluendo.com>
23860
23861         * gst/gstevent.c: (gst_event_new_buffersize),
23862         (gst_event_parse_buffersize):
23863         * gst/gstevent.h:
23864         New event for future idea.
23865
23866 2005-10-07  Andy Wingo  <wingo@pobox.com>
23867
23868         * gst/gstelement.c (gst_element_post_message): Doc update.
23869
23870         * docs/gst/gstreamer-sections.txt: Update.
23871
23872         * gst/gstmessage.c (gst_message_new_application): Made into a
23873         function like honest API calls.
23874         (gst_message_new_element): New message type.
23875
23876         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
23877
23878         * check/elements/fakesrc.c (test_no_preroll): New check, checks
23879         that setting a live fakesrc to PAUSED returns NO_PREROLL both
23880         times.
23881
23882         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
23883         NO_PREROLL from gst_element_change_state to fall through.
23884
23885 2005-10-07  Wim Taymans  <wim@fluendo.com>
23886
23887         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
23888         (gst_ghost_pad_do_activate_push):
23889         Activating a ghostpad with no internal pad in push mode
23890         is ok.
23891
23892 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
23893
23894         * gst/gstobject.h:
23895           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
23896           Fixes compilation on Windows.
23897
23898 2005-10-07  Michael Smith <msmith@fluendo.com>
23899
23900         * tools/gst-inspect.c:
23901           Print out feature and plugin count at the end when printing out
23902           all features.
23903
23904 2005-10-04  Michael Smith <msmith@fluendo.com>
23905
23906         * gst/gsterror.c: (_gst_stream_errors_init):
23907           Add another error string used in a few existing plugins.
23908
23909         * gst/gstplugin.c:
23910         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
23911         * tools/gst-inspect.c: (print_element_info):
23912           When a feature disappears from a plugin (and the feature exists in
23913           the cached registry file), things went horribly wrong. This isn't a
23914           complete fix, we should actually be removing the 'missing' features
23915           from the features list when we load the actual plugin. That's not
23916           yet implemented. 
23917
23918 2005-10-04  Johan Dahlin  <johan@gnome.org>
23919
23920         * check/gst/gstiterator.c: (GST_START_TEST):
23921         * gst/gstbin.c: (gst_bin_iterate_elements),
23922         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
23923         * gst/gstelement.c: (gst_element_iterate_pads):
23924         * gst/gstformat.c: (gst_format_iterate_definitions):
23925         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23926         (gst_iterator_new_list), (gst_iterator_filter):
23927         * gst/gstiterator.h:
23928         * gst/gstquery.c: (gst_query_type_iterate_definitions):
23929         Add a GType to GstIterator, update callsites and tests.
23930
23931 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23932
23933         * gst/gstpad.c: (gst_pad_event_default_dispatch):
23934           give events a chance to be handled by event probes when the pad
23935           is not linked
23936
23937 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23938
23939         * gst/gstevent.c: (gst_event_type_get_name),
23940         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
23941         * gst/gstevent.h:
23942           add string representations for event types
23943
23944 2005-10-06  Wim Taymans  <wim@fluendo.com>
23945
23946         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
23947         Don't use NULL pointers.
23948
23949 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23950
23951         * gst/gst_private.h:
23952         * gst/gstbus.c:
23953         * gst/gstelement.c:
23954         * gst/gstinfo.c:
23955         * gst/gstpluginfeature.c:
23956           widen the debug category in output to fit the biggest one we have
23957           add a bus category and use it
23958           play with the colors
23959           fix up some categories
23960
23961 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23962
23963         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
23964           add push activation of sink ghost pads.
23965           Andye, please verify
23966
23967 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
23968
23969         * gst/gstutils.c: (gst_element_link_pads):
23970           fix a bug in the case where neither element has a pad
23971         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23972           add a test for that case
23973
23974 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
23975
23976         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
23977           emit have-data before checking for peers.  This allows
23978           for probe handlers to connect elements.  This helps autopluggers.
23979         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
23980         (gst_pad_suite):
23981           add six checks, linked/unlinked with no/true/false probe
23982
23983 2005-10-04  Wim Taymans  <wim@fluendo.com>
23984
23985         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
23986         (gst_fake_sink_event), (gst_fake_sink_preroll),
23987         (gst_fake_sink_render), (gst_fake_sink_change_state):
23988         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
23989         (gst_fake_src_get_property), (gst_fake_src_create),
23990         (gst_fake_src_stop):
23991         * gst/elements/gstidentity.c: (gst_identity_stop):
23992         Protect last_message with lock.
23993
23994 2005-10-04  Edward Hervey  <edward@fluendo.com>
23995
23996         * gst/gstformat.h: 
23997         Added precision in the comments for GST_FORMAT_DEFAULT
23998
23999 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
24000
24001         * tools/gst-launch.c: (main):
24002           Don't try to run erroneous pipelines.
24003
24004 2005-10-04  Julien MOUTTE  <julien@moutte.net>
24005
24006         * gst/gstbus.c: We don't need this header.
24007
24008 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24009
24010         * configure.ac:
24011           back to development
24012
24013 === release 0.9.3 ===
24014
24015 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24016
24017         * README:
24018         * configure.ac:
24019           Releasing 0.9.3, "Unregistered"
24020
24021 2005-10-03  Andy Wingo  <wingo@pobox.com>
24022
24023         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
24024         whereby calling a pad's activatepush() function can start a thread
24025         that starts to push or pull before the pad gets the FLUSHING flag
24026         unset. Hack around it by holding the stream lock until the flag is
24027         set. Need to replace this with a proper solution. Together with
24028         the ghost pad fixes, this fixes mp3 playing/tagreading.
24029
24030         * docs/design/part-gstghostpad.txt: Add a note about activation of
24031         proxy pads outside of ghost pads.
24032
24033         * gst/gstghostpad.c: Implement the ghost pad activation design.
24034
24035 2005-10-02  Andy Wingo  <wingo@pobox.com>
24036
24037         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
24038         It is volatile, after all.
24039
24040         * docs/design/part-gstghostpad.txt: Flesh out activation with
24041         ghost pads.
24042
24043         * gst/base/gstbasesrc.c (gst_base_src_init): Use
24044         GST_DEBUG_FUNCPTR.
24045
24046 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
24047
24048         * configure.ac:
24049           Fix (unused) AM_CONDITIONAL tests.
24050
24051 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
24052
24053         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24054
24055         * gst/gstutils.c: (gst_pad_query_convert):
24056           Add assertion that makes sure src_val is >=0, just like
24057           gst_query_new_convert() has. (#315895)
24058
24059 2005-09-30  Edward Hervey  <edward@fluendo.com>
24060
24061         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
24062         Let's not iterate pads we're not interested in, it avoids getting 
24063         sky-high refcounts on sinkpad.
24064
24065 2005-09-30  Wim Taymans  <wim@fluendo.com>
24066
24067         * gst/gstelement.c: (gst_element_set_state),
24068         (gst_element_change_state):
24069         Small tweak, element in ASYNC remains ASYNC.
24070
24071 2005-09-30  Wim Taymans  <wim@fluendo.com>
24072
24073         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
24074         Only error is an error.
24075
24076         * gst/gstbin.c: (gst_bin_change_state):
24077         Better debugging.
24078
24079         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
24080         Also call pad_block in pad alloc.
24081
24082         * gst/gstutils.c: (gst_flow_get_name):
24083         Better debugging.
24084
24085 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24086
24087         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24088         (gst_base_src_get_range):
24089           Fix documentation typos. Add some more debug info.
24090
24091 2005-09-29  David Schleef  <ds@schleef.org>
24092
24093         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
24094           more end-user friendly.
24095         * tools/gst-inspect.c: (main): Check if command-line argument is
24096           a file and attempt to load that file as a plugin.
24097
24098 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24099
24100         * check/gst/gstbin.c:
24101         * check/states/sinks.c:
24102           fix tests for the new warning
24103         * check/gst/gstpipeline.c:
24104           add a test for pipeline and bus interaction
24105         * gst/gstelement.c:
24106           elements should be NULL if they get disposed; add a warning if not
24107
24108 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24109
24110         * gst/gstobject.c:
24111           for 2.6 refcounting, make debug log more correct by printing
24112           the actual refcounts at the time of swap (Wim)
24113
24114 2005-09-29  Andy Wingo  <wingo@pobox.com>
24115
24116         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
24117         removes signal watches previously added via
24118         gst_bus_add_signal_watch.
24119         (gst_bus_add_signal_watch): Don't return the source id, just store
24120         it on the bus if there wasn't an id already.
24121
24122         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
24123         add_signal_watch and remove_signal_watch.
24124
24125 2005-09-29  Edward Hervey  <edward@fluendo.com>
24126
24127         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
24128         Better if we actually iterate the list :)
24129
24130 2005-09-29  Wim Taymans  <wim@fluendo.com>
24131
24132         * check/gst/gstbin.c: (GST_START_TEST):
24133         Change for new bus API.
24134
24135         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24136         (send_messages), (GST_START_TEST), (gstbus_suite):
24137         Change for new bus signal API.
24138
24139         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
24140         (gst_bus_source_prepare), (gst_bus_source_check),
24141         (gst_bus_create_watch), (gst_bus_add_watch_full),
24142         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
24143         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
24144         * gst/gstbus.h:
24145         Remove support for multiple GSources operating on different
24146         message types as it is too complex and unneeded when using
24147         signals.
24148         Added support for receiving signals from the bus.
24149
24150 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24151
24152         * docs/libs/tmpl/gstdataprotocol.sgml:
24153         * docs/manual/advanced-dataaccess.xml:
24154         * gst/elements/gstcapsfilter.c:
24155         * gst/gstutils.c:
24156           rename filter-caps to caps property
24157
24158 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24159
24160         * gst/gstvalue.c: (gst_value_deserialize_fraction):
24161           More robust fraction string parsing.
24162
24163         * docs/pwg/appendix-porting.xml:
24164           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
24165
24166 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24167
24168         * gst/gstcaps.c: (gst_caps_do_simplify):
24169           Thou shalt not free a structure and then continue using it
24170           in the next loop iteration.
24171
24172         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
24173         (gst_caps_suite):
24174           Add test case for caps simplification.
24175
24176 2005-09-29  Wim Taymans  <wim@fluendo.com>
24177
24178         * check/gst/gstbin.c: (GST_START_TEST):
24179         Oops.
24180
24181 2005-09-29  Wim Taymans  <wim@fluendo.com>
24182
24183         * check/gst/gstbin.c: (GST_START_TEST):
24184         Add bus to bin.
24185
24186         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
24187         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24188         (find_element), (gst_bin_sort_iterator_next),
24189         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24190         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24191         (gst_bin_change_state), (gst_bin_dispose):
24192         A bin does not have a bus, it gets the bus from the parent.
24193
24194         * gst/gstelement.c: (gst_element_requires_clock),
24195         (gst_element_provides_clock), (gst_element_is_indexable),
24196         (gst_element_is_locked_state), (gst_element_change_state),
24197         (gst_element_set_bus_func):
24198         Small cleanups.
24199
24200         * gst/gstpipeline.c: (gst_pipeline_class_init),
24201         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
24202         The pipeline provides a bus.
24203
24204 2005-09-28  Johan Dahlin  <johan@gnome.org>
24205
24206         * gst/gstmessage.c (gst_message_parse_state_changed): Use
24207         gst_structure_get_enum instead of gst_structure_get_int
24208
24209         * gst/gststructure.c (gst_structure_get_enum): Impl.
24210
24211         * gst/gststructure.h (gst_structure_get_enum): Add
24212
24213         * docs/gst/gstreamer-sections.txt: Ditto
24214
24215         * gst/gstmessage.c (gst_message_new_state_changed): Use
24216         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
24217         which does introspection.
24218         Reviewed by Christian Schaller
24219
24220 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24221
24222         * gst/gstinfo.c: (gst_debug_log_default):
24223           don't do dummy g_strdup()s
24224         * libs/gst/controller/gstcontroller.c:
24225         (on_object_controlled_property_changed),
24226         (gst_controlled_property_new), (gst_controller_new_valist),
24227         (gst_controller_new_list),
24228         (gst_controller_remove_properties_valist), (gst_controller_set),
24229         (gst_controller_get), (gst_controller_sync_values),
24230         (gst_controller_get_value_array), (_gst_controller_class_init),
24231         (gst_controller_get_type):
24232         * libs/gst/controller/gstcontroller.h:
24233         * libs/gst/controller/gstinterpolation.c:
24234         (gst_controlled_property_find_timed_value_node):
24235           convert // to /**/ comments
24236
24237 2005-09-28  Wim Taymans  <wim@fluendo.com>
24238
24239         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
24240         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24241         (gst_bus_sync_signal_handler):
24242         * gst/gstbus.h:
24243         Added async-message and sync-message signals to the bus.
24244         Added helper BusFunc to emit signals for all posted messages.
24245
24246         * gst/gstmessage.c: (gst_message_type_get_name),
24247         (gst_message_type_to_quark), (gst_message_get_type):
24248         * gst/gstmessage.h:
24249         Register quarks for message names.
24250
24251 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24252
24253         * docs/libs/gstreamer-libs-sections.txt:
24254         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24255         (gst_controller_new_list):
24256         * libs/gst/controller/gstcontroller.h:
24257           added another constructor for language bindings
24258
24259 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
24260
24261         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24262           add another check
24263         * gst/gstbus.c:
24264           add some doc
24265         * gst/gstinfo.c: (_gst_debug_init):
24266           slightly more readable color for refcount debugging
24267
24268 2005-09-28  Wim Taymans  <wim@fluendo.com>
24269
24270         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24271         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24272         (find_element), (gst_bin_sort_iterator_next),
24273         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24274         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24275         (gst_bin_change_state), (gst_bin_dispose):
24276         Small doc fixes. get_clock -> provide_clock.
24277
24278         * gst/gstelement.c: (gst_element_class_init),
24279         (gst_element_provides_clock), (gst_element_provide_clock),
24280         (gst_element_get_clock), (gst_element_commit_state),
24281         (gst_element_lost_state):
24282         * gst/gstelement.h:
24283         Make get/set_clock() symetric. Add provide_clock vmethod since
24284         that is actually what this function does.
24285
24286         * gst/gstpipeline.c: (gst_pipeline_class_init),
24287         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24288         (gst_pipeline_get_clock):
24289         get_clock -> provide_clock.
24290
24291 2005-09-28  Andy Wingo  <wingo@pobox.com>
24292
24293         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24294         lieu of real docs...
24295
24296         * gst/elements/gstfdsrc.c: Cleaned up a bit.
24297
24298 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
24299
24300         * gst/elements/gstcapsfilter.c:
24301         * gst/elements/gstfakesink.c:
24302         * gst/elements/gstfakesrc.c:
24303         * gst/elements/gstfdsink.c:
24304         * gst/elements/gstfdsrc.c:
24305         * gst/elements/gstfilesink.c:
24306         * gst/elements/gstfilesrc.c:
24307         * gst/elements/gstidentity.c:
24308         * gst/elements/gsttee.c:
24309         * gst/elements/gsttypefindelement.c:
24310           Make element details static.
24311
24312 2005-09-28  Wim Taymans  <wim@fluendo.com>
24313
24314         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24315         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24316         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24317         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24318         (gst_bin_change_state), (gst_bin_dispose):
24319         Some documentation updates.
24320         Clean up dispose handlers.
24321
24322         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24323         * gst/gstpad.c: (gst_pad_dispose):
24324         Clean up dispose handler.
24325
24326         * gst/gstpipeline.c: (gst_pipeline_change_state):
24327         Removed spurious UNLOCK.
24328
24329 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
24330
24331         * docs/gst/gstreamer-sections.txt:
24332         * gst/base/gstbasesrc.h:
24333         * gst/gstelement.h:
24334         * gst/gstevent.h:
24335         * gst/gstobject.h:
24336         * gst/gstpad.h:
24337         * gst/gstpipeline.c:
24338         * gst/gstpipeline.h:
24339         * gst/gstutils.h:
24340         * gst/gstxml.h:
24341           added two new functions to the docs
24342                 documents all undocumented GstXXXFlags
24343                 completed some incomplete docs 
24344
24345 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
24346
24347         * gst/gstbin.c: (gst_bin_dispose):
24348         * gst/gstelement.c: (gst_element_dispose):
24349           remove now useless and leaky resurrection code in dispose
24350         * gst/base/gstbasesrc.c: (gst_base_src_init):
24351         * gst/gstelementfactory.c: (gst_element_factory_create):
24352         * gst/gstobject.c: (gst_object_set_parent):
24353           add some debugging
24354
24355 2005-09-27  Wim Taymans  <wim@fluendo.com>
24356
24357         * docs/design/part-TODO.txt:
24358         Update TODO.
24359
24360         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24361         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24362         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24363         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24364         (gst_bin_change_state):
24365         * gst/gstelement.h:
24366         Remove element variable, we keep element info in the iterator now.
24367
24368 2005-09-27  Andy Wingo  <wingo@pobox.com>
24369
24370         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24371         values.
24372
24373 2005-09-27  Wim Taymans  <wim@fluendo.com>
24374
24375         * check/gst/gstbin.c: (GST_START_TEST):
24376         Enable check that works now.
24377
24378         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24379         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24380         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24381         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24382         (gst_bin_change_state):
24383         * gst/gstbin.h:
24384         Redid the state change algorithm using a topological sort algo.
24385         Handles all cases correctly.
24386         Exposed iterator for state change order.
24387
24388         * gst/gstelement.h:
24389         Temp storage for state changes. Need to get rid of this soon.
24390
24391 2005-09-27  Wim Taymans  <wim@fluendo.com>
24392
24393         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24394         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24395         (link_fold_func), (gst_pad_proxy_setcaps):
24396         Leak fixes, the fold functions need to unref the passed object and
24397         _get_parent_*() returns ref to parent.
24398
24399 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24400
24401         * check/gst/gstbuffer.c: (test_make_writable):
24402           Plug leak in test case and fix 'make check-valgrind'
24403
24404 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24405
24406         * gst/gstbuffer.c: (gst_subbuffer_init):
24407           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24408           works correctly in all circumstances (we could have just copied
24409           the parent buffer's readonly flag, but conceptually it seems
24410           cleaner to mark all subbuffers as read-only). (based on patch
24411           by Alessandro Decina, #314710).
24412         
24413         * check/gst/gstbuffer.c: (create_read_only_buffer),
24414         (test_make_writable), (test_subbuffer_make_writable),
24415         (gst_test_suite):
24416           Add some tests for gst_buffer_make_writable().
24417
24418 2005-09-27  Wim Taymans  <wim@fluendo.com>
24419
24420         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24421         use gst_object_has_ancestor().
24422
24423         * gst/gstobject.c: (gst_object_has_ancestor):
24424         * gst/gstobject.h:
24425         gst_object_has_ancestor() copied from gstbin.c as it is a
24426         useful function.
24427
24428         * tests/instantiate/create.c: (create_all_elements):
24429         * tests/lat.c: (handoff_src), (handoff_sink):
24430         * tests/sched/runxml.c: (main):
24431         * tests/seeking/seeking1.c: (main):
24432         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24433         (main):
24434         Fix compilation of some tests.
24435
24436 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24437
24438         * gst/gsterror.h:
24439           Remove comment. GST_TYPE_G_ERROR is here to stay,
24440           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24441           (#316961, #300610).
24442
24443 2005-09-26  Wim Taymans  <wim@fluendo.com>
24444
24445         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24446         Added check that shows error in state change order.
24447
24448 2005-09-26  Wim Taymans  <wim@fluendo.com>
24449
24450         * gst/gstbin.c: (gst_bin_change_state):
24451         Make state change function use 3 queues again, we were
24452         adding elements in the wrong order.
24453
24454         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24455         Some debug info,
24456
24457         * gst/gstpad.c: (gst_pad_dispose):
24458         Added some debug info first.
24459
24460 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
24461
24462         * docs/design/draft-push-pull.txt:
24463         * docs/design/part-events.txt:
24464         * docs/design/part-overview.txt:
24465         * docs/design/part-scheduling.txt:
24466           Replace all _pull_region() with _pull_range()
24467           
24468 2005-09-26  Andy Wingo  <wingo@pobox.com>
24469
24470         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24471
24472         * check/gst-libs/controller.c: Update for controller api change.
24473
24474         * configure.ac: 
24475         * tests/Makefile.am:
24476         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24477         over by GLib bug 118439.
24478         
24479         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24480         routines to a function.
24481
24482         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24483
24484         * libs/gst/controller/gsthelper.c:
24485         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24486         (gst_object_sync_values): Renamed from sink_values. Ugh.
24487
24488         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24489
24490         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24491         Renamed from controller_key, as it is exported.
24492
24493         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24494
24495 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
24496
24497         * gst/Makefile.am:
24498         * gst/gst.h:
24499         * gst/gstpad.h:
24500         * gst/gstpadtemplate.h:
24501         * gst/gstquery.c:
24502         * gst/gstquery.h:
24503         * gst/gstqueryutils.c:
24504         * gst/gstqueryutils.h:
24505           remove queryutils headers after moving the two used functions
24506           to gstquery.  also fixes build problem for gstsiddec
24507
24508 2005-09-26  Michael Smith <msmith@fluendo.com>
24509
24510         * tools/gst-launch.1.in:
24511         Correct documentation in manpage of debug syntax
24512
24513 2005-09-26  Wim Taymans  <wim@fluendo.com>
24514
24515         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24516         (gst_base_src_is_seekable), (gst_base_src_change_state):
24517         Some more debugging info.
24518
24519 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24520
24521         * docs/gst/gstreamer-sections.txt:
24522         * gst/base/gstbasetransform.h:
24523         * gst/gstindex.h:
24524           added more docs
24525
24526 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24527
24528         * docs/gst/.cvsignore:
24529         * docs/gst/tmpl/.cvsignore:
24530         * docs/gst/tmpl/gstpipeline.sgml:
24531         * docs/gst/tmpl/gstplugin.sgml:
24532         * gst/gstpipeline.c:
24533         * gst/gstplugin.c:
24534         * gst/gstplugin.h:
24535           inlined the last two docs files
24536           removed the tmpl directory from cvs (no more conflicts here!)
24537
24538 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24539
24540         * docs/gst/gstreamer-sections.txt:
24541         * docs/gst/tmpl/.cvsignore:
24542         * docs/gst/tmpl/gstpad.sgml:
24543         * docs/gst/tmpl/gstpadtemplate.sgml:
24544         * gst/Makefile.am:
24545         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24546         (gst_pad_finalize), (gst_pad_set_pad_template):
24547         * gst/gstpad.h:
24548         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24549         (gst_pad_template_class_init), (gst_pad_template_init),
24550         (gst_pad_template_dispose), (name_is_valid),
24551         (gst_static_pad_template_get), (gst_pad_template_new),
24552         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24553         (gst_pad_template_pad_created):
24554         * gst/gstpadtemplate.h:
24555           inlined two more docs
24556           factored gstpadtemplate out of gstpad
24557
24558 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
24559
24560         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24561         (test_children_state_change_order_semi_sink):
24562           Fix test case: we can't rely on a fixed state change order when
24563           going from READY => PAUSED because the sink might commit its 
24564           new state first when the first buffer created by the source 
24565           reaches the sink before the source has finished its change state.
24566           (Test case still fails at times, see #316856, comment 5 onwards)
24567
24568 2005-09-24  Wim Taymans  <wim@fluendo.com>
24569
24570         * docs/design/part-events.txt:
24571         * docs/design/part-gstbus.txt:
24572         * docs/design/part-gstpipeline.txt:
24573         * docs/design/part-messages.txt:
24574         * docs/design/part-overview.txt:
24575         * docs/design/part-segments.txt:
24576         * gst/gstbin.c:
24577         * gst/gstbuffer.c:
24578         * gst/gstclock.c:
24579         * gst/gstelement.c:
24580         * gst/gstevent.c:
24581         * gst/gstfilter.c:
24582         * gst/gstiterator.c:
24583         Various documentation updates.
24584
24585 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24586
24587         * gst/gstclock.h:
24588           Well, that's embarassing.  Luckily we weren't using
24589           GST_CLOCK_DIFF anywhere.
24590
24591 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24592
24593         * common/gtk-doc.mak:
24594           don't fail on building XML, FC4 slave shows a bunch of doc
24595           missing bits that I don't get
24596         * gst/gstpad.c:
24597         * gst/gstpipeline.c:
24598         * gst/gststructure.c:
24599           some doc updates
24600
24601 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24602
24603         * docs/design/part-gstbin.txt:
24604         * docs/design/part-gstbus.txt:
24605         * gst/gstbus.c:
24606           Add blurb about how the bus goes into flushing mode and
24607           drops all messages when its bin goes from READY into NULL 
24608           state.
24609
24610 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24611
24612         * docs/gst/gstreamer-sections.txt:
24613         * gst/gststructure.c: (gst_structure_get_clock_time):
24614         * gst/gststructure.h:
24615           add a method to get a GstClockTime out of a structure
24616
24617 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24618
24619         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24620         (test_children_state_change_order_semi_sink), (gst_bin_suite):
24621           Added test to check state change order in bins (can still be made
24622           to fail here under heavy disk load; bails out with 'Push on pad
24623           fakesink:sink0, but it was not activated in push mode').
24624
24625         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24626           Fix state change order when there is only a semi sink (#316856)
24627
24628         * gst/gstbus.c: (gst_bus_class_init):
24629           Use _class_peek_parent(), not _class_ref(); fix docs to say
24630           'default main context' instead of 'mainloop' where that is
24631           what's meant.
24632
24633         * gst/gstelement.c: (gst_element_commit_state),
24634         (gst_element_set_state):
24635           Fix typos in debug messages
24636
24637 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24638
24639         * docs/README:
24640         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24641         * gst/gstpluginfeature.c:
24642         * gst/gstutils.c:
24643           various doc updates
24644         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24645           change an assert into an error until it gets fixed properly
24646
24647 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
24648
24649         * docs/gst/gstreamer-sections.txt:
24650         * docs/gst/tmpl/.cvsignore:
24651         * docs/gst/tmpl/gstelement.sgml:
24652         * docs/gst/tmpl/gstinfo.sgml:
24653         * docs/gst/tmpl/gstobject.sgml:
24654         * gst/gstelement.c:
24655         * gst/gstelement.h:
24656         * gst/gstinfo.c:
24657         * gst/gstinfo.h:
24658         * gst/gstobject.c: (gst_object_class_init):
24659         * gst/gstobject.h:
24660           inlined 3 more biiiig doc files and added some missing docs on the fly
24661
24662 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24663
24664         * check/gst/.cvsignore:
24665         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24666         * gst/gstregistryxml.c: (load_plugin),
24667         (gst_registry_xml_save_plugin):
24668           put back source in registry.  add checks for find_plugin.
24669         * testsuite/states/bin.c: (assert_state), (empty_bin),
24670         (test_adding_one_element), (main):
24671         * testsuite/states/locked.c: (main):
24672           some compile/run fixes
24673
24674 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24675
24676         * check/gst/gstvalue.c: (GST_START_TEST):
24677           fix leaks in the test itself
24678
24679 2005-09-22  Wim Taymans  <wim@fluendo.com>
24680
24681         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24682         (gst_base_sink_send_event), (gst_base_sink_peer_query),
24683         (gst_base_sink_query):
24684         Prepare for more accurate position reporting and query
24685         handling.
24686
24687         * gst/gstelement.c: (gst_element_send_event),
24688         (gst_element_set_state):
24689         Add some comment.
24690
24691 2005-09-22  Wim Taymans  <wim@fluendo.com>
24692
24693         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24694         (gst_query_parse_segment):
24695         * gst/gstquery.h:
24696         More documentation.
24697         Add segment query for future use.
24698
24699 2005-09-22  Wim Taymans  <wim@fluendo.com>
24700
24701         * gst/gstbin.c: (gst_bin_add_func):
24702         Some more debug info.
24703
24704         * gst/gstelement.c: (gst_element_send_event):
24705         Simplify send_event
24706
24707         * gst/gstelement.h:
24708         Don't know how flags got broken.
24709
24710         * gst/gstquery.h:
24711         Added new query.
24712
24713 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24714
24715         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24716           Add simplistic test suite for GST_TYPE_DATE serialisation and
24717           deserialisation.
24718
24719 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24720
24721         * docs/gst/gstreamer-sections.txt:
24722         * gst/gststructure.c: (gst_structure_set_valist),
24723         (gst_structure_get_date):
24724         * gst/gststructure.h:
24725         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24726         (gst_date_copy), (gst_value_compare_date),
24727         (gst_value_serialize_date), (gst_value_deserialize_date),
24728         (gst_value_transform_date_string),
24729         (gst_value_transform_string_date), (_gst_value_initialize):
24730         * gst/gstvalue.h:
24731           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24732           bunch of utility functions along with a hack that checks that
24733           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24734           is required. Part of the grand scheme in #170777.
24735
24736 2005-09-22  Andy Wingo  <wingo@pobox.com>
24737
24738         * gst/gstconfig.h.in: Psych out gtk-doc.
24739
24740         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24741
24742         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24743
24744         * tools/gst-inspect.c (print_element_list): Plug some
24745         inconsequential leaks.
24746
24747         * gst/gstregistry.c (gst_registry_get_default): Doc.
24748
24749         * check/gst/gstplugin.c: 
24750         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24751         * gst/gstelementfactory.c (gst_element_factory_create): 
24752         * gst/gstindexfactory.c (gst_index_factory_create): Update for
24753         refcount changes.
24754
24755         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24756         (gst_plugin_feature_load): Doc, don't eat refs.
24757
24758         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24759         (gst_plugin_list_free): Doc.
24760         (gst_plugin_load_file): Doc updates.
24761
24762         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24763         accessors returning refcounted objects, return a ref.
24764
24765         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24766         accessor for caps. IDEMPOTENCE. Oh yes.
24767
24768 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
24769
24770         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24771
24772         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24773         (_gst_debug_register_funcptr):
24774           Add mutex to serialise access to the hash table with
24775           the function pointer => function name string mapping;
24776           make that hash table static scope (#316809).
24777
24778         * gst/registries/.cvsignore:
24779           Remove left-over file.
24780
24781 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24782
24783         * docs/pwg/appendix-porting.xml:
24784           And something about newsegment events and caps-on-buffers to
24785           the porting guide (feel free to improve).
24786
24787 2005-09-21  Andy Wingo  <wingo@pobox.com>
24788
24789         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24790         data and event probes on the same pad.
24791         (test_buffer_probe_once): Test that removing probes from within
24792         the probe functions works.
24793
24794 2005-09-21  Andy Wingo  <wingo@pobox.com>
24795
24796         * check/gst/gstutils.c: New file.
24797         (test_buffer_probe_n_times): A simple buffer probe test. More to
24798         come, foolios.
24799
24800         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
24801         have-data::buffer, not have-data.
24802         (gst_pad_add_event_probe): Likewise for have-data::event.
24803         (gst_pad_add_data_probe): More docs. The part about 'resolving the
24804         peer' isn't quite right yet though.
24805         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
24806         (gst_pad_remove_data_probe): Change to take the guint handler_id
24807         as their arg, not the function+data, which is more glib-like.
24808
24809         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
24810         the signal emission to indicate if the data is a buffer or an
24811         event.
24812         (gst_pad_get_type): Initialize buffer and event quarks.
24813         (gst_pad_class_init): have-data is now a detailed signal, yes it
24814         is.
24815
24816 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24817
24818         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24819         * gst/gstutils.c: (gst_util_set_value_from_string),
24820         (gst_util_set_object_arg):
24821           Don't put functional code in g_return_if_fail() or
24822           g_return_val_if_fail() statements, otherwise things will 
24823           break when G_DISABLE_CHECKS is defined during compilation.
24824
24825 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24826
24827         * docs/gst/tmpl/.cvsignore:
24828         * docs/gst/tmpl/gstvalue.sgml:
24829         * gst/gstvalue.c:
24830         * gst/gstvalue.h:
24831           inlied another one and added  some obvious docs
24832
24833 2005-09-21  Wim Taymans  <wim@fluendo.com>
24834
24835         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24836         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
24837         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
24838         (gst_fdsrc_get_property), (gst_fdsrc_create):
24839         * gst/elements/gstfdsrc.h:
24840         Properly implement fdsrc. Removed signal and timeout,
24841         better implemented somewhere else.
24842
24843 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24844
24845         * docs/gst/tmpl/.cvsignore:
24846         * docs/gst/tmpl/gstimplementsinterface.sgml:
24847         * gst/gstinterface.c:
24848           inlined more docs
24849
24850 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24851
24852         * docs/gst/gstreamer-sections.txt:
24853         * docs/gst/tmpl/.cvsignore:
24854         * docs/gst/tmpl/gstenumtypes.sgml:
24855           remove obsolete doc file
24856
24857 2005-09-21  David Schleef  <ds@schleef.org>
24858
24859         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
24860         little beer, fix a little leak.
24861
24862 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24863
24864         * docs/gst/gstreamer-docs.sgml:
24865         * docs/gst/gstreamer-sections.txt:
24866         * docs/gst/tmpl/.cvsignore:
24867         * gst/Makefile.am:
24868         * gst/gst.h:
24869         * gst/gstbin.c:
24870         * gst/gstelement.h:
24871         * gst/gstindex.c: (gst_index_class_init):
24872         * gst/gstindex.h:
24873         * gst/gstindexfactory.c: (gst_index_factory_get_type),
24874         (gst_index_factory_class_init), (gst_index_factory_init),
24875         (gst_index_factory_finalize), (gst_index_factory_new),
24876         (gst_index_factory_destroy), (gst_index_factory_find),
24877         (gst_index_factory_create), (gst_index_factory_make):
24878         * gst/gstindexfactory.h:
24879         * gst/gstpluginfeature.c:
24880         * gst/gstpluginfeature.h:
24881         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24882           more docs inlined, splitted gstindex.{c,h}
24883
24884 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24885
24886         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24887           fix a leak
24888
24889 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24890
24891         * gst/elements/gstfilesink.c: (gst_file_sink_init):
24892           Set sync to FALSE by default.
24893
24894 2005-09-20  Wim Taymans  <wim@fluendo.com>
24895
24896         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24897         (gst_base_sink_init):
24898         Make sync property settable from subclass.
24899
24900         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24901         (gst_fake_sink_change_state):
24902         Set sync to FALSE by default.
24903
24904 2005-09-20  Wim Taymans  <wim@fluendo.com>
24905
24906         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
24907         * tools/gst-launch.c: (main):
24908         The timeout handler should have lower priority than the source
24909         so we don't timeout before popping a message with 0 timeout.
24910         Dump error messages after failed state change.
24911
24912 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24913
24914         * tools/gst-inspect.c: (print_element_properties_info):
24915           Fix two typos.
24916
24917 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24918
24919         * check/gst/gstevent.c:
24920         * gst/elements/gstfakesink.c:
24921         * gst/elements/gstfakesink.h:
24922           remove the sync property from fakesink.
24923           has the side effect of setting sync TRUE
24924           for fakesink, which is a change.  Anyone who knows how
24925           to fix this nicely in a GObject-y way, feel free.
24926
24927 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24928
24929         * docs/gst/gstreamer-docs.sgml:
24930           remove probe refsection
24931
24932 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24933
24934         * check/Makefile.am:
24935           disable valgrinding the controller test again
24936         * docs/gst/gstreamer-sections.txt:
24937           update for api-changes
24938
24939 2005-09-20  Wim Taymans  <wim@fluendo.com>
24940
24941         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24942         (gst_base_sink_set_property), (gst_base_sink_get_property),
24943         (gst_base_sink_do_sync):
24944         * gst/base/gstbasesink.h:
24945         Added sync property to basesink to disable clock sync.
24946
24947 2005-09-20  Andy Wingo  <wingo@pobox.com>
24948
24949         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
24950         eating the caller's refcount.
24951
24952         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
24953         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
24954         refcount.
24955
24956         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
24957         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
24958         of GLib 2.8 public, so we can know which refcount to check in
24959         tests.
24960
24961         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
24962         (gst_object_init): Only set the gst refcount if we're going ahead
24963         with the refcount hack.
24964
24965 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24966
24967         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24968         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24969           more leaks plumbed, added more debug-logging
24970         * gst/gstmacros.h:
24971           whitespace fix
24972
24973 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24974
24975         * gst/gstmessage.c:
24976           remove include of gstmemchunk.h
24977
24978 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24979
24980         * gst/gstclock.c: (_gst_clock_id_free):
24981           Commit from the Political Party For More Atomic CVS Commits,
24982           so that people don't waste too much of their day fishing
24983           out obvious leaks out of massive commits.
24984           Oh, and fix a pretty damn obvious leak in the memchunk
24985           removal code.
24986
24987 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24988
24989         * check/Makefile.am:
24990         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24991           plug mem-leak, re-add to valgrindable tests
24992
24993 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24994
24995         * gst/gstplugin.h:
24996           unbreak the build for those who have chronic arthritis
24997           and typing "make check" is just too taxing on the hands
24998
24999 2005-09-20  Andy Wingo  <wingo@pobox.com>
25000
25001         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
25002         really want it out, you should fix plugins at the same time.
25003
25004 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
25005
25006         * configure.ac:
25007         * docs/gst/gstreamer-sections.txt:
25008         * gst/gstobject.c:
25009           added missing symbols to api docs
25010           disable ref-count hack if we have glib >= 2.8
25011
25012 2005-09-19  David Schleef  <ds@schleef.org>
25013
25014         * docs/gst/Makefile.am: Ignore a few more internal headers
25015         * docs/gst/gstreamer-docs.sgml: Remove old sections
25016         * docs/gst/gstreamer-sections.txt: Remove old sections
25017         * docs/gst/tmpl/gstobject.sgml: update
25018         * docs/gst/tmpl/gstplugin.sgml: update
25019         * docs/gst/tmpl/gstpluginfeature.sgml: update
25020         * docs/random/ds/0.9-suggested-changes: update.
25021         * gst/Makefile.am: remove memchunk and trashstack, since they're
25022           not used.
25023         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
25024         * gst/gst.h: don't include some headers
25025         * gst/gstchildproxy.c: add gstmarshal.h
25026         * gst/gstclock.c: Don't use memchunks
25027         * gst/gstminiobject.c: Add some docs
25028         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
25029         * gst/gstobject.h: same
25030         * gst/gstplugin.c: include gstmacros.h
25031         * gst/gstplugin.h: don't include gstmacros.h, since it's private
25032         * gst/gstquery.c: don't use memchunks
25033         * gst/gstregistry.c: rename gst_registry_deinit()
25034         * gst/gstregistry.h: same
25035
25036 2005-09-19  David Schleef  <ds@schleef.org>
25037
25038         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
25039         * docs/libs/gstreamer-libs-sections.txt:
25040         * docs/libs/tmpl/gstgetbits.sgml:
25041         * docs/libs/tmpl/gstputbits.sgml:
25042
25043 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
25044
25045         * win32/gstenumtypes.c:
25046         * win32/gstenumtypes.h:
25047           Update.
25048
25049 2005-09-19  Wim Taymans  <wim@fluendo.com>
25050
25051         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
25052         Automatically PAUSE and RESUME a pipeline when a flushing seek
25053         is performed.
25054
25055 2005-09-19  Andy Wingo  <wingo@pobox.com>
25056
25057         * gst/gstregistry.h: Spacing fixen.
25058
25059 2005-09-19  Wim Taymans  <wim@fluendo.com>
25060
25061         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
25062         Handle state change failure more correctly.
25063
25064 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25065
25066         * check/Makefile.am:
25067         * check/pipelines/cleanup.c: (run_pipeline):
25068         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25069         (GST_START_TEST):
25070           enable cleanup again after fixing the leak
25071         * docs/README:
25072           some more info on docs
25073
25074 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25075
25076         * check/Makefile.am:
25077           re-enable tests now that leaks are plugged
25078         * check/gst/gst.c:
25079         * check/gst/gstbin.c:
25080         * check/gst/gstpipeline.c:
25081           add some more tests while fixing leaks
25082         * common/check.mak:
25083           make sure binaries are uptodate when valgrinding/gdbing
25084         * gst/gst.c:
25085         * gst/gstelementfactory.c:
25086           remove a ref too many, and add a FIXME for when we get
25087           round to disposing of classes
25088         * gst/gstplugin.c:
25089           fix the refcounting when loading a plugin from a file and
25090           the code pretends that the pointer is the same even though
25091           of course it can change
25092         * gst/gstpluginfeature.c:
25093           unref plugins marked cached (a bit confusing as a name)
25094           as the docs state should be done
25095           various doc additions to explain refcounting
25096         * gst/gstregistry.c:
25097         * gst/gstregistryxml.c:
25098           debugging
25099
25100 2005-09-19  Wim Taymans  <wim@fluendo.com>
25101
25102         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
25103         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
25104         (send_messages), (GST_START_TEST), (gstbus_suite):
25105         * check/gst/gstpipeline.c: (GST_START_TEST):
25106         * check/pipelines/cleanup.c: (run_pipeline):
25107         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25108         (GST_START_TEST):
25109         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
25110         (gst_bus_source_check), (gst_bus_source_dispatch),
25111         (gst_bus_create_watch), (gst_bus_add_watch_full),
25112         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
25113         * gst/gstbus.h:
25114         * tools/gst-launch.c: (event_loop):
25115         * tools/gst-md5sum.c: (event_loop):
25116         GstBusHandler -> GstBusFunc, return value has the same meaning as
25117         any other GSource (FALSE == remove source).
25118         _add_watch() and _add_watch_full() now take a MessageType mask to
25119         only handle specific types of messages.
25120         _poll() returns the GstMessage instead of the message type to avoid
25121         race conditions.
25122         _have_pending() takes a MessageType mask now too.
25123         Added testsuite for multiple bus watches.
25124         Fix testsuites and applications for new bus API.
25125
25126 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25127
25128         * check/Makefile.am:
25129           mark a bunch of the tests as to fix until we fix them
25130
25131 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25132
25133         * common/check.mak:
25134           use GST_PLUGIN settings for valgrind tests as well, so we're
25135           valgrinding the correct thing
25136         * gst/gst.c: (init_post):
25137           plug another leak
25138
25139 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25140
25141         * gst/gst.c: (init_post), (gst_deinit):
25142         * gst/gstelementfactory.c: (gst_element_factory_class_init),
25143         (gst_element_factory_finalize), (gst_element_factory_cleanup):
25144         * gst/gstindex.c: (gst_index_factory_class_init),
25145         (gst_index_factory_finalize):
25146         * gst/gstobject.c: (gst_object_dispose):
25147         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
25148         (gst_plugin_load_file), (gst_plugin_desc_free):
25149         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
25150         (gst_plugin_feature_finalize):
25151         * gst/gstregistry.c: (gst_registry_class_init),
25152         (gst_registry_init), (gst_registry_finalize),
25153         (gst_registry_get_default), (gst_registry_deinit):
25154         * gst/gstregistry.h:
25155         * gst/gstregistryxml.c: (load_feature), (load_plugin):
25156           various cleanups and memleak plugging.  make valgrind is happy now.
25157
25158 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25159
25160         * common/check.mak:
25161           add a check-valgrind target
25162
25163 2005-09-18  David Schleef  <ds@schleef.org>
25164
25165         * tools/gst-inspect.c: Revert the GOption code.
25166
25167 2005-09-17  David Schleef  <ds@schleef.org>
25168
25169         * check/Makefile.am: Fix environment variables.
25170         * check/gst/gstplugin.c: Fix for API changes.
25171         * tools/gst-inspect.c: Fix for API changes.
25172         * tools/gst-xmlinspect.c: Fix for API changes.
25173         * gst/gstelementfactory.c:
25174         * gst/gstplugin.c:
25175         * gst/gstplugin.h:
25176         * gst/gstpluginfeature.c:
25177         * gst/gstpluginfeature.h:
25178         * gst/gstregistry.c:
25179         * gst/gstregistry.h:
25180         * gst/gstregistryxml.c:
25181         * gst/gsttypefind.c:
25182         * gst/gsttypefindfactory.c:
25183         * gst/indexers/gstfileindex.c:
25184         * gst/indexers/gstmemindex.c:
25185         * gst/schedulers/Makefile.am:
25186           Change registry to keep track of both plugins and features,
25187           removing the feature tracking from plugins themselves.
25188
25189 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
25190
25191         * check/Makefile.am:
25192         * tools/gst-register.1.in:
25193           remove gst-register
25194
25195 2005-09-15  David Schleef  <ds@schleef.org>
25196
25197         * check/gst/gstplugin.c:
25198         * gst/gstelementfactory.c:
25199         * gst/gstplugin.c:
25200         * gst/gstpluginfeature.c:
25201         * gst/gstregistry.c:
25202           Getting tired of debugging.  Disabled all the unreffing of
25203           plugins and features, which fixes the segfaults, but of
25204           course leaks like crazy.  At least playbin works.
25205
25206 2005-09-15  David Schleef  <ds@schleef.org>
25207
25208         * check/gst/gstplugin.c: (register_check_elements),
25209         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
25210         More testing
25211         * gst/elements/gsttypefindelement.c: Fix refcounting.
25212         * gst/gsttypefind.c:
25213         * gst/gsttypefindfactory.c:
25214         * gst/gsttypefindfactory.h:
25215
25216 2005-09-15  David Schleef  <ds@schleef.org>
25217
25218         * gst/gstindex.c: get refcounting correct.
25219         * gst/gstregistry.c: Handle the case where a feature/plugin is
25220           not found.
25221
25222 2005-09-15  David Schleef  <ds@schleef.org>
25223
25224         * check/Makefile.am:
25225         * check/gst/gstplugin.c: Add test
25226         * gst/gstplugin.c: Fix problems noticed by testsuite
25227         * gst/gstplugin.h:
25228         * gst/gstregistry.c: 
25229         * gst/gstregistry.h:
25230
25231 2005-09-15  David Schleef  <ds@schleef.org>
25232
25233         * gst/gstplugin.c: Implement semi-decent recounting and locking
25234           in plugins and plugin features.
25235         * gst/gstplugin.h:
25236         * gst/gstpluginfeature.c:
25237         * gst/gstpluginfeature.h:
25238         * gst/gstregistry.c:
25239
25240 2005-09-15  Michael Smith <msmith@fluendo.com>
25241
25242         * gst/gstregistry.c: (gst_registry_get_feature_list):
25243           Implement this. Makes oggdemux work; decodebin still broken.
25244
25245 2005-09-14  David Schleef  <ds@schleef.org>
25246
25247         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25248           #316076)
25249         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25250         * gst/check/Makefile.am:
25251         * libs/gst/controller/Makefile.am:
25252         * libs/gst/dataprotocol/Makefile.am:
25253
25254 2005-09-14  David Schleef  <ds@schleef.org>
25255
25256         * configure.ac: Remove getbits library.  Nothing uses it, and
25257           it should be in something like liboil if someone did want
25258           to use it.
25259         * libs/gst/Makefile.am:
25260         * libs/gst/getbits/Makefile.am:
25261         * libs/gst/getbits/gbtest.c:
25262         * libs/gst/getbits/getbits.c:
25263         * libs/gst/getbits/getbits.h:
25264         * libs/gst/getbits/gstgetbits_generic.c:
25265         * libs/gst/getbits/gstgetbits_i386.s:
25266         * libs/gst/getbits/gstgetbits_inl.h:
25267
25268 2005-09-14  David Schleef  <ds@schleef.org>
25269
25270         * gst/Makefile.am: Dist glib-compat.h
25271
25272 2005-09-14  David Schleef  <ds@schleef.org>
25273
25274         * configure.ac: Remove gst/registries, since it's no longer used.
25275         * gst/registries/Makefile.am:
25276         * gst/registries/gstlibxmlregistry.c:
25277         * gst/registries/gstlibxmlregistry.h:
25278         * gst/registries/gstxmlregistry.c:
25279         * gst/registries/gstxmlregistry.h:
25280         * gst/registries/registrytest.c:
25281
25282 2005-09-14  David Schleef  <ds@schleef.org>
25283
25284         * gst/glib-compat.h:
25285         * gst/gstregistryxml.c:
25286           Convergence is near.  Seriously.
25287
25288 2005-09-14  David Schleef  <ds@schleef.org>
25289
25290         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25291         * gst/glib-compat.h:
25292           Attempt #4 to appease the buildbots.
25293
25294 2005-09-14  David Schleef  <ds@schleef.org>
25295
25296         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25297           Attempt #3.
25298
25299 2005-09-14  David Schleef  <ds@schleef.org>
25300
25301         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25302         Attempt #2.
25303
25304 2005-09-14  David Schleef  <ds@schleef.org>
25305
25306         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25307           the new functions.
25308
25309 2005-09-14  David Schleef  <ds@schleef.org>
25310
25311         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25312         * gst/glib-compat.h: Add some functions that are in newer versions
25313           of glib than we care to require.
25314         * gst/gstregistryxml.c: Use them.
25315
25316 2005-09-14  David Schleef  <ds@schleef.org>
25317
25318         * po/POTFILES.in: remove gst-register.c
25319
25320 2005-09-14  David Schleef  <ds@schleef.org>
25321
25322         * docs/gst/gstreamer-docs.sgml:
25323         * docs/gst/gstreamer-sections.txt:
25324         * docs/gst/gstreamer.types:
25325         * docs/gst/tmpl/gstelement.sgml:
25326         * docs/gst/tmpl/gstplugin.sgml:
25327         * docs/gst/tmpl/gstpluginfeature.sgml:
25328           Documentation updates for registry changes.
25329
25330 2005-09-14  David Schleef  <ds@schleef.org>
25331
25332         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25333           because we don't require glib-2.8.
25334
25335 2005-09-14  David Schleef  <ds@schleef.org>
25336
25337         * gst/gstregistryxml.c: Added.  Essentially moved out of the
25338           registries directory.
25339
25340 2005-09-14  David Schleef  <ds@schleef.org>
25341
25342         * check/Makefile.am:
25343         * check/generic/states.c:
25344         * gst/Makefile.am:
25345         * gst/gst.c:
25346         * gst/gst.h:
25347         * gst/gst_private.h:
25348         * gst/gstelementfactory.c:
25349         * gst/gstindex.c:
25350         * gst/gstinfo.c:
25351         * gst/gstplugin.c:
25352         * gst/gstplugin.h:
25353         * gst/gstpluginfeature.c:
25354         * gst/gstpluginfeature.h:
25355         * gst/gstregistry.c:
25356         * gst/gstregistry.h:
25357         * gst/gstregistrypool.c: remove
25358         * gst/gstregistrypool.h: remove
25359         * gst/gsttypefind.c:
25360         * gst/gsttypefindfactory.c:
25361         * gst/gsturi.c:
25362         * tools/Makefile.am:
25363         * tools/gst-compprep.c:
25364         * tools/gst-inspect.c:
25365         * tools/gst-register.c: remove
25366         * tools/gst-xmlinspect.c:
25367           Registry rewrite.  Changes registry from being a file created
25368           by a tool into a simple cache file created automatically by 
25369           libgstreamer.  Removed gst-register (because it's no longer
25370           needed).  Remove registry pools, because we only have one
25371           registry implementation (XML).  Fix up other subsystems as
25372           necessary.
25373
25374 2005-09-13  Michael Smith <msmith@fluendo.com>
25375
25376         * gst/gstconfig.h.in:
25377           Don't Use windows linking attributes for MinGW. Fixes #316157
25378
25379 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
25380
25381         * gst/gstutils.c: (set_state_async_thread_func),
25382         (gst_element_set_state_async):
25383           Apparently people think it's better if this function doesn't
25384           try to set the state to whatever state was asked for on the first
25385           call to this function for any object.  Seriously.
25386
25387 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25388
25389         * check/gst/gstpipeline.c: (GST_START_TEST):
25390         * docs/gst/gstreamer-sections.txt:
25391         * gst/gstutils.c: (set_state_async_thread_func),
25392         (gst_element_set_state_async):
25393         * gst/gstutils.h:
25394           add a "gst_element_set_state_async" method that
25395           sets the state and starts a thread to make sure the state
25396           change completes as best as it can
25397
25398 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25399
25400         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25401           codify design+behaviour in testsuite after discussion
25402
25403 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25404
25405         * docs/gst/tmpl/gstelement.sgml:
25406         * docs/manual/appendix-quotes.xml:
25407           add a quote
25408         * gst/gstelement.c: (gst_element_set_state):
25409           add some debug
25410
25411 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
25412
25413         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25414         (gst_base_transform_prepare_output_buf),
25415         (gst_base_transform_handle_buffer):
25416         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25417         (gst_capsfilter_prepare_buf):
25418           Remove the requirement for sub-classes to call the parent
25419           implementation of prepare_output_buffer with a wrapper function.
25420           
25421         * gst/gsttaglist.h:
25422         * gst/gsttagsetter.h:
25423           Fix #define wrapper
25424
25425 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
25426
25427         * docs/gst/gstreamer-sections.txt:
25428           more doc cleanups
25429
25430 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25431
25432         * docs/gst/gstreamer-sections.txt:
25433         * docs/gst/tmpl/gstelement.sgml:
25434         * docs/gst/tmpl/gstplugin.sgml:
25435         * gst/gstminiobject.c:
25436         * gst/gstvalue.h:
25437           docs now stop throwing warnings
25438
25439 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25440
25441         * docs/gst/gstreamer-sections.txt:
25442         * docs/gst/gstreamer.types:
25443         * docs/gst/tmpl/gstpad.sgml:
25444         * docs/gst/tmpl/gsttypes.sgml:
25445         * gst/base/gstadapter.h:
25446         * gst/base/gstbasesink.h:
25447         * gst/base/gstbasesrc.h:
25448         * gst/gstbin.h:
25449         * gst/gstbuffer.h:
25450         * gst/gstbus.h:
25451         * gst/gstcaps.h:
25452         * gst/gstclock.h:
25453         * gst/gstelement.h:
25454         * gst/gstevent.h:
25455         * gst/gstmessage.h:
25456         * gst/gstpad.h:
25457         * gst/gststructure.c:
25458         * gst/registries/gstlibxmlregistry.h:
25459           various documentation fixes
25460
25461 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25462
25463         * docs/gst/gstreamer-sections.txt:
25464         * docs/gst/tmpl/gstvalue.sgml:
25465           rearrange gstvalue section
25466         * gst/gstutils.c: (gst_element_state_get_name):
25467           NONE -> VOID
25468         * gst/gstvalue.c: (_gst_value_initialize):
25469         * gst/gstvalue.h:
25470           doc updates
25471
25472 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
25473
25474         * check/gst-libs/controller.c:
25475           Header include fix.
25476         * gst/base/gstbasetransform.c:
25477         (gst_base_transform_default_prepare_buf),
25478         (gst_base_transform_handle_buffer):
25479         * gst/base/gstbasetransform.h:
25480           Some more basetransform changes and fixes to enable sub-classes
25481           that modify buffer metadata only.
25482         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25483         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25484         (gst_capsfilter_prepare_buf):
25485           If the output pad has fixed allowed caps and input buffers 
25486           don't have any, set the fixed caps on outgoing buffers.
25487
25488 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
25489         * check/elements/identity.c: (GST_START_TEST):
25490           Make the error a little clearer when the test fails because
25491           identity made a copy of the buffer.
25492         * docs/gst/gstreamer-sections.txt:
25493           New symbols in gstbasetransform.h
25494         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25495         (gst_base_transform_init), (gst_base_transform_transform_size),
25496         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25497         (gst_base_transform_default_prepare_buf),
25498         (gst_base_transform_get_unit_size),
25499         (gst_base_transform_buffer_alloc),
25500         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25501         (gst_base_transform_change_state),
25502         (gst_base_transform_set_passthrough),
25503         (gst_base_transform_set_in_place),
25504         (gst_base_transform_is_in_place):
25505         * gst/base/gstbasetransform.h:
25506           Change BaseTransform to separate in_place operate from same_caps
25507           output. in_place implies that the element can perform the transform
25508           on incoming buffers in-place, even if the caps on the output are
25509           different.
25510           Sub-class elements can now implement special buffer allocation
25511           methods for outgoing buffers if they wish to.
25512           Big documentation addition.
25513         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25514         * gst/elements/gstelements.c:
25515           Changes for basetransform modifications.
25516         * gst/elements/Makefile.am:
25517         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25518           Compile fix. Extra debug output.
25519
25520 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25521
25522         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25523         (gst_pad_suite):
25524           add tests for valid pad naming
25525         * gst/check/gstcheck.c: (gst_check_log_message_func),
25526         (gst_check_log_critical_func):
25527           add ASSERT_WARNING
25528           remove printing of code, it is fragile when the code contains
25529           % and the line number is enough info
25530         * gst/check/gstcheck.h:
25531         * gst/gstpad.c: (gst_pad_template_new):
25532           fix memleaks
25533
25534 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25535
25536         * configure.ac:
25537           say what CHECK flags we use
25538         * docs/libs/gstreamer-libs.types:
25539         * libs/gst/controller/Makefile.am:
25540         * libs/gst/controller/gst-controller.c:
25541         * libs/gst/controller/gst-controller.h:
25542         * libs/gst/controller/gst-helper.c:
25543         * libs/gst/controller/gst-interpolation.c:
25544         * libs/gst/controller/gstcontroller.c:
25545         * libs/gst/controller/gsthelper.c:
25546         * libs/gst/controller/gstinterpolation.c:
25547         * tools/gst-inspect.c: (print_plugin_info):
25548           we don't use dashes in header names
25549
25550 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25551
25552         * check/Makefile.am:
25553         * check/gst/.cvsignore:
25554         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25555         (gst_pipeline_suite), (main):
25556           adding a test for pipelines and state changes
25557         * gst/gstutils.c: (get_state_func):
25558           add some debugging
25559         * gstreamer.spec.in:
25560           fix up spec file
25561
25562 2005-09-08  Michael Smith <msmith@fluendo.com>
25563
25564         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25565         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25566         (gst_file_src_is_seekable), (gst_file_src_get_size),
25567         (gst_file_src_start):
25568         * gst/elements/gstfilesrc.h:
25569           Various fixes for unseekable, unmmapable, and non-normal files, so
25570           that fallback to read() rather than mmap() works.
25571         * gst/gstevent.c: (gst_event_new_newsegment):
25572           Allow newsegment events with segment_start == segment_end, as will
25573           correctly happen if you use filesrc on a zero-size file, for
25574           example.
25575
25576 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25577
25578         * gst/gstplugin.c: (gst_plugin_load_file):
25579           Call g_module_close when we don't load the module
25580
25581         * gst/registries/gstlibxmlregistry.c:
25582         (gst_xml_registry_get_property):
25583           Port leak fix from 0.8
25584
25585 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25586
25587         * docs/gst/gstreamer-docs.sgml:
25588         * docs/gst/tmpl/.cvsignore:
25589         * docs/gst/tmpl/gsttrace.sgml:
25590         * docs/gst/tmpl/gsttrashstack.sgml:
25591         * gst/Makefile.am:
25592         * gst/gst.h:
25593         * gst/gstelement.h:
25594         * gst/gstevent.h:
25595         * gst/gstmessage.c:
25596         * gst/gstmessage.h:
25597         * gst/gsttag.c:
25598         * gst/gsttag.h:
25599         * gst/gsttaginterface.c:
25600         * gst/gsttaginterface.h:
25601         * gst/gsttaglist.c:
25602         * gst/gsttaglist.h:
25603         * gst/gsttagsetter.c:
25604         * gst/gsttagsetter.h:
25605         * gst/gsttrace.c:
25606         * gst/gsttrace.h:
25607         * gst/gsttrashstack.c:
25608           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25609           inlined docs for gsttrace, gsttrashstack
25610
25611 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25612
25613         * gst/Makefile.am:
25614         * gst/elements/gstbufferstore.h:
25615         * gst/elements/gsttypefindelement.c:
25616         * gst/elements/gsttypefindelement.h:
25617         * gst/gst.h:
25618         * gst/gsttypefind.c:
25619         * gst/gsttypefind.h:
25620         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25621         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25622         (gst_type_find_factory_dispose),
25623         (gst_type_find_factory_unload_thyself),
25624         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25625         (gst_type_find_factory_get_caps),
25626         (gst_type_find_factory_get_extensions),
25627         (gst_type_find_factory_call_function):
25628         * gst/gsttypefindfactory.h:
25629         * gst/registries/gstlibxmlregistry.c:
25630         * gst/registries/gstxmlregistry.c:
25631           splitted gsttypefind into gsttypefind, gsttypefindfactory
25632
25633 2005-09-07  Andy Wingo  <wingo@pobox.com>
25634
25635         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25636         condition whereby the pad's task function is entered before the
25637         pad_mode variable was set.
25638
25639 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25640
25641         * gst/gstpad.c: (gst_pad_alloc_buffer):
25642           Catch misbehaving pad_alloc functions that don't
25643           set up caps and do it for them.
25644
25645 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25646
25647         * check/pipelines/simple_launch_lines.c: (run_pipeline):
25648           test for pipe!=NULL
25649         * docs/gst/tmpl/.cvsignore:
25650         * docs/gst/tmpl/gstmemchunk.sgml:
25651         * docs/gst/tmpl/gstparse.sgml:
25652         * docs/gst/tmpl/gsttaglist.sgml:
25653         * docs/gst/tmpl/gsttagsetter.sgml:
25654         * docs/gst/tmpl/gsttypefind.sgml:
25655         * docs/gst/tmpl/gsttypefindfactory.sgml:
25656         * gst/gstmemchunk.c:
25657         * gst/gstparse.c:
25658         * gst/gsttag.c:
25659         * gst/gsttaginterface.c:
25660         * gst/gsttypefind.c:
25661         * gst/gsttypefind.h:
25662           inlined more docs
25663
25664 === release 0.9.2 ===
25665
25666 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
25667
25668         * NEWS:
25669         * RELEASE:
25670         * configure.ac:
25671           releasing 0.9.2, "South"
25672
25673 2005-09-05  Andy Wingo  <wingo@pobox.com>
25674
25675         * gst/registries/gstxmlregistry.h:
25676         * gst/registries/gstxmlregistry.c: Um... resurrect...
25677         
25678         * gst/registries/gstxmlregistry.h:
25679         * gst/registries/gstxmlregistry.c: and update to newer API.
25680         Incidentally they should be a bit faster now that they don't have
25681         to parse the caps.
25682         
25683 2005-09-05  Andy Wingo  <wingo@pobox.com>
25684
25685         * gst/registries/gstxmlregistry.h:
25686         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25687         replaced by the libxml registry a while back
25688
25689 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25690
25691         * docs/gst/tmpl/gstplugin.sgml:
25692         * gst/elements/gstelements.c:
25693         * gst/gst.c:
25694         * gst/gstplugin.c: (gst_plugin_register_func),
25695         (gst_plugin_desc_copy), (gst_plugin_desc_free),
25696         (gst_plugin_get_source):
25697         * gst/gstplugin.h:
25698         * gst/registries/gstlibxmlregistry.c: (load_plugin),
25699         (gst_xml_registry_save_plugin):
25700         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25701         (gst_xml_registry_save_plugin):
25702         * tools/gst-inspect.c: (print_plugin_info):
25703           add a "source" plugin description field, to represent the source
25704           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
25705           will set it to PACKAGE, which is automake's idea of the name of
25706           the source project.
25707
25708 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25709
25710         * Makefile.am:
25711         * autogen.sh:
25712         * configure.ac:
25713         * docs/Makefile.am:
25714         * docs/faq/Makefile.am:
25715         * docs/gst/tmpl/gstelement.sgml:
25716         * docs/gst/tmpl/gsttypes.sgml:
25717         * docs/htmlinstall.mak:
25718         * docs/manual/Makefile.am:
25719         * docs/pwg/Makefile.am:
25720           reorganize doc build a little
25721           split out docbook and gtk-doc stuff
25722           have two separate --enable's and enable them through autogen
25723           but disable by default in configure (to be similar to other
25724           projects)
25725         * gstreamer.spec.in:
25726           clean up docs install
25727         * po/af.po:
25728         * po/az.po:
25729         * po/ca.po:
25730         * po/cs.po:
25731         * po/de.po:
25732         * po/en_GB.po:
25733         * po/fr.po:
25734         * po/it.po:
25735         * po/nb.po:
25736         * po/nl.po:
25737         * po/ru.po:
25738         * po/sq.po:
25739         * po/sr.po:
25740         * po/sv.po:
25741         * po/tr.po:
25742         * po/uk.po:
25743         * po/vi.po:
25744           translation updates
25745
25746 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
25747
25748         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25749           Add comment.
25750           
25751         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25752         (gst_fake_sink_change_state):
25753           Make state change function thread-safe.
25754           
25755         * gst/gstpad.c: (gst_pad_alloc_buffer):
25756           Set offset on generic buffer allocated by fallback.
25757
25758 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
25759
25760         * docs/gst/gstreamer-sections.txt:
25761         * docs/gst/tmpl/gstelement.sgml:
25762         * gst/gstpad.c:
25763         * libs/gst/controller/gst-controller.c:
25764         (gst_controlled_property_set_interpolation_mode),
25765         (gst_controlled_property_new),
25766         (gst_controller_find_controlled_property):
25767          run the wingo-magic script against the docs
25768
25769 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25770
25771         * docs/gst/gstreamer-docs.sgml:
25772         * docs/gst/gstreamer-sections.txt:
25773         * docs/gst/tmpl/.cvsignore:
25774         * docs/gst/tmpl/gstelementdetails.sgml:
25775         * docs/gst/tmpl/gstelementfactory.sgml:
25776         * gst/gst.c:
25777         * gst/gstbus.c:
25778         * gst/gstelementfactory.c:
25779         * gst/gstelementfactory.h:
25780           merged elementdetails docs into elementfactory docs
25781           inlined both
25782
25783 2005-09-02  Andy Wingo  <wingo@pobox.com>
25784
25785         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25786         consider this enum an enum and not a flags.
25787
25788 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25789
25790         * docs/gst/gstreamer-docs.sgml:
25791         * docs/gst/tmpl/.cvsignore:
25792         * docs/gst/tmpl/gstghostpad.sgml:
25793         * docs/gst/tmpl/gstiterator.sgml:
25794         * docs/gst/tmpl/gstmacros.sgml:
25795         * docs/gst/tmpl/gstrealpad.sgml:
25796         * docs/gst/tmpl/gstregistry.sgml:
25797         * docs/gst/tmpl/gstregistrypool.sgml:
25798         * docs/gst/tmpl/gststructure.sgml:
25799         * docs/gst/tmpl/gstsystemclock.sgml:
25800         * docs/gst/tmpl/gsttrace.sgml:
25801         * gst/gstghostpad.c:
25802         * gst/gstmacros.h:
25803         * gst/gstmemchunk.c:
25804         * gst/gstmemchunk.h:
25805         * gst/gstqueue.c:
25806         * gst/gstregistry.c:
25807         * gst/gstregistrypool.c:
25808         * gst/gststructure.c:
25809         * gst/gstsystemclock.c:
25810           more docs inlined
25811
25812 2005-09-02  Andy Wingo  <wingo@pobox.com>
25813
25814         * gst/gstelement.h (GstState): Renamed from GstElementState,
25815         changed to be a normal enum instead of flags.
25816         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
25817         munged to be GST_STATE_CHANGE_*.
25818         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
25819         work with the new state representation.
25820         (GstStateChange): New enumeration of possible state transitions.
25821         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
25822         (GstElementClass::change_state): Pass the GstStateChange along as
25823         an argument. Helps language bindings, so they don't have to use
25824         tricky lock-needing macros like GST_STATE_CHANGE ().
25825
25826         * scripts/update-states (file): New script. Run it on a file to
25827         update it for state naming and API changes. Updates files in
25828         place.
25829
25830         * All files updated for the new API.
25831
25832 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25833
25834         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
25835         * gst/gstutils.c: (gst_util_set_value_from_string),
25836         (gst_util_set_object_arg):
25837           fix a bunch of unchecked return values
25838         * tools/gst-complete.c: (main):
25839         * gstreamer.spec.in:
25840           clean up a little
25841
25842 2005-09-01  Wim Taymans  <wim@fluendo.com>
25843
25844         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25845         (gst_base_sink_event), (gst_base_sink_do_sync),
25846         (gst_base_sink_handle_event):
25847         * gst/base/gstbasesink.h:
25848         Handle newsegments more correctly.
25849
25850         * gst/gstbus.c:
25851         Fix docs.
25852
25853         * gst/gstevent.c: (gst_event_new_newsegment):
25854         A newsegment cannot have a start_time of -1
25855
25856 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
25857
25858         * win32/gstenumtypes.c:
25859         * win32/gstenumtypes.h:
25860           Update
25861
25862 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25863
25864         * libs/gst/controller/gst-controller.c:
25865         (gst_controlled_property_set_interpolation_mode),
25866         (gst_controlled_property_new):
25867          fixed boolean again
25868
25869 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
25870
25871         * docs/faq/gst-uninstalled:
25872           add -good
25873         * gst/gstevent.c:
25874         * gst/gstevent.h:
25875           remove wrong docs
25876         * gst/gstutils.c: (gst_element_link_filtered):
25877         * gst/gstutils.h:
25878           add gst_element_link_filtered
25879
25880 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25881
25882         * docs/gst/gstreamer-docs.sgml:
25883         * docs/gst/gstreamer-sections.txt:
25884         * docs/gst/tmpl/.cvsignore:
25885         * docs/gst/tmpl/gsterror.sgml:
25886         * docs/gst/tmpl/gstfilter.sgml:
25887         * docs/gst/tmpl/gsturihandler.sgml:
25888         * docs/gst/tmpl/gsturitype.sgml:
25889         * docs/gst/tmpl/gstutils.sgml:
25890         * docs/gst/tmpl/gstxml.sgml:
25891         * gst/gsterror.c:
25892         * gst/gsterror.h:
25893         * gst/gstfilter.c:
25894         * gst/gsturi.c:
25895         * gst/gsturitype.c:
25896         * gst/gstutils.c:
25897         * gst/gstxml.c:
25898           inlined more docs, fixed double id-ref
25899
25900 2005-08-31  Wim Taymans  <wim@fluendo.com>
25901
25902         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25903         (gst_base_transform_handle_buffer):
25904         Passthrough elements don't need the caps as they don't care.
25905
25906 2005-08-31  Wim Taymans  <wim@fluendo.com>
25907
25908         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25909         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
25910         Don't leak refcounts on buffers.
25911
25912 2005-08-31  Wim Taymans  <wim@fluendo.com>
25913
25914         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
25915         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25916         (gst_base_transform_chain), (gst_base_transform_change_state):
25917         * gst/base/gstbasetransform.h:
25918         Handle the case where we are not negotiated more gracefully.
25919
25920 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
25921
25922         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
25923         (gst_file_src_map_region):
25924           Set READONLY flag on mmap'ed buffers, otherwise
25925           gst_buffer_make_writable() won't work properly (#314708).
25926
25927 2005-08-31  Wim Taymans  <wim@fluendo.com>
25928
25929         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
25930         passthrough elements can even do inplace on non writable
25931         buffers (as they don't touch them).
25932
25933 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25934
25935         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25936         (gst_test_mono_source_set_property),
25937         (gst_test_mono_source_class_init), (GST_START_TEST),
25938         (gst_controller_suite):
25939           more tests (hehe I have the most)
25940         * gst/gstbus.c:
25941           describe popping messages whenusing mulltiple sources
25942         * libs/gst/controller/gst-controller.c:
25943         (gst_controlled_property_set_interpolation_mode),
25944         (gst_controlled_property_new):
25945         * libs/gst/controller/gst-controller.h:
25946         * libs/gst/controller/gst-interpolation.c:
25947           implement boolean properties
25948
25949 2005-08-31  Wim Taymans  <wim@fluendo.com>
25950
25951         * gst/gstminiobject.c: (gst_mini_object_ref):
25952         Cannot assert that the refcount has to be positive
25953         since a disposed object can be resurrected.
25954
25955 2005-08-31  Wim Taymans  <wim@fluendo.com>
25956
25957         * gst/gstpad.c: (gst_pad_init):
25958         Revert change, need to first fix badly behaving 
25959         apps.
25960
25961 2005-08-30  Wim Taymans  <wim@fluendo.com>
25962
25963         * check/elements/fakesrc.c: (setup_fakesrc):
25964         * check/elements/identity.c: (setup_identity):
25965         Activate pads before using them.
25966
25967 2005-08-30  Wim Taymans  <wim@fluendo.com>
25968
25969         * gst/base/gstadapter.c: (gst_adapter_flush):
25970         Flushing out 0 bytes is ok for this function.
25971
25972         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25973         no newsegment gives a warning and sets the start/stop to 
25974         invalid.
25975
25976         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
25977         (gst_base_transform_set_passthrough):
25978         Some debug info.
25979
25980         * gst/gstminiobject.c: (gst_mini_object_ref):
25981         Check refcount here too.
25982
25983         * gst/gstpad.c: (gst_pad_init):
25984         Pads are initially flushing and refusing data.
25985
25986         * gst/gstutils.c: (gst_element_link_pads_filtered):
25987         When adding a capsfilter element make sure it has the
25988         same state as the parent bin.
25989
25990 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25991
25992         * docs/gst/tmpl/.cvsignore:
25993         * docs/gst/tmpl/gstformat.sgml:
25994         * docs/gst/tmpl/gstversion.sgml:
25995         * gst/gstbus.h:
25996         * gst/gstformat.c:
25997         * gst/gstformat.h:
25998         * gst/gstversion.h.in:
25999           more docs and two more inlined
26000
26001 2005-08-30  Wim Taymans  <wim@fluendo.com>
26002
26003         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
26004         Don't sync to clock.
26005
26006 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26007
26008         * docs/gst/gstreamer-sections.txt:
26009           ultral33t func10ns deserve to appear in the docs actually
26010         * docs/gst/tmpl/.cvsignore:
26011         * docs/gst/tmpl/gstcompat.sgml:
26012         * docs/gst/tmpl/gstconfig.sgml:
26013         * gst/check/gstcheck.c:
26014         * gst/gstcompat.h:
26015         * gst/gstconfig.h.in:
26016           inlined more docs
26017
26018 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26019
26020         * docs/gst/tmpl/.cvsignore:
26021         * docs/gst/tmpl/gstquery.sgml:
26022         * docs/gst/tmpl/gstutils.sgml:
26023         * gst/gstquery.c:
26024         * gst/gstquery.h:
26025           inlined and extended docs
26026
26027 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26028
26029         * check/gst-libs/controller.c: (GST_START_TEST),
26030         (gst_controller_suite):
26031           more tests
26032         * docs/gst/tmpl/gstutils.sgml:
26033         * docs/libs/gstreamer-libs-sections.txt:
26034         * docs/libs/tmpl/gstdataprotocol.sgml:
26035           include path fixes
26036         * examples/controller/audio-example.c: (main):
26037           controller example works now
26038         * gst/gstclock.h:
26039           doc fixes
26040         * tools/gst-inspect.c: (print_element_properties_info):
26041           show param spec flags
26042
26043 2005-08-29  Andy Wingo  <wingo@pobox.com>
26044
26045         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
26046
26047 2005-08-28  Andy Wingo  <wingo@pobox.com>
26048
26049         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
26050         as having two arguments instead of just one. Allows superclasses
26051         to access information on subclasses -- see the terrible for() loop
26052         in gtype.c:g_type_create_instance for the reason why. All callers
26053         changed.
26054
26055 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26056
26057         * docs/design/part-messages.txt:
26058           update info
26059         * docs/gst/tmpl/.cvsignore:
26060         * docs/gst/tmpl/gstcaps.sgml:
26061         * docs/gst/tmpl/gstclock.sgml:
26062         * gst/gstbus.c:
26063         * gst/gstcaps.c:
26064         * gst/gstcaps.h:
26065         * gst/gstclock.c:
26066         * gst/gstclock.h:
26067         * gst/gstmessage.c:
26068           added descriptions for bus and message
26069           inline caps and clock docs
26070
26071 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26072
26073         * gst/gstmessage.c:
26074         * gst/gstmessage.h:
26075           doc fixes
26076
26077 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26078
26079         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
26080           fix div-by-zero
26081
26082 2005-08-26  Andy Wingo  <wingo@pobox.com>
26083
26084         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
26085         element_set_state's return val.
26086         (test_2_elements): Add test that's been disabled for months.
26087
26088         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
26089         can-activate-pull properties.
26090
26091         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
26092         can-activate-pull properties. Implement is_seekable so fakesrc can
26093         operate in pull mode.
26094
26095         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
26096         properties.
26097         (gst_base_sink_activate, gst_base_sink_activate_pull)
26098         (gst_base_sink_activate_push): Make activation mode choosing work.
26099         Cleanups.
26100         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
26101         is right. Make pull mode work. Post an eos before pausing in pull
26102         mode.
26103         (gst_base_sink_change_state): Pay attention to the core's
26104         change_state() return val.
26105         
26106         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
26107         has-getrange properties. Cleanups.
26108         
26109         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
26110         has_getrange and replace with can_activate_pull and
26111         can_activate_push.
26112
26113         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
26114         locking comments. Remove has_loop, has_chain and replace with
26115         can_activate_pull and can_activate_push.
26116
26117 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
26118
26119         * configure.ac:
26120         * examples/Makefile.am:
26121         * examples/metadata/Makefile.am:
26122         * examples/metadata/read-metadata.c: (message_loop),
26123         (have_pad_handler), (make_pipeline), (print_tag), (main):
26124           Add metadata reading example that loops over a list of filenames,
26125           dumping any tags found.
26126
26127         * gst/gstbus.c: (gst_bus_dispose):
26128         * gst/gstelement.c: (gst_element_dispose):
26129           Release a few potentially-held references in dispose.
26130
26131 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26132
26133         * docs/gst/tmpl/gstminiobject.sgml:
26134           do *not* add tmpl/*.sgml files to CVS!
26135
26136 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26137
26138         * libs/gst/bytestream/.cvsignore:
26139         * libs/gst/bytestream/Makefile.am:
26140         * libs/gst/bytestream/adapter.c:
26141         * libs/gst/bytestream/adapter.h:
26142         * libs/gst/bytestream/bytestream.c:
26143         * libs/gst/bytestream/bytestream.h:
26144         * libs/gst/bytestream/filepad.c:
26145         * libs/gst/bytestream/filepad.h:
26146           removing obsolete files
26147
26148 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26149
26150         * docs/gst/gstreamer-docs.sgml:
26151         * docs/libs/gstreamer-libs-docs.sgml:
26152           disabed additional index entries again, as this makes docs-gen just
26153           slow and they aren't useful yet
26154         * docs/libs/gstreamer-libs-sections.txt:
26155           little -section.txt cleanup for libs
26156
26157 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
26158
26159         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26160         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
26161           fix up some debugging
26162         (gst_base_transform_get_unit_size),
26163         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26164         (gst_base_transform_handle_buffer):
26165         * gst/base/gstbasetransform.h:
26166           handle and store timed NEWSEGMENT events so that subclasses that
26167           calculate time by counting samples have a segment_start time they
26168           need to add to their timestamps - see audioresample
26169
26170 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26171
26172         * gst/gstbin.h:
26173           removed ';' from the end of macro defs
26174         * docs/gst/gstreamer-docs.sgml:
26175         * docs/gst/gstreamer-sections.txt:
26176         * docs/gst/tmpl/.cvsignore:
26177         * gst/gstbus.h:
26178         * gst/gstelement.c: (gst_element_class_init),
26179         (gst_element_set_state), (activate_pads),
26180         (gst_element_save_thyself):
26181         * gst/gstevent.c: (gst_event_new_newsegment):
26182         * gst/gstevent.h:
26183         * gst/gstiterator.c:
26184         * gst/gstiterator.h:
26185         * gst/gstpad.c:
26186         * gst/gstprobe.h:
26187         * gst/gstutils.c: (gst_pad_query_convert):
26188         * gst/gstutils.h:
26189           fixed parameter name mismatches between source, header and docs
26190           added some more docs, resolved the last batch of unused elements in
26191           docs (now someone needs to doc them)
26192
26193 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26194
26195         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
26196         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
26197           don't walk through the plugins backwards.  Where is all this
26198           reversed logic coming from ?
26199
26200 2005-08-25  Wim Taymans  <wim@fluendo.com>
26201
26202         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26203         (gst_base_transform_transform_size),
26204         (gst_base_transform_configure_caps),
26205         (gst_base_transform_get_unit_size),
26206         (gst_base_transform_buffer_alloc),
26207         (gst_base_transform_change_state):
26208         * gst/base/gstbasetransform.h:
26209         Cache caps unit_size.
26210         Make sure we cannot negotiate up and downstream at the
26211         same time.
26212
26213 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26214
26215         * gst/gst.c: (init_pre), (init_post):
26216           register the installed plugin path after the env var
26217         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26218         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
26219           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
26220           directories, so the tests can prefer uninstalled over installed
26221
26222 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26223
26224         * gst/base/gstbasetransform.h:
26225           comment
26226         * gst/gstpad.c:
26227           add to docs
26228
26229 2005-08-25  Wim Taymans  <wim@fluendo.com>
26230
26231         * gst/gstbin.c: (bin_bus_handler):
26232         Be a bit more conservative about the posted message.
26233         
26234         * gst/gstbus.c: (gst_bus_post):
26235         Some cleanups, warn wrong return values.
26236
26237 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
26238
26239         * check/gst/gstbin.c: (GST_START_TEST):
26240         * gst/gstbin.c: (bin_bus_handler):
26241         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26242         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26243         (gst_message_new_warning), (gst_message_new_tag),
26244         (gst_message_new_state_changed), (gst_message_new_segment_start),
26245         (gst_message_new_segment_done), (gst_message_new_custom):
26246         * gst/gstmessage.h:
26247         * tools/gst-launch.c: (event_loop):
26248         * tools/gst-md5sum.c: (event_loop):
26249           Revert unpopular change for GST_MESSAGE_SRC to GObject.
26250
26251 2005-08-25  Wim Taymans  <wim@fluendo.com>
26252
26253         * check/generic/states.c: (GST_START_TEST):
26254         Cleanup can be done at the end.
26255
26256         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26257         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26258         (gst_task_get_state), (gst_task_start), (gst_task_pause):
26259         Oh boy.. Thanks for finding this, Thomas. 
26260
26261 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26262
26263         * docs/gst/gstreamer.types:
26264           added missing types
26265
26266 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26267
26268         * docs/gst/gstreamer-docs.sgml:
26269         * docs/gst/gstreamer-sections.txt:
26270         * docs/gst/tmpl/.cvsignore:
26271         * gst/gstbin.c:
26272         * gst/gstiterator.c:
26273         * gst/gstutils.c:
26274         * gst/registries/gstxmlregistry.h:
26275           added missing classes and symbols (123 more to go)
26276           removed removed symbols from section file
26277           fixed many doc-comments
26278
26279 2005-08-24  Wim Taymans  <wim@fluendo.com>
26280
26281         * check/generic/states.c: (GST_START_TEST):
26282         Make sure all tasks are stopped.
26283
26284         * check/gst/gstbin.c: (GST_START_TEST):
26285         Unref after usage for proper valgrinding.
26286
26287         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26288         Really wait for the task to stop before destroying the
26289         mutex.
26290
26291         * gst/gstqueue.c: (gst_queue_sink_activate_push),
26292         (gst_queue_src_activate_push):
26293         Small cleanups. Don't stop the task when we did not start
26294         it.
26295
26296         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26297         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26298         (gst_task_get_state), (gst_task_start), (gst_task_pause),
26299         (gst_task_join):
26300         * gst/gsttask.h:
26301         Protect the stream lock with the object lock.
26302         Disallow setting the stream lock when running.
26303         Add cleanup_all to wait for the threadpool to finish.
26304         Remove code to autoallocate a mutex if none was provided.
26305         Add _join() to wait for a task to stop.
26306         Protect the thread pool with a global lock.
26307
26308 2005-08-24  Wim Taymans  <wim@fluendo.com>
26309
26310         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26311         (gst_base_sink_get_times), (gst_base_sink_do_sync),
26312         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26313         * gst/base/gstbasesink.h:
26314         Handle newsegment events correctly.
26315         Drop buffers out of the segment range.
26316
26317 2005-08-22  Andy Wingo  <wingo@pobox.com>
26318
26319         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26320         macro, implements an interface and gstimplementsinterface for a
26321         new type.
26322
26323 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26324
26325         * check/Makefile.am:
26326         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26327           add a test that does a bunch of state changes on elements
26328           needs some fixing for valgrind
26329         * check/states/sinks.c: (gst_object_suite):
26330           whitespace
26331         * gst/gstcaps.h:
26332           add prototype for gst_caps_is_equal_fixed
26333         * gst/gstplugin.c:
26334         * gst/gstregistrypool.c:
26335           doc fixes
26336
26337 2005-08-24  Andy Wingo  <wingo@pobox.com>
26338
26339         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26340         convert a negative value. Doesn't make much sense. Mostly this is
26341         here to force callers to ensure -1 maps to -1.
26342
26343 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26344
26345         * docs/pwg/advanced-types.xml:
26346           Well done to Michael for catching my deliberate introduction
26347           of this spelling mistake. 
26348         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26349         * gst/gstelement.h:
26350           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26351           unlink pads before removing the element from the bin.
26352
26353 2005-08-24  Andy Wingo  <wingo@pobox.com>
26354
26355         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26356         the same thing as GST_DEBUG=*:4.
26357         (parse_debug_level, parse_debug_category): New helper parsers.
26358
26359 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26360
26361         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26362         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26363         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26364         (gst_base_transform_buffer_alloc),
26365         (gst_base_transform_handle_buffer):
26366           use gboolean return values and pointers to size so we can use the
26367           full GST_BUFFER_SIZE range (guint) for buffer sizes
26368           use GstPadDirection for transform_caps
26369         * gst/base/gstbasetransform.h:
26370           rename get_size to get_unit_size since that's what it is
26371         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26372           use GstPadDirection for transform_caps
26373         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26374         * gst/gstutils.h:
26375           cleanup and debugging
26376
26377 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26378
26379         * gst/gstelement.c: (gst_element_class_init),
26380         (gst_element_set_state), (activate_pads),
26381         (gst_element_save_thyself):
26382         * tools/gst-compprep.c: (main):
26383         * tools/gst-inspect.c: (print_element_properties_info):
26384         * tools/gst-xmlinspect.c: (print_element_properties):
26385           Fixed long standing mem-leak
26386
26387 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26388
26389         * check/gst/gstbin.c: (GST_START_TEST):
26390         * gst/gstbin.c: (bin_bus_handler):
26391         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26392         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26393         (gst_message_new_warning), (gst_message_new_tag),
26394         (gst_message_new_state_changed), (gst_message_new_segment_start),
26395         (gst_message_new_segment_done), (gst_message_new_custom):
26396         * gst/gstmessage.h:
26397         * tools/gst-launch.c: (event_loop):
26398         * tools/gst-md5sum.c: (event_loop):
26399           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26400           that applications can sensibly post custom messages with references
26401           to their own objects.
26402
26403 2005-08-24  Andy Wingo  <wingo@pobox.com>
26404
26405         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26406         already.
26407
26408 2005-08-24  Wim Taymans  <wim@fluendo.com>
26409
26410         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26411         (gst_base_transform_transform_caps),
26412         (gst_base_transform_transform_size),
26413         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26414         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26415         (gst_base_transform_handle_buffer):
26416         * gst/base/gstbasetransform.h:
26417         Many fixes and new features added by Thomas. Can now also do
26418         transforms with variable sizes and a custom fixate_caps function.
26419
26420 2005-08-24  Wim Taymans  <wim@fluendo.com>
26421
26422         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26423         Some debugging.
26424
26425         * gst/gstclock.h:
26426         Cast to ClockTime before formatting to time.
26427
26428         * gst/gstutils.h:
26429         Cleanups.
26430
26431 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26432
26433         * check/gst-libs/controller.c: (GST_START_TEST),
26434         (gst_controller_suite):
26435         * docs/gst/tmpl/gstcaps.sgml:
26436         * docs/gst/tmpl/gstghostpad.sgml:
26437         * docs/gst/tmpl/gstquery.sgml:
26438         * docs/gst/tmpl/gstutils.sgml:
26439         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26440         (gst_object_sink_values), (gst_object_get_value_arrays),
26441         (gst_object_get_value_array):
26442           gracefully handle helper method calls to objects that are not beeing
26443           controlled, added test case for that          
26444
26445 2005-08-23  Wim Taymans  <wim@fluendo.com>
26446
26447         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26448         (gst_event_new_newsegment), (gst_event_parse_newsegment),
26449         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26450         (gst_event_parse_qos), (gst_event_new_seek),
26451         (gst_event_parse_seek):
26452         * gst/gstevent.h:
26453         Some more debugging output and doc cleanups.
26454
26455         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26456         Fix possible deadlock.
26457
26458 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26459
26460         * docs/gst/gstreamer-docs.sgml:
26461         * docs/gst/gstreamer-sections.txt:
26462         * docs/gst/gstreamer.types:
26463         * docs/gst/tmpl/.cvsignore:
26464         * gst/gstbin.h:
26465         * gst/gstbus.c:
26466         * gst/gstelement.c:
26467         * gst/gstevent.h:
26468           added 100 symbols from gstreamer-unused.txt to the right sections
26469           fixed more broken comments
26470           added GstBus to docs
26471
26472 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26473
26474         * docs/gst/gstreamer-sections.txt:
26475         * docs/gst/tmpl/.cvsignore:
26476         * docs/gst/tmpl/gstbin.sgml:
26477         * docs/gst/tmpl/gstbuffer.sgml:
26478         * gst/base/gstbasesrc.c:
26479         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26480         * gst/gstbuffer.c:
26481         * gst/gstbuffer.h:
26482         * tools/gst-launch.1.in:
26483           inlined more doc comments, added missing comments and fixed comments
26484           fixed typos
26485
26486 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26487
26488         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26489           some debugging
26490         * gst/gstcaps.h:
26491           whitespace fixes
26492         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26493           more debugging
26494         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26495         * gst/gststructure.h:
26496           add a fixate function for booleans; add a FIXME that these func
26497           names should probably be gst_structure_fixate_*
26498
26499 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26500
26501         * docs/gst/gstreamer-docs.sgml:
26502         * docs/gst/gstreamer-sections.txt:
26503         * gst/Makefile.am:
26504         * gst/gstbin.c: (gst_bin_get_type),
26505         (gst_bin_child_proxy_get_child_by_index),
26506         (gst_bin_child_proxy_get_children_count),
26507         (gst_bin_child_proxy_init):
26508         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26509         (gst_child_proxy_get_child_by_index),
26510         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26511         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26512         (gst_child_proxy_get), (gst_child_proxy_set_property),
26513         (gst_child_proxy_set_valist), (gst_child_proxy_set),
26514         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26515         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26516         * gst/gstchildproxy.h:
26517         * gst/parse/grammar.y:
26518         * tools/gst-inspect.c: (print_interfaces),
26519         (print_element_properties_info), (print_element_info):
26520           ported gstchildproxy over from 0.8
26521           ported gst-inspect fixes and enhancements over from 0.8
26522
26523 2005-08-22  Wim Taymans  <wim@fluendo.com>
26524
26525         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26526         (gst_base_transform_handle_buffer):
26527         Also call the transform function if we have ANY caps.
26528
26529         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26530         Fix debug info.
26531
26532 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26533
26534         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26535           Don't pretend to handle seek events if the source is not seekable
26536
26537 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26538
26539         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26540           Remove extra parameter to debug output
26541
26542         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26543         (gst_base_src_do_seek), (gst_base_src_activate_push):
26544           Fix seek event handling.
26545
26546         * gst/gstpipeline.c: (gst_pipeline_change_state):
26547         * gst/gstqueue.c: (gst_queue_handle_sink_event),
26548         (gst_queue_src_activate_push):
26549           Don't start the src pad task on FLUSH_STOP if the pad
26550           isn't linked.
26551           Debug changes.
26552
26553 2005-08-22  Wim Taymans  <wim@fluendo.com>
26554
26555         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26556         Added check for gst_static_caps_get() refcounting.
26557
26558 2005-08-22  Wim Taymans  <wim@fluendo.com>
26559
26560         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26561         Make _static_caps_get() refcounting sane.
26562         
26563         * gst/gstelement.c: (gst_element_set_state):
26564         Add g_return_val_if_fail() to protect against segfaults.
26565
26566 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
26567
26568         * docs/gst/tmpl/gstevent.sgml:
26569         * gst/gstevent.c:
26570         * gst/gstevent.h:
26571           inlined remaining docs, added missing doc comments
26572
26573 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26574
26575         * check/gst/gstbin.c: (GST_START_TEST):
26576           since we don't know when preroll is done, use refcount range
26577           check for the sink
26578         * gst/check/gstcheck.h:
26579           add macro for checking refcount range
26580
26581 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26582
26583         * check/Makefile.am:
26584           clean up environment for when registry gets built versus
26585           when actual tests are run; valgrind seems to not report
26586           leaks if GST_PLUGIN_PATH is set to some specific values
26587         * check/gst/gstbin.c: (GST_START_TEST):
26588           add more refcounting checks; maybe this exposes a
26589           preroll lock bug ?
26590         * common/check.mak:
26591         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26592         * gst/check/gstcheck.h:
26593         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26594         (gst_bin_change_state):
26595         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26596           add/fix debugging/whitespace
26597
26598 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26599
26600         * check/gst/gstevent.c: (event_probe), (test_event),
26601         (GST_START_TEST):
26602          Er, don't call gst_bin_watch_for_state_change you idiot.
26603
26604 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26605
26606         * check/Makefile.am:
26607           Use CHECK_CFLAGS and CHECK_LIBS
26608         * check/gst/gstevent.c: (event_probe), (test_event),
26609         (GST_START_TEST):
26610           Don't leak events.
26611         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26612         (gst_base_src_start), (gst_base_src_stop),
26613         (gst_base_src_activate_push), (gst_base_src_activate_pull),
26614         (gst_base_src_change_state):
26615           Sprinkle gst_base_src_stop liberally around error paths to fix
26616           problems reusing a source after failed state changes.
26617         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26618         (helper_find_suggest), (gst_type_find_helper):
26619           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26620         * gst/gstevent.h:
26621         * docs/gst/tmpl/gstevent.sgml:
26622           Migrate part of the docs from the SGML file. Wait for ensonic to
26623           tell me how I did it wrong ;)
26624         * tools/gst-typefind.c: (main):
26625           Extra robustness to state changes between files.
26626
26627 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26628
26629         * check/Makefile.am:
26630           don't valgrind the controller test - it's leaking - Stefan, HELP
26631         * gst/check/gstcheck.c: (gst_check_message_error),
26632         (gst_check_chain_func), (gst_check_setup_element),
26633         (gst_check_teardown_element), (gst_check_setup_src_pad),
26634         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26635         (gst_check_teardown_sink_pad):
26636         * gst/check/gstcheck.h:
26637           add a bunch of methods to set up elements, and src and sink pads
26638         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26639         * check/elements/identity.c: (setup_identity), (cleanup_identity),
26640         (GST_START_TEST):
26641           use them
26642         * gst/gstmessage.c:
26643         * gst/gsttag.h:
26644           whitespace/doc fixes
26645
26646 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26647
26648         * gst/gstelement.h:
26649           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26650           be handled by the application and not always printed as well
26651
26652 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26653
26654         * check/Makefile.am:
26655           set GST_TOOLS_DIR
26656         * gst/check/gstcheck.c: (gst_check_message_error):
26657         * gst/check/gstcheck.h:
26658           add a fail_unless_equals_int
26659           add fail_unless for error messages
26660
26661 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26662
26663         * check/Makefile.am:
26664         * check/gst.supp:
26665         * common/Makefile.am:
26666         * common/check.mak:
26667         * common/gst.supp:
26668           factor out some of the common stuff so we can use it
26669
26670 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26671
26672         * check/Makefile.am:
26673         * check/gst/gstiterator.c: (GST_START_TEST):
26674         * check/gst/gstsystemclock.c: (GST_START_TEST),
26675         (gst_systemclock_suite):
26676         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26677         * gst/gstclock.c:
26678           valgrind more tests
26679
26680 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26681
26682         * check/elements/.cvsignore:
26683         * check/elements/gstfakesrc.c:
26684           rename to name of element
26685         * check/elements/identity.c: (chain_func), (event_func),
26686         (setup_identity), (cleanup_identity), (GST_START_TEST),
26687         (identity_suite), (main):
26688           add a test for identity
26689         * check/Makefile.am:
26690         * pkgconfig/Makefile.am:
26691         * pkgconfig/gstreamer-check.pc.in:
26692         * pkgconfig/gstreamer-check-uninstalled.pc.in:
26693         * gst/check:
26694         * gst/Makefile.am:
26695         * configure.ac:
26696           move the check stuff to a library that gets installed
26697         * check/gst-libs/controller.c: (GST_START_TEST):
26698         * check/gst-libs/gdp.c:
26699         * check/gst/gst.c: (GST_START_TEST):
26700         * check/gst/gstbin.c:
26701         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26702         * check/gst/gstbus.c:
26703         * check/gst/gstcaps.c: (GST_START_TEST):
26704         * check/gst/gstelement.c:
26705         * check/gst/gstghostpad.c:
26706         * check/gst/gstiterator.c:
26707         * check/gst/gstmessage.c:
26708         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26709         * check/gst/gstobject.c:
26710         * check/gst/gstpad.c: (GST_START_TEST):
26711         * check/gst/gststructure.c: (GST_START_TEST):
26712         * check/gst/gstsystemclock.c: (GST_START_TEST),
26713         (gst_systemclock_suite):
26714         * check/gst/gsttag.c: (gst_tag_suite):
26715         * check/gst/gstvalue.c:
26716         * check/pipelines/cleanup.c:
26717         * check/pipelines/simple_launch_lines.c:
26718         * check/states/sinks.c:
26719           change include statement
26720
26721         * docs/gst/gstreamer-sections.txt:
26722         * docs/gst/tmpl/gstpad.sgml:
26723           document more pad stuff
26724         * gst/gstminiobject.c: (gst_mini_object_ref),
26725         (gst_mini_object_unref):
26726           debug refcounting
26727
26728 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
26729
26730         * docs/gst/tmpl/gst.sgml:
26731         * gst/gst.c:
26732           eliminate another tmpl file, fix spelling in the long-description
26733
26734 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26735
26736         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26737         (test_event), (timediff), (gstevents_suite):
26738           Should fix build on 64-bit arch's
26739
26740 2005-08-18  Andy Wingo  <wingo@pobox.com>
26741
26742         Make sure that when a pipeline goes to PLAYING, that data has
26743         actually hit the sink.
26744
26745         * check/states/sinks.c (test_sink): A sink that doesn't get any
26746         data shouldn't return SUCCESS for going to either PLAYING or
26747         PAUSED. Test also the return values on the way back down.
26748
26749         * gst/gstelement.c (gst_element_set_state): When changing the
26750         state of an element currently changing state asynchronously, go to
26751         lost-state after commiting the pending state. Makes future calls
26752         to get_state continue to return ASYNC.
26753
26754         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26755         ASYNC when going to PLAYING if we still don't have preroll, as can
26756         happen with live sources.
26757
26758 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26759
26760         * docs/pwg/advanced-types.xml:
26761           Hack long paragraph into 2 chunks as a workaround for buggy
26762           jadetex version in sid and breezy that loops infinitely and
26763           eats all RAM.
26764
26765 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26766
26767         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26768         (test_event), (timediff), (gstevents_suite):
26769           Provide more error margin in clock measurements to allow for 
26770           g_get_current_time inaccuracies.
26771
26772 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26773
26774         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26775         (test_event), (timediff), (gstevents_suite):
26776            Fix error message output so I might be able to tell why the
26777            test works here but fails on the build farm.
26778
26779 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26780
26781         * check/Makefile.am:
26782         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26783         (test_event), (timediff), (gstevents_suite), (main):
26784           I wrote a test!
26785
26786         * docs/design/part-seeking.txt:
26787           Spelling correction
26788
26789         * docs/gst/tmpl/gstevent.sgml:
26790         * docs/gst/tmpl/gstfakesrc.sgml:
26791           Docs updates.
26792
26793         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26794           Treat a buffer-without-newsegment the same as a receiving 
26795           a newsegment not in time format, and disable syncing to the clock
26796           with a warning.
26797
26798         * gst/gstbus.c: (gst_bus_set_sync_handler):
26799           Assert if anyone tries to replace the existing sync_handler for bus, 
26800           as only the owner should be setting it.
26801
26802         * gst/gstevent.h:
26803           Have a fixed set of custom event enums with events identified by
26804           their structure name (as in 0.8), rather than a free-for-all
26805           allowing collisions between enum values from different plugins.
26806
26807         * gst/gstpad.c: (gst_pad_class_init):
26808           Docs change.
26809           
26810         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26811           Handle out-of-band downstream events from the sending thread.
26812
26813 2005-08-17  Andy Wingo  <wingo@pobox.com>
26814
26815         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
26816         play-timeout==0 to mean no timeout at all. In that case, don't
26817         bother with a get_state or a warning, just return directly, even
26818         if it's ASYNC.
26819
26820         * gst/base/gstbasetransform.c: Debug changes.
26821
26822         * gst/gstutils.h:
26823         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
26824         ensure bins post state change messages. A bit of a hack but I can't
26825         think of a way to avoid it.
26826
26827         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
26828
26829 2005-08-16  Andy Wingo  <wingo@pobox.com>
26830
26831         * gst/base/gstadapter.h:
26832         * gst/base/gstadapter.c (gst_adapter_take): New function, like
26833         peek() but you own the data. Not terribly efficient atm.
26834
26835 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26836
26837         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
26838         (gst_element_found_tags):
26839         * gst/gstutils.h:
26840           Add two utility functions for tag handling.
26841
26842 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26843
26844         * docs/manual/advanced-dataaccess.xml:
26845         * docs/manual/basics-helloworld.xml:
26846           Fix docs to use _bin_add() before _link(), which fixes the examples
26847           with recent core versions (reported by Madhan Raj M
26848           <raj_madan@rediffmail.com>, #313199).
26849
26850 2005-08-16  Wim Taymans  <wim@fluendo.com>
26851
26852         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26853         Added subtract checks.
26854
26855         * docs/design/part-events.txt:
26856         Some more docs about newsegment
26857
26858         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26859         Fix FIXME
26860
26861         * gst/gstcaps.c: (gst_caps_to_string):
26862         Add comments, cleanups.
26863         
26864         * gst/gstelement.c: (gst_element_save_thyself):
26865         cleanups
26866         
26867         * gst/gstvalue.c: (gst_value_collect_int_range),
26868         (gst_string_unwrap), (gst_value_union_int_int_range),
26869         (gst_value_union_int_range_int_range),
26870         (gst_value_intersect_int_int_range),
26871         (gst_value_intersect_int_range_int_range),
26872         (gst_value_intersect_double_double_range),
26873         (gst_value_intersect_double_range_double_range),
26874         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
26875         (gst_value_subtract_int_range_int),
26876         (gst_value_subtract_double_range_double),
26877         (gst_value_subtract_double_range_double_range),
26878         (gst_value_subtract_from_list), (gst_value_subtract_list),
26879         (gst_value_can_compare), (gst_value_compare_fraction):
26880         Cleanups, add comments, remove unneeded asserts.
26881
26882 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26883
26884         * tools/gst-launch.c: (event_loop):
26885           don't convert NULL structures to strings
26886
26887 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
26888
26889         * docs/gst/gstreamer-sections.txt:
26890           made some defines private
26891         * docs/gst/tmpl/gstconfig.sgml:
26892         * docs/gst/tmpl/gstqueue.sgml:
26893         * docs/gst/tmpl/gsttaglist.sgml:
26894         * docs/gst/tmpl/gsttypes.sgml:
26895         * docs/gst/tmpl/gstutils.sgml:
26896         * docs/pwg/appendix-porting.xml:
26897         * gst/base/gstbasesink.h:
26898         * gst/base/gstbasesrc.c:
26899         * gst/base/gstbasesrc.h:
26900         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
26901         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
26902         * gst/gstelement.c: (gst_element_class_init):
26903         * gst/gstpad.c: (gst_pad_class_init):
26904         * gst/gstqueue.c: (gst_queue_class_init):
26905         * gst/gstxml.c: (gst_xml_class_init):
26906           documented all undocumented signal inline
26907         * libs/gst/controller/gst-controller.h:
26908           added padding
26909
26910 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26911
26912         * docs/pwg/appendix-porting.xml:
26913           Document _set_link_function -> _set_setcaps_function.
26914
26915 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26916
26917         * check/Makefile.am:
26918           add a .check target for running the check
26919         * check/gst-libs/controller.c: (GST_START_TEST):
26920           cosmetic fixups
26921         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26922           complete checks for gstbuffer; would be nice if I could get the
26923           gcov stuff to work so I can see if I actually completed gstbuffer.c
26924         * check/gstcheck.h:
26925           add ASSERT_BUFFER_REFCOUNT
26926
26927 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
26928
26929         * docs/gst/gstreamer-sections.txt:
26930         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
26931         * gst/gsttag.h:
26932           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
26933           spew out a warning if a tag that is already registered
26934           is re-registered, unless it is re-registered with a 
26935           different type (#308438).
26936
26937 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
26938
26939         * docs/pwg/appendix-porting.xml:
26940         * docs/pwg/building-state.xml:
26941           Add some paragraphs about state changes in 0.9 to the PWG
26942           and the porting guide, in particular about the new meaning
26943           of GST_STATE_PAUSED and how to write state change functions
26944           with concurrent access by multiple threads in mind.
26945
26946 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
26947
26948         * docs/gst/gstreamer-docs.sgml:
26949         * docs/libs/gstreamer-libs-docs.sgml:
26950           added deprecation and since indexes
26951         * libs/gst/controller/gst-controller.c:
26952         * libs/gst/controller/gst-helper.c:
26953           added since tags
26954
26955
26956 2005-08-11  Wim Taymans  <wim@fluendo.com>
26957
26958         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
26959         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
26960         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
26961         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
26962         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
26963         (gst_ghost_pad_set_target):
26964         Actually implement (re)setting the target on a ghostpad
26965         as described in the docs.
26966
26967 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
26968
26969         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
26970           Check whether GST_DEBUG_NO_COLOR environment variable is
26971           set and disable coloured debug output if that is the case.
26972
26973 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
26974
26975         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26976         (gst_type_find_helper):
26977           The memory returned by gst_type_find_peek() needs to
26978           stay valid until the end of a typefind function, and
26979           typefind functions may keep results from different 
26980           offsets around, so we can't just unref the buffer from
26981           the previous _peek(), but have to save all buffers 
26982           returned by _peek() until typefinding is done and only
26983           free them then.
26984
26985 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
26986
26987         * docs/gst/gstreamer-sections.txt:
26988         * gst/gstutils.h:
26989           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
26990
26991 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26992
26993         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
26994           Fix a pretty good memleak.
26995
26996 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
26997
26998         * gst/gstiterator.h:
26999           Fix wrong include and 'make distcheck'.
27000
27001 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27002
27003         * gst/gstbin.c: (bin_bus_handler):
27004           Use gst_element_post_message() instead.
27005
27006 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
27007
27008         * gst/base/gstadapter.h:
27009         * gst/base/gstbasesink.h:
27010         * gst/base/gstbasesrc.h:
27011         * gst/base/gstbasetransform.h:
27012         * gst/base/gstcollectpads.h:
27013         * gst/base/gstpushsrc.h:
27014         * gst/gstiterator.h:
27015           Add padding to our base elements' class and instance structs and
27016           to GstIterator (you will need to rebuild all plugins and apps!)
27017
27018 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27019
27020         * gst/gstbin.c: (bin_bus_handler):
27021           Make default message forwarding from child->bus to bin->bus
27022           threadsafe and make it not emit warnings if the parent has no bus.
27023
27024 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27025
27026         * gst/gstelement.c: (activate_pads):
27027           On paused->ready, set pad->caps to NULL, as is the documented
27028           behaviour in this state change. Fixes playback of series of
27029           media files when visualization is enabled in Totem.
27030
27031 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27032
27033         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
27034           Allow NULL as filter-caps (which means "any").
27035
27036 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27037
27038         * docs/libs/gstreamer-libs-sections.txt:
27039         * libs/gst/controller/gst-controller.c:
27040         * libs/gst/controller/gst-controller.h:
27041         * libs/gst/controller/gst-helper.c:
27042           adding more entries to the docs and fix small doc-bugs
27043
27044 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27045
27046         * docs/gst/gstreamer-docs.sgml:
27047         * docs/gst/gstreamer-sections.txt:
27048         * docs/gst/gstreamer.types:
27049         * docs/gst/tmpl/gstbasesink.sgml:
27050         * docs/gst/tmpl/gstbasesrc.sgml:
27051         * docs/gst/tmpl/gstbasetransform.sgml:
27052         * docs/gst/tmpl/gstfakesrc.sgml:
27053         * gst/base/gstcollectpads.c:
27054         * gst/base/gstcollectpads.h:
27055         * libs/gst/controller/gst-controller.c:
27056         * libs/gst/controller/gst-controller.h:
27057         * libs/gst/controller/gst-helper.c:
27058         * libs/gst/controller/gst-interpolation.c:
27059         * libs/gst/controller/lib.c:
27060           added long/short desc for controller docs
27061           added collectpads base class docs
27062           added correct includes to base-class docs
27063
27064 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27065
27066         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
27067         (gst_test_mono_source_set_property),
27068         (gst_test_mono_source_class_init), (GST_START_TEST),
27069         (gst_controller_suite):
27070         * docs/gst/gstreamer-docs.sgml:
27071         * docs/gst/gstreamer-sections.txt:
27072         * docs/gst/gstreamer.types:
27073         * docs/libs/gstreamer-libs-docs.sgml:
27074         * docs/libs/gstreamer-libs-sections.txt:
27075         * gst/base/gstadapter.c:
27076         * libs/gst/controller/gst-controller.c:
27077         (gst_controlled_property_new), (gst_controlled_property_free),
27078         (gst_controller_new_valist),
27079         (gst_controller_remove_properties_valist),
27080         (gst_controller_sink_values), (_gst_controller_finalize):
27081         * libs/gst/controller/gst-controller.h:
27082         * libs/gst/controller/gst-helper.c:
27083         (gst_object_control_properties), (gst_object_uncontrol_properties),
27084         (gst_object_get_controller), (gst_object_set_controller),
27085         (gst_object_sink_values), (gst_object_get_value_arrays),
27086         (gst_object_get_value_array):
27087           more tests (and fixes) for the controller
27088           more docs for the controller
27089           integrated companies docs for the adapter 
27090
27091 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
27092
27093         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
27094         (GST_START_TEST), (fakesrc_suite):
27095           add tests for sizetype
27096
27097 2005-08-04  Andy Wingo  <wingo@pobox.com>
27098
27099         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
27100         fixes buffer_alloc proxying among other things.
27101
27102         * gst/base/gstbasetransform.c:
27103         * gst/base/gstbasetransform.h:
27104         Revert patch to gstbasetransform from 7-28 removing
27105         delay_configure.
27106
27107         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
27108         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
27109         Semantics changed, should return not the size of the output buffer
27110         but the byte size of a buffer with a given caps.
27111
27112         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
27113         debug object.
27114         (gst_base_transform_configure_caps): Don't set out_size here: (in,
27115         out) are not the pad caps until setcaps finishes.
27116         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
27117         not-in-place case as well. Deal with changing from in-place to
27118         not-in-place within calling pad_alloc_buffer. Still a bit
27119         concerned about the overhead here...
27120
27121 2005-08-03  Andy Wingo  <wingo@pobox.com>
27122
27123         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
27124         fixating is an error.
27125
27126 2005-08-04  Edward Hervey  <edward@fluendo.com>
27127
27128         * gst/base/gstadapter.h: 
27129         Added gst_adapter_get_type() to the header
27130
27131 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27132
27133         * check/Makefile.am:
27134         * check/gst-libs/controller.c:
27135         * libs/gst/controller/gst-controller.c:
27136         (gst_controller_new_valist):
27137           added check test suite for the controller
27138         * gst/base/gstpushsrc.c:
27139           fixed a doc typo
27140
27141 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27142
27143         * docs/gst/Makefile.am:
27144         * docs/gst/gstreamer-docs.sgml:
27145         * docs/gst/gstreamer-sections.txt:
27146         * docs/gst/gstreamer.types:
27147         * docs/gst/tmpl/gstfakesrc.sgml:
27148         * gst/base/README:
27149         * gst/base/gstbasesink.c:
27150         * gst/base/gstbasesink.h:
27151         * gst/base/gstbasesrc.c:
27152         * gst/base/gstbasesrc.h:
27153         * gst/base/gstbasetransform.c:
27154         * gst/base/gstpushsrc.c:
27155         * gst/base/gstpushsrc.h:
27156           add short/long description docs to base classes
27157           add pushsrc to the docs
27158           remove consolidated doc fragments
27159
27160 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27161
27162         * configure.ac:
27163         * docs/libs/Makefile.am:
27164         * docs/libs/gstreamer-libs-docs.sgml:
27165         * docs/libs/gstreamer-libs-sections.txt:
27166         * docs/libs/gstreamer-libs.types:
27167         * examples/Makefile.am:
27168         * examples/controller/.cvsignore:
27169         * examples/controller/Makefile.am:
27170         * examples/controller/audio-example.c: (main):
27171         * libs/gst/Makefile.am:
27172         * libs/gst/controller/.cvsignore:
27173         * libs/gst/controller/Makefile.am:
27174         * libs/gst/controller/gst-controller.c:
27175         (on_object_controlled_property_changed), (gst_timed_value_compare),
27176         (gst_timed_value_find),
27177         (gst_controlled_property_set_interpolation_mode),
27178         (gst_controlled_property_new), (gst_controlled_property_free),
27179         (gst_controller_find_controlled_property),
27180         (gst_controller_new_valist), (gst_controller_new),
27181         (gst_controller_remove_properties_valist),
27182         (gst_controller_remove_properties), (gst_controller_set),
27183         (gst_controller_set_from_list), (gst_controller_unset),
27184         (gst_controller_get), (gst_controller_get_all),
27185         (gst_controller_sink_values), (gst_controller_get_value_arrays),
27186         (gst_controller_get_value_array),
27187         (gst_controller_set_interpolation_mode),
27188         (_gst_controller_finalize), (_gst_controller_init),
27189         (_gst_controller_class_init), (gst_controller_get_type):
27190         * libs/gst/controller/gst-controller.h:
27191         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
27192         (g_object_uncontrol_properties), (g_object_get_controller),
27193         (g_object_set_controller), (g_object_sink_values),
27194         (g_object_get_value_arrays), (g_object_get_value_array):
27195         * libs/gst/controller/gst-interpolation.c:
27196         (gst_controlled_property_find_timed_value_node),
27197         (interpolate_none_get), (interpolate_trigger_get),
27198         (interpolate_trigger_get_value_array):
27199         * libs/gst/controller/lib.c: (gst_controller_init):
27200         * pkgconfig/Makefile.am:
27201         * pkgconfig/gstreamer-control-uninstalled.pc.in:
27202         * pkgconfig/gstreamer-control.pc.in:
27203         * testsuite/Makefile.am:
27204         * testsuite/controller/.cvsignore:
27205         * testsuite/controller/Makefile.am:
27206         * testsuite/controller/interpolator.c: (main):
27207           added controller code
27208           removed dparam pc files
27209
27210 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27211         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
27212         (gst_collectpads_stop):
27213           Broadcast the condition when shutting down, to make sure we wake all
27214           threads up. Shut down pads on finalize, for safety.
27215
27216 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27217         * gst/base/gstbasetransform.c: (gst_base_transform_init),
27218         (gst_base_transform_handle_buffer),
27219         (gst_base_transform_change_state):
27220           Handle PAUSED->READY->PAUSED transition after negotiation
27221           occurred already.
27222         * gst/gstmessage.c: (gst_message_init):
27223           Extra piece of debug for new messages.
27224
27225 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
27226
27227         * configure.ac:
27228         * docs/gst/tmpl/gstbasesrc.sgml:
27229         * docs/gst/tmpl/gstelement.sgml:
27230         * docs/gst/tmpl/gstevent.sgml:
27231         * docs/gst/tmpl/gstfakesrc.sgml:
27232         * docs/gst/tmpl/gstformat.sgml:
27233         * docs/gst/tmpl/gstghostpad.sgml:
27234         * docs/gst/tmpl/gstpad.sgml:
27235         * docs/gst/tmpl/gstquery.sgml:
27236         * docs/gst/tmpl/gststructure.sgml:
27237         * docs/gst/tmpl/gsttaglist.sgml:
27238         * docs/gst/tmpl/gstvalue.sgml:
27239         * docs/libs/gstreamer-libs-docs.sgml:
27240         * docs/libs/gstreamer-libs-sections.txt:
27241         * docs/libs/gstreamer-libs.types:
27242         * libs/gst/Makefile.am:
27243         * libs/gst/control/.cvsignore:
27244         * libs/gst/control/Makefile.am:
27245         * libs/gst/control/control.c:
27246         * libs/gst/control/control.h:
27247         * libs/gst/control/dparam.c:
27248         * libs/gst/control/dparam.h:
27249         * libs/gst/control/dparam_smooth.c:
27250         * libs/gst/control/dparam_smooth.h:
27251         * libs/gst/control/dparamcommon.h:
27252         * libs/gst/control/dparammanager.c:
27253         * libs/gst/control/dparammanager.h:
27254         * libs/gst/control/dplinearinterp.c:
27255         * libs/gst/control/dplinearinterp.h:
27256         * libs/gst/control/unitconvert.c:
27257         * libs/gst/control/unitconvert.h:
27258         * testsuite/Makefile.am:
27259         * testsuite/dynparams/.cvsignore:
27260         * testsuite/dynparams/Makefile.am:
27261         * testsuite/dynparams/dparamstest.c:
27262         * tools/Makefile.am:
27263         * tools/gst-inspect.c: (print_element_info), (main):
27264         * tools/gst-xmlinspect.c: (print_element_info), (main):
27265           deactivate and remove dparams (libgstcontrol)
27266
27267 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27268
27269         * gst/elements/gsttypefindelement.c:
27270         (gst_type_find_element_have_type), (gst_type_find_element_init),
27271         (stop_typefinding), (gst_type_find_element_handle_event),
27272         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27273         * gst/elements/gsttypefindelement.h:
27274           Set caps on all outgoing buffers, not just the first one.
27275
27276 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27277
27278         * gst/elements/gsttypefindelement.c:
27279         (gst_type_find_element_have_type),
27280         (gst_type_find_element_check_set_buffer_caps),
27281         (gst_type_find_element_init), (stop_typefinding),
27282         (gst_type_find_element_handle_event),
27283         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27284         * gst/elements/gsttypefindelement.h:
27285           Set caps on first outgoing buffer when we've found the type.
27286
27287 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27288
27289         * docs/gst/gstreamer-docs.sgml:
27290         * docs/gst/gstreamer-sections.txt:
27291         * docs/gst/tmpl/gstscheduler.sgml:
27292         * docs/gst/tmpl/gstschedulerfactory.sgml:
27293           Remove some old cruft from docs.
27294
27295 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
27296
27297         * gst/gstpad.h:
27298           Fix inline docs for GstPadLinkReturn.
27299           
27300         * gst/gststructure.c: (gst_structure_has_name):
27301         * gst/gststructure.h:
27302         * docs/gst/gstreamer-sections.txt:
27303           New API: gst_structure_has_name().
27304
27305 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
27306
27307         * configure.ac:
27308           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27309           and _LARGEFILE_SOURCE in config.h as required. Do not 
27310           export those flags in our .pc files any longer (#142209).
27311
27312           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27313
27314         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27315         (gst_file_sink_do_seek), (gst_file_sink_event),
27316         (gst_file_sink_get_current_offset), (gst_file_sink_render):
27317           Redo seek/tell calls with large file support in mind; add some
27318           debugging messages; add log message that tells us when large
27319           file support is unavailable or not enabled for some reason.
27320
27321         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27322           Add log message that tells us when large file support 
27323           is unavailable or not enabled for some reason.
27324
27325 2005-07-29  Wim Taymans  <wim@fluendo.com>
27326
27327         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27328         Added test for removing an element with ghostpad from a bin.
27329         Fixed test as current implementation does the right thing.
27330
27331         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27332         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27333         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27334         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27335         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27336         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27337         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27338         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27339         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27340         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27341         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27342         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27343         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27344         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27345         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27346         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27347         * gst/gstghostpad.h:
27348         Clean up ghostpads, remove properties for internal stuff.
27349         Make threadsafe.
27350         Fix refcounting.
27351         Prepare for switching targets, not all use cases work yet.
27352
27353 2005-07-29  Wim Taymans  <wim@fluendo.com>
27354
27355         * docs/design/part-gstghostpad.txt:
27356         Small update.
27357
27358         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27359         (gst_bin_remove_func):
27360         Unlinking pads while holding the bin LOCK is not a good
27361         idea.
27362
27363         * gst/gstpad.c: (gst_pad_class_init),
27364         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27365         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27366         No prob setting template after creating the pad.
27367
27368 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
27369
27370         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27371         (gst_bus_peek), (gst_bus_source_dispatch),
27372         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27373         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27374           gst_bus_poll may be called from other threads. Handle
27375           this nicely by not making poll_data disappear off the
27376           stack once gst_bus_poll returns.
27377           gst_bus_peek now increments the refcount on the returned
27378           message.
27379
27380 2005-07-29  Wim Taymans  <wim@fluendo.com>
27381
27382         * docs/design/part-gstghostpad.txt:
27383         Overview of current GhostPad datastructures and use
27384         cases for changing the target.
27385
27386 2005-07-28  Wim Taymans  <wim@fluendo.com>
27387
27388         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27389         Added checks for hierarchy consistency whan adding linked
27390         elements to bins.
27391
27392         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27393         Added check to test element scheduling without bin/pipeline.
27394
27395         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27396         First add elements to bin, then link.
27397         
27398         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27399         (gst_bin_remove_func):
27400         Unlink pads from elements added/removed from bin to maintain
27401         hierarchy consistency.
27402
27403 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27404
27405         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27406         (gst_base_transform_handle_buffer):
27407         * gst/base/gstbasetransform.h:
27408           Remove broken delay_configure (fixes renegotiation of software
27409           scaling pipelines); remove some leftover printf()s.
27410
27411 2005-07-28  Wim Taymans  <wim@fluendo.com>
27412
27413         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27414         Added some more tests for wrong hierarchy
27415
27416         * docs/design/part-overview.txt:
27417         Some updates.
27418
27419         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27420         Cleanups.
27421
27422         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27423         (gst_element_dispose):
27424         Some more cleanups.
27425
27426         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27427         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27428         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27429         (gst_pad_set_caps), (gst_pad_send_event):
27430         Check for correct hierarchy when linking pads. Moving to
27431         strict requirement for ghostpads when linking elements in
27432         different bins.
27433
27434         * gst/gstpad.h:
27435         Clean ups. Added WRONG_HIERARCHY return value.
27436
27437 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27438
27439         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27440           Better debug if no transform is possible.
27441
27442 2005-07-27  Wim Taymans  <wim@fluendo.com>
27443
27444         * docs/random/wtay/network-transp:
27445         Some old doc I had.
27446
27447 2005-07-27  Wim Taymans  <wim@fluendo.com>
27448
27449         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27450         (gst_dp_event_from_packet):
27451         Fix serialization of seek events.
27452
27453 2005-07-27  Wim Taymans  <wim@fluendo.com>
27454
27455         * check/gst-libs/gdp.c: (GST_START_TEST):
27456         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27457         Fix compilation and fix event serialization.
27458
27459 2005-07-27  Wim Taymans  <wim@fluendo.com>
27460
27461         * CHANGES-0.9:
27462         * docs/design/part-TODO.txt:
27463         * docs/design/part-events.txt:
27464         Some docs updates
27465
27466         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27467         (gst_base_sink_event), (gst_base_sink_do_sync),
27468         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27469         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27470         (gst_base_src_do_seek), (gst_base_src_event_handler),
27471         (gst_base_src_loop):
27472         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27473         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27474         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27475         (gst_base_transform_event), (gst_base_transform_handle_buffer),
27476         (gst_base_transform_set_passthrough),
27477         (gst_base_transform_is_passthrough):
27478         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27479         * gst/elements/gstfilesink.c: (gst_file_sink_event):
27480         Event updates.
27481
27482         * gst/gstbuffer.h:
27483         Use faster casts.
27484
27485         * gst/gstelement.c: (gst_element_seek):
27486         * gst/gstelement.h:
27487         Update gst_element_seek.
27488
27489         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27490         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27491         (gst_event_new_flush_start), (gst_event_new_flush_stop),
27492         (gst_event_new_eos), (gst_event_new_newsegment),
27493         (gst_event_parse_newsegment), (gst_event_new_tag),
27494         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27495         (gst_event_parse_qos), (gst_event_new_seek),
27496         (gst_event_parse_seek), (gst_event_new_navigation):
27497         * gst/gstevent.h:
27498         Make GstEvent use GstStructure. Add parsing code, make sure the
27499         API is sufficiently generic.
27500         Mark possible directions of events and serialization.
27501
27502         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27503         (_gst_message_copy), (gst_message_new_segment_start),
27504         (gst_message_new_segment_done), (gst_message_new_custom),
27505         (gst_message_parse_segment_start),
27506         (gst_message_parse_segment_done):
27507         Small cleanups.
27508
27509         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27510         (gst_pad_set_caps), (gst_pad_send_event):
27511         Update for new events. 
27512         Catch events sent in wrong directions.
27513
27514         * gst/gstqueue.c: (gst_queue_link_src),
27515         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27516         (gst_queue_handle_src_query):
27517         Event updates.
27518
27519         * gst/gsttag.c:
27520         * gst/gsttag.h:
27521         Remove event code from this file.
27522
27523         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27524         (gst_dp_event_from_packet):
27525         Event updates.
27526
27527 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27528
27529         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27530         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27531         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27532           Make debugging actually useful.
27533
27534 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27535
27536         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27537         (gst_pad_fixate_caps):
27538           Implement default fixation once again, so that gst_pad_fixate()
27539           actually does anything at all. This probably needs to be some
27540           sort of a last resort, and use profile-based fixation first, but
27541           since that doesn't exist yet, this is the best we have. Fixes
27542           visualization in Totem.
27543
27544 2005-07-22  Wim Taymans  <wim@fluendo.com>
27545
27546         * docs/design/part-events.txt:
27547         Small update.
27548
27549         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27550         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27551         (gst_base_sink_activate_pull):
27552         Some more comments.
27553
27554         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27555         (gst_fake_src_create):
27556         Fix handoff marshall.
27557
27558         * gst/elements/gstidentity.c: (gst_identity_class_init),
27559         (gst_identity_transform_ip):
27560         We're a real inplace element.
27561
27562         * gst/gstbus.c: (gst_bus_post):
27563         Added some comments.
27564
27565         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27566         * tests/muxing/case1.c: (main):
27567         * tests/sched/dynamic-pipeline.c: (main):
27568         * tests/sched/interrupt1.c: (main):
27569         * tests/sched/interrupt2.c: (main):
27570         * tests/sched/interrupt3.c: (main):
27571         * tests/sched/runxml.c: (main):
27572         * tests/sched/sched-stress.c: (main):
27573         * tests/seeking/seeking1.c: (event_received), (main):
27574         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27575         (main):
27576         * tests/threadstate/threadstate3.c: (main):
27577         * tests/threadstate/threadstate4.c: (main):
27578         * tests/threadstate/threadstate5.c: (main):
27579         Fix the tests.
27580
27581 2005-07-21  Wim Taymans  <wim@fluendo.com>
27582
27583         * docs/design/part-seeking.txt:
27584         Some small additions.
27585
27586         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27587         (gst_base_sink_get_times), (gst_base_sink_do_sync),
27588         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27589         * gst/base/gstbasesink.h:
27590         discont values are gint64, handle the math correctly.
27591
27592         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27593         Make the basesrc report error if the source pad is not linked.
27594
27595         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27596         (gst_queue_loop), (gst_queue_handle_src_query),
27597         (gst_queue_src_activate_push):
27598         Make queue collect data even if the srcpad is not linked.
27599         Start pushing out data as soon as it is linked.
27600
27601         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27602         * gst/gstutils.h:
27603         Added gst_flow_get_name() to ease error reporting.
27604
27605 2005-07-20  Wim Taymans  <wim@fluendo.com>
27606
27607         * gst/gstmessage.c: (gst_message_new_segment_start),
27608         (gst_message_new_segment_done), (gst_message_parse_segment_start),
27609         (gst_message_parse_segment_done):
27610         * gst/gstmessage.h:
27611         Added a bunch of messages for advanced seeking.
27612
27613         * gst/parse/grammar.y:
27614         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27615         (gst_dpman_state_changed):
27616         Fix some new-pad -> pad-added signals
27617
27618 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27619
27620         * docs/manual/appendix-porting.xml:
27621         * docs/pwg/appendix-porting.xml:
27622           Document new-pad/state-change signal renames and the FixedList
27623           type rename.
27624
27625 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27626
27627         * docs/manual/advanced-autoplugging.xml:
27628         * docs/manual/basics-helloworld.xml:
27629         * docs/manual/basics-pads.xml:
27630         * docs/random/ds/0.9-suggested-changes:
27631         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27632         * gst/gstelement.h:
27633         * gst/gstevent.h:
27634         * gst/gstformat.h:
27635         * gst/gstquery.h:
27636         * gst/gststructure.c: (gst_structure_value_get_generic_type),
27637         (gst_structure_parse_array), (gst_structure_parse_value):
27638         * gst/gstvalue.c: (gst_type_is_fixed),
27639         (gst_value_list_prepend_value), (gst_value_list_append_value),
27640         (gst_value_list_get_size), (gst_value_list_get_value),
27641         (gst_value_transform_array_string), (gst_value_serialize_array),
27642         (gst_value_deserialize_array), (gst_value_intersect_array),
27643         (gst_value_is_fixed), (_gst_value_initialize):
27644         * gst/gstvalue.h:
27645           GstElement::new-pad -> pad-added, GstElement::state-change ->
27646           state-changed, GstValueFixedList -> GstValueArray, add format and
27647           flags as their own arguments in gst_element_seek() (should improve
27648           "bindeability"), remove function generators since they don't work
27649           under a whole bunch of compilers (they were deprecated already
27650           anyway).
27651
27652 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27653
27654         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27655         (_gst_debug_register_funcptr):
27656         * gst/gstinfo.h:
27657           Fix illegal cast on some platforms (#309253).
27658
27659 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27660
27661         * gst/gstmessage.c: (gst_message_new_custom):
27662         * gst/gstmessage.h:
27663           Add _new_custom, make _new_application a macro to _new_custom.
27664
27665 2005-07-20  Wim Taymans  <wim@fluendo.com>
27666
27667         * gst/base/gstbasesrc.c: (gst_base_src_init),
27668         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27669         * gst/base/gstbasesrc.h:
27670         Add a gboolean to decide when to push out a discont.
27671
27672         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27673         (gst_queue_loop), (gst_queue_handle_src_query),
27674         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27675         (gst_queue_set_property), (gst_queue_get_property):
27676         Some cleanups.
27677
27678         * tests/threadstate/threadstate1.c: (main):
27679         Make a thread test compile and run... very silly..
27680
27681
27682 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27683
27684         * docs/manual/appendix-porting.xml:
27685           Mention removal of libgstgconf-0.9.la and existence of gconf
27686           elements.
27687
27688 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27689
27690         * docs/pwg/advanced-clock.xml:
27691         * docs/pwg/appendix-porting.xml:
27692         * docs/pwg/intro-preface.xml:
27693         * docs/pwg/other-base.xml:
27694         * docs/pwg/other-manager.xml:
27695         * docs/pwg/other-nton.xml:
27696         * docs/pwg/other-ntoone.xml:
27697         * docs/pwg/other-oneton.xml:
27698         * docs/pwg/pwg.xml:
27699           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27700           demuxer), remove n-to-n (was never written), fix some code examples
27701           and links and update the porting section to include all this.
27702
27703 2005-07-19  Wim Taymans  <wim@fluendo.com>
27704
27705         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27706         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27707         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27708         (gst_queue_src_activate_push), (gst_queue_change_state),
27709         (gst_queue_get_property):
27710         * gst/gstqueue.h:
27711         Propagate GstFlowReturn more intelligently upstream and output
27712         an ERROR/EOS when streaming stopped due to fatal error.
27713
27714 2005-07-19  Wim Taymans  <wim@fluendo.com>
27715
27716         * tools/gst-launch.c: (check_intr), (event_loop), (main):
27717         Don't block forever for the state change to complete, the
27718         pipeline already did with a sensible timeout.
27719
27720 2005-07-19  Wim Taymans  <wim@fluendo.com>
27721
27722         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27723         Make sure we never call the create function is we
27724         got deactivated.
27725
27726 2005-07-19  Andy Wingo  <wingo@pobox.com>
27727
27728         * gst/parse/parse.l: Attempt to solve bug #172815.
27729
27730 2005-07-19  Wim Taymans  <wim@fluendo.com>
27731
27732         * docs/design/part-clocks.txt:
27733         * docs/design/part-events.txt:
27734         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27735         Small docs updates.
27736         Only update the seeking values when we are not
27737         busy streaming.
27738
27739 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27740
27741         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27742           Oops, ignore the result of gst_pad_push_event here.
27743
27744 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27745
27746         * gst/base/gstbasesrc.c: (gst_base_src_loop),
27747         (gst_base_src_activate_push):
27748           Send discont event from the loop function, as pads
27749           aren't activated yet in the activate_push handler.
27750
27751         * gst/gstbin.c: (bin_bus_handler):
27752           Don't leak element name.
27753
27754 2005-07-18  Andy Wingo  <wingo@pobox.com>
27755
27756         * configure.ac: Use AS_LIBTOOL_TAGS.
27757
27758 2005-07-18  Wim Taymans  <wim@fluendo.com>
27759
27760         * docs/gst/gstreamer.types:
27761         Remove deleted types.
27762
27763 2005-07-18  Wim Taymans  <wim@fluendo.com>
27764
27765         * check/elements/gstfakesrc.c: (GST_START_TEST):
27766         * configure.ac:
27767         * gst/Makefile.am:
27768         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27769         (init_popt_callback):
27770         * gst/gst.h:
27771         * gst/gst_private.h:
27772         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27773         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27774         * gst/gstbin.h:
27775         * gst/gstbus.h:
27776         * gst/gstconfig.h.in:
27777         * gst/gstelement.c: (gst_element_class_init),
27778         (gst_element_set_base_time), (gst_element_get_base_time),
27779         (iterator_fold_with_resync), (gst_element_change_state),
27780         (gst_element_dispose), (gst_element_get_bus):
27781         * gst/gstelement.h:
27782         * gst/gstelementfactory.h:
27783         * gst/gsterror.c: (_gst_core_errors_init):
27784         * gst/gsterror.h:
27785         * gst/gstevent.h:
27786         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27787         * gst/gstindex.c:
27788         * gst/gstinfo.c: (_gst_debug_init):
27789         * gst/gstmessage.c: (_gst_message_copy):
27790         * gst/gstmessage.h:
27791         * gst/gstminiobject.h:
27792         * gst/gstobject.c:
27793         * gst/gstobject.h:
27794         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27795         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
27796         * gst/gstpad.h:
27797         * gst/gstparse.h:
27798         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27799         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27800         (gst_pipeline_get_last_stream_time):
27801         * gst/gstpipeline.h:
27802         * gst/gstpluginfeature.h:
27803         * gst/gstquery.h:
27804         * gst/gstscheduler.c:
27805         * gst/gstscheduler.h:
27806         * gst/gststructure.h:
27807         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27808         (gst_task_finalize), (gst_task_func), (gst_task_create),
27809         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
27810         (gst_task_stop), (gst_task_pause):
27811         * gst/gsttask.h:
27812         * gst/gsttypefind.h:
27813         * gst/gsttypes.h:
27814         * gst/registries/gstlibxmlregistry.c: (load_feature),
27815         (gst_xml_registry_load), (gst_xml_registry_save_feature):
27816         * gst/registries/gstxmlregistry.c:
27817         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
27818         * gst/schedulers/threadscheduler.c:
27819         * libs/gst/control/dparammanager.h:
27820         * tools/gst-inspect.c: (print_element_list),
27821         (print_plugin_features), (print_element_features):
27822         * tools/gst-xmlinspect.c: (print_element_list),
27823         (print_plugin_info), (main):
27824         Removed plugable schedulers.
27825         Removed Scheduler/Manager from elements.
27826         Removed gsttypes.h, rearranged includes.
27827         Removed dependency pad<->element, element<>pipeline, and
27828         various others,  fix includes.
27829         implement gst_pad_get_parent() with gst_object_get_parent()
27830         Make GstTask sefcontained.
27831         Fix _get_state() on GstBin, it did not return ASYNC with a 0
27832         timeout.
27833         Fix endless loop in iterator_fold_with_resync.
27834
27835
27836 2005-07-18  Wim Taymans  <wim@fluendo.com>
27837
27838         * gst/Makefile.am:
27839         * gst/gstarch.h:
27840         Remove old file.
27841
27842 2005-07-18  Wim Taymans  <wim@fluendo.com>
27843
27844         * gst/Makefile.am:
27845         No more cothreads.h
27846
27847 2005-07-18  Wim Taymans  <wim@fluendo.com>
27848
27849         * gst/cothreads.c:
27850         * gst/cothreads.h:
27851         Let's remove these.
27852
27853 2005-07-18  Wim Taymans  <wim@fluendo.com>
27854
27855         * docs/design/part-dynamic.txt:
27856         * docs/design/part-events.txt:
27857         * docs/design/part-seeking.txt:
27858         Some more docs in the works.
27859
27860         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27861         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
27862         (gst_base_transform_setcaps), (gst_base_transform_get_size),
27863         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
27864         (gst_base_transform_handle_buffer),
27865         (gst_base_transform_sink_activate_push),
27866         (gst_base_transform_src_activate_pull),
27867         (gst_base_transform_set_passthrough),
27868         (gst_base_transform_is_passthrough):
27869         Refcounting fixes.
27870
27871         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
27872         Cleanups.
27873
27874         * gst/gstevent.c: (gst_event_finalize):
27875         Set SRC to NULL.
27876
27877         * gst/gstutils.c: (gst_element_unlink),
27878         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
27879         (gst_pad_proxy_setcaps):
27880         * gst/gstutils.h:
27881         Add _get_parent_element() to get a pads parent as an element.
27882
27883 2005-07-18  Wim Taymans  <wim@fluendo.com>
27884
27885         * check/gst/gstbin.c: (GST_START_TEST):
27886         Remove bogus test.
27887
27888 2005-07-18  Wim Taymans  <wim@fluendo.com>
27889
27890         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27891         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27892         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27893         (gst_base_sink_event), (gst_base_sink_do_sync),
27894         (gst_base_sink_chain), (gst_base_sink_loop),
27895         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
27896         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
27897         Refcounting fixes.
27898         Fix logic for returning ASYNC when not prerolled.
27899
27900 2005-07-18  Wim Taymans  <wim@fluendo.com>
27901
27902         * gst/gstqueue.c: (gst_queue_handle_sink_event):
27903         Fix nasty refcount bug.
27904
27905 2005-07-16 Philippe Khalaf <burger@speedy.org>
27906
27907         * gst/elements/gstfdsrc.c:
27908         * gst/elements/gstfdsrc.h:
27909         * gst/elements/gstelements.c:
27910         * gst/elements/Makefile.am:
27911         Ported fdsrc to 0.9.
27912
27913 2005-07-16  Wim Taymans  <wim@fluendo.com>
27914
27915         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27916         (gst_base_sink_do_sync):
27917         Fix compile error.
27918
27919 2005-07-16  Wim Taymans  <wim@fluendo.com>
27920
27921         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27922         (gst_base_sink_event), (gst_base_sink_get_times),
27923         (gst_base_sink_do_sync), (gst_base_sink_change_state):
27924         * gst/base/gstbasesink.h:
27925         Store and use discont values when syncing buffers as described
27926         in design docs.
27927         
27928         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27929         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
27930         (gst_base_src_activate_push):
27931         Push discont event when starting.
27932
27933         * gst/elements/gstidentity.c: (gst_identity_transform):
27934         Small cleanups.
27935
27936         * gst/gstbin.c: (gst_bin_change_state):
27937         Small cleanups in base_time  distribution.
27938
27939         * gst/gstelement.c: (gst_element_set_base_time),
27940         (gst_element_get_base_time), (gst_element_change_state):
27941         * gst/gstelement.h:
27942         Added methods for the base_time of the element.
27943         Some MT fixes.
27944
27945         * gst/gstpipeline.c: (gst_pipeline_send_event),
27946         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27947         (gst_pipeline_get_last_stream_time):
27948         * gst/gstpipeline.h:
27949         MT fixes.
27950         Handle seeking as described in design doc, remove stream_time
27951         hack.
27952         Cleanups clock and stream_time selection code. Added accessors
27953         for the stream_time.
27954         
27955
27956 2005-07-16  Andy Wingo  <wingo@pobox.com>
27957
27958         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
27959         (#305291).
27960
27961 2005-07-16  Wim Taymans  <wim@fluendo.com>
27962
27963         * check/gst/gstbin.c: (GST_START_TEST):
27964         Make elements silent as the deep_notify refs the
27965         parent, which might make the test fail.
27966
27967         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27968         Don't hold the lock for too long.
27969
27970 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
27971
27972         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
27973           Don't unref the caps we passed to gst_caps_make_writable() after
27974           passing them. gst_caps_make_writable() will do that for us.
27975
27976 2005-07-15  Andy Wingo  <wingo@pobox.com>
27977
27978         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
27979         (#157311).
27980
27981         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
27982         own marshalling function for the handoff signal. Properly type the
27983         buffer as a buffer. Fixes some warnings. Should do a more general
27984         solution.
27985         (gst_identity_class_init): Plug into the right marshaller.
27986
27987 2005-07-15  Wim Taymans  <wim@fluendo.com>
27988
27989         * docs/design/part-TODO.txt:
27990         * docs/design/part-clocks.txt:
27991         * docs/design/part-element-sink.txt:
27992         * docs/design/part-events.txt:
27993         * docs/design/part-gstpipeline.txt:
27994         Updated docs, mostly DISCONT related.
27995
27996 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
27997
27998         * docs/pwg/building-pads.xml:
27999           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
28000
28001 2005-07-15  Andy Wingo  <wingo@pobox.com>
28002
28003         * tools/gst-typefind.c: Update, add copyright block.
28004
28005         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
28006         Normalize and truncate caps before fixation.
28007
28008         * gst/gstcaps.h:
28009         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
28010         discards all but the first structure from its argument.
28011
28012 2005-07-15  Wim Taymans  <wim@fluendo.com>
28013
28014         * gst/base/gstbasetransform.c: (gst_base_transform_init),
28015         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
28016         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
28017         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
28018         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
28019         (gst_base_transform_chain), (gst_base_transform_change_state),
28020         (gst_base_transform_set_passthrough),
28021         (gst_base_transform_is_passthrough):
28022         * gst/base/gstbasetransform.h:
28023         Make passthrough work using the bufferpools.
28024         Changed API a bit, subclasses have to write into a buffer
28025         provided by the base class.
28026         More debug info in nego functions.
28027         
28028         * gst/elements/gstidentity.c: (gst_identity_init),
28029         (gst_identity_transform):
28030         Port to new base class.
28031
28032 2005-07-15  Wim Taymans  <wim@fluendo.com>
28033
28034         * gst/gstmessage.c: (gst_message_new_state_changed):
28035         * tools/gst-launch.c: (event_loop), (main):
28036         Totally dump messages in -launch with the -m option.
28037         Fix message name for State messages,
28038
28039 2005-07-14  Wim Taymans  <wim@fluendo.com>
28040
28041         * gst/base/gstbasesrc.c: (gst_base_src_loop):
28042         Post error messages on errors.
28043
28044 2005-07-14  Wim Taymans  <wim@fluendo.com>
28045
28046         * gst/gstcaps.c: (gst_caps_do_simplify):
28047         Remove debug info.
28048
28049         * gst/gsterror.h:
28050         Define error for stream stopped.
28051
28052         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28053         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
28054         Do proper return values.
28055
28056         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
28057         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
28058         (gst_pad_get_range):
28059         Better return values.
28060
28061         * gst/gstpad.h:
28062         Reorganise return values, add macro to check for fatal errors.
28063
28064         * gst/gstqueue.c: (gst_queue_chain):
28065         Return proper GstFlowReturn values,
28066
28067 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
28068
28069         * docs/gst/gstreamer-sections.txt:
28070         * docs/gst/gstreamer.types:
28071         * docs/gst/tmpl/gst.sgml:
28072         * docs/gst/tmpl/gstbasesink.sgml:
28073         * docs/gst/tmpl/gstbasesrc.sgml:
28074         * docs/gst/tmpl/gstbasetransform.sgml:
28075         * docs/gst/tmpl/gstbin.sgml:
28076         * docs/gst/tmpl/gstbuffer.sgml:
28077         * docs/gst/tmpl/gstcaps.sgml:
28078         * docs/gst/tmpl/gstclock.sgml:
28079         * docs/gst/tmpl/gstcompat.sgml:
28080         * docs/gst/tmpl/gstconfig.sgml:
28081         * docs/gst/tmpl/gstelement.sgml:
28082         * docs/gst/tmpl/gstelementdetails.sgml:
28083         * docs/gst/tmpl/gstelementfactory.sgml:
28084         * docs/gst/tmpl/gstenumtypes.sgml:
28085         * docs/gst/tmpl/gsterror.sgml:
28086         * docs/gst/tmpl/gstevent.sgml:
28087         * docs/gst/tmpl/gstfakesink.sgml:
28088         * docs/gst/tmpl/gstfakesrc.sgml:
28089         * docs/gst/tmpl/gstfilesink.sgml:
28090         * docs/gst/tmpl/gstfilesrc.sgml:
28091         * docs/gst/tmpl/gstfilter.sgml:
28092         * docs/gst/tmpl/gstformat.sgml:
28093         * docs/gst/tmpl/gstghostpad.sgml:
28094         * docs/gst/tmpl/gstimplementsinterface.sgml:
28095         * docs/gst/tmpl/gstindex.sgml:
28096         * docs/gst/tmpl/gstindexfactory.sgml:
28097         * docs/gst/tmpl/gstinfo.sgml:
28098         * docs/gst/tmpl/gstiterator.sgml:
28099         * docs/gst/tmpl/gstmacros.sgml:
28100         * docs/gst/tmpl/gstmemchunk.sgml:
28101         * docs/gst/tmpl/gstminiobject.sgml:
28102         * docs/gst/tmpl/gstobject.sgml:
28103         * docs/gst/tmpl/gstpad.sgml:
28104         * docs/gst/tmpl/gstpadtemplate.sgml:
28105         * docs/gst/tmpl/gstparse.sgml:
28106         * docs/gst/tmpl/gstpipeline.sgml:
28107         * docs/gst/tmpl/gstplugin.sgml:
28108         * docs/gst/tmpl/gstpluginfeature.sgml:
28109         * docs/gst/tmpl/gstquery.sgml:
28110         * docs/gst/tmpl/gstqueue.sgml:
28111         * docs/gst/tmpl/gstregistry.sgml:
28112         * docs/gst/tmpl/gstregistrypool.sgml:
28113         * docs/gst/tmpl/gstscheduler.sgml:
28114         * docs/gst/tmpl/gstschedulerfactory.sgml:
28115         * docs/gst/tmpl/gststructure.sgml:
28116         * docs/gst/tmpl/gstsystemclock.sgml:
28117         * docs/gst/tmpl/gsttaglist.sgml:
28118         * docs/gst/tmpl/gsttagsetter.sgml:
28119         * docs/gst/tmpl/gsttrace.sgml:
28120         * docs/gst/tmpl/gsttrashstack.sgml:
28121         * docs/gst/tmpl/gsttypefind.sgml:
28122         * docs/gst/tmpl/gsttypefindfactory.sgml:
28123         * docs/gst/tmpl/gsttypes.sgml:
28124         * docs/gst/tmpl/gsturihandler.sgml:
28125         * docs/gst/tmpl/gsturitype.sgml:
28126         * docs/gst/tmpl/gstutils.sgml:
28127         * docs/gst/tmpl/gstvalue.sgml:
28128         * docs/gst/tmpl/gstversion.sgml:
28129         * docs/gst/tmpl/gstxml.sgml:
28130         * docs/libs/tmpl/gstcontrol.sgml:
28131         * docs/libs/tmpl/gstdataprotocol.sgml:
28132         * docs/libs/tmpl/gstdparam.sgml:
28133         * docs/libs/tmpl/gstdplinint.sgml:
28134         * docs/libs/tmpl/gstdpman.sgml:
28135         * docs/libs/tmpl/gstdpsmooth.sgml:
28136         * docs/libs/tmpl/gstgetbits.sgml:
28137         * docs/libs/tmpl/gstunitconvert.sgml:
28138         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
28139         (gst_push_src_base_init), (gst_push_src_class_init),
28140         (gst_push_src_init), (gst_push_src_create):
28141         * gst/base/gstpushsrc.h:
28142         * gst/elements/gstelements.c:
28143         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
28144         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
28145         (gst_fake_sink_init), (gst_fake_sink_set_property),
28146         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
28147         (gst_fake_sink_event), (gst_fake_sink_preroll),
28148         (gst_fake_sink_render), (gst_fake_sink_change_state):
28149         * gst/elements/gstfakesink.h:
28150         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
28151         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
28152         (gst_fake_src_base_init), (gst_fake_src_class_init),
28153         (gst_fake_src_init), (gst_fake_src_event_handler),
28154         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
28155         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
28156         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
28157         (gst_fake_src_create_buffer), (gst_fake_src_create),
28158         (gst_fake_src_start), (gst_fake_src_stop):
28159         * gst/elements/gstfakesrc.h:
28160         * gst/elements/gstfilesink.c: (_do_init),
28161         (gst_file_sink_base_init), (gst_file_sink_class_init),
28162         (gst_file_sink_init), (gst_file_sink_dispose),
28163         (gst_file_sink_set_location), (gst_file_sink_set_property),
28164         (gst_file_sink_get_property), (gst_file_sink_open_file),
28165         (gst_file_sink_close_file), (gst_file_sink_query),
28166         (gst_file_sink_event), (gst_file_sink_render),
28167         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
28168         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
28169         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
28170         * gst/elements/gstfilesink.h:
28171         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
28172         (gst_file_src_class_init), (gst_file_src_init),
28173         (gst_file_src_finalize), (gst_file_src_set_location),
28174         (gst_file_src_set_property), (gst_file_src_get_property),
28175         (gst_file_src_map_region), (gst_file_src_map_small_region),
28176         (gst_file_src_create_mmap), (gst_file_src_create_read),
28177         (gst_file_src_create), (gst_file_src_is_seekable),
28178         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
28179         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
28180         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
28181         (gst_file_src_uri_handler_init):
28182         * gst/elements/gstfilesrc.h:
28183           more autistic cleanliness in functions/names/defines
28184
28185 2005-07-13  Andy Wingo  <wingo@pobox.com>
28186
28187         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
28188         source couldn't negotiate.
28189
28190         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
28191         connections again.
28192
28193         * gst/gstutils.h:
28194         * gst/gstutils.c (gst_element_link_pads_filtered): New old
28195         function. I am channeling Hades. Put your boots on suckers!!!
28196
28197 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
28198
28199         * testsuite/caps/Makefile.am:
28200         * testsuite/caps/value_compare.c:
28201         * testsuite/caps/value_intersect.c:
28202         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
28203           move two testsuite apps over to the check dir
28204
28205 2005-07-12  Wim Taymans  <wim@fluendo.com>
28206
28207         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
28208         Added more debug info in the negotiate process.
28209
28210         * gst/gstmessage.h:
28211         Prepare for segment playback.
28212
28213         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
28214         Better debugging.
28215
28216         * gst/gstutils.c:
28217         Some more docs.
28218
28219         * tools/gst-launch.c: (main):
28220         NULL pipeline on errors.
28221
28222 2005-07-12  Andy Wingo  <wingo@pobox.com>
28223
28224         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
28225         not it comes from a malloc region. Make sure our copy gets freed.
28226
28227 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28228
28229         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
28230         * check/gst/gstmessage.c: (GST_START_TEST):
28231         * check/gst/gststructure.c: (GST_START_TEST),
28232         (gst_structure_suite), (main):
28233           more testing
28234         * gst/gstelement.c: (gst_element_message_full):
28235           clean up GError and debug string now that they get copied
28236         * gst/gstmessage.c: (gst_message_new_error),
28237         (gst_message_new_warning), (gst_message_parse_error),
28238         (gst_message_parse_warning):
28239           use GST_TYPE_G_ERROR for structure_new, and take copies of
28240           arguments, so that we don't mess up refcounting
28241
28242 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28243
28244         * check/Makefile.am:
28245           add per-test valgrind targets
28246         * check/gst-libs/gdp.c: (GST_START_TEST),
28247         (gst_data_protocol_suite), (main):
28248           clean up
28249
28250 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28251
28252         * check/Makefile.am:
28253           instate more valgrindable tests
28254         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28255         (GST_START_TEST), (fakesrc_suite):
28256         * check/gst/gstpad.c: (GST_START_TEST):
28257         * check/gst/gststructure.c: (GST_START_TEST):
28258           fix test leaks
28259         * docs/gst/tmpl/gstminiobject.sgml:
28260         * gst/gstpad.c: (gst_pad_finalize):
28261           fix the static mutex leak
28262
28263 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28264
28265         * check/Makefile.am:
28266           add two more tests for valgrinding
28267         * check/gst/gstvalue.c: (GST_START_TEST):
28268           test refcount of deserialized buffer, found a leak
28269         * docs/gst/gstreamer-docs.sgml:
28270         * docs/gst/gstreamer-sections.txt:
28271         * docs/gst/gstreamer.types:
28272         * docs/gst/tmpl/gstminiobject.sgml:
28273           add miniobject to docs
28274         * gst/gstminiobject.c:
28275           add some docs
28276         * gst/gstvalue.c: (gst_value_deserialize_buffer),
28277         (gst_string_unwrap):
28278           fix a hard-to-find invalid write for one of the tests
28279           fix a leak for deserialized buffers
28280
28281 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28282
28283         * docs/pwg/advanced-events.xml:
28284         * docs/pwg/advanced-request.xml:
28285         * docs/pwg/advanced-scheduling.xml:
28286         * docs/pwg/appendix-porting.xml:
28287         * docs/pwg/building-boiler.xml:
28288         * docs/pwg/intro-preface.xml:
28289         * docs/pwg/other-ntoone.xml:
28290           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28291           of example code and explanation for pad activation, loop() and
28292           getrange() functions and a bit more. Remove old comments pointing
28293           to loop-functions.
28294         * examples/pwg/Makefile.am:
28295           Add loop/getrange examples.
28296
28297 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28298
28299         * configure.ac:
28300           check for valgrind binary + some fixes
28301         * check/gst.supp:
28302           valgrind suppressions for the tests
28303         * check/Makefile.am:
28304           add a valgrind: target that valgrinds the unit tests
28305         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28306         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28307         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28308         * check/gst/gstghostpad.c:
28309           added some cleanup
28310         * check/gst/gstdata.c:
28311           removed
28312         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28313         (thread_unref), (gst_mini_object_suite), (main):
28314           added
28315         * gst/gst.c: (gst_deinit):
28316         * gst/gst.h:
28317           add a method to clean up.
28318         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28319         (gst_system_clock_obtain):
28320           allow for disposing the system clock.
28321         * tools/gst-launch.c: (main):
28322           deinit
28323
28324 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28325
28326         * docs/gst/tmpl/gstbasesrc.sgml:
28327         * docs/gst/tmpl/gstfakesrc.sgml:
28328         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28329         (gst_base_src_init), (gst_base_src_set_property),
28330         (gst_base_src_get_property), (gst_base_src_get_range),
28331         (gst_base_src_start):
28332         * gst/base/gstbasesrc.h:
28333           add num-buffers property
28334         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28335         (gst_fakesrc_init), (gst_fakesrc_set_property),
28336         (gst_fakesrc_get_property), (gst_fakesrc_create),
28337         (gst_fakesrc_start):
28338           remove num-buffers property
28339
28340 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28341
28342         * docs/gst/gstreamer-sections.txt:
28343         * docs/gst/tmpl/gstbasesink.sgml:
28344         * docs/gst/tmpl/gstbasesrc.sgml:
28345         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28346         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28347         (gst_base_sink_finalize), (gst_base_sink_set_clock),
28348         (gst_base_sink_set_property), (gst_base_sink_get_property),
28349         (gst_base_sink_handle_object), (gst_base_sink_event),
28350         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28351         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28352         (gst_base_sink_loop), (gst_base_sink_deactivate),
28353         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28354         (gst_base_sink_change_state):
28355         * gst/base/gstbasesink.h:
28356         * gst/base/gstbasesrc.h:
28357         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28358         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28359         (gst_filesink_init):
28360           more macro splitting
28361
28362 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28363
28364         * gst/gstelement.c: (gst_element_get_bus):
28365           add debug
28366         * tools/gst-launch.c: (check_intr), (event_loop):
28367           fix bus leaks
28368
28369 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28370
28371         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28372           fix a caps leak
28373
28374 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28375
28376         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28377         (gst_base_src_finalize):
28378           add finalize method and clean up properly
28379         * gst/gstpipeline.c: (gst_pipeline_dispose):
28380           add debug
28381
28382 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28383
28384         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28385         (gst_bin_suite):
28386           add more things to check
28387         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28388         * gst/gstelement.c:
28389           more debug
28390
28391 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28392
28393         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28394         (GST_START_TEST), (fakesrc_suite):
28395         * check/gst-libs/gdp.c: (GST_START_TEST):
28396         * check/gst/gst.c: (GST_START_TEST):
28397         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28398         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28399         * check/gst/gstbus.c: (GST_START_TEST):
28400         * check/gst/gstcaps.c: (GST_START_TEST):
28401         * check/gst/gstdata.c: (GST_START_TEST):
28402         * check/gst/gstelement.c: (GST_START_TEST):
28403         * check/gst/gstghostpad.c: (GST_START_TEST):
28404         * check/gst/gstiterator.c: (GST_START_TEST):
28405         * check/gst/gstmessage.c: (GST_START_TEST):
28406         * check/gst/gstobject.c: (GST_START_TEST):
28407         * check/gst/gstpad.c: (GST_START_TEST):
28408         * check/gst/gststructure.c: (GST_START_TEST):
28409         * check/gst/gstsystemclock.c: (GST_START_TEST),
28410         (gst_systemclock_suite):
28411         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28412         * check/gst/gstvalue.c: (GST_START_TEST):
28413         * check/pipelines/cleanup.c: (GST_START_TEST):
28414         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28415         * check/states/sinks.c: (GST_START_TEST):
28416         * check/gstcheck.c: (gst_check_init):
28417         * check/gstcheck.h:
28418           add debugging category
28419           use GST_START_TEST now, so we add a debug line
28420
28421 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28422
28423         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28424           add test for state change message on a bin
28425         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28426           add another test
28427         * gst/gstbin.c: (gst_bin_init):
28428         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28429         * gst/gstelement.c: (gst_element_post_message),
28430         (gst_element_set_state):
28431         * gst/gstelementfactory.c: (gst_element_factory_create):
28432         * gst/gstmessage.c: (gst_message_new):
28433         * gst/gstscheduler.c:
28434           various debugging additions and cleanups
28435
28436 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28437
28438         * check/Makefile.am:
28439         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28440         (main):
28441           adding tests for elements
28442         * gst/gstelement.c: (gst_element_dispose):
28443
28444 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28445
28446         * gst/registries/gstlibxmlregistry.c: (load_feature):
28447           plug more leaks.  A simple gst_init() now is leakfree, yay.
28448
28449 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28450
28451         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28452         (gst_xml_registry_load):
28453           plug another memleak
28454
28455 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28456
28457         * configure.ac:
28458           use GST_SET_ERROR_CFLAGS
28459         * docs/faq/cvs.xml:
28460           change to ERROR_CFLAGS
28461
28462 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28463
28464         * configure.ac:
28465           make GST_ERROR_CFLAGS overridable and re-enable Werror
28466         * docs/faq/cvs.xml:
28467           add a note about error CFLAGS
28468         * docs/gst/tmpl/gstfakesrc.sgml:
28469         * gst/elements/gstfakesrc.c:
28470           comment out some unused code
28471         * gst/gst.c: (split_and_iterate):
28472         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28473         (load_feature):
28474           plug some memleaks
28475
28476 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28477
28478         * common/Makefile.am:
28479         * common/gtk-doc.mak:
28480         * docs/gst/Makefile.am:
28481           factor out gtk-doc.mak
28482
28483 2005-07-07  Wim Taymans  <wim@fluendo.com>
28484
28485         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28486         (gst_thread_scheduler_dispose):
28487         Unlock the STREAM_LOCK completely.
28488
28489 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28490
28491         * check/Makefile.am:
28492         * check/elements/.cvsignore:
28493         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28494         (START_TEST), (fakesrc_suite), (main):
28495         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28496         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28497         (gst_fakesrc_create), (gst_fakesrc_start):
28498         * gst/elements/gstfakesrc.h:
28499           adding a first element test
28500
28501 2005-07-07  Andy Wingo  <wingo@pobox.com>
28502
28503         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28504         debug message.
28505
28506 2005-07-07  Wim Taymans  <wim@fluendo.com>
28507
28508         * gst/gstquery.c:
28509         * gst/gstquery.h:
28510         Remove old types
28511
28512 2005-07-07  Wim Taymans  <wim@fluendo.com>
28513
28514         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28515         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28516         Allow subclasses to implement their own negotiation.
28517
28518 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28519
28520         * docs/design/part-gstbin.txt:
28521         * docs/design/part-gstpipeline.txt:
28522           Update design notes to reflect the movement of
28523           responsibility for bus handling from GstPipeline to
28524           GstBin
28525
28526 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28527
28528         * configure.ac:
28529           Remove unnecessary queue2/3/4 examples.
28530
28531 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28532
28533         * examples/Makefile.am:
28534         * examples/helloworld/helloworld.c: (event_loop), (main):
28535         * examples/queue/queue.c: (event_loop), (main):
28536         * examples/queue2/queue2.c: (main):
28537           Update a couple of the examples to work again.
28538
28539         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28540         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28541          Spelling corrections and extra debug.
28542         
28543         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28544         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28545         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28546         * gst/gstbin.h:
28547         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28548         (gst_pipeline_change_state):
28549         * gst/gstpipeline.h:
28550           Move the bus handler for children to the GstBin, and create a
28551           separate bus for receiving messages from children to the one the
28552           bus sends 'upwards' on.
28553
28554 2005-07-06  Wim Taymans  <wim@fluendo.com>
28555
28556         * gst/base/README:
28557         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28558         (gst_base_sink_handle_object), (gst_base_sink_loop),
28559         (gst_base_sink_change_state):
28560         * gst/base/gstbasesink.h:
28561         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28562         (gst_base_src_init), (gst_base_src_setcaps),
28563         (gst_base_src_getcaps), (gst_base_src_loop),
28564         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28565         (gst_base_src_start), (gst_base_src_change_state):
28566         * gst/base/gstbasesrc.h:
28567         Make basesrc negotiate.
28568         Handle the case where preroll fails in basesink.
28569         Update README.
28570
28571 2005-07-06  Wim Taymans  <wim@fluendo.com>
28572
28573         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28574         Implement the fixate function.
28575         Clean up acceptcaps.
28576
28577 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28578
28579         * docs/pwg/building-filterfactory.xml:
28580         * docs/pwg/pwg.xml:
28581           Remove never-written filter-factory chapter; I'll add the various
28582           base classes to part 4 ("other element types") later on.
28583
28584 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28585
28586         * docs/pwg/advanced-negotiation.xml:
28587         * docs/pwg/building-boiler.xml:
28588         * docs/pwg/building-pads.xml:
28589         * docs/pwg/pwg.xml:
28590         * examples/pwg/Makefile.am:
28591           Add a chapter on caps negotiation, simplify the original code
28592           samples a bit w.r.t. caps negotiation, add link to the advanced
28593           section. Add a bunch of examples showing different use cases of
28594           different types of caps negotiation. Upstream renegotiation isn't
28595           fully documented yet since nobody knows how that works.
28596
28597 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
28598
28599         * check/gst/gstpad.c:
28600         * check/gstcheck.c:
28601         * gst/gstpad.c: (gst_pad_get_internal_links_default):
28602           if pad has no parent, return NULL as list of internal links
28603
28604 2005-07-05  Andy Wingo  <wingo@pobox.com>
28605
28606         * gst/elements/gstfilesrc.c:
28607         * gst/elements/gstfakesrc.c: 
28608         * gst/base/gstpushsrc.c:
28609         * gst/base/gstbasesrc.h: 
28610         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28611         
28612 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
28613
28614         * Makefile.am:
28615           better report generation target (lcov needs a patch)
28616
28617 2005-07-05  Andy Wingo  <wingo@pobox.com>
28618
28619         * gst/elements, testsuite: Null if we got it...
28620
28621 2005-07-05  Wim Taymans  <wim@fluendo.com>
28622
28623         * configure.ac:
28624         * libs/gst/dataprotocol/Makefile.am:
28625         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28626         * libs/gst/dataprotocol/dataprotocol.h:
28627         * pkgconfig/Makefile.am:
28628         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28629         * pkgconfig/gstreamer-dataprotocol.pc.in:
28630         Ported dataprotol to 0.9. 
28631         Added pkgconfig files.
28632
28633 2005-07-05  Andy Wingo  <wingo@pobox.com>
28634
28635         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28636         Default to returning TRUE for the case when tranform_caps returns
28637         a fixed caps, like for identity or volume.
28638
28639         * check/gst/gstbus.c (pound_bus_with_messages): 
28640         * check/gst/gstmessage.c (START_TEST): 
28641         * check/pipelines/simple_launch_lines.c (got_handoff): Application
28642         message API change.
28643
28644         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28645         logic weaks here: always run transform_caps, trying passthrough
28646         operation only if the original caps intersects with the transform.
28647
28648         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28649         source and sink caps.
28650
28651         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28652         Intersect the peer caps with the pad template before going into
28653         transform_caps.
28654         (gst_base_transform_transform_caps): More debugging.
28655
28656         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28657         src argument.
28658
28659 2005-07-04  Edward Hervey  <edward@fluendo.com>
28660
28661         * gst/gstutils.c:
28662         * gst/gstutils.h:
28663         (gst_pad_add_*_probe): now returns the signal id for better wrapping
28664         in bindings.
28665
28666 2005-07-04  Andy Wingo  <wingo@pobox.com>
28667
28668         * check/gst/gstpad.c: Only set explicit caps on pads.
28669
28670 2005-07-01  Andy Wingo  <wingo@pobox.com>
28671
28672         * tests/network-clock.scm: Commentary update.
28673
28674         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28675         Didn't really make sense, not implementable with basetransform,
28676         etc.
28677         (gst_identity_transform): Unref inbuf via make_writable. Feeble
28678         attempt at implementing the sync property, needs an unlock method.
28679
28680         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28681         New func, by default returns the same caps (the identity
28682         transformation).
28683         (gst_base_transform_getcaps): Uses transform_caps to return
28684         something sensible.
28685         (gst_base_transform_setcaps): Complicated logic to get caps on
28686         both pads, even if they are different, and to call set_caps once
28687         for every time both pads get their caps set.
28688         (gst_base_transform_handle_buffer): Give the ref to the transform
28689         function. Allows in-place modification of the buffer.
28690
28691         * gst/base/gstbasetransform.h (transform_caps): New class method.
28692         Given caps on one side, what can I do on the other.
28693         (set_caps): Take two caps, one for each side of the element.
28694
28695         * gst/gstpad.h:
28696         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28697         caps in place. This is safe because we can check the mutability of
28698         the caps, and a good idea because fixate functions are just called
28699         as a matter of last resort. (Not actually implemented.)
28700         (gst_pad_set_caps): If the caps we're setting is actually the same
28701         as the existing pad caps, just update the pointer without calling
28702         setcaps. Assert that caps is either NULL or fixed, as per the
28703         docs.
28704
28705         * gst/gstghostpad.c: Update for fixate changes.
28706
28707 2005-07-02  Andy Wingo  <wingo@pobox.com>
28708
28709         * gst/gstcaps.c:
28710         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28711         two refcounts makes it immutable, which is enough. Doc more.
28712
28713 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
28714
28715         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28716           Put the mini_object into GValue as a mini_object,
28717           not a gpointer, since that's how we declared
28718           the signal.
28719
28720 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28721
28722         * examples/pwg/Makefile.am:
28723           Fix buildbot again.
28724
28725 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28726
28727         * docs/pwg/building-testapp.xml:
28728           Add extra check.
28729         * examples/pwg/Makefile.am:
28730           Fix buildbot.
28731
28732 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28733
28734         * configure.ac:
28735         * examples/Makefile.am:
28736         * examples/pwg/Makefile.am:
28737         * examples/pwg/extract.pl:
28738           Enable building the PWG examples.
28739         * docs/pwg/advanced-interfaces.xml:
28740           Add URI interface stub.
28741         * docs/pwg/advanced-types.xml:
28742         * docs/pwg/other-autoplugger.xml:
28743         * docs/pwg/appendix-porting.xml:
28744         * docs/pwg/pwg.xml:
28745           Add porting guide (mostly stubs), remove autoplugging (see ADM).
28746         * docs/pwg/building-boiler.xml:
28747         * docs/pwg/building-chainfn.xml:
28748         * docs/pwg/building-pads.xml:
28749         * docs/pwg/building-props.xml:
28750         * docs/pwg/building-state.xml:
28751         * docs/pwg/building-testapp.xml:
28752           Update the building-*.xml parts for 0.9 changes. All examples
28753           code blocks compile in examples/pwg/*.
28754
28755 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28756
28757         * docs/manual/advanced-autoplugging.xml:
28758         * docs/manual/appendix-checklist.xml:
28759         * docs/manual/appendix-integration.xml:
28760         * docs/manual/highlevel-components.xml:
28761           Fix playbin/decodebin examples, update docs a bit, mention bus
28762           instead of signals in various places, mention kmplayer and
28763           kaffeine since they have a working GStreamer backend in the KDE
28764           section.
28765
28766 2005-06-30  Wim Taymans  <wim@fluendo.com>
28767
28768         * CHANGES-0.9:
28769         * docs/design/draft-ghostpads.txt:
28770         * docs/design/draft-push-pull.txt:
28771         * docs/design/draft-query.txt:
28772         * docs/design/part-TODO.txt:
28773         * docs/design/part-query.txt:
28774         Added CHANGES-0.9 doc, updated status of other docs.
28775         
28776         * gst/gstquery.h:
28777         Remove "hmm" macro
28778
28779 2005-06-30  Wim Taymans  <wim@fluendo.com>
28780
28781         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28782         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28783         (gst_base_sink_change_state):
28784         * gst/base/gstbasesink.h:
28785         Some tweaks, only EOS and a buffer complete a preroll.
28786
28787 2005-06-30  Andy Wingo  <wingo@pobox.com>
28788
28789         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28790         activate_push down to the internal pad as well.
28791
28792 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
28793
28794         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28795
28796         * gst/gsttaginterface.c:
28797           Some documentation fixes (#307394 and #307397).
28798
28799 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
28800
28801         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28802
28803         * gst/gstvalue.c: (gst_value_intersect_list):
28804           Fix memleak (#309125).
28805
28806 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28807
28808         * docs/manual/advanced-dataaccess.xml:
28809           Fix fakesrc example to compile; doesn't work, bug somewhere...?
28810         * docs/manual/basics-pads.xml:
28811           Add reference for filtered caps to above chapter.
28812
28813 2005-06-30  Wim Taymans  <wim@fluendo.com>
28814
28815         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
28816         (gst_bin_change_state):
28817         Probes are gone.
28818         Lame attempt at making the state change function a bit
28819         more readable.
28820
28821 2005-06-30  Wim Taymans  <wim@fluendo.com>
28822
28823         * docs/design/part-clocks.txt:
28824         * docs/design/part-element-sink.txt:
28825         * docs/design/part-events.txt:
28826         * docs/design/part-preroll.txt:
28827         * docs/design/part-states.txt:
28828         Some more tweeks and additions to the docs.
28829
28830 2005-06-30  Wim Taymans  <wim@fluendo.com>
28831
28832         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28833         (default_have_data), (gst_pad_class_init), (gst_pad_init),
28834         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28835         (gst_pad_check_pull_range), (gst_pad_get_range),
28836         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
28837         * gst/gstpad.h:
28838         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
28839         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28840         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28841         (gst_pad_remove_buffer_probe):
28842         Removed atomic operations, use existing LOCK.
28843         Move exception handling out of main code path.
28844
28845 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28846
28847         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28848         (silly_return_true_function), (gst_pad_class_init),
28849         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28850         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
28851         (gst_pad_send_event):
28852           Fix accumulator, add default value by using _emitv() instead
28853           of _emit() for signal emission.
28854
28855 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28856
28857         * docs/manual/advanced-dataaccess.xml:
28858         * examples/manual/Makefile.am:
28859           Add probe example.
28860         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
28861           Make work (??).
28862
28863 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
28864
28865         * gst/elements/gstfilesink.c: (gst_filesink_render):
28866           Simplify code so that we don't have to handle short
28867           writes and return GST_FLOW_ERROR if an error occured.
28868
28869 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28870
28871         * docs/gst/gstreamer-docs.sgml:
28872           Remove probes more.
28873
28874 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28875
28876         * docs/gst/gstreamer-sections.txt:
28877         * docs/gst/tmpl/gstpad.sgml:
28878         * docs/gst/tmpl/gstprobe.sgml:
28879         * gst/Makefile.am:
28880         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28881         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
28882         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28883         (gst_pad_push_event), (gst_pad_send_event):
28884         * gst/gstpad.h:
28885         * gst/gstutils.c: (gst_pad_add_data_probe),
28886         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28887         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28888         (gst_pad_remove_buffer_probe):
28889         * gst/gstutils.h:
28890           Remove old probes, add new g-signal-based probes and some utility
28891           functions.
28892
28893 2005-06-29  Edward Hervey  <edward@fluendo.com>
28894
28895         * gst/gstelementfactory.c:
28896         * gst/gstutils.h:
28897         * gst/gstutils.c:
28898         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
28899         the definition to the header file.
28900
28901 2005-06-29  Andy Wingo  <wingo@pobox.com>
28902
28903         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
28904         plugins from the source directory.
28905
28906 2005-06-29  Wim Taymans  <wim@fluendo.com>
28907
28908         * docs/gst/tmpl/gstbuffer.sgml:
28909         * docs/gst/tmpl/gstclock.sgml:
28910         Some fixings for blantently wrong text.
28911
28912 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28913
28914         * check/Makefile.am:
28915         * gst/gst.c: (add_path_func), (init_pre):
28916         * gst/gstregistry.c: (gst_registry_add_path):
28917           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
28918           only scan the GST_PLUGIN_PATH locations, and not add
28919           system locations
28920
28921 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28922
28923         * docs/gst/gstreamer-sections.txt:
28924         * docs/gst/tmpl/gstbasesrc.sgml:
28925         * gst/gstelement.c:
28926         * gst/gstelement.h:
28927         * gst/gstevent.c:
28928         * gst/gstutils.c:
28929           doc fixes
28930
28931 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28932
28933         * docs/manual/advanced-autoplugging.xml:
28934           Fix autoplugging example.
28935
28936 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28937
28938         * docs/manual/advanced-autoplugging.xml:
28939         * docs/manual/mime-world.fig:
28940           Try to get autoplugging working, fix type detection. Fix text
28941           in hello-world image.
28942
28943 2005-06-29  Wim Taymans  <wim@fluendo.com>
28944
28945         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28946         (gst_base_sink_change_state):
28947         Small debug line.
28948
28949         * gst/gstclock.h:
28950         map SIGNAL and BROADCAST to the right function.
28951
28952         * gst/gstobject.h:
28953         Remove redundant braces.
28954
28955         * gst/gstpad.c: (gst_pad_set_caps):
28956         Don't call setcaps function when reseting caps to NULL.
28957
28958         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28959         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
28960         (gst_system_clock_id_unschedule):
28961         Use BROADCAST as this is what we do.
28962
28963 2005-06-29  Wim Taymans  <wim@fluendo.com>
28964
28965         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
28966         We are actually prerolling before commiting the state
28967         change. 
28968
28969 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28970
28971         * docs/manual/advanced-clocks.xml:
28972         * docs/manual/advanced-interfaces.xml:
28973         * docs/manual/advanced-metadata.xml:
28974         * docs/manual/advanced-position.xml:
28975         * docs/manual/advanced-schedulers.xml:
28976         * docs/manual/advanced-threads.xml:
28977         * docs/manual/appendix-porting.xml:
28978         * docs/manual/basics-bins.xml:
28979         * docs/manual/basics-bus.xml:
28980         * docs/manual/basics-elements.xml:
28981         * docs/manual/basics-helloworld.xml:
28982         * docs/manual/basics-pads.xml:
28983         * docs/manual/highlevel-components.xml:
28984         * docs/manual/manual.xml:
28985         * docs/manual/thread.fig:
28986           Update (until threads/scheduling) Application Development Manual;
28987           remove GstThread, add GstBus, add simple porting checklist, add
28988           documentation for tag writing, clocks, make all examples until this
28989           part compile and run.
28990         * examples/manual/Makefile.am:
28991           Update from changes to Application Development Manual; add bus
28992           example, remove thread example.
28993
28994 2005-06-28  Wim Taymans  <wim@fluendo.com>
28995
28996         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
28997         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
28998         (gst_bus_source_dispatch):
28999         Add debugging messages.
29000         Make internal methods static.
29001         Handle the case where the bus is flushed in the handler.
29002         
29003         * gst/gstelement.c: (gst_element_get_bus):
29004         Fix refcount in _get_bus();
29005
29006         * gst/gstpipeline.c: (gst_pipeline_change_state),
29007         (gst_pipeline_get_clock_func):
29008         Clock refcounting fixes.
29009         Handle the case where preroll timed out more gracefully.
29010         
29011         * gst/gstsystemclock.c: (gst_system_clock_dispose):
29012         Clean up the internal thread in dispose. This is needed
29013         for subclasses that actually get disposed.
29014         
29015         * gst/schedulers/threadscheduler.c:
29016         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
29017         (gst_thread_scheduler_dispose):
29018         Free thread pool in dispose.
29019
29020 2005-06-28  Andy Wingo  <wingo@pobox.com>
29021
29022         * tests/network-clock-utils.scm (debug, print-event): New utils.
29023
29024         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
29025         (*packet-loss*): Unified loss probability.
29026         (network-time): Report out-of-band events.
29027
29028         * tests/plot-data: Add support for out-of-band events. Hack it
29029         into this script instead of passing it down the pipe; should fix
29030         this later.
29031
29032 2005-06-28  Wim Taymans  <wim@fluendo.com>
29033
29034         * docs/gst/gstreamer.types:
29035         * docs/gst/tmpl/gstbasesrc.sgml:
29036         * docs/gst/tmpl/gstpad.sgml:
29037         Docs fixes.
29038
29039 2005-06-28  Wim Taymans  <wim@fluendo.com>
29040
29041         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29042         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
29043         (gst_proxy_pad_do_fixatecaps):
29044         Correctly proxy the check_pull_range function.
29045
29046 2005-06-28  Andy Wingo  <wingo@pobox.com>
29047
29048         * tests/network-clock.scm: Removed need for slib.
29049         
29050 2005-06-28  Wim Taymans  <wim@fluendo.com>
29051
29052         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
29053         (gst_basesink_preroll_queue_flush):
29054         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
29055         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
29056         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29057         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
29058         (gst_proxy_pad_set_property):
29059         * gst/gstpad.c:
29060         * gst/gstpad.h:
29061         * gst/gstqueue.c: (gst_queue_init):
29062         The deprecated pad loop function is removed now.
29063
29064 2005-06-28  Andy Wingo  <wingo@pobox.com>
29065
29066         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
29067         New parameters, simulate network packet loss.
29068
29069         * tests/network-clock-utils.scm: Initialize the RNG.
29070
29071 2005-06-28  Wim Taymans  <wim@fluendo.com>
29072
29073         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
29074         (gst_basesink_event), (gst_basesink_deactivate):
29075         Flushing the preroll queue always needs to unlock the waiters.
29076
29077 2005-06-28  Edward Hervey  <edward@fluendo.com>
29078
29079         * gst/gstpipeline.c: (gst_pipeline_send_event): 
29080         Wheen a seek was successful on a pipeline, set the stream_time to the
29081         seek offset in order to have a synchronized stream_time.
29082
29083 2005-06-28  Wim Taymans  <wim@fluendo.com>
29084
29085         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29086         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
29087         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
29088         (gst_proxy_pad_do_fixatecaps):
29089         Call wrapper function instead of just calling the function
29090         pointers. This takes care of any locking and whatmore.
29091
29092 2005-06-28  Wim Taymans  <wim@fluendo.com>
29093
29094         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
29095         (gst_pad_pull_range):
29096         * gst/gstpad.h:
29097         CONNECTED -> LINKED.
29098
29099 2005-06-28  Andy Wingo  <wingo@pobox.com>
29100
29101         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
29102         source-munging commit!!!
29103
29104         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
29105         (gst_object_sink): Take gpointer arguments, not GstObject --
29106         avoids casts. Like GLib.
29107
29108         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
29109         activate.
29110
29111 2005-06-27  Andy Wingo  <wingo@pobox.com>
29112
29113         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
29114         remaining buffer.
29115
29116         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
29117         returns a sorted copy of the trace list.
29118         (gst_alloc_trace_print_live): New API, only prints traces with
29119         live objects. Sort the list.
29120         (gst_alloc_trace_print_all): Sort the list.
29121         (gst_alloc_trace_print): Align columns.
29122
29123         * gst/elements/gstttypefindelement.c:
29124         * gst/elements/gsttee.c:
29125         * gst/base/gstbasesrc.c:
29126         * gst/base/gstbasesink.c:
29127         * gst/base/gstbasetransform.c:
29128         * gst/gstqueue.c: Adapt for pad activation changes.
29129
29130         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
29131         sched.
29132         (gst_pipeline_dispose): Drop ref on sched.
29133
29134         * gst/gstpad.c (gst_pad_init): Set the default activate func.
29135         (gst_pad_activate_default): Push mode by default.
29136         (pre_activate_switch, post_activate_switch): New stubs, things to
29137         do before and after switching activation modes on pads.
29138         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
29139         the pad's activate function to choose which mode to activate.
29140         Shortcut on deactivation and call the right function directly.
29141         (gst_pad_activate_pull): New API, (de)activates a pad in pull
29142         mode.
29143         (gst_pad_activate_push): New API, same for push mode.
29144         (gst_pad_set_activate_function) 
29145         (gst_pad_set_activatepull_function) 
29146         (gst_pad_set_activatepush_function): Setters for new API.
29147
29148         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
29149         Trace all miniobjects.
29150         (gst_mini_object_make_writable): Unref the arg if we copy, like
29151         gst_caps_make_writable.
29152
29153         * gst/gstmessage.c (_gst_message_initialize): No trace init.
29154
29155         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
29156         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
29157         Adapt for new pad API.
29158
29159         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
29160
29161         * gst/gstelement.h:
29162         * gst/gstelement.c (gst_element_iterate_src_pads) 
29163         (gst_element_iterate_sink_pads): New API functions.
29164         
29165         * gst/gstelement.c (iterator_fold_with_resync): New utility,
29166         should fold into gstiterator.c in some form.
29167         (gst_element_pads_activate): Simplified via use of fold and
29168         delegation of decisions to gstpad->activate.
29169
29170         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
29171         help in debugging.
29172
29173         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
29174         class once in init, like gstmessage. Didn't run into this issue
29175         but it seems correct. Don't initialize a trace, gstminiobject does
29176         that.
29177
29178         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
29179         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
29180         to the bus.
29181         (assert_live_count): New util function, uses alloc traces to check
29182         cleanup.
29183
29184         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
29185         To be modified when unlink drops the internal pad.
29186
29187 2005-06-27  Wim Taymans  <wim@fluendo.com>
29188
29189         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
29190         (gst_bin_change_state):
29191         Cleanup the get_state() function a little, make sure it
29192         iterates the same set of elements.
29193         Added stub iterate_state_order().
29194
29195 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
29196
29197         * docs/gst/gstreamer-docs.sgml:
29198         * docs/gst/gstreamer-sections.txt:
29199         * docs/gst/gstreamer.types:
29200         * docs/gst/tmpl/gstbasesink.sgml:
29201         * docs/gst/tmpl/gstbasesrc.sgml:
29202         * docs/gst/tmpl/gstbasetransform.sgml:
29203         * docs/gst/tmpl/gstelement.sgml:
29204         * docs/gst/tmpl/gstiterator.sgml:
29205         * gst/base/gstbasesrc.c:
29206         * gst/base/gstbasesrc.h:
29207         * gst/base/gstbasetransform.h:
29208         * gst/gstelement.c:
29209         * gst/gstiterator.h:
29210           adding basetransform and iterator docs
29211
29212 2005-06-27  Andy Wingo  <wingo@pobox.com>
29213
29214         * docs/design/part-activation.txt: Notes on how activation should
29215         work -- not quite implemented yet.
29216
29217 2005-06-25  Wim Taymans  <wim@fluendo.com>
29218
29219         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
29220         At least get the chain function correct, needs more
29221         fixing.
29222
29223 2005-06-25  Wim Taymans  <wim@fluendo.com>
29224
29225         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29226         (gst_basesink_handle_object), (gst_basesink_event),
29227         (gst_basesink_do_sync), (gst_basesink_handle_event),
29228         (gst_basesink_change_state):
29229         * gst/gsttask.h:
29230         Right, two problems here: ghostpads don't take locks and
29231         glib _rec_mutex_lock_full() with depth==0 still locks.
29232         Catch illegal locking and g_warn them.
29233
29234 2005-06-25  Wim Taymans  <wim@fluendo.com>
29235
29236         * check/states/sinks.c: (START_TEST), (gst_object_suite):
29237         Have to check for completion now...
29238
29239 2005-06-25  Wim Taymans  <wim@fluendo.com>
29240
29241         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29242         (gst_basesink_handle_object), (gst_basesink_event),
29243         (gst_basesink_do_sync), (gst_basesink_handle_event),
29244         (gst_basesink_change_state):
29245         * gst/gstpad.h:
29246         Unlock STREAM_LOCK whatever the recursion was.
29247
29248 2005-06-25  Wim Taymans  <wim@fluendo.com>
29249
29250         * gst/base/gstbasesink.c: (gst_basesink_set_property),
29251         (gst_basesink_preroll_queue_empty),
29252         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29253         (gst_basesink_event), (gst_basesink_do_sync),
29254         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29255         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29256         (gst_basesink_change_state):
29257         Reworked the base sink, handle event and buffer serialisation
29258         correctly and removed possible deadlock.
29259         Handle EOS correctly.
29260
29261 2005-06-25  Wim Taymans  <wim@fluendo.com>
29262
29263         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29264         (gst_pipeline_change_state):
29265         * tools/gst-launch.c: (check_intr), (event_loop), (main):
29266         Allow elements to post EOS in the state change function.
29267         Fix up -launch, make it exit the poll loop when the
29268         pipeline actually changed state.
29269         Fix up warning parsing in -launch.
29270
29271 2005-06-25  Wim Taymans  <wim@fluendo.com>
29272
29273         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29274         (gst_tee_sink_activate):
29275         Core takes STREAM_LOCK for us now.
29276
29277 2005-06-25  Wim Taymans  <wim@fluendo.com>
29278
29279         * gst/gstelement.c: (gst_element_get_state_func),
29280         (gst_element_set_state):
29281         * gst/gstelement.h:
29282         * gst/gstmessage.c: (gst_message_parse_error),
29283         (gst_message_parse_warning):
29284         Keep track of current target state while performing a state
29285         change so that subclasses can do something interesting.
29286         Fix parsing of warning/error messages when GError is NULL.
29287
29288 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
29289
29290         * docs/gst/Makefile.am:
29291         * docs/gst/gstreamer-docs.sgml:
29292         * docs/gst/gstreamer-sections.txt:
29293         * docs/gst/gstreamer.types:
29294         * docs/gst/tmpl/gstbasesink.sgml:
29295         * docs/gst/tmpl/gstbasesrc.sgml:
29296         * docs/gst/tmpl/gstbin.sgml:
29297         * docs/gst/tmpl/gstcompat.sgml:
29298         * docs/gst/tmpl/gstfakesink.sgml:
29299         * docs/gst/tmpl/gstfakesrc.sgml:
29300         * docs/gst/tmpl/gstfilesink.sgml:
29301         * docs/gst/tmpl/gstfilesrc.sgml:
29302         * docs/gst/tmpl/gstindex.sgml:
29303         * docs/manual/appendix-quotes.xml:
29304         * gst/base/gstbasesrc.h:
29305         * gst/elements/gstfakesrc.h:
29306         * gst/gstmessage.h:
29307           start pulling in base classes and elements in our docs
29308
29309 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
29310
29311         * docs/gst/Makefile.am:
29312         * docs/libs/Makefile.am:
29313           fixed make distcheck with gtk-doc 1.3
29314
29315 2005-06-23  Wim Taymans  <wim@fluendo.com>
29316
29317         * gst/gstelement.c: (gst_element_get_state_func),
29318         (gst_element_set_state), (gst_element_change_state):
29319         When the state did not change, also report NO_PREROLL
29320         when it matters.
29321
29322 2005-06-23  Wim Taymans  <wim@fluendo.com>
29323
29324         * gst/gstpad.c: (gst_pad_event_default):
29325         * gst/gstqueue.c: (gst_queue_loop):
29326         No unsafe task pausing please.
29327
29328 2005-06-23  Wim Taymans  <wim@fluendo.com>
29329
29330         * gst/schedulers/threadscheduler.c:
29331         (gst_thread_scheduler_task_start),
29332         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29333         Ref the task before pushing it on the threadpool. This
29334         makes sure that we have a ref when the threadfunction is
29335         actually called.
29336
29337 2005-06-23  Andy Wingo  <wingo@pobox.com>
29338
29339         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29340         offset is greater than the file's size.
29341
29342         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
29343         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29344         * gst/gstobject.c (gst_object_class_init): Make the class lock
29345         recursive. Wim won't let me drop deep_notify. Decodebin works
29346         again, whoopdy doo.
29347
29348         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29349         internal pad, and hacks accordingly. Doesn't do it on the target
29350         pad because we change its caps. Probably catches all cases of
29351         interest tho.
29352         (gst_ghost_pad_set_property): Connect to notify::caps as
29353         appropritate.
29354
29355         * tests/network-clock.scm (plot-simulation): Pipe data to the
29356         elite python skript.
29357
29358         * tests/network-clock-utils.scm (define-parameter): New macro,
29359         defines a parameter that can be set via the command line.
29360         (set-parameter!, parse-parameter-arguments): Command line args
29361         parser.
29362
29363         * tests/plot-data: Simple matplotlib-based plotter, takes input on
29364         stdin.
29365
29366 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
29367
29368         * gst/elements/gsttypefindelement.c:
29369         (gst_type_find_element_handle_event):
29370           Don't restart typefinding on a discont.
29371         * gst/gstelement.c: (gst_element_set_state):
29372           Debug spelling fix.
29373         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29374           Allow changing mode of an active pad.
29375           Debug output fixes.
29376         * gst/registries/gstlibxmlregistry.c: (load_feature):
29377           Don't cast a static pad template to a normal pad template.
29378
29379 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
29380
29381         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29382         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29383           remove gst_strtoll completely, since it didn't actually do
29384           anything more than what g_ascii_strtoull already does.
29385           check for range errors when deserializing
29386           do a cast for the unsigned cases; but further fixing needs
29387           a decision on what the interpretation of "(int)" and
29388           deserialization should be for values that fall outside the
29389           type's boundaries (ie, refuse, or interpret as casting)
29390
29391 2005-06-23  Wim Taymans  <wim@fluendo.com>
29392
29393         * check/Makefile.am:
29394         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29395         * docs/design/part-live-source.txt:
29396         * docs/design/part-states.txt:
29397         * gst/base/gstbasesrc.c: (gst_basesrc_init),
29398         (gst_basesrc_set_live), (gst_basesrc_is_live),
29399         (gst_basesrc_get_range), (gst_basesrc_activate),
29400         (gst_basesrc_change_state):
29401         * gst/base/gstbasesrc.h:
29402         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29403         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29404         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29405         * gst/gstelement.c: (gst_element_get_state_func),
29406         (gst_element_set_state):
29407         * gst/gstelement.h:
29408         * gst/gsttypes.h:
29409         * tools/gst-launch.c: (event_loop), (main):
29410         Added support for live sources and other elements that
29411         cannot do preroll.
29412         Updated design docs, added live-source design doc.
29413         Implemented live source functionality in basesrc
29414         Fix error condition in _bin_get_state()
29415         Implement live source handling in -launch.
29416         Added check for live sources.
29417         Fixed case in GstBin where elements were changed state
29418         multiple times.
29419
29420
29421 2005-06-23  Andy Wingo  <wingo@pobox.com>
29422
29423         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29424         borken refcounting.
29425
29426         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29427         gst_caps_replace takes care of this for us.
29428
29429         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29430         gst_pad_set_caps on the target, not just its setcaps() function.
29431
29432         * tests/network-clock.scm: 
29433         * tests/network-clock-utils.scm: A network clock simulator.
29434         Something of an algorithmic testbed before doing something in C.
29435
29436 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29437
29438         * check/Makefile.am:
29439         * check/gst/capslist.h:
29440           copy over from 0.8, and add two with bitmasks specified with
29441           (int) 0xFF...
29442         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29443           add test to parse everything from capslist.h
29444         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29445         (main):
29446           add test for structure deserialization
29447         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29448           add tests for deserialization of strings to int types
29449         * gst/gststructure.c: (gst_structure_nth_field_name):
29450         * gst/gststructure.h:
29451           add a way to get the name of a field referenced by index
29452         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29453           instead of checking if the resulting long long lies between
29454           min and max, we check if the long long would fit into
29455           a number of bytes for the final type.
29456           This fixes cases where a string represents 2^32 - 1, which
29457           when cast to int would be the (valid) -1, but is bigger than
29458           G_MAXINT
29459
29460 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29461
29462         * gst/parse/grammar.y:
29463           add a log line for type deserialization
29464
29465 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29466
29467         * check/gst/gstvalue.c: (START_TEST):
29468         * gst/gstvalue.c: (gst_value_deserialize):
29469           return long long, not int, so gint64 deserialization actually
29470           works.  Is there any flag that makes the compiler check this ?
29471           Fixes #308559
29472
29473 2005-06-22  Wim Taymans  <wim@fluendo.com>
29474
29475         * gst/gstbuffer.h:
29476         Added convenience macros for setting buffers in GValue.
29477
29478 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29479
29480         * check/gst/.cvsignore:
29481         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29482           add a test deserializing int64, and comment part out because
29483           it fails, yay !
29484
29485 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29486
29487         * check/Makefile.am:
29488         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29489         * testsuite/Makefile.am:
29490         * testsuite/caps/Makefile.am:
29491         * testsuite/caps/value_serialize.c:
29492         * testsuite/test_gst_init.c:
29493           move a value_serialize test over
29494
29495 2005-06-20  Wim Taymans  <wim@fluendo.com>
29496
29497         * gst/gstpad.c:
29498         Small doc updates.
29499         
29500         * gst/gstvalue.c: (gst_value_compare_buffer),
29501         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29502         (gst_value_compare_flags), (gst_value_serialize_flags),
29503         (gst_value_deserialize_flags), (_gst_value_initialize):
29504         Fix serialisation of buffers, they are not boxed types anymore
29505
29506 2005-06-20  Wim Taymans  <wim@fluendo.com>
29507
29508         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29509         Testcase to show error in buffer-on-caps serialisation.
29510
29511 2005-06-20  Andy Wingo  <wingo@pobox.com>
29512
29513         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29514         will be adding to later.
29515
29516         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29517         if its socks fill with rocks.
29518         (gst_system_clock_obtain): Set the name on object construction.
29519         Avoid double-checked locking.
29520
29521 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
29522
29523         * gst/gsturi.c: (gst_element_make_from_uri):
29524           Fix potential endless loop.
29525
29526 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29527
29528         * check/Makefile.am:
29529           add gsttag
29530         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29531         (main):
29532           move over from testsuite dir and clean up
29533         * configure.ac:
29534         * gst/gsttag.c:
29535         * testsuite/Makefile.am:
29536         * testsuite/tags/.cvsignore:
29537         * testsuite/tags/Makefile.am:
29538         * testsuite/tags/merge.c:
29539           remove testsuite/tags
29540
29541 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29542
29543         * docs/gst/gstreamer-sections.txt:
29544         * docs/gst/tmpl/gstenumtypes.sgml:
29545         * win32/gstenumtypes.c:
29546           clean up documentation build a little
29547
29548 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29549
29550         * check/gstcheck.h:
29551           add macros for checking refcounts on objects and caps
29552         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29553           add some more unit tests
29554         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29555         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29556           fix leaked refcounts (I hope :)) so unittest works
29557         * gst/gstpad.h:
29558           whitespace removal
29559
29560 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29561
29562         * configure.ac: back to HEAD
29563
29564 === release 0.9.1 ===
29565
29566 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
29567
29568         * NEWS:
29569         * RELEASE:
29570           updated
29571
29572 2005-06-17  Andy Wingo  <wingo@pobox.com>
29573
29574         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29575         assert; it's always possible that the pad gets deactivated in
29576         between the checks in gstpad.c and the implementation. Rely on
29577         finish_preroll() to return a FLUSHING or similar instead of on the
29578         assert.
29579         
29580         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29581         clock and post an EOS message if we come out of finish_preroll in
29582         the playing state.
29583
29584 2005-06-16  David Schleef  <ds@schleef.org>
29585
29586         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29587         (gst_capsfilter_set_property): Allow NULL as possible value
29588         for filter_caps property, indicating GST_CAPS_ANY.
29589
29590 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29591
29592         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29593           fix debug output
29594         * gst/schedulers/Makefile.am:
29595           use libgst prefix
29596         * gstreamer.spec.in:
29597           fix spec for it
29598
29599 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29600
29601         * gstreamer.spec.in:
29602           clean up
29603
29604 2005-06-08  Andy Wingo  <wingo@pobox.com>
29605
29606         * gst/gstutils.c: RPAD fixes all around.
29607         (gst_element_link_pads): Refcounting fixes.
29608
29609         * tools/gst-inspect.c:
29610         * tools/gst-xmlinspect.c:
29611         * parse/grammar.y:
29612         * gst/base/gsttypefindhelper.c:
29613         * gst/base/gstbasesink.c:
29614         * gst/gstqueue.c: RPAD fixes.
29615
29616         * gst/gstghostpad.h:
29617         * gst/gstghostpad.c: New ghost pad implementation as full proxy
29618         pads. The tricky thing is they provide both source and sink
29619         interfaces, since they proxy the internal pad for the external
29620         pad, and vice versa. Implement with lower-level ProxyPad objects,
29621         with the interior proxy pad as a child of the exterior ghost pad.
29622         Should write a doc on this.
29623         
29624         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29625         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29626         gst_object API.
29627         
29628         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29629         pads are real pads. No ghost pads in this file. Not documenting
29630         the myriad s/RPAD/PAD/ and REALIZE fixes.
29631         (gst_pad_class_init): Add properties for "direction" and
29632         "template". Both are construct-only, so they can't change during
29633         the life of the pad. Fixes properly deriving from GstPad.
29634         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29635         derived objects, just set properties when creating the objects via
29636         g_object_new.
29637         (gst_pad_get_parent): Implement as a function, return NULL if the
29638         parent is not an element.
29639         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29640         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29641         
29642         * gst/gstobject.c (gst_object_class_init): Make name a construct
29643         property. Don't set it in the object init.
29644
29645         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29646         with UNKNOWN direction.
29647         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29648         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29649         (gst_element_remove_pad): Remove ghost-pad special cases.
29650         (gst_element_pads_activate): Remove rpad cruft.
29651
29652         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29653         catch the pad's-parent-not-an-element case.
29654
29655         * gst/gst.h: Include gstghostpad.h.
29656
29657         * gst/gst.c (init_post): No more real, ghost pads.
29658
29659         * gst/Makefile.am: Add gstghostpad.[ch].
29660
29661         * check/Makefile.am:
29662         * check/gst/gstbin.c:
29663         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29664         into a bin creates ghost pads, and that the refcounts are right.
29665         Partly moved from gstbin.c.
29666
29667 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29668
29669         * check/gst-libs/.cvsignore:
29670         * check/gst/.cvsignore:
29671         * check/pipelines/.cvsignore:
29672           ignore more
29673         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29674         (START_TEST), (cleanup_suite), (main):
29675           add some tests related to cleanup after running pipelines
29676
29677 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29678
29679         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29680           add a testsuite for GstBuffer
29681
29682 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29683
29684         * gst/gstminiobject.h:
29685           add defines for accessing the refcount
29686
29687 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
29688
29689         * Makefile.am: added support for html unit test coverage reports
29690
29691 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
29692
29693         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29694           Free existing caps if the capsfilter changes. Add a FIXME about
29695           setting those caps on the pads.
29696
29697         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29698           Before adding a ghost pad to a parent bin, check that there isn't
29699           already one for the element on the bin. Prevents infinite recursion
29700           when using decodebin in parse pipelines. Andy says he'll rewrite the
29701           way this works anyway, so ignore the hack.
29702
29703 2005-06-02  Andy Wingo  <wingo@pobox.com>
29704
29705         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29706         file size, pass it on to the type find helper.
29707
29708         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29709         segment_start and segment_end properly according to the seek
29710         method. Segment_end is still a bit flaky because offset can be
29711         negative for CUR and END cases, but it takes -1 as an "unset"
29712         value.
29713
29714 2005-06-02  Wim Taymans  <wim@fluendo.com>
29715
29716         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29717         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29718         (gst_basesink_activate):
29719         * gst/base/gstbasesink.h:
29720         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29721         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29722         (gst_pad_query), (gst_pad_start_task):
29723         * gst/gstpad.h:
29724         * gst/gstqueue.c: (gst_queue_bufferalloc),
29725         (gst_queue_handle_sink_event), (gst_queue_chain):
29726         Bufferalloc: return GstFlowReturn to more accuratly report
29727         why allocation failed.
29728
29729 2005-06-02  Wim Taymans  <wim@fluendo.com>
29730
29731         * gst/gstpipeline.c: (gst_pipeline_send_event):
29732         Take snapshot of state without blocking.
29733
29734 2005-06-02  Wim Taymans  <wim@fluendo.com>
29735
29736         * docs/design/part-TODO.txt:
29737         * docs/design/part-caps.txt:
29738         * docs/design/part-clocks.txt:
29739         * docs/design/part-negotiation.txt:
29740         * docs/design/part-preroll.txt:
29741         Small doc updates 
29742
29743 2005-05-30  Wim Taymans  <wim@fluendo.com>
29744
29745         * gst/elements/gstidentity.c: (gst_identity_event),
29746         (gst_identity_transform), (gst_identity_get_property):
29747         Protect last_message property as it is accessed from
29748         multiple threads.
29749
29750 2005-05-30  Wim Taymans  <wim@fluendo.com>
29751
29752         * gst/gstelement.c: (gst_element_init),
29753         (gst_element_pads_activate), (gst_element_change_state):
29754         Slicker pad activation code.
29755
29756 2005-05-30  Wim Taymans  <wim@fluendo.com>
29757
29758         * gst/Makefile.am:
29759         * gst/gstelement.h:
29760         * gst/gstelementfactory.h:
29761         * gst/gsttypes.h:
29762         Move elementfactory methods to separate .h file.
29763
29764 2005-05-30  Wim Taymans  <wim@fluendo.com>
29765
29766         * docs/design/part-overview.txt:
29767         * gst/gstsystemclock.h:
29768         Small typo fixes, doc updates.
29769
29770 2005-05-30  Wim Taymans  <wim@fluendo.com>
29771
29772         * gst/gst.c: (gst_init_get_popt_table), (init_post),
29773         (init_popt_callback):
29774         Remove cpu-opt flag.
29775
29776 2005-05-30  Wim Taymans  <wim@fluendo.com>
29777
29778         * gst/gstbuffer.c: (gst_subbuffer_finalize),
29779         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29780         * gst/gstbuffer.h:
29781         Avoid typechecking in places where not needed.
29782         Added accessor for malloc_data.
29783
29784 2005-05-30  Wim Taymans  <wim@fluendo.com>
29785
29786         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29787         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29788         (gst_pad_configure_sink), (gst_pad_configure_src),
29789         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29790         (gst_pad_start_task):
29791         Propagate errors from _set_caps() in configure_src/sink
29792         functions instead of returning TRUE.
29793         FLUSH events can travel up and downstream
29794
29795
29796 2005-05-30  Wim Taymans  <wim@fluendo.com>
29797
29798         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29799         (gst_basesink_activate):
29800         Handle EOS in preroll.
29801
29802 2005-05-30  Wim Taymans  <wim@fluendo.com>
29803
29804         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29805         (gst_queue_loop), (gst_queue_handle_src_event):
29806         Remove old pieces of code
29807         Flushing the queue in an upstream event is a very bad idea.
29808
29809 2005-05-26  Andy Wingo  <wingo@pobox.com>
29810
29811         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
29812         gst_value_set_mini_object so as to add a ref on the object (which
29813         will be removed when the value is unset).
29814
29815         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
29816         arg type in ::handoff.
29817
29818         * gst/gstelement.c (gst_element_change_state): Also deactivate
29819         pads in READY->NULL, just in case the element didn't make it to
29820         PAUSED. Wingo tested, Wim approved.
29821
29822 2005-05-26  Wim Taymans  <wim@fluendo.com>
29823
29824         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29825         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29826         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
29827         A flushing pad cannot be used to alloc_buffer from.
29828
29829 2005-05-26  Wim Taymans  <wim@fluendo.com>
29830
29831         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
29832         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
29833         (gst_bus_source_dispatch), (gst_bus_source_finalize),
29834         (gst_bus_create_watch), (gst_bus_add_watch_full):
29835         * gst/gstbus.h:
29836         Implement a real GSource and use g_main_context_wakeup() to
29837         signal new messages instead of the socketpair.
29838
29839 2005-05-25  Wim Taymans  <wim@fluendo.com>
29840
29841         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
29842         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
29843         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29844         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29845         (gst_pad_send_event), (gst_pad_start_task):
29846         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
29847         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
29848         (gst_queue_sink_activate), (gst_queue_src_activate),
29849         (gst_queue_change_state):
29850         * gst/gstqueue.h:
29851         Fix state changes for non sinks. We now change sinks, then elements
29852         with unconnected srcpads, then the rest.
29853         More efficient queue unlocking in flush and state changes.
29854         Set the pad activate mode even if it does not have an activate
29855         function.
29856
29857 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29858
29859         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
29860           Don't go in pull mode for non-seekable sources.
29861         * gst/elements/gsttypefindelement.h:
29862         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29863         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
29864         (free_entry), (stop_typefinding),
29865         (gst_type_find_element_handle_event), (find_peek),
29866         (gst_type_find_element_chain), (do_pull_typefind),
29867         (gst_type_find_element_change_state):
29868           Allow typefinding (w/o seeking) in push-mode, simplified version
29869           of what was in 0.8.
29870         * gst/gstutils.c: (gst_buffer_join):
29871         * gst/gstutils.h:
29872           gst_buffer_join() from 0.8.
29873
29874 2005-05-25  Wim Taymans  <wim@fluendo.com>
29875
29876         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29877         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29878         (gst_pad_send_event), (gst_pad_start_task):
29879         Disable attempt at mode switching until it is figured out.
29880
29881 2005-05-25  Wim Taymans  <wim@fluendo.com>
29882
29883         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
29884         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29885         (gst_basesink_finish_preroll), (gst_basesink_chain),
29886         (gst_basesink_loop), (gst_basesink_activate),
29887         (gst_basesink_change_state):
29888         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
29889         (gst_basesrc_get_range), (gst_basesrc_loop),
29890         (gst_basesrc_activate):
29891         * gst/elements/gsttee.c: (gst_tee_sink_activate):
29892         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29893         (gst_real_pad_init), (gst_real_pad_set_property),
29894         (gst_real_pad_get_property), (gst_pad_set_active),
29895         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
29896         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
29897         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
29898         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
29899         (gst_pad_event_default_dispatch), (gst_pad_event_default),
29900         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
29901         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
29902         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29903         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
29904         (gst_pad_stop_task):
29905         * gst/gstpad.h:
29906         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29907         (gst_queue_loop), (gst_queue_src_activate):
29908         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
29909         (gst_task_get_state):
29910         * gst/gsttask.h:
29911         * gst/schedulers/threadscheduler.c:
29912         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
29913         Implement gst_pad_pause/start/stop_task(), take STREAM lock
29914         in task function.
29915         Remove ACTIVE pad flag, use FLUSHING everywhere
29916         Added _pad_chain(), _pad_get_range() to call chain/getrange 
29917         functions.
29918         Add locks around IS_FLUSHING when reading.
29919         Take STREAM lock in chain(), get_range() functions so plugins
29920         don't need to take it anymore.
29921         
29922
29923
29924 2005-05-25  Wim Taymans  <wim@fluendo.com>
29925
29926         * tools/gst-launch.c: (event_loop):
29927         Unref message after using its contents instead of
29928         before.
29929
29930 2005-05-24  Wim Taymans  <wim@fluendo.com>
29931
29932         * docs/design/draft-ghostpads.txt:
29933         * docs/design/draft-push-pull.txt:
29934         * docs/design/draft-query.txt:
29935         * docs/design/part-overview.txt:
29936         Docs updates, added general overview doc.
29937
29938 2005-05-21  David Schleef  <ds@schleef.org>
29939
29940         * docs/gst/tmpl/old/GstBin.sgml:
29941         * docs/gst/tmpl/old/GstBuffer.sgml:
29942         * docs/gst/tmpl/old/GstCaps.sgml:
29943         * docs/gst/tmpl/old/GstClock.sgml:
29944         * docs/gst/tmpl/old/GstCompat.sgml:
29945         * docs/gst/tmpl/old/GstData.sgml:
29946         * docs/gst/tmpl/old/GstElement.sgml:
29947         * docs/gst/tmpl/old/GstEvent.sgml:
29948         * docs/gst/tmpl/old/GstIndex.sgml:
29949         * docs/gst/tmpl/old/GstStructure.sgml:
29950         * docs/gst/tmpl/old/GstTag.sgml:
29951         * docs/gst/tmpl/old/cothreads.sgml:
29952         * docs/gst/tmpl/old/cothreads_compat.sgml:
29953         * docs/gst/tmpl/old/gettext.sgml:
29954         * docs/gst/tmpl/old/gobject2gtk.sgml:
29955         * docs/gst/tmpl/old/grammar.tab.sgml:
29956         * docs/gst/tmpl/old/gst-i18n-app.sgml:
29957         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
29958         * docs/gst/tmpl/old/gst_private.sgml:
29959         * docs/gst/tmpl/old/gstaggregator.sgml:
29960         * docs/gst/tmpl/old/gstarch.sgml:
29961         * docs/gst/tmpl/old/gstatomic_impl.sgml:
29962         * docs/gst/tmpl/old/gstbufferstore.sgml:
29963         * docs/gst/tmpl/old/gstdata_private.sgml:
29964         * docs/gst/tmpl/old/gstdisksink.sgml:
29965         * docs/gst/tmpl/old/gstdisksrc.sgml:
29966         * docs/gst/tmpl/old/gstelementfactory.sgml:
29967         * docs/gst/tmpl/old/gstextratypes.sgml:
29968         * docs/gst/tmpl/old/gstfakesink.sgml:
29969         * docs/gst/tmpl/old/gstfakesrc.sgml:
29970         * docs/gst/tmpl/old/gstfdsink.sgml:
29971         * docs/gst/tmpl/old/gstfdsrc.sgml:
29972         * docs/gst/tmpl/old/gstfilesink.sgml:
29973         * docs/gst/tmpl/old/gstfilesrc.sgml:
29974         * docs/gst/tmpl/old/gsthttpsrc.sgml:
29975         * docs/gst/tmpl/old/gstidentity.sgml:
29976         * docs/gst/tmpl/old/gstindexfactory.sgml:
29977         * docs/gst/tmpl/old/gstmarshal.sgml:
29978         * docs/gst/tmpl/old/gstmd5sink.sgml:
29979         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
29980         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
29981         * docs/gst/tmpl/old/gstpadtemplate.sgml:
29982         * docs/gst/tmpl/old/gstpipefilter.sgml:
29983         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
29984         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
29985         * docs/gst/tmpl/old/gstshaper.sgml:
29986         * docs/gst/tmpl/old/gstspider.sgml:
29987         * docs/gst/tmpl/old/gstspideridentity.sgml:
29988         * docs/gst/tmpl/old/gststatistics.sgml:
29989         * docs/gst/tmpl/old/gsttee.sgml:
29990         * docs/gst/tmpl/old/gsttimecache.sgml:
29991         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
29992         * docs/gst/tmpl/old/gstxmlregistry.sgml:
29993         * docs/gst/tmpl/old/gthread-cothreads.sgml:
29994         * docs/gst/tmpl/old/types.sgml:
29995           I didn't intend to add these or check them in.
29996
29997 2005-05-19  David Schleef  <ds@schleef.org>
29998
29999         * configure.ac: Use -no-common everywhere.  In a sane world, it
30000           would be the default in libtool, because without it, you can't
30001           build DLLs on Windows.
30002         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
30003         * docs/gst/gstreamer-sections.txt:
30004         * docs/gst/tmpl/gstcpu.sgml:
30005         * docs/gst/tmpl/gstdata.sgml:
30006         * docs/gst/tmpl/gstthread.sgml:
30007
30008 2005-05-19  David Schleef  <ds@schleef.org>
30009
30010         * gst/gstminiobject.c: (gst_value_set_mini_object),
30011         (gst_value_take_mini_object), (gst_value_get_mini_object):
30012         * gst/gstminiobject.h: Add GValue set/get functions.
30013
30014 2005-05-19  Wim Taymans  <wim@fluendo.com>
30015
30016         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
30017         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
30018         (gst_subbuffer_init), (gst_buffer_is_span_fast):
30019         * gst/gstbuffer.h:
30020         * gst/gstbus.c: (gst_bus_post):
30021         * gst/gstelement.c: (gst_element_get_random_pad):
30022         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
30023         Make subbufer unref the parent in finalize.
30024         some more debugging info.
30025
30026
30027 2005-05-19  Wim Taymans  <wim@fluendo.com>
30028
30029         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30030         (gst_basesink_init), (gst_basesink_finalize),
30031         (gst_basesink_activate), (gst_basesink_change_state):
30032         Don't free preroll queue too early.
30033
30034 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30035
30036         * gst/Makefile.am:
30037         * gst/ROADMAP:
30038           Hi, I'm outdated. Please shoot me.
30039
30040 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30041
30042         * gst/gstpipeline.c: (gst_pipeline_send_event):
30043           Do not access variables after they have been deleted.
30044
30045 2005-05-19  Wim Taymans  <wim@fluendo.com>
30046
30047         * tools/gst-inspect.c: (print_plugin_features):
30048         A plugin feature does unfortunatly not use the
30049         object name yet...
30050
30051 2005-05-18  Wim Taymans  <wim@fluendo.com>
30052
30053         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
30054         Port _span() functions to new subbuffers.
30055
30056 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30057
30058         * gst/gstbin.c: (gst_bin_add_func):
30059           Fix clock settery in bins when adding kids after the clock has
30060           been selected.
30061
30062 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30063
30064         * gst/elements/gstidentity.c: (gst_identity_class_init):
30065           Workaround until signals support GstMiniObject.
30066
30067 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
30068
30069         * gst/gstbuffer.c:
30070         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
30071
30072 2005-05-18  Wim Taymans  <wim@fluendo.com>
30073
30074         * gst/base/Makefile.am:
30075         * gst/base/gstadapter.c: (gst_adapter_base_init),
30076         (gst_adapter_class_init), (gst_adapter_init),
30077         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
30078         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
30079         (gst_adapter_flush), (gst_adapter_available),
30080         (gst_adapter_available_fast):
30081         * gst/base/gstadapter.h:
30082         Ported and added adapter to the base classes.
30083
30084 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30085
30086         * gst/gst.c:
30087         * gst/gstmessage.c:
30088           Make sure the class is reffed/unreffed once before threads can be
30089           used.  Fixes #304551.
30090
30091 2005-05-17  Wim Taymans  <wim@fluendo.com>
30092
30093         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
30094         (gst_basesink_chain_unlocked), (gst_basesink_activate):
30095         * gst/gstminiobject.c: (gst_mini_object_get_type),
30096         (gst_mini_object_free):
30097         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
30098         (gst_pad_push), (gst_pad_push_event):
30099         * gst/gstqueue.c: (gst_queue_change_state):
30100         Don't queue buffers in basesink when we are flushing.
30101         Unref buffer when flushing in basesink.
30102         Flush queue when going to READY
30103         Unref buffer when _push() returns an error.
30104         Don't free MiniObject instance when refcount is incremented
30105         in _finalize() so that we can recover objects.
30106
30107 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
30108
30109         * docs/manual/advanced-schedulers.xml:
30110         * docs/manual/appendix-checklist.xml:
30111         * docs/pwg/advanced-clock.xml:
30112         * docs/pwg/advanced-interfaces.xml:
30113         * docs/pwg/advanced-request.xml:
30114         * docs/pwg/advanced-types.xml:
30115         * docs/pwg/intro-preface.xml:
30116         * examples/plugins/example.c: (gst_example_get_type),
30117         (gst_example_class_init), (gst_example_chain),
30118         (gst_example_set_property), (gst_example_get_property),
30119         (gst_example_change_state), (plugin_init):
30120         * examples/plugins/example.h:
30121           small doc fixes
30122
30123 2005-05-17  Wim Taymans  <wim@fluendo.com>
30124
30125         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
30126         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
30127         * gst/gstqueue.c: (gst_queue_change_state):
30128         Clear queue when going to READY.
30129         Remove IN_SETCAPS flag too.
30130
30131 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
30132
30133         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
30134           Remove implicit cast from gboolean to GstElementStateReturn;
30135           make sure we still return failure in paused => ready case if
30136           the parent class fails to change state and our own stop 
30137           vfunc succeeds.
30138
30139 2005-05-17  Wim Taymans  <wim@fluendo.com>
30140
30141         * tools/gst-launch.c: (event_loop):
30142         Message was unreffed too soon.
30143
30144 2005-05-16  Andy Wingo  <wingo@pobox.com>
30145
30146         * gst/gstbin.c (sink_iterator_filter): Err... um...
30147
30148         * check/gst/gstbin.c (test_ghost_pads): New test for the
30149         ghosting-if-elements-not-in-same-bin behavior.
30150
30151 2005-05-16  David Schleef  <ds@schleef.org>
30152
30153         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
30154         accessing refcount directly.
30155
30156 2005-05-15  David Schleef  <ds@schleef.org>
30157
30158         * check/Makefile.am: remove GstData checks
30159         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
30160         * gst/Makefile.am: add miniobject, remove data
30161         * gst/gst.h: add miniobject, remove data
30162         * gst/gstdata.c: remove
30163         * gst/gstdata.h: remove
30164         * gst/gstdata_private.h: remove
30165         * gst/gsttypes.h: remove GstEvent and GstMessage
30166         * gst/gstelement.c: (gst_element_post_message): fix for API changes
30167         * gst/gstmarshal.list: change BOXED -> OBJECT
30168
30169         Implement GstMiniObject.
30170         * gst/gstminiobject.c:
30171         * gst/gstminiobject.h:
30172
30173         Modify to be subclasses of GstMiniObject.
30174         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
30175         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
30176         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
30177         (gst_subbuffer_get_type), (gst_subbuffer_init),
30178         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
30179         (gst_buffer_span):
30180         * gst/gstbuffer.h:
30181         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
30182         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
30183         (_gst_event_copy), (gst_event_new):
30184         * gst/gstevent.h:
30185         * gst/gstmessage.c: (_gst_message_initialize),
30186         (gst_message_get_type), (gst_message_class_init),
30187         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
30188         (gst_message_new), (gst_message_new_error),
30189         (gst_message_new_warning), (gst_message_new_tag),
30190         (gst_message_new_state_changed), (gst_message_new_application):
30191         * gst/gstmessage.h:
30192         * gst/gstprobe.c: (gst_probe_perform),
30193         (gst_probe_dispatcher_dispatch):
30194         * gst/gstprobe.h:
30195         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
30196         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
30197         (_gst_query_copy), (gst_query_new):
30198
30199         Update elements for GstData -> GstMiniObject changes
30200         * gst/gstquery.h:
30201         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
30202         (gst_queue_chain), (gst_queue_loop):
30203         * gst/elements/gstbufferstore.c:
30204         (gst_buffer_store_add_buffer_func),
30205         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
30206         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30207         (gst_fakesink_render):
30208         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30209         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
30210         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
30211         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
30212         (gst_filesrc_create_read):
30213         * gst/elements/gstidentity.c: (gst_identity_class_init):
30214         * gst/elements/gsttypefindelement.c:
30215         (gst_type_find_element_src_event), (free_entry_buffers),
30216         (gst_type_find_element_handle_event):
30217         * libs/gst/dataprotocol/dataprotocol.c:
30218         (gst_dp_header_from_buffer):
30219         * libs/gst/dataprotocol/dataprotocol.h:
30220         * libs/gst/dataprotocol/dp-private.h:
30221
30222 2005-05-15  David Schleef  <ds@schleef.org>
30223
30224         * gst/elements/gstelements.c: Don't include headers that were
30225         just removed.
30226
30227 2005-05-15  David Schleef  <ds@schleef.org>
30228
30229         * gst/elements/Makefile.am: Remove some elements that don't
30230         need to be in the core (or even exist at all).
30231         * gst/elements/gstaggregator.c:
30232         * gst/elements/gstaggregator.h:
30233         * gst/elements/gstmd5sink.c:
30234         * gst/elements/gstmd5sink.h:
30235         * gst/elements/gstmultifilesrc.c:
30236         * gst/elements/gstmultifilesrc.h:
30237         * gst/elements/gstpipefilter.c:
30238         * gst/elements/gstpipefilter.h:
30239         * gst/elements/gstshaper.c:
30240         * gst/elements/gstshaper.h:
30241         * gst/elements/gststatistics.c:
30242         * gst/elements/gststatistics.h:
30243         * po/POTFILES.in: Remove above files.
30244
30245 2005-05-14  Andy Wingo  <wingo@pobox.com>
30246
30247         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30248         so as to get the refs right.
30249         (sink_iterator_filter): New function, wraps bin_element_is_sink,
30250         unreffing objects that don't pass the filter.
30251
30252         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30253         gst_element_set_bus.
30254         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30255         normal cases, this will destroy the bus.
30256
30257         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30258         object.
30259
30260         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30261         has no sinks.
30262
30263 2005-05-13  Andy Wingo  <wingo@pobox.com>
30264
30265         * gst/gstutils.c (gst_element_link_pads): Instead of calling
30266         gst_pad_link, call pad_link_maybe_ghosting,
30267         (pad_link_maybe_ghosting): Links pads, making sure that the
30268         elements being linked are in the same bin.
30269         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30270         Helpers for pad_link_maybe_ghosting.
30271
30272 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30273
30274         * configure.ac:
30275           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30276
30277 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30278
30279         * docs/design/part-element-source.txt:
30280           Mention GstPushSrc
30281
30282 2005-05-12  Wim Taymans  <wim@fluendo.com>
30283
30284         * gst/base/gstbasesink.c: (gst_basesink_init),
30285         (gst_basesink_activate):
30286         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30287         (gst_basesrc_is_seekable):
30288         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30289         (bin_element_is_sink), (gst_bin_change_state):
30290         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30291         * gst/gstelement.h:
30292         Identify sinks by their flag to avoid overly complicated
30293         checks (fow now).
30294         Do state changes even for elements not reachable from the
30295         sinks.
30296         BaseSink is a sink now :)
30297         Some more debugging info in the basesrc.
30298
30299
30300 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30301
30302         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30303           Implement _query on a bin, similar to _send_event.
30304
30305 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
30306
30307         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30308           Discont event offset format should be GST_FORMAT_BYTES,
30309           not GST_FORMAT_TIME.
30310
30311 2005-05-12  Wim Taymans  <wim@fluendo.com>
30312
30313         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30314         Same fix as Ronald's but without the signal. 
30315
30316 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30317
30318         * gst/gstutils.c: (gst_element_query_position):
30319           No, an element is not a pad.
30320
30321 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30322
30323         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30324         (gst_bin_get_state):
30325           If a child is removed from a bin while we remove the child from
30326           the bin and while we're retrieving its state, signal this to the
30327           get_state function so we abort the wait (instead of waiting for
30328           a timeout) and can immediately re-iterate over all other elements.
30329
30330 2005-05-12  Wim Taymans  <wim@fluendo.com>
30331
30332         * gst/base/Makefile.am:
30333         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30334         (gst_basesrc_start):
30335         * gst/base/gstbasesrc.h:
30336         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30337         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30338         (gst_pushsrc_init), (gst_pushsrc_create):
30339         * gst/base/gstpushsrc.h:
30340         Added is_seekable to BaseSrc
30341         Added simple PushSrc.
30342
30343 2005-05-11  Wim Taymans  <wim@fluendo.com>
30344
30345         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30346         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30347         (gst_element_link_pads), (gst_element_query_position),
30348         (gst_element_query_convert), (intersect_caps_func),
30349         (gst_pad_query_position), (gst_pad_query_convert):
30350         Fix refcounting in utils function.
30351         No point in trying to activate a pad when it's added, it could
30352         be added from the state change function and then we deadlock, the
30353         element has to decide what to do.
30354
30355 2005-05-10  Andy Wingo  <wingo@pobox.com>
30356
30357         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30358         *all* the arguments.
30359
30360         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30361         stream lock if it's a FLUSH_DONE; normal flushes don't get the
30362         lock (according to the docs -- if this is wrong change the docs).
30363
30364         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30365         flush messages in the NULL state.
30366
30367         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30368         message immediately and return.
30369         (gst_bus_set_flushing): New function. If a bus is flushing, it
30370         flushes out any queued messages and immediately unrefs new
30371         messages. This is so when an element goes to NULL, all of the
30372         unhandled messages coming from it can be freed, and their
30373         references to the element dropped. In other words: message source
30374         ref considered harmful :P
30375
30376         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30377         we're finished with it.
30378
30379         * gst/gstmessage.c (gst_message_new_state_changed): 
30380
30381 2005-05-10  Wim Taymans  <wim@fluendo.com>
30382
30383         * gst/gstvalue.c: (gst_value_compare_flags),
30384         (gst_value_serialize_flags), (gst_value_deserialize_flags),
30385         (_gst_value_initialize):
30386         Added flags serialize/deserialize/compare code.
30387
30388 2005-05-09  Andy Wingo  <wingo@pobox.com>
30389
30390         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30391         Intersect the peer's caps with our caps.
30392
30393 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30394
30395         * gst/base/gsttypefindhelper.c: (helper_find_peek):
30396         * gst/elements/gsttypefindelement.c: (find_peek):
30397           Handle negative offsets better. Fixes decodebin.
30398
30399 2005-05-09  Wim Taymans  <wim@fluendo.com>
30400
30401         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30402         (gst_base_transform_event):
30403         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30404         Implement accept_caps.
30405         Fix silly lock/unlock mismatch in base class.
30406
30407 2005-05-09  Wim Taymans  <wim@fluendo.com>
30408
30409         * docs/design/draft-push-pull.txt:
30410         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30411         * gst/elements/gstfilesink.c: (gst_filesink_init),
30412         (gst_filesink_query):
30413         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30414         (gst_type_find_handle_src_query), (find_element_get_length):
30415         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30416         * gst/gstelement.h:
30417         * gst/gstmessage.c:
30418         * gst/gstmessage.h:
30419         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30420         (gst_real_pad_get_caps_unlocked),
30421         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30422         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30423         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30424         (gst_real_pad_dispose), (gst_real_pad_finalize),
30425         (gst_pad_load_and_link), (gst_pad_save_thyself),
30426         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30427         (gst_pad_check_pull_range), (gst_pad_pull_range),
30428         (gst_pad_template_get_type), (gst_pad_template_class_init),
30429         (gst_pad_template_init), (gst_pad_template_dispose),
30430         (name_is_valid), (gst_static_pad_template_get),
30431         (gst_pad_template_new), (gst_static_pad_template_get_caps),
30432         (gst_pad_template_get_caps), (gst_pad_set_element_private),
30433         (gst_pad_get_element_private), (gst_pad_start_task),
30434         (gst_pad_pause_task), (gst_pad_stop_task),
30435         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30436         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30437         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30438         (gst_ghost_pad_new):
30439         * gst/gstpad.h:
30440         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30441         (gst_query_new_position), (gst_query_set_position),
30442         (gst_query_parse_position), (gst_query_new_convert),
30443         (gst_query_set_convert), (gst_query_parse_convert):
30444         * gst/gstquery.h:
30445         * gst/gstqueryutils.c:
30446         * gst/gstqueryutils.h:
30447         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30448         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30449         (gst_queue_handle_src_query):
30450         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30451         (gst_element_query_position), (gst_element_query_convert),
30452         (intersect_caps_func), (gst_pad_query_position),
30453         (gst_pad_query_convert):
30454         * gst/gstutils.h:
30455         * tools/gst-inspect.c: (print_pad_info):
30456         * tools/gst-xmlinspect.c: (print_element_info):
30457         Remove old query functions. Ported old code.
30458         Added position/convert helper functions to gstutils.
30459         Reordered gstpad.c code, grouping relevant things.
30460         Remove gst_message_new(), always need to speficy a specific
30461         message.
30462
30463
30464 2005-05-09  Andy Wingo  <wingo@pobox.com>
30465
30466         * gst/gstiterator.h: Add some includes.
30467
30468         * gst/gstqueryutils.h: Include more headers.
30469
30470         * gst/gstpad.h:
30471         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30472         some uses of gst_pad_query.
30473
30474         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30475         NULL out parameters.
30476         (gst_query_new_position): New proc, allocates a new position
30477         query.
30478
30479         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30480         gstqueryutils.c to the build.
30481
30482         * gst/gststructure.c (gst_structure_set_valist): Implement with
30483         the generic G_VALUE_COLLECT.
30484         
30485 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
30486
30487         * gst/Makefile.am: (gst_headers):
30488         Added gstqueryutils.h to the list of headers to install, that was
30489         a 'nachty' move wingo :)
30490
30491 2005-05-06  Andy Wingo  <wingo@pobox.com>
30492
30493         * gst/gstquery.h
30494         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30495         GstData, init a memchunk.
30496         (standard_definitions): Add a few query types, deprecate a few.
30497         (gst_query_get_type): New proc.
30498         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30499         implementation.
30500         (gst_query_new_application, gst_query_get_structure): New public
30501         procs.
30502
30503         * docs/design/draft-query.txt: Removed LINKS from the query types,
30504         because all the rest can be dispatched to other pads -- seemed
30505         ugly to have a query that couldn't be dispatched. internal_links
30506         is fine as a pad method.
30507
30508         * gst/gstpad.h: Add query2 as a pad method, add the new functions
30509         in gstpad.c, but maintain binary compatibility for the moment.
30510         Will fix before 0.9 is out.
30511
30512         * gst/gstqueryutils.c: 
30513         * gst/gstqueryutils.h: New files, implement 3 methods for each
30514         query type: parse_query, parse_response, and set. Probably need an
30515         allocator as well.
30516
30517         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30518
30519         * gst/elements/gstfilesink.c (gst_filesink_query2):
30520         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30521         query_types, and formats methods.
30522
30523         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30524         (gst_pad_set_query2_function): New functions.
30525         (gst_real_pad_init): Set query2_default as the default query2
30526         function. Basically just dispatches to internally linked pads.
30527
30528         Needs review!
30529         
30530         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30531         without using the atomic operations. Only one thread can possibly
30532         be accessing the data at this point. Changed so as to avoid
30533         gst_atomic operations.
30534
30535 2005-05-06  Wim Taymans  <wim@fluendo.com>
30536
30537         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30538         Also set caps if we use the fallback buffer alloc.
30539
30540 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
30541
30542         * docs/gst/Makefile.am:
30543         * docs/gst/gstreamer-docs.sgml:
30544         * docs/gst/gstreamer-sections.txt:
30545         * docs/gst/tmpl/gstatomic.sgml:
30546         * docs/gst/tmpl/gstmemchunk.sgml:
30547         * testsuite/elements/struct_i386.h:
30548         * win32/GStreamer.vcproj:
30549         * win32/Makefile:
30550           Purge GstAtomic stuff from docs and win32 makefiles as well
30551
30552 2005-05-06  Wim Taymans  <wim@fluendo.com>
30553
30554         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30555         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30556         * gst/gstpad.c: (gst_pad_peer_get_caps):
30557         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30558         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30559         (gst_queue_src_activate), (gst_queue_change_state):
30560         * gst/gstqueue.h:
30561         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30562         (intersect_caps_func):
30563         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30564         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30565         Some fixes for the peer_get_caps() change.
30566
30567 2005-05-06  Wim Taymans  <wim@fluendo.com>
30568
30569         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30570         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30571         (gst_basesink_activate):
30572         Actually do something with error codes returned from the push
30573         functions.
30574
30575 2005-05-06  Wim Taymans  <wim@fluendo.com>
30576
30577         * docs/design/part-element-sink.txt:
30578         * docs/design/part-element-source.txt:
30579         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30580         (gst_basesink_event), (gst_basesink_activate):
30581         * gst/base/gstbasesink.h:
30582         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30583         (gst_basesrc_activate):
30584         * gst/base/gstbasesrc.h:
30585         * gst/gstelement.c: (gst_element_pads_activate):
30586         Some more documentation.
30587         Fixed scheduling decision in _pads_activate().
30588
30589 2005-05-05  Andy Wingo  <wingo@pobox.com>
30590
30591         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30592         the test suite.
30593
30594 2005-05-05  Wim Taymans  <wim@fluendo.com>
30595
30596         * gst/base/Makefile.am:
30597         * gst/base/gstbasesink.h:
30598         * gst/base/gstbasesrc.c: (gst_basesrc_init),
30599         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30600         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30601         (gst_collectpads_class_init), (gst_collectpads_init),
30602         (gst_collectpads_finalize), (gst_collectpads_new),
30603         (gst_collectpads_set_function), (gst_collectpads_add_pad),
30604         (find_pad), (gst_collectpads_remove_pad),
30605         (gst_collectpads_is_active), (gst_collectpads_collect),
30606         (gst_collectpads_collect_range), (gst_collectpads_start),
30607         (gst_collectpads_stop), (gst_collectpads_peek),
30608         (gst_collectpads_pop), (gst_collectpads_available),
30609         (gst_collectpads_read), (gst_collectpads_flush),
30610         (gst_collectpads_chain):
30611         * gst/base/gstcollectpads.h:
30612         * gst/elements/Makefile.am:
30613         * gst/elements/gstelements.c:
30614         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30615         (gst_fakesink_get_times), (gst_fakesink_event),
30616         (gst_fakesink_preroll), (gst_fakesink_render):
30617         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30618         (gst_filesink_init), (gst_filesink_set_location),
30619         (gst_filesink_open_file), (gst_filesink_close_file),
30620         (gst_filesink_pad_query), (gst_filesink_event),
30621         (gst_filesink_render), (gst_filesink_change_state):
30622         * gst/elements/gstfilesink.h:
30623         Added object to help in making collect pad based elements.
30624         Ported filesink.
30625         Make event function in sink baseclass return gboolean.
30626
30627 2005-05-05  Wim Taymans  <wim@fluendo.com>
30628
30629         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30630         (gst_bin_get_by_name):
30631         * gst/gstbuffer.h:
30632         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30633         (gst_clock_finalize):
30634         * gst/gstdata.c: (gst_data_replace):
30635         * gst/gstdata.h:
30636         * gst/gstelement.c: (gst_element_request_pad),
30637         (gst_element_pads_activate):
30638         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30639         (gst_object_unref):
30640         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30641         (gst_pad_set_checkgetrange_function),
30642         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30643         (gst_pad_check_pull_range), (gst_pad_pull_range),
30644         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30645         (gst_pad_pause_task), (gst_pad_stop_task):
30646         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30647         (gst_element_request_pad), (gst_pad_proxy_getcaps):
30648         Fix name lookup in GstBin.
30649         Added _data_replace() function and _buffer_replace()
30650         Use finalize method to clean up clock.
30651         Fix refcounting on request pads.
30652         Fix pad schedule mode error.
30653         Some more object refcounting debug info,
30654
30655
30656 2005-05-04  Andy Wingo <wingo@pobox.com>
30657
30658         * check/Makefile.am:
30659         * docs/gst/tmpl/gstatomic.sgml:
30660         * docs/gst/tmpl/gstplugin.sgml:
30661         * gst/base/gstbasesink.c: (gst_basesink_activate):
30662         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30663         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30664         (gst_basesrc_query), (gst_basesrc_set_property),
30665         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30666         (gst_basesrc_activate):
30667         * gst/base/gstbasesrc.h:
30668         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30669         (gst_base_transform_src_activate):
30670         * gst/elements/gstelements.c:
30671         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30672         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30673         * gst/elements/gsttee.c: (gst_tee_sink_activate):
30674         * gst/elements/gsttypefindelement.c: (find_element_get_length),
30675         (gst_type_find_element_checkgetrange),
30676         (gst_type_find_element_activate):
30677         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30678         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30679         (gst_caps_load_thyself):
30680         * gst/gstelement.c: (gst_element_pads_activate),
30681         (gst_element_save_thyself), (gst_element_restore_thyself):
30682         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30683         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30684         * gst/gstpad.h:
30685         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30686         (gst_xml_parse_file), (gst_xml_parse_memory),
30687         (gst_xml_get_element), (gst_xml_make_element):
30688         * gst/indexers/gstfileindex.c: (gst_file_index_load),
30689         (_file_index_id_save_xml), (gst_file_index_commit):
30690         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30691         (read_enum), (load_pad_template), (load_feature), (load_plugin),
30692         (load_paths):
30693         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30694         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30695         * tools/gst-complete.c: (main):
30696         * tools/gst-compprep.c: (main):
30697         * tools/gst-inspect.c: (print_element_properties_info):
30698         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30699         * tools/gst-xmlinspect.c: (print_element_properties):
30700         GCC 4 fixen.
30701         
30702 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
30703
30704         * gst/gstplugin.c: (gst_plugin_check_module),
30705         (gst_plugin_check_file), (gst_plugin_load_file):
30706             apply patch from #172526 to make register work on MacOSX
30707
30708 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30709
30710         * docs/gst/tmpl/gstconfig.sgml:
30711         * gst/gstconfig.h.in:
30712           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
30713         * testsuite/debug/printf_extension.c: (main):
30714           Do not use GST_PTR_FORMAT on pointers to types with
30715           sizeof < sizeof(gpointer).  Fixes test on 64-bit
30716         * testsuite/elements/property.h:
30717           use correct printf format
30718
30719 2005-05-02  Wim Taymans  <wim@fluendo.com>
30720
30721         * docs/design/draft-push-pull.txt:
30722         * docs/design/draft-query.txt:
30723         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30724         (gst_basesrc_start):
30725         Added draft for new query API.
30726         Added draft for better selecting scheduling methods.
30727         Make basesrc ignore length if the subclass does not support
30728         it.
30729
30730 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30731
30732         * gst/Makefile.am:
30733           possible fixes for automake-1.5 - _LIBADD is reserved
30734
30735 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30736
30737         * docs/faq/Makefile.am:
30738         * docs/manual/Makefile.am:
30739         * docs/manuals.mak:
30740         * docs/pwg/Makefile.am:
30741         * gst/Makefile.am:
30742           possible fixes for automake-1.5
30743
30744 2005-04-28  Wim Taymans  <wim@fluendo.com>
30745
30746         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30747         (gst_basesink_pad_getcaps), (gst_basesink_init),
30748         (gst_basesink_do_sync):
30749         * gst/gstclock.c: (gst_clock_entry_new):
30750         * gst/gstevent.c: (gst_event_discont_get_value):
30751         * gst/gstpipeline.c: (pipeline_bus_handler),
30752         (gst_pipeline_change_state):
30753         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30754         Better debugging of clocking info.
30755         Allow NULL values when getting discont values.
30756
30757 2005-04-27  Wim Taymans  <wim@fluendo.com>
30758
30759         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30760         * check/gst/gstpad.c: (gst_pad_suite):
30761         Increase timeout for checks.
30762
30763 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30764
30765         * check/Makefile.am:
30766           fix the broken rule for cleanup.  Apparently this rule is
30767           only needed on FC2, so maybe this warrants further autotool
30768           inspection.
30769
30770 2005-04-26  Wim Taymans  <wim@fluendo.com>
30771
30772         * gst/gsttrashstack.h:
30773         Ooohh. a nasty one! After having a failed pop() from the stack,
30774         it's possible that the stack is empty. In that case, don't
30775         follow the NULL pointer.
30776
30777 2005-04-25  Wim Taymans  <wim@fluendo.com>
30778
30779         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30780         (gst_pad_set_checkgetrange_function),
30781         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30782         (gst_pad_check_pull_range), (gst_pad_pull_range),
30783         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30784         (gst_pad_pause_task), (gst_pad_stop_task):
30785         * gst/gstplugin.c: (gst_plugin_load):
30786         * gst/gstplugin.h:
30787         Remove gst_library_load as it does more harm than good with
30788         the new g_module flags.
30789         Revert bogus caps template check in pad linking, pad caps
30790         are important when linking not the template, which is more
30791         general than the current caps.
30792
30793 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30794
30795         * gst/autoplug/.cvsignore:
30796         * gst/autoplug/Makefile.am:
30797         * gst/autoplug/gstsearchfuncs.c:
30798         * gst/autoplug/gstsearchfuncs.h:
30799         * gst/autoplug/gstspider.c:
30800         * gst/autoplug/gstspider.h:
30801         * gst/autoplug/gstspideridentity.c:
30802         * gst/autoplug/gstspideridentity.h:
30803         * gst/autoplug/spidertest.c:
30804           Die, spider, die.
30805
30806 2005-04-25  Wim Taymans  <wim@fluendo.com>
30807
30808         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30809         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30810         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
30811         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
30812         * gst/gstpad.h:
30813         Added stubs for unimplemented functions. 
30814
30815 2005-04-24  David Schleef  <ds@schleef.org>
30816
30817         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
30818         please fix.
30819
30820 2005-04-24  David Schleef  <ds@schleef.org>
30821
30822         Convert everything from GstAtomicInt to g_atomic_int_*, and
30823         remove gstatomic.
30824         * gst/Makefile.am:
30825         * gst/gstatomic.c:
30826         * gst/gstatomic.h:
30827         * gst/gstatomic_impl.h:
30828         * gst/gstbuffer.c:
30829         * gst/gstcaps.c:
30830         * gst/gstcaps.h:
30831         * gst/gstclock.c:
30832         * gst/gstclock.h:
30833         * gst/gstdata.c:
30834         * gst/gstdata.h:
30835         * gst/gstdata_private.h:
30836         * gst/gstevent.c:
30837         * gst/gstinfo.c:
30838         * gst/gstinfo.h:
30839         * gst/gstmessage.c:
30840         * gst/gstobject.c:
30841         * gst/gstobject.h:
30842         * gst/gststructure.c:
30843         * gst/gststructure.h:
30844         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
30845         * gst/gstutils.h:
30846
30847 2005-04-24  David Schleef  <ds@schleef.org>
30848
30849         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
30850         make the regressions tests work.  Remove some code that is no
30851         longer true.
30852         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
30853         Disable warning for pads without templates.
30854
30855 2005-04-24  David Schleef  <ds@schleef.org>
30856
30857         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
30858         functions that handle filtered links.
30859         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
30860         removed functions.
30861         * gst/gstutils.c: Fix/remove utility functions that handle
30862         filtered caps.
30863         * gst/gstutils.h:
30864         * gst/gstvalue.c: Add serialization/deserialization of caps
30865         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
30866         requires fixing so that the filter caps notation creates
30867         a capsfilter element and sets the filter_caps property.  I
30868         think everyone probably wants to keep the shorthand notation.
30869         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
30870         * docs/gst/tmpl/gstpad.sgml:
30871
30872         * gst/elements/gstelements.c: Register capsfilter element.
30873         * gst/Makefile.am: fix spacing
30874         * docs/random/ds/0.9-suggested-changes: random
30875
30876 2005-04-23  David Schleef  <ds@schleef.org>
30877
30878         * gst/elements/Makefile.am:
30879         * gst/elements/gstcapsfilter.c: New element that acts like an
30880         identity, but filters caps.  Will eventually replace filtered
30881         caps in pad linking.
30882         * gst/gstutils.c: (gst_element_create_all_pads): New function
30883         to create all the ALWAYS pads that are registered with an
30884         element class.  This functionality should eventually be
30885         merged in with GstElement initialization.
30886         * gst/gstutils.h:
30887         * testsuite/trigger/README: part of trigger test code that should
30888         have been checked in a long time ago.
30889
30890 2005-04-23  David Schleef  <ds@schleef.org>
30891
30892         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
30893         needed with new versions of libtool (nobody will confirm this),
30894         and hard to carry around.
30895         * gst/autoplug/Makefile.am:
30896         * gst/base/Makefile.am:
30897         * gst/elements/Makefile.am:
30898         * gst/indexers/Makefile.am:
30899         * gst/schedulers/Makefile.am:
30900         * libs/gst/bytestream/Makefile.am:
30901         * libs/gst/control/Makefile.am:
30902         * libs/gst/dataprotocol/Makefile.am:
30903         * libs/gst/getbits/Makefile.am:
30904
30905 2005-04-21  Wim Taymans  <wim@fluendo.com>
30906
30907         * docs/design/draft-push-pull.txt:
30908         * docs/design/part-MT-refcounting.txt:
30909         * docs/design/part-TODO.txt:
30910         * docs/design/part-caps.txt:
30911         * docs/design/part-events.txt:
30912         * docs/design/part-gstbus.txt:
30913         * docs/design/part-gstpipeline.txt:
30914         * docs/design/part-messages.txt:
30915         * docs/design/part-push-pull.txt:
30916         * docs/design/part-query.txt:
30917         Some more docs.
30918
30919 2005-04-21  Wim Taymans  <wim@fluendo.com>
30920
30921         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
30922         (gst_message_new), (gst_message_new_error),
30923         (gst_message_new_warning), (gst_message_new_tag),
30924         (gst_message_new_state_changed), (gst_message_new_application),
30925         (gst_message_get_structure):
30926         * gst/gstmessage.h:
30927         * gst/gststructure.c: (gst_structure_set_parent_refcount),
30928         (gst_structure_copy_conditional):
30929         Use parent refcount in GstMessage to ensure GstStructure
30930         consistency.
30931         Cleaned up headers a bit.
30932         
30933
30934 2005-04-20  Wim Taymans  <wim@fluendo.com>
30935
30936         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30937         (gst_basesink_pad_getcaps), (gst_basesink_init),
30938         (gst_basesink_chain_unlocked):
30939         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
30940         (gst_type_find_helper):
30941         * gst/elements/gsttypefindelement.c:
30942         (gst_type_find_element_have_type), (gst_type_find_element_init),
30943         (stop_typefinding), (gst_type_find_element_handle_event),
30944         (find_suggest), (gst_type_find_element_chain),
30945         (gst_type_find_element_checkgetrange),
30946         (gst_type_find_element_getrange), (do_typefind),
30947         (gst_type_find_element_activate):
30948         * gst/gstbuffer.c: (_gst_buffer_sub_free),
30949         (gst_buffer_default_free), (gst_buffer_default_copy),
30950         (gst_buffer_set_caps):
30951         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
30952         (gst_caps_replace):
30953         * gst/gstmessage.c: (gst_message_new),
30954         (gst_message_new_state_changed):
30955         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30956         (gst_pad_set_checkgetrange_function),
30957         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
30958         (gst_pad_set_caps), (gst_pad_check_pull_range),
30959         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
30960         * gst/gstpad.h:
30961         * gst/gsttypefind.c: (gst_type_find_register):
30962         Make gst_caps_replace() work like other _replace() functions.
30963         Use _caps_replace() where possible.
30964         Make sure _message_new() initialises its field.
30965         Add gst_static_pad_template_get_caps()
30966
30967
30968 2005-04-18  Andy Wingo  <wingo@pobox.com>
30969
30970         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
30971         on the peer, not the pad. I think that was a typo. Pass an extra
30972         arg to see if random access is possible. Activate the pads as
30973         PULL_RANGE if possible.
30974
30975         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
30976
30977         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
30978         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
30979         to PROP_....
30980
30981 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30982
30983         * docs/faq/using.xml:
30984           Add note on gstreamer-properties (#154996).
30985
30986 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30987
30988         * docs/random/bbb/optional-properties:
30989           Some analysis on optional properties.
30990
30991 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30992
30993         * docs/gst/tmpl/gstelementfactory.sgml:
30994         * gst/gstelement.h:
30995         * gst/gstelementfactory.c: (gst_element_factory_init),
30996         (gst_element_factory_cleanup), (gst_element_register),
30997         (__gst_element_factory_add_static_pad_template),
30998         (gst_element_factory_get_static_pad_templates),
30999         (gst_element_factory_can_src_caps),
31000         (gst_element_factory_can_sink_caps):
31001         * gst/registries/Makefile.am:
31002         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
31003         (gst_xml_registry_class_init), (gst_xml_registry_init),
31004         (gst_xml_registry_new), (gst_xml_registry_set_property),
31005         (gst_xml_registry_get_property), (get_time), (make_dir),
31006         (gst_xml_registry_get_perms_func),
31007         (plugin_times_older_than_recurse), (plugin_times_older_than),
31008         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
31009         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
31010         (add_to_char_array), (read_string), (read_uint), (read_enum),
31011         (load_pad_template), (load_feature), (load_plugin), (load_paths),
31012         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
31013         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
31014         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
31015         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
31016         (gst_xml_registry_rebuild):
31017         * gst/registries/gstlibxmlregistry.h:
31018         * tools/gst-compprep.c: (main):
31019         * tools/gst-inspect.c: (print_pad_templates_info):
31020         * tools/gst-xmlinspect.c: (print_element_info):
31021           Use libxml2 for registry parsing, use staticpadtemplates in
31022           elementfactories. Makes gst_init() +/- 10x faster.
31023
31024 2005-04-12  Wim Taymans  <wim@fluendo.com>
31025
31026         * gst/base/Makefile.am:
31027         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31028         (gst_basesink_pad_getcaps), (gst_basesink_init),
31029         (gst_basesink_event), (gst_basesink_change_state):
31030         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31031         (gst_basesrc_init), (gst_basesrc_query),
31032         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31033         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31034         (gst_basesrc_check_get_range), (gst_basesrc_loop),
31035         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31036         (gst_basesrc_stop), (gst_basesrc_activate),
31037         (gst_basesrc_change_state):
31038         * gst/base/gsttypefindhelper.c: (helper_find_peek),
31039         (helper_find_suggest), (gst_type_find_helper):
31040         * gst/base/gsttypefindhelper.h:
31041         * gst/elements/Makefile.am:
31042         * gst/elements/gstelements.c:
31043         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
31044         (gst_fakesink_get_times), (gst_fakesink_event),
31045         (gst_fakesink_preroll), (gst_fakesink_render):
31046         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31047         (gst_fakesrc_init), (gst_fakesrc_event_handler),
31048         (gst_fakesrc_get_property), (gst_fakesrc_create),
31049         (gst_fakesrc_start), (gst_fakesrc_stop):
31050         * gst/elements/gstfakesrc.h:
31051         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
31052         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31053         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31054         (gst_filesrc_create_read), (gst_filesrc_create),
31055         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
31056         (gst_filesrc_start):
31057         * gst/elements/gsttypefindelement.c:
31058         (gst_type_find_element_have_type), (gst_type_find_element_init),
31059         (start_typefinding), (stop_typefinding), (push_buffer_store),
31060         (gst_type_find_element_handle_event),
31061         (gst_type_find_element_chain),
31062         (gst_type_find_element_checkgetrange),
31063         (gst_type_find_element_getrange), (do_typefind),
31064         (gst_type_find_element_activate),
31065         (gst_type_find_element_change_state):
31066         * gst/elements/gsttypefindelement.h:
31067         * gst/gstpipeline.c: (pipeline_bus_handler):
31068         Added typefind helper.
31069         Small preroll fix in the base sink.
31070         Disable typefind code in basesrc.
31071         Crude port of typefindelement.
31072         Fakesrc cleanups.
31073
31074
31075 2005-04-11  Wim Taymans  <wim@fluendo.com>
31076
31077         * check/gst/gstbus.c: (gstbus_suite):
31078         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
31079         * check/gstcheck.h:
31080           Fix up the timeout so that the test does not fail.
31081
31082 2005-04-06  Wim Taymans  <wim@fluendo.com>
31083
31084         * gst/base/README:
31085         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31086         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
31087         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31088         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31089         (gst_basesrc_check_get_range), (gst_basesrc_loop),
31090         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31091         (gst_basesrc_stop), (gst_basesrc_activate),
31092         (gst_basesrc_change_state), (basesrc_find_peek),
31093         (basesrc_find_suggest), (gst_basesrc_type_find):
31094         * gst/base/gstbasesrc.h:
31095         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
31096         (gst_filesrc_class_init), (gst_filesrc_init),
31097         (gst_filesrc_finalize), (gst_filesrc_set_location),
31098         (gst_filesrc_set_property), (gst_filesrc_get_property),
31099         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31100         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31101         (gst_filesrc_create_read), (gst_filesrc_create),
31102         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
31103         * gst/elements/gstfilesrc.h:
31104         * gst/gstelement.c: (gst_element_get_state_func),
31105         (gst_element_lost_state), (gst_element_pads_activate):
31106         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31107         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
31108         (gst_pad_pull_range):
31109         * gst/gstpad.h:
31110         More work on the generic source base class, implement seeking,
31111         query.
31112         Make filesrc extend the base source class.
31113         Added gst_pad_set_checkgetrange_function to GstPad.
31114
31115 2005-04-06  Andy Wingo  <wingo@pobox.com>
31116
31117         * pkgconfig/gstreamer-base.pc.in:
31118         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
31119
31120         * pkgconfig/Makefile.am:
31121         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
31122
31123 2005-04-04  Wim Taymans  <wim@fluendo.com>
31124
31125         * gst/base/Makefile.am:
31126         * gst/base/README:
31127         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31128         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31129         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31130         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
31131         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31132         (gst_basesrc_base_init), (gst_basesrc_class_init),
31133         (gst_basesrc_init), (gst_basesrc_get_formats),
31134         (gst_basesrc_get_query_types), (gst_basesrc_query),
31135         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
31136         (gst_basesrc_set_property), (gst_basesrc_get_property),
31137         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
31138         (gst_basesrc_loop), (gst_basesrc_activate),
31139         (gst_basesrc_change_state):
31140         * gst/base/gstbasesrc.h:
31141         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
31142         (gst_fakesrc_class_init), (gst_fakesrc_init),
31143         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
31144         (gst_fakesrc_get_property), (gst_fakesrc_create):
31145         * gst/elements/gstfakesrc.h:
31146         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
31147         (gst_filesrc_open_file), (gst_filesrc_loop),
31148         (gst_filesrc_activate), (filesrc_find_peek),
31149         (gst_filesrc_type_find):
31150         Made base source class, make fakesrc extend it.
31151         Add comments to basesink class.
31152         Some filesrc cleanup.
31153
31154 2005-03-31  David Schleef  <ds@schleef.org>
31155
31156         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
31157         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
31158         expected to link against libgstreamer.
31159         * gst/base/Makefile.am: link against libgstreamer
31160         * gst/elements/Makefile.am: same
31161
31162 2005-03-31  Andy Wingo  <wingo@pobox.com>
31163
31164         * tests/instantiate/Makefile.am:
31165         * tests/instantiate/caps.c: Add test to test speed of caps copy
31166         and free.
31167
31168         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
31169         GMemChunk to be fair.
31170
31171         * gst/gsttrashstack.h: Remove warning about using the fallback
31172         trash stack implementation, it's still faster than malloc.
31173
31174 2005-03-30  Andy Wingo  <wingo@pobox.com>
31175
31176         * tests/complexity.c: Add a copyright.
31177
31178 2005-03-31  Wim Taymans  <wim@fluendo.com>
31179
31180         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
31181         (gst_base_transform_class_init), (gst_base_transform_init),
31182         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
31183         (gst_base_transform_get_property),
31184         (gst_base_transform_sink_activate),
31185         (gst_base_transform_src_activate),
31186         (gst_base_transform_change_state):
31187         * gst/base/gstbasetransform.h:
31188         * gst/elements/gstidentity.c: (gst_identity_class_init),
31189         (gst_identity_event), (gst_identity_check_perfect),
31190         (gst_identity_transform), (gst_identity_start),
31191         (gst_identity_stop):
31192         Added start/stop methods to transform base class so subclasses 
31193         don't need to deal with state changes even.
31194
31195 2005-03-31  Wim Taymans  <wim@fluendo.com>
31196
31197         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
31198         (gst_event_new_discontinuous), (gst_event_discont_get_value):
31199         * gst/gstevent.h:
31200         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31201         (gst_pad_pull_range):
31202         Added rate to the discont event to prepare for variable speed
31203         and reverse playback.
31204
31205 2005-03-29  David Schleef  <ds@schleef.org>
31206
31207         * configure.ac:
31208         * testsuite/trigger/Makefile.am:
31209         * testsuite/trigger/trigger.c: A little example program to show
31210         how trigger-based elements can work.
31211
31212 2005-03-29  Wim Taymans  <wim@fluendo.com>
31213
31214         * gst/base/Makefile.am:
31215         * gst/base/README:
31216         * gst/base/gstbasesink.c: (gst_basesink_get_type),
31217         (gst_basesink_base_init), (gst_basesink_class_init),
31218         (gst_basesink_pad_getcaps), (gst_basesink_init),
31219         (gst_basesink_activate), (gst_basesink_change_state):
31220         * gst/base/gstbasesink.h:
31221         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
31222         (gst_base_transform_base_init), (gst_base_transform_finalize),
31223         (gst_base_transform_class_init), (gst_base_transform_init),
31224         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
31225         (gst_base_transform_event), (gst_base_transform_getrange),
31226         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
31227         (gst_base_transform_set_property),
31228         (gst_base_transform_get_property),
31229         (gst_base_transform_sink_activate),
31230         (gst_base_transform_src_activate),
31231         (gst_base_transform_change_state):
31232         * gst/base/gstbasetransform.h:
31233         * gst/elements/gstidentity.c: (gst_identity_finalize),
31234         (gst_identity_class_init), (gst_identity_init),
31235         (gst_identity_event), (gst_identity_check_perfect),
31236         (gst_identity_transform), (gst_identity_set_property),
31237         (gst_identity_get_property), (gst_identity_change_state):
31238         * gst/elements/gstidentity.h:
31239         * gst/gstelement.c: (gst_element_get_state_func),
31240         (gst_element_lost_state), (gst_element_pads_activate):
31241         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31242         (gst_pad_check_pull_range), (gst_pad_pull_range):
31243         * gst/gstpad.h:
31244         Simplify pad activation.
31245         Added function to check if pull_range can be performed.
31246         Error out when pulling inactive or flushing pads.
31247         Removed const from refcounted types as it does not make sense.
31248         Simplify pad templates in basesink
31249         Added base class for simple 1-to-1 transforms.
31250         Make identity subclass the base transform.
31251
31252 2005-03-29  Andy Wingo  <wingo@pobox.com>
31253
31254         * docs/libs/gstreamer-libs-overrides.txt: 
31255         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31256         really don't understand what's going on, but like whatever. I want
31257         green buildbot!
31258
31259         * docs/gst/Makefile.am:
31260         * docs/libs/Makefile.am: Dist the overrides files.
31261
31262         * check/Makefile.am (clean-local): Remove .libs directories.
31263
31264         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31265         elements to EXTRA_DIST, so po/ files are happy.
31266
31267         * po/POTFILES.in: Er, remove it here.
31268
31269         * po/POTFILES: Remove gstspider.c.
31270
31271         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31272
31273         * docs/libs/gstreamer-libs-docs.sgml: 
31274         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31275         bytestream.
31276
31277         * tests/complexity.c (main): Set the length of the preroll queue
31278         on the sinks to prevent a lockup.
31279
31280         * libs/gst/dataprotocol/Makefile.am: 
31281         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31282         the same as the one in check/gst-libs/gdp.c.
31283
31284         * po/, docs/gst/: Commit automatic changes to docs and po files.
31285
31286         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31287         the versioned libgstbase.
31288
31289         * check/Makefile.am: Depend on an unversioned gst-register, seems
31290         to make autoconf happier.
31291
31292         * gst/base/Makefile.am: Make libgstbase a versioned lib.
31293
31294 2005-03-28  Wim Taymans  <wim@fluendo.com>
31295
31296         * configure.ac:
31297         * docs/design/part-gstelement.txt:
31298         * docs/design/part-negotiation.txt:
31299         * docs/design/part-preroll.txt:
31300         * docs/design/part-scheduling.txt:
31301         * docs/design/part-states.txt:
31302         * gst/Makefile.am:
31303         * gst/base/Makefile.am:
31304         * gst/base/README:
31305         * gst/base/gstbasesink.c: (gst_basesink_get_template),
31306         (gst_basesink_base_init), (gst_basesink_class_init),
31307         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31308         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31309         (gst_basesink_set_pad_functions),
31310         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31311         (gst_basesink_set_property), (gst_basesink_get_property),
31312         (gst_base_sink_get_template), (gst_base_sink_get_caps),
31313         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31314         (gst_basesink_preroll_queue_push),
31315         (gst_basesink_preroll_queue_empty),
31316         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31317         (gst_basesink_event), (gst_basesink_get_times),
31318         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31319         (gst_basesink_chain_unlocked), (gst_basesink_chain),
31320         (gst_basesink_loop), (gst_basesink_activate),
31321         (gst_basesink_change_state):
31322         * gst/base/gstbasesink.h:
31323         * gst/elements/Makefile.am:
31324         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31325         (gst_fakesink_class_init), (gst_fakesink_init),
31326         (gst_fakesink_set_property), (gst_fakesink_get_property),
31327         (gst_fakesink_get_times), (gst_fakesink_event),
31328         (gst_fakesink_preroll), (gst_fakesink_render),
31329         (gst_fakesink_change_state):
31330         * gst/elements/gstfakesink.h:
31331         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31332         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31333         * gst/gstelement.c: (gst_element_add_pad),
31334         (gst_element_get_state_func), (gst_element_abort_state),
31335         (gst_element_commit_state), (gst_element_lost_state),
31336         (gst_element_set_state), (gst_element_pads_activate):
31337         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31338         * gst/gstpipeline.c: (gst_pipeline_send_event),
31339         (gst_pipeline_change_state):
31340         Added state change code.
31341         Added/updated docs.
31342         Added sink base class, make fakesink extend the base class.
31343         Small cleanups in GstPipeline.
31344
31345 2005-03-26  David Schleef  <ds@schleef.org>
31346
31347         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
31348         is broken and should be implemented in a different library.
31349         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31350         * gst/gst.h: remove gstcpu.h
31351         * gst/gstcpu.c: remove
31352         * gst/gstcpu.h: remove
31353         * gst/Makefile.am.future: Remove this file.  It's ancient.
31354
31355 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31356
31357         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31358         (gst_bin_send_event):
31359           Add default event/set_manager handlers. The set_manager handler
31360           takes care that the manager is distributed over kids that were
31361           already in the bin before the manager was set. The event handler
31362           is a utility virtual function that sends the event over all sinks,
31363           so that gst_element_send_event (bin, event); has the expected
31364           behaviour.
31365         * gst/gstpad.c: (gst_pad_event_default):
31366           Re-install default event handling for discontinuities, so that
31367           seeking works without requiring hacks in applications or extra
31368           code in sinks.
31369         * gst/gstpipeline.c: (gst_pipeline_class_init),
31370         (gst_pipeline_send_event):
31371           Half hack, half utility: set a pipeline to PAUSED for seek events,
31372           since that is the only way we can guarantee a/v sync. Means that
31373           you can do gst_element_seek (pipeline, method, pos); on a pipeline
31374           and it "just works".
31375
31376 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31377
31378         * gst/gstpipeline.c: (gst_pipeline_use_clock):
31379           Lock/unlock mismatch.
31380
31381 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
31382
31383         * docs/faq/gst-uninstalled:
31384           add gst-plugins-base
31385         * docs/gst/Makefile.am:
31386           don't error out until docs are fixed
31387         * docs/gst/gstreamer.types:
31388           remove thread
31389
31390 2005-03-22  Wim Taymans  <wim@fluendo.com>
31391
31392         * check/Makefile.am:
31393         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31394         * gst/gststructure.c: (gst_structure_set_valist),
31395         (gst_structure_copy_conditional):
31396         Activated more tests.
31397         Added message test.
31398         Added G_TYPE_POINTER to GstStructure.
31399         
31400
31401 2005-03-22  Wim Taymans  <wim@fluendo.com>
31402
31403         * docs/design/part-TODO.txt:
31404         * docs/design/part-events.txt:
31405         * docs/design/part-gstbin.txt:
31406         * docs/design/part-gstbus.txt:
31407         * docs/design/part-gstpipeline.txt:
31408         * docs/design/part-messages.txt:
31409         * gst/gstbus.c:
31410         * gst/gstmessage.c:
31411         Docs updates
31412
31413 2005-03-21  Wim Taymans  <wim@fluendo.com>
31414
31415         * gst/gstbus.c: (gst_bus_post):
31416         Fix copy-and-paste error.
31417
31418 2005-03-21  Wim Taymans  <wim@fluendo.com>
31419
31420         * check/Makefile.am:
31421         * gst/Makefile.am:
31422         * gst/elements/Makefile.am:
31423         * gst/elements/gstelements.c:
31424         * gst/elements/gstfakesink.c: (gst_fakesink_init),
31425         (gst_fakesink_event), (gst_fakesink_chain):
31426         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31427         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31428         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31429         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31430         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31431         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31432         (gst_fakesrc_loop), (gst_fakesrc_activate),
31433         (gst_fakesrc_change_state):
31434         * gst/elements/gstfakesrc.h:
31435         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31436         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31437         (gst_filesrc_open_file), (gst_filesrc_loop),
31438         (gst_filesrc_activate), (gst_filesrc_change_state),
31439         (filesrc_find_peek), (filesrc_find_suggest),
31440         (gst_filesrc_type_find):
31441         * gst/elements/gstidentity.c: (gst_identity_finalize),
31442         (gst_identity_class_init), (gst_identity_init),
31443         (gst_identity_proxy_getcaps), (identity_queue_push),
31444         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31445         (gst_identity_getrange), (gst_identity_chain),
31446         (gst_identity_sink_loop), (gst_identity_src_loop),
31447         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31448         (gst_identity_set_property), (gst_identity_get_property),
31449         (gst_identity_change_state):
31450         * gst/elements/gstidentity.h:
31451         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31452         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31453         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31454         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31455         (gst_tee_sink_activate):
31456         * gst/elements/gsttee.h:
31457         * gst/gst.c: (gst_register_core_elements), (init_post):
31458         * gst/gst.h:
31459         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31460         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31461         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31462         (gst_bin_change_state):
31463         * gst/gstbin.h:
31464         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31465         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31466         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31467         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31468         (gst_bus_set_sync_handler), (gst_bus_create_watch),
31469         (bus_watch_callback), (bus_watch_destroy),
31470         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31471         (poll_timeout), (gst_bus_poll):
31472         * gst/gstbus.h:
31473         * gst/gstcaps.h:
31474         * gst/gstdata.h:
31475         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31476         (gst_element_post_message), (gst_element_message_full),
31477         (gst_element_get_state_func), (gst_element_get_state),
31478         (gst_element_abort_state), (gst_element_commit_state),
31479         (gst_element_lost_state), (gst_element_set_state),
31480         (gst_element_pads_activate), (gst_element_change_state),
31481         (gst_element_dispose), (gst_element_set_manager_func),
31482         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31483         (gst_element_set_manager), (gst_element_get_manager),
31484         (gst_element_set_bus), (gst_element_get_bus),
31485         (gst_element_set_scheduler), (gst_element_get_scheduler):
31486         * gst/gstelement.h:
31487         * gst/gstevent.c: (gst_event_new_segment_seek),
31488         (gst_event_new_flush):
31489         * gst/gstevent.h:
31490         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31491         (_gst_message_free), (gst_message_get_type), (gst_message_new),
31492         (gst_message_new_eos), (gst_message_new_error),
31493         (gst_message_new_warning), (gst_message_new_tag),
31494         (gst_message_new_state_changed), (gst_message_new_application),
31495         (gst_message_get_structure), (gst_message_parse_tag),
31496         (gst_message_parse_state_changed), (gst_message_parse_error),
31497         (gst_message_parse_warning):
31498         * gst/gstmessage.h:
31499         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31500         (gst_real_pad_set_property), (gst_pad_set_active),
31501         (gst_pad_is_active), (gst_pad_set_blocked_async),
31502         (gst_pad_set_blocked), (gst_pad_is_blocked),
31503         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31504         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31505         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31506         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31507         (gst_pad_link_filtered), (gst_pad_relink_filtered),
31508         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31509         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31510         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31511         (gst_pad_set_caps), (gst_pad_configure_sink),
31512         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31513         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31514         (gst_real_pad_dispose), (gst_real_pad_finalize),
31515         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31516         (gst_pad_event_default_dispatch), (gst_pad_event_default),
31517         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31518         * gst/gstpad.h:
31519         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31520         (pipeline_bus_handler), (gst_pipeline_change_state),
31521         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31522         * gst/gstpipeline.h:
31523         * gst/gstprobe.h:
31524         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31525         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31526         (gst_queue_link_src), (gst_queue_bufferalloc),
31527         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31528         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31529         (gst_queue_loop), (gst_queue_handle_src_event),
31530         (gst_queue_handle_src_query), (gst_queue_src_activate),
31531         (gst_queue_change_state):
31532         * gst/gstqueue.h:
31533         * gst/gstscheduler.c: (gst_scheduler_init),
31534         (gst_scheduler_dispose), (gst_scheduler_create_task),
31535         (gst_scheduler_factory_create):
31536         * gst/gstscheduler.h:
31537         * gst/gststructure.c: (gst_structure_get_type),
31538         (gst_structure_copy_conditional):
31539         * gst/gststructure.h:
31540         * gst/gsttaginterface.h:
31541         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31542         (gst_task_init), (gst_task_dispose), (gst_task_create),
31543         (gst_task_get_state), (gst_task_start), (gst_task_stop),
31544         (gst_task_pause):
31545         * gst/gsttask.h:
31546         * gst/gstthread.c:
31547         * gst/gstthread.h:
31548         * gst/gsttypes.h:
31549         * gst/schedulers/Makefile.am:
31550         * gst/schedulers/cothreads_compat.h:
31551         * gst/schedulers/entryscheduler.c:
31552         * gst/schedulers/faircothreads.c:
31553         * gst/schedulers/faircothreads.h:
31554         * gst/schedulers/fairscheduler.c:
31555         * gst/schedulers/gstbasicscheduler.c:
31556         * gst/schedulers/gstoptimalscheduler.c:
31557         * gst/schedulers/gthread-cothreads.h:
31558         * gst/schedulers/threadscheduler.c:
31559         (gst_thread_scheduler_task_get_type),
31560         (gst_thread_scheduler_task_class_init),
31561         (gst_thread_scheduler_task_init),
31562         (gst_thread_scheduler_task_start),
31563         (gst_thread_scheduler_task_stop),
31564         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31565         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31566         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31567         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31568         (plugin_init):
31569         * libs/gst/Makefile.am:
31570         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31571         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31572         (gst_file_pad_parent_set):
31573         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31574         (gst_dp_event_from_packet):
31575         * tests/complexity.c: (main):
31576         * tests/mass_elements.c: (main):
31577         * testsuite/states/locked.c: (message_received), (main):
31578         * testsuite/states/parent.c: (main):
31579         * tools/gst-inspect.c: (print_element_flag_info),
31580         (print_implementation_info), (print_pad_info):
31581         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31582         (main):
31583         * tools/gst-md5sum.c: (event_loop), (main):
31584         * tools/gst-typefind.c: (main):
31585         * tools/gst-xmlinspect.c: (print_element_info):
31586         Next big merge.
31587         Added GstBus for mainloop integration.
31588         Added GstMessage for sending notifications on the bus.
31589         Added GstTask as an abstraction for pipeline entry points.
31590         Removed GstThread.
31591         Removed Schedulers.
31592         Simplified GstQueue for multithreaded core.
31593         Made _link threadsafe, removed old capsnego.
31594         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31595         Added pad blocking functions.
31596         Reworked scheduling functions in GstPad to prepare for
31597         scheduling updates soon.
31598         Moved events out of data stream.
31599         Simplified GstEvent types.
31600         Added return values to push/pull.
31601         Removed clocking from GstElement.
31602         Added prototypes for state change function for next merge.
31603         Removed iterate from bins and state change management.
31604         Fixed some elements, disabled others for now.
31605         Fixed -inspect and -launch.
31606         Added check for GstBus.
31607
31608 2005-03-10  Wim Taymans  <wim@fluendo.com>
31609
31610         * docs/design/part-MT-refcounting.txt:
31611         * docs/design/part-clocks.txt:
31612         * docs/design/part-gstelement.txt:
31613         * docs/design/part-gstobject.txt:
31614         * docs/design/part-standards.txt:
31615         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31616         (gst_bin_remove_func), (gst_bin_remove):
31617         * gst/gstbin.h:
31618         * gst/gstbuffer.c:
31619         * gst/gstcaps.h:
31620         * testsuite/clock/clock1.c: (main):
31621         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31622         (main):
31623         * testsuite/dlopen/loadgst.c: (do_test):
31624         * testsuite/refcounting/bin.c: (add_remove_test1),
31625         (add_remove_test2), (main):
31626         * testsuite/refcounting/element.c: (main):
31627         * testsuite/refcounting/element_pad.c: (main):
31628         * testsuite/refcounting/pad.c: (main):
31629         * tools/gst-launch.c: (sigint_handler_sighandler):
31630         * tools/gst-typefind.c: (main):
31631         Doc updates.
31632         Added doc about clock.
31633         removed gst_bin_iterate_recurse_up(), marked methods
31634         for removal.
31635         Fix more testsuites.
31636
31637 2005-03-09  Wim Taymans  <wim@fluendo.com>
31638
31639         * gst/gstpad.c: (gst_pad_get_direction),
31640         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31641         (gst_pad_collect_valist):
31642         * testsuite/bins/interface.c: (main):
31643         * testsuite/caps/audioscale.c: (test_caps):
31644         * testsuite/caps/caps.c: (test1), (test2), (test3):
31645         * testsuite/caps/deserialize.c: (main):
31646         * testsuite/caps/enumcaps.c: (main):
31647         * testsuite/caps/filtercaps.c: (main):
31648         * testsuite/caps/intersect2.c: (main):
31649         * testsuite/caps/random.c: (main):
31650         * testsuite/caps/renegotiate.c: (my_fixate), (main):
31651         * testsuite/caps/sets.c: (check_caps):
31652         * testsuite/caps/simplify.c: (check_caps), (main):
31653         * testsuite/caps/subtract.c: (check_caps):
31654         Fix _pad_get_direction wrt ghostpads.
31655         Fix caps testsuite.
31656
31657 2005-03-09  Wim Taymans  <wim@fluendo.com>
31658
31659         * check/Makefile.am:
31660         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31661         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31662         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31663         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31664         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31665         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31666         (gst_bin_remove), (gst_bin_iterate_recurse_up),
31667         (bin_element_is_sink), (gst_bin_iterate_sinks),
31668         (gst_bin_iterate_all_by_interface):
31669         * gst/gstbin.h:
31670         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31671         (gst_element_change_state), (gst_element_dispose),
31672         (gst_element_finalize), (gst_element_set_loop_function):
31673         * gst/gstelement.h:
31674         * gst/gstiterator.c: (find_custom_fold_func):
31675         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31676         (gst_pad_collectv), (gst_pad_collect_valist),
31677         (gst_pad_template_new):
31678         * gst/gstpipeline.c: (gst_pipeline_class_init),
31679         (gst_pipeline_dispose), (gst_pipeline_set_property),
31680         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31681         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31682         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31683         * gst/gstutils.h:
31684         * gst/schedulers/entryscheduler.c:
31685         * gst/schedulers/gstbasicscheduler.c:
31686         (gst_basic_scheduler_cothreaded_chain),
31687         (gst_basic_scheduler_chain_add_element):
31688         * testsuite/bins/interface.c: (main):
31689         Added GstBin test.
31690         Added GstSystemClock test.
31691         Implemented clock distribution code in GstBin.
31692         Implemented iterate sinks method for future use.
31693         Rearranged gstelement.h
31694         Fix GstIterator comparison bug.
31695         Moved some code to GstPipeline, mostly clocking related.
31696
31697 2005-03-09  Wim Taymans  <wim@fluendo.com>
31698
31699         * configure.ac:
31700         * gst/gst_private.h:
31701         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31702         (gst_bin_remove_func), (gst_bin_remove),
31703         (gst_bin_get_by_name_recurse_up):
31704         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31705         (gst_clock_id_compare_func), (gst_clock_id_wait),
31706         (gst_clock_id_wait_async), (gst_clock_init),
31707         (gst_clock_adjust_unlocked), (gst_clock_get_time):
31708         * gst/gstelement.h:
31709         * gst/gstinfo.c: (_gst_debug_init):
31710         * gst/gstobject.h:
31711         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31712         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31713         * gst/gstpad.h:
31714         Bump version number, we're now 0.9.0
31715         Add future debugging category.
31716         Fix NULL _unref() in _get_by_name_recurse_up
31717         Rearrange gstpad.h.
31718         Update some docs.
31719
31720 2005-03-08  Wim Taymans  <wim@fluendo.com>
31721
31722         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31723         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31724         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31725         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31726         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31727         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31728         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31729         * gst/elements/gstidentity.c: (gst_identity_class_init):
31730         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31731         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31732         * gst/elements/gstshaper.c: (gst_shaper_class_init):
31733         * gst/elements/gststatistics.c: (gst_statistics_class_init):
31734         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31735         (gst_tee_link):
31736         * gst/gstelement.c: (gst_element_class_init),
31737         (gst_element_base_class_init), (gst_element_init),
31738         (gst_element_get_random_pad), (gst_element_wait_state_change),
31739         (gst_element_change_state), (gst_element_dispose),
31740         (gst_element_finalize), (gst_element_set_loop_function):
31741         * gst/gstelement.h:
31742         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31743         * gst/gstthread.c: (gst_thread_class_init),
31744         (gst_thread_release_children_locks), (gst_thread_change_state):
31745         * gst/schedulers/gstbasicscheduler.c:
31746         (gst_basic_scheduler_loopfunc_wrapper),
31747         (gst_basic_scheduler_chain_wrapper),
31748         (gst_basic_scheduler_src_wrapper),
31749         (gst_basic_scheduler_remove_element):
31750         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31751         Remove threadsafe properties. Fix elements because GObject
31752         complains when installing a property before declaring a
31753         set/get_property handler.
31754         Rearrange gstelement.h file, use STATE macros for state locks.
31755         Free mutexes in the finalize method instead of dispose.
31756
31757 2005-03-08  Wim Taymans  <wim@fluendo.com>
31758
31759         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31760         * gst/gstthread.c: (gst_thread_release_children_locks):
31761         Added parentage check.
31762         Fix build og GstThread again.
31763
31764 2005-03-08  Wim Taymans  <wim@fluendo.com>
31765
31766         * docs/design/part-MT-refcounting.txt:
31767         * docs/design/part-conventions.txt:
31768         * docs/design/part-gstobject.txt:
31769         * docs/design/part-relations.txt:
31770         * docs/design/part-standards.txt:
31771         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31772         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31773         (gst_bin_get_by_name), (gst_bin_get_by_interface),
31774         (gst_bin_iterate_all_by_interface):
31775         * gst/gstbuffer.h:
31776         * gst/gstclock.h:
31777         * gst/gstelement.c: (gst_element_class_init),
31778         (gst_element_change_state), (gst_element_set_loop_function):
31779         * gst/gstelement.h:
31780         * gst/gstiterator.c:
31781         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31782         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31783         (gst_object_dispatch_properties_changed), (gst_object_set_name),
31784         (gst_object_set_parent), (gst_object_unparent),
31785         (gst_object_check_uniqueness):
31786         * gst/gstobject.h:
31787         Docs updates, clean up some headers.
31788
31789 2005-03-07  Wim Taymans  <wim@fluendo.com>
31790
31791         * check/.cvsignore:
31792         * check/Makefile.am:
31793         * check/gst-libs/.cvsignore:
31794         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
31795         * check/gst/.cvsignore:
31796         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
31797         (START_TEST), (gstbus_suite), (main):
31798         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
31799         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
31800         (gst_data_suite), (main):
31801         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
31802         (add_fold_func), (gstiterator_suite), (main):
31803         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
31804         (thread_name_object), (thread_name_object_default),
31805         (gst_object_name_compare), (gst_object_suite), (main):
31806         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
31807         (gst_pad_suite), (main):
31808         * check/gstcheck.c: (gst_check_log_message_func),
31809         (gst_check_log_critical_func), (gst_check_init):
31810         * check/gstcheck.h:
31811         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
31812         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
31813         Added checks.
31814
31815 2005-03-07  Wim Taymans  <wim@fluendo.com>
31816
31817         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
31818         (gst_list_iterator_next), (gst_list_iterator_resync),
31819         (gst_list_iterator_free), (gst_iterator_new_list),
31820         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
31821         (gst_iterator_free), (gst_iterator_push), (filter_next),
31822         (filter_resync), (filter_uninit), (filter_free),
31823         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
31824         (gst_iterator_foreach), (find_custom_fold_func),
31825         (gst_iterator_find_custom):
31826         * gst/gstiterator.h:
31827         Added missing files.
31828
31829 2005-03-07  Wim Taymans  <wim@fluendo.com>
31830
31831         * Makefile.am:
31832         * configure.ac:
31833         * docs/design/part-MT-refcounting.txt:
31834         * docs/design/part-conventions.txt:
31835         * docs/design/part-gstobject.txt:
31836         * docs/design/part-relations.txt:
31837         * examples/mixer/mixer.c: (main):
31838         * examples/thread/thread.c: (eos), (main):
31839         * gst/Makefile.am:
31840         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
31841         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
31842         (gst_spider_plug_from_srcpad):
31843         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
31844         (gst_spider_identity_change_state),
31845         (gst_spider_identity_sink_loop_type_finding):
31846         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
31847         * gst/elements/gstidentity.c: (gst_identity_init):
31848         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
31849         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
31850         * gst/elements/gsttypefindelement.c: (free_entry):
31851         * gst/gst.c:
31852         * gst/gst.h:
31853         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
31854         (gst_bin_set_clock_func), (gst_bin_auto_clock),
31855         (gst_bin_set_index), (gst_bin_set_element_sched),
31856         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
31857         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
31858         (gst_bin_iterate_elements), (iterate_child_recurse),
31859         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
31860         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
31861         (compare_interface), (gst_bin_get_by_interface),
31862         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
31863         * gst/gstbin.h:
31864         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
31865         (gst_buffer_default_free), (gst_buffer_default_copy),
31866         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
31867         (gst_buffer_create_sub):
31868         * gst/gstbuffer.h:
31869         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
31870         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
31871         (gst_caps_unref), (gst_static_caps_get),
31872         (gst_caps_remove_and_get_structure), (gst_caps_append),
31873         (gst_caps_append_structure), (gst_caps_remove_structure),
31874         (gst_caps_copy_nth), (gst_caps_set_simple),
31875         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
31876         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
31877         (gst_caps_structure_intersect_field), (gst_caps_intersect),
31878         (gst_caps_structure_subtract_field), (gst_caps_subtract),
31879         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
31880         (gst_caps_structure_figure_out_union),
31881         (gst_caps_switch_structures), (gst_caps_do_simplify),
31882         (gst_caps_replace), (gst_caps_from_string),
31883         (gst_caps_copy_conditional):
31884         * gst/gstcaps.h:
31885         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
31886         (_gst_clock_id_free), (gst_clock_id_unref),
31887         (gst_clock_id_compare_func), (gst_clock_id_wait),
31888         (gst_clock_id_wait_async), (gst_clock_class_init),
31889         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
31890         (gst_clock_get_time), (gst_clock_set_time_adjust),
31891         (gst_clock_set_property), (gst_clock_get_property):
31892         * gst/gstclock.h:
31893         * gst/gstcompat.h:
31894         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
31895         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
31896         * gst/gstdata.h:
31897         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31898         (gst_element_requires_clock), (gst_element_provides_clock),
31899         (gst_element_set_clock), (gst_element_clock_wait),
31900         (gst_element_wait), (gst_element_set_time_delay),
31901         (gst_element_is_indexable), (gst_element_add_pad),
31902         (gst_element_add_ghost_pad), (gst_element_remove_pad),
31903         (pad_compare_name), (gst_element_get_static_pad),
31904         (gst_element_request_pad), (gst_element_get_request_pad),
31905         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
31906         (gst_element_class_get_pad_template_list),
31907         (gst_element_class_get_pad_template), (gst_element_error_func),
31908         (gst_element_get_random_pad), (gst_element_get_event_masks),
31909         (gst_element_send_event), (gst_element_seek),
31910         (gst_element_get_query_types), (gst_element_query),
31911         (gst_element_get_formats), (gst_element_convert),
31912         (gst_element_is_locked_state), (gst_element_set_locked_state),
31913         (gst_element_sync_state_with_parent), (gst_element_change_state),
31914         (gst_element_finalize), (gst_element_yield),
31915         (gst_element_interrupt), (gst_element_set_scheduler),
31916         (gst_element_get_scheduler), (gst_element_set_loop_function):
31917         * gst/gstelement.h:
31918         * gst/gstevent.h:
31919         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
31920         (gst_format_get_by_nick), (gst_format_get_details),
31921         (gst_format_iterate_definitions):
31922         * gst/gstformat.h:
31923         * gst/gstindex.c: (gst_index_gtype_resolver):
31924         * gst/gstinfo.c:
31925         * gst/gstinfo.h:
31926         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
31927         (gst_mem_chunk_free):
31928         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
31929         (gst_object_ref), (gst_object_unref), (gst_object_sink),
31930         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
31931         (gst_object_dispatch_properties_changed),
31932         (gst_object_set_name_default), (gst_object_set_name),
31933         (gst_object_get_name), (gst_object_set_name_prefix),
31934         (gst_object_get_name_prefix), (gst_object_set_parent),
31935         (gst_object_get_parent), (gst_object_unparent),
31936         (gst_object_check_uniqueness), (gst_object_save_thyself),
31937         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
31938         (gst_object_set_property), (gst_object_get_property),
31939         (gst_object_get_path_string):
31940         * gst/gstobject.h:
31941         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
31942         (gst_real_pad_init), (gst_real_pad_get_property),
31943         (gst_pad_custom_new), (gst_pad_get_direction),
31944         (gst_pad_set_active), (gst_pad_is_active),
31945         (gst_pad_set_event_function), (gst_pad_is_linked),
31946         (gst_pad_link_free), (gst_pad_link_intersect),
31947         (gst_pad_link_fixate), (gst_pad_set_caps),
31948         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
31949         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
31950         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
31951         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
31952         (gst_pad_get_caps), (gst_pad_peer_get_caps),
31953         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
31954         (gst_pad_realize), (gst_pad_get_allowed_caps),
31955         (gst_real_pad_dispose), (gst_real_pad_finalize),
31956         (gst_pad_collectv), (gst_pad_collect_valist),
31957         (gst_pad_template_dispose), (gst_pad_template_new),
31958         (gst_pad_get_internal_links):
31959         * gst/gstpad.h:
31960         * gst/gstpipeline.c: (gst_pipeline_dispose),
31961         (gst_pipeline_change_state):
31962         * gst/gstpipeline.h:
31963         * gst/gstplugin.c:
31964         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
31965         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
31966         * gst/gstpluginfeature.h:
31967         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
31968         * gst/gstquery.c: (_gst_query_type_initialize),
31969         (gst_query_type_register), (gst_query_type_get_by_nick),
31970         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
31971         * gst/gstquery.h:
31972         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
31973         * gst/gstscheduler.c: (gst_scheduler_add_element),
31974         (gst_scheduler_factory_create):
31975         * gst/gststructure.c: (gst_structure_set_parent_refcount),
31976         (gst_structure_free), (gst_structure_set_name),
31977         (gst_structure_id_set_value), (gst_structure_set_value),
31978         (gst_structure_set_valist), (gst_structure_remove_field),
31979         (gst_structure_remove_fields),
31980         (gst_structure_remove_fields_valist),
31981         (gst_structure_remove_all_fields), (gst_structure_foreach),
31982         (gst_structure_map_in_place),
31983         (gst_caps_structure_fixate_field_nearest_int),
31984         (gst_caps_structure_fixate_field_nearest_double):
31985         * gst/gststructure.h:
31986         * gst/gstsystemclock.c: (gst_system_clock_class_init),
31987         (gst_system_clock_init), (gst_system_clock_dispose),
31988         (gst_system_clock_async_thread),
31989         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
31990         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
31991         * gst/gstsystemclock.h:
31992         * gst/gsttag.c: (gst_tag_list_add_value_internal),
31993         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
31994         * gst/gsttaginterface.c:
31995         * gst/gstthread.c: (gst_thread_dispose),
31996         (gst_thread_release_children_locks), (gst_thread_change_state),
31997         (gst_thread_main_loop):
31998         * gst/gsttrashstack.h:
31999         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
32000         * gst/gsttypes.h:
32001         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
32002         (gst_element_request_pad), (gst_element_get_pad_from_template),
32003         (gst_element_request_compatible_pad),
32004         (gst_element_get_compatible_pad_filtered),
32005         (gst_element_get_compatible_pad), (gst_element_state_get_name),
32006         (gst_element_link_pads_filtered), (gst_element_link_filtered),
32007         (gst_element_link_many), (gst_element_link),
32008         (gst_element_link_pads), (gst_element_unlink_pads),
32009         (gst_element_unlink_many), (gst_element_unlink),
32010         (gst_pad_can_link_filtered), (gst_pad_can_link),
32011         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
32012         (gst_object_default_error), (gst_bin_add_many),
32013         (gst_bin_remove_many), (gst_element_populate_std_props),
32014         (gst_element_class_install_std_props), (gst_buffer_merge),
32015         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
32016         (link_fold_func), (gst_pad_proxy_setcaps):
32017         * gst/gstutils.h:
32018         * gst/gstvalue.c: (gst_value_deserialize_string):
32019         * gst/parse/grammar.y:
32020         * gst/schedulers/gstbasicscheduler.c:
32021         (gst_basic_scheduler_cothreaded_chain),
32022         (gst_basic_scheduler_chain_recursive_add),
32023         (gst_basic_scheduler_pad_link):
32024         * gst/schedulers/gstoptimalscheduler.c:
32025         (get_group_schedule_function),
32026         (gst_opt_scheduler_state_transition),
32027         (gst_opt_scheduler_add_element), (element_get_reachables_func):
32028         * libs/gst/bytestream/bytestream.c:
32029         * libs/gst/dataprotocol/dataprotocol.c:
32030         (gst_dp_header_from_buffer):
32031         * po/nb.po:
32032         * po/ru.po:
32033         * tests/threadstate/threadstate2.c: (eos):
32034         * tools/gst-compprep.c: (main):
32035         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
32036         (print_pad_info), (print_children_info):
32037         * tools/gst-launch.c: (idle_func), (main):
32038         * tools/gst-md5sum.c: (idle_func), (main):
32039         * tools/gst-xmlinspect.c: (print_element_info):
32040         First THREADED backport attempt, focusing on adding locks and
32041         making sure the API is threadsafe. Needs more work. More docs
32042         follow this week.
32043
32044 2005-02-24  Andy Wingo  <wingo@pobox.com>
32045
32046         * tests/bench-complexity.scm:
32047         * tests/complexity.gnuplot: New files, good for running complexity
32048         benchmarks.
32049
32050         * tests/Makefile.am:
32051         * tests/complexity.c: New test, sets up N elements, at each level
32052         teeing into M streams per element. Eeeenteresting.
32053
32054         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
32055         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
32056         running bench-mass_elements.scm.
32057
32058         * tests/bench-mass_elements.scm: New script, runs mass_elements
32059         for various numbers of identities, outputting the results to a
32060         file. Requires guile 1.6. Just for testing.
32061
32062 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
32063
32064         * gst/schedulers/fairscheduler.c:
32065           compile with debug disabled
32066
32067 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
32068
32069         * configure.ac:
32070           hunting season on 0.9 is now OPEN